一橋大学の台坂です。いつもお世話になっております。
昨年にコンパイルと実行できたプログラムを、最近コンパイルしたところ、コンパイルは通るのですが、動作しませんでした。
MPIは
source /usr/mpi/gcc/openmpi-2.0.2a1/bin/mpivars.sh
して使っております。
昨年に動作したプログラムと今回のものでは、生成されるバイナリのサイズとリンクされる soが異なっていました。
サイズ比較ですが、
-rwxrwxr-x 1 daisaka daisaka 881336 7月 17 13:07 x47_v2_Q_fixtest_allinput_pzoclmp #今回コンパイルしたもの
-rwxrwxr-x 1 daisaka daisaka 881668 7月 2 23:37 x47_v2_Q_fixtest_allinput_pzoclmpi_org #昨年にコンパイルしたもの
ldd の結果は、
[daisaka@suiren2 goosetmp]$ ldd x47_v2_Q_fixtest_allinput_pzoclmpi
linux-vdso.so.1 => (0x00007fffd2726000)
libgmp.so.10 => /home/nakasato/opt/lib/libgmp.so.10 (0x00007f49a0158000)
libmpi.so.40 => /home/nakasato/opt/lib/libmpi.so.40 (0x00007f499fe59000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f499fb40000)
libm.so.6 => /usr/lib64/libm.so.6 (0x00007f499f83e000)
libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x00007f499f617000)
libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f499f401000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f499f1e5000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007f499ee21000)
libopen-rte.so.40 => /home/nakasato/opt/lib/libopen-rte.so.40 (0x00007f499eb6c000)
libopen-pal.so.40 => /home/nakasato/opt/lib/libopen-pal.so.40 (0x00007f499e870000)
libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f499e66b000)
librt.so.1 => /usr/lib64/librt.so.1 (0x00007f499e463000)
libutil.so.1 => /usr/lib64/libutil.so.1 (0x00007f499e260000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00007f499e049000)
/lib64/ld-linux-x86-64.so.2 (0x00007f49a03ce000)
[daisaka@suiren2 goosetmp]$ ldd x47_v2_Q_fixtest_allinput_pzoclmpi_org
linux-vdso.so.1 => (0x00007ffd62ffe000)
libgmp.so.10 => /home/nakasato/opt/lib/libgmp.so.10 (0x00007f6f873ad000)
libmpi.so.20 => /usr/mpi/gcc/openmpi-2.0.2a1/lib64/libmpi.so.20 (0x00007f6f870e8000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f6f86dcf000)
libm.so.6 => /usr/lib64/libm.so.6 (0x00007f6f86acd000)
libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x00007f6f868a6000)
libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f6f86690000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f6f86474000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007f6f860b0000)
libopen-rte.so.20 => /usr/mpi/gcc/openmpi-2.0.2a1/lib64/libopen-rte.so.20 (0x00007f6f85e2e000)
libopen-pal.so.20 => /usr/mpi/gcc/openmpi-2.0.2a1/lib64/libopen-pal.so.20 (0x00007f6f85b37000)
libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f6f85932000)
libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x00007f6f85726000)
libudev.so.1 => /usr/lib64/libudev.so.1 (0x00007f6f85711000)
librt.so.1 => /usr/lib64/librt.so.1 (0x00007f6f85508000)
libutil.so.1 => /usr/lib64/libutil.so.1 (0x00007f6f85305000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6f87623000)
libcap.so.2 => /usr/lib64/libcap.so.2 (0x00007f6f850ff000)
libdw.so.1 => /usr/lib64/libdw.so.1 (0x00007f6f84eb8000)
libattr.so.1 => /usr/lib64/libattr.so.1 (0x00007f6f84cb3000)
libelf.so.1 => /usr/lib64/libelf.so.1 (0x00007f6f84a9a000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00007f6f84884000)
liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007f6f8465f000)
libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007f6f8444e000)
ちなみに、動作時のエラーは以下のようなものが大量にでます。
An error occurred in MPI_Init
on a NULL communicator
MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
and potentially your MPI job)
[t001k12n02:88962] Local abort before MPI_INIT completed completed successfully, but am not able to aggregate error messages, and not able to guarantee that all other processes were killed!
何が原因かわかるでしょうか?