Open
Description
The README
says:
- IBM's xlf compilers: NO known good version that can build/link
the MPI f08 bindings or build/link the OpenSHMEM Fortran bindings.
However, this no longer seems to be accurate for the MPI f08 bindings. I can confirm that the OpenSHMEM Fortran bindings do not work.
I checked the master branch with XL compiler:
shell$ xlf -qversion
IBM XL Fortran for Linux, V15.1.5 (5725-C75, 5765-J10)
Version: 15.01.0005.0000
shell$ ./configure --disable-dlopen CC=xlc_r CXX=xlC_r FC=xlf_r
...
shell$ cd examples/
shell$ make ring_usempif08 hello_usempif08
mpifort -g ring_usempif08.f90 -o ring_usempif08
** ring === End of Compilation 1 ===
1501-510 Compilation successful for file ring_usempif08.f90.
mpifort -g hello_usempif08.f90 -o hello_usempif08
** main === End of Compilation 1 ===
1501-510 Compilation successful for file hello_usempif08.f90.
shell$ mpifort --showme
xlf_r -I/tmp/jjhursey/install/ompi-master/include -I/tmp/jjhursey/install/ompi-master/lib -Wl,-rpath -Wl,/tmp/jjhursey/install/ompi-master/lib -Wl,--enable-new-dtags -L/tmp/jjhursey/install/ompi-master/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi
shell$ mpifort -qversion
IBM XL Fortran for Linux, V15.1.5 (5725-C75, 5765-J10)
Version: 15.01.0005.0000
shell$ mpirun -np 2 ./ring_usempif08
Process 0 sending 10 to 1 tag 201 ( 2 processes in ring)
Process 0 sent to 1
Process 0 decremented value: 9
Process 0 decremented value: 8
Process 0 decremented value: 7
Process 0 decremented value: 6
Process 0 decremented value: 5
Process 0 decremented value: 4
Process 0 decremented value: 3
Process 0 decremented value: 2
Process 0 decremented value: 1
Process 0 decremented value: 0
Process 0 exiting
Process 1 exiting
shell$ mpirun -np 2 ./hello_usempif08
Hello, world, I am 0 of 2: Open MPI v4.0.0a1, package: Open MPI jjhursey@c656f6n03 Distribution, ident: 4.0.0a1, repo rev: v2.x-dev-4209-g22631832, Unreleased developer copy
Hello, world, I am 1 of 2: Open MPI v4.0.0a1, package: Open MPI jjhursey@c656f6n03 Distribution, ident: 4.0.0a1, repo rev: v2.x-dev-4209-g22631832, Unreleased developer copy
For OSHMEM it's not quite all working:
shell$ make hello_oshmemfh
shmemfort -g hello_oshmemfh.f90 -o hello_oshmemfh
** hello_oshmem === End of Compilation 1 ===
1501-510 Compilation successful for file hello_oshmemfh.f90.
shell$ mpirun -np 2 ./hello_oshmemfh
Hello, world, I am 0 of 2: (version: 1.3)
Hello, world, I am 1 of 2: (version: 1.3)
shell$ make ring_oshmemfh
shmemfort -g ring_oshmemfh.f90 -o ring_oshmemfh
** ring_oshmem === End of Compilation 1 ===
1501-510 Compilation successful for file ring_oshmemfh.f90.
ring_oshmemfh.o: In function `ring_oshmem':
/tmp/jjhursey/ompi/examples/ring_oshmemfh.f90:48: undefined reference to `shmem_int8_wait_until'
make: *** [ring_oshmemfh] Error 1