Compilation with OpenMPI


Clicked A Few Times
I attempted to compile NWChem 6.6 using OpenMPI (with Mallanox mxm, hcoll and fca) however I encounter this error

/home/users/astar/ihpc/chiensh/nwchem-openmpi/src/tools/install/lib/libga.a(nbutil.o): In function `get_armcihdl':
nbutil.c:(.text+0xaa): undefined reference to `ARMCI_INIT_HANDLE'
nbutil.c:(.text+0x134): undefined reference to `ARMCI_INIT_HANDLE'
/home/users/astar/ihpc/chiensh/nwchem-openmpi/src/tools/install/lib/libga.a(nbutil.o): In function `get_armci_nbhandle':
nbutil.c:(.text+0x1f6): undefined reference to `ARMCI_INIT_HANDLE'
nbutil.c:(.text+0x2cf): undefined reference to `ARMCI_INIT_HANDLE'
nbutil.c:(.text+0x3c7): undefined reference to `ARMCI_INIT_HANDLE'
/home/users/astar/ihpc/chiensh/nwchem-openmpi/src/tools/install/lib/libga.a(nbutil.o):nbutil.c:(.text+0x54d): more undefined references to `ARMCI_INIT_HANDLE' follow

How can I get it fix this problem?

Forum Vet
Please update the following files (not all of the might be present) to a public website

$NWCHEM_TOP/src/tools/build/config.log
$NWCHEM_TOP/src/tools/build/armci/config.log
$NWCHEM_TOP/src/tools/build/comex/config.log

Forum Vet
Please upload the following files (not all of the might be present) to a public website

$NWCHEM_TOP/src/tools/build/config.log
$NWCHEM_TOP/src/tools/build/armci/config.log
$NWCHEM_TOP/src/tools/build/comex/config.log

Clicked A Few Times
Quote:Edoapra Apr 4th 5:57 pm
Please upload the following files (not all of the might be present) to a public website

$NWCHEM_TOP/src/tools/build/config.log
$NWCHEM_TOP/src/tools/build/armci/config.log
$NWCHEM_TOP/src/tools/build/comex/config.log


Here is the log files, also include the compilation log building for NWChem and OpenMPI, and the script to build NWchem
https://goo.gl/TXZVsk

Forum Vet
Nothing looks suspicious to me.
Could you do the following
cd $NWCHEM_TOP/src/tools/build
make clean
make >& make.log

Upload make.log afterwards

Forum Vet
Nothing looks suspicious to me.
Could you do the following
cd $NWCHEM_TOP/src/tools/build
make clean
make >& make.log
make install
cd ../..
make FC=ifort >& link.log
Please upload make.log and link.log afterwards

Clicked A Few Times
Quote:Edoapra Apr 5th 6:22 pm
Nothing looks suspicious to me.
Could you do the following
cd $NWCHEM_TOP/src/tools/build
make clean
make >& make.log
make install
cd ../..
make FC=ifort >& link.log
Please upload make.log and link.log afterwards



Hi Edo,
Thank you for your reply!
Basically I have repeat the same procedure for few times, I think the source of problem is in building GA, as you can see below, "ARMCI_INIT_HANDLE" is undefined in libga.a

[chiensh@stratus lib]$ pwd
/home/users/astar/ihpc/chiensh/nwchem-openmpi/src/tools/install/lib
[chiensh@stratus lib]$ ls
libarmci.a libarmci.la libcomex.a libcomex.la libga.a libga.la
[chiensh@stratus lib]$ nm libga.a |grep ARMCI_INIT
U ARMCI_INIT_HANDLE
U ARMCI_INIT_HANDLE

For the libga.a that was built by intel mpi, ARMCI_INIT_HANDLE is correctly handled by the pre processor
[chiensh@stratus lib]$ cd /home/users/astar/ihpc/chiensh/nwchem-mpipr/src/tools/install/lib
[chiensh@stratus lib]$ ls
libarmci.a libarmci.la libcomex.a libcomex.la libga.a libga.la
[chiensh@stratus lib]$ nm libga.a |grep ARMCI_INIT
[chiensh@stratus lib]$

Here is the build-make.log and link.log
https://goo.gl/Ba6tXM

BTW can you take a look of my another post about (T) calculation cannot finish? I can release it to users for production calculations on this system if any one of these versions is working, but seems that none of them work correctly.
http://nwchemgit.github.io/Special_AWCforum/st/id2292/#post_8071

Thanks!

Forum Vet
I am at a loss trying to reproduce this problem.
ARMCI_INIT_HANDLE is not a symbol., but a macro, instead.
I don't understand why you should use OpenMPi instead of Intel MPI, either

Clicked A Few Times
Quote:Edoapra Apr 6th 2:38 pm
I am at a loss trying to reproduce this problem.
ARMCI_INIT_HANDLE is not a symbol., but a macro, instead.
I don't understand why you should use OpenMPi instead of Intel MPI, either


Yes it is a macro, I think somehow it was not handled correctly by the preprocessor and directly past to the linker as a symbol...

Mellanox come with a set of infiniband tools (http://www.mellanox.com/page/products_dyn?product_family=135&menu_section=73), and based on some evaluation from third parties, it significantly improve the network performance. However, this set of tools so far only works with OpenMPI, so I would like to compare their performance on NWChem.

Forum Vet
My conclusion is that something is not working 100% in your OpenMPI installation when compiling nbutil.c
You will have to debug what is happening (the cpp step might be the culprit)


Forum >> NWChem's corner >> Compiling NWChem