Hi,
I wonder if there are best practices for porting optimized applications from one system to another in ACCESS? how can I ensure efficient performance from one system to another?
Hi,
I wonder if there are best practices for porting optimized applications from one system to another in ACCESS? how can I ensure efficient performance from one system to another?
If an application is optimized on one system, it means the compiler took into consideration, the hardware spec of the system(instruction sets, memory structure, cache, etc). This means if you copy the binary to another system you can get similar performance if the system specs are compatible. If the compatibility differ a lot you won’t be able to execute the application on the new system. In such a case you will need to compile and set optimization flags ( depending on how you want to use the application) for your new system.
Now when you talk about porting an application to a system, it means compiling the application to the hardware specifications of your systems. How you do this is almost alway the same:
I try to use containers for that purpose whenever is possible since the optimized application gets include when the container is built. You then have something you should be able to transfer between systems, albeit with the costs associated with apptainer, etc.