【发布时间】:2014-04-02 08:43:26
【问题描述】:
我必须在集群服务器上安装一些软件(gromacs 模拟包),而不需要 root 访问权限,在该服务器上可以通过 slurm 发送作业。我只能直接访问前端机器,主目录在所有服务器和前端之间共享。我必须在本地手动构建和安装:
- GCC 4.8
- automake、autoconf、cmake
- openmpi
- lapack 库
- gromacs
现在,我只在前端安装了所有这些,这是一台较旧的 Intel Xeon 机器。生产服务器改用新的 AMD 处理器。这是我的问题:为了达到最佳性能,上述堆栈的哪些部分应该在生产服务器上重新编译?我想重建最终软件(gromacs)和可能的lapack库会很有意义,因为指令集和处理器架构不同,但我不确定重建编译器或其他是否有意义系统的组成部分。因此,问题是:使用在不同机器上构建的编译器(和相关库)是否会导致生成的二进制文件的执行时间更长? 一般来说,如果给出相同的输出,我希望编译器生成相同的二进制文件,所以答案是否定的;但是在另一台机器上与编译器一起编译的库(如libstdc++)呢?
谢谢
【问题讨论】:
标签: linux gcc compiler-construction system-administration