我们在一台 Linux 机器上进行编码和构建,并部署到具有数百个内核的集群中。目前这两种机器都是 Redhat EL 5.7,安装了默认的 GCC 4.1.2。
最近我们意识到最新的 GCC(例如 4.8.1)对算术计算进行了广泛的优化,包括 MPFR/MPC 等的使用。因为我们的程序非常密集的浮点计算,我们希望在最新的 GCC 中重新构建我们的程序以实现促进。
以下是我们构建的典型程序的当前链接详细信息:
linux-gate.so.1 => (0x007e0000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x009bb000)
libc.so.6 => /lib/libc.so.6 (0x00581000)
/lib/ld-linux.so.2 (0x0034c000)
因为我们不太可能升级操作系统,或者在集群中安装新的东西。(严格控制)。所以问题是:
1,对于开发,我们可以在现有机器上安装最新的GCC吗?(我们尝试并发现需要很多依赖项)。并且可以链接到较旧的库?
2、对于部署,可以不安装新软件就部署到我们的集群吗?对于这些 MPFR 等,我们可以只部署 so 文件而不是在目标集群节点中安装 RPM 吗?
非常感谢您的帮助。