我处于一个非常奇怪的情况,我的代码在我的桌面上运行,但在远程集群上崩溃。我花了无数次检查我的源代码是否有错误,在调试器中运行它以捕获破坏代码的内容,并在 valgrind 下寻找内存泄漏(结果证明是干净的——至少在 gcc 下)。
到目前为止,我最终发现,只要我使用相同的编译器(gcc 4.4.5),相同的源代码在两台机器上都会产生相同的结果。问题是我想在远程集群上使用英特尔编译器以获得更好的性能,以及一些使用英特尔的预构建库。此外,我仍然担心 gcc 可能会忽略一些 intel 编译器中发现的内存问题。
这对我的代码意味着什么?