Building lammps with GPU

Hi,

I am trying to build lammps with the following,

Lammps version 12Dec2018
CUDA_ARCH = -arch=sm_60
using Portland Group Compilers

the buiilding of the GPU library is fine, but while doing “make gpu” it is throwing errors which i have no idea. Please suggest me what I am missing. The errors are as follows,

compute_pair_local.o: In function .st4433': compute_pair_local.cpp:(.data+0x20): undefined reference to .LB4104’
compute_pair_local.cpp:(.data+0x28): undefined reference to .LB4105' compute_pair_local.cpp:(.data+0x30): undefined reference to .LB4106’
compute_pair_local.cpp:(.data+0x38): undefined reference to .LB4107' compute_pair_local.cpp:(.data+0x40): undefined reference to .LB4108’
compute_pair_local.cpp:(.data+0x48): undefined reference to .LB4109' compute_pair_local.cpp:(.data+0x50): undefined reference to .LB4110’
compute_rigid_local.o: In function .st3984': compute_rigid_local.cpp:(.data+0x20): undefined reference to .LB3828’
compute_rigid_local.cpp:(.data+0x28): undefined reference to .LB3829' compute_rigid_local.cpp:(.data+0x30): undefined reference to .LB3830’
compute_rigid_local.cpp:(.data+0x38): undefined reference to .LB3831' compute_rigid_local.cpp:(.data+0x40): undefined reference to .LB3832’
compute_rigid_local.cpp:(.data+0x48): undefined reference to .LB3833' compute_rigid_local.cpp:(.data+0x50): undefined reference to .LB3834’
compute_rigid_local.cpp:(.data+0x58): undefined reference to .LB3835' compute_rigid_local.cpp:(.data+0x60): undefined reference to .LB3836’
compute_rigid_local.cpp:(.data+0x68): undefined reference to .LB3837' compute_rigid_local.cpp:(.data+0x70): undefined reference to .LB3838’
compute_rigid_local.cpp:(.data+0x78): undefined reference to .LB3839' compute_rigid_local.cpp:(.data+0x80): undefined reference to .LB3840’
compute_rigid_local.cpp:(.data+0x88): undefined reference to .LB3841' compute_rigid_local.cpp:(.data+0x90): undefined reference to .LB3842’
compute_rigid_local.cpp:(.data+0x98): undefined reference to .LB3843' compute_rigid_local.cpp:(.data+0xa0): undefined reference to .LB3844’
compute_rigid_local.cpp:(.data+0xa8): undefined reference to .LB3845' compute_rigid_local.cpp:(.data+0xb0): undefined reference to .LB3846’
compute_rigid_local.cpp:(.data+0xb8): undefined reference to .LB3847' compute_rigid_local.cpp:(.data+0xc0): undefined reference to .LB3848’
compute_rigid_local.cpp:(.data+0xc8): undefined reference to .LB3849' compute_rigid_local.cpp:(.data+0xd0): undefined reference to .LB3850’
compute_rigid_local.cpp:(.data+0xd8): undefined reference to .LB3851' compute_rigid_local.cpp:(.data+0xe0): undefined reference to .LB3852’
compute_rigid_local.cpp:(.data+0xe8): undefined reference to .LB3853' compute_rigid_local.cpp:(.data+0xf0): undefined reference to .LB3854’
compute_rigid_local.cpp:(.data+0xf8): undefined reference to .LB3855' compute_rigid_local.cpp:(.data+0x100): undefined reference to .LB3856’
compute_rigid_local.cpp:(.data+0x108): undefined reference to .LB3857' compute_rigid_local.cpp:(.data+0x110): undefined reference to .LB3858’
compute_rigid_local.cpp:(.data+0x118): undefined reference to .LB3859' compute_rigid_local.cpp:(.data+0x120): undefined reference to .LB3860’
compute_rigid_local.cpp:(.data+0x128): undefined reference to .LB3861' compute_rigid_local.o: In function .st5135’:
compute_rigid_local.cpp:(.data+0x140): undefined reference to .LB4935' compute_rigid_local.cpp:(.data+0x148): undefined reference to .LB4936’
compute_rigid_local.cpp:(.data+0x150): undefined reference to .LB4937' compute_rigid_local.cpp:(.data+0x158): undefined reference to .LB4938’
compute_rigid_local.cpp:(.data+0x160): undefined reference to .LB4939' compute_rigid_local.cpp:(.data+0x168): undefined reference to .LB4940’
compute_rigid_local.cpp:(.data+0x170): undefined reference to .LB4941' compute_rigid_local.cpp:(.data+0x178): undefined reference to .LB4942’
compute_rigid_local.cpp:(.data+0x180): undefined reference to .LB4943' compute_rigid_local.cpp:(.data+0x188): undefined reference to .LB4944’
compute_rigid_local.cpp:(.data+0x190): undefined reference to .LB4945' compute_rigid_local.cpp:(.data+0x198): undefined reference to .LB4946’
compute_rigid_local.cpp:(.data+0x1a0): undefined reference to .LB4947' compute_rigid_local.cpp:(.data+0x1a8): undefined reference to .LB4948’
compute_rigid_local.cpp:(.data+0x1b0): undefined reference to .LB4949' compute_rigid_local.cpp:(.data+0x1b8): undefined reference to .LB4950’
compute_rigid_local.cpp:(.data+0x1c0): undefined reference to .LB4951' compute_rigid_local.cpp:(.data+0x1c8): undefined reference to .LB4952’
compute_rigid_local.cpp:(.data+0x1d0): undefined reference to .LB4953' compute_rigid_local.cpp:(.data+0x1d8): undefined reference to .LB4954’
compute_rigid_local.cpp:(.data+0x1e0): undefined reference to .LB4955' compute_rigid_local.cpp:(.data+0x1e8): undefined reference to .LB4956’
compute_rigid_local.cpp:(.data+0x1f0): undefined reference to .LB4957' compute_rigid_local.cpp:(.data+0x1f8): undefined reference to .LB4958’
compute_rigid_local.cpp:(.data+0x200): undefined reference to .LB4959' compute_rigid_local.cpp:(.data+0x208): undefined reference to .LB4960’
compute_rigid_local.cpp:(.data+0x210): undefined reference to .LB4961' compute_rigid_local.cpp:(.data+0x218): undefined reference to .LB4962’
compute_rigid_local.cpp:(.data+0x220): undefined reference to .LB4963' compute_rigid_local.cpp:(.data+0x228): undefined reference to .LB4964’
compute_rigid_local.cpp:(.data+0x230): undefined reference to .LB4965' compute_rigid_local.cpp:(.data+0x238): undefined reference to .LB4966’
compute_rigid_local.cpp:(.data+0x240): undefined reference to .LB4967' compute_rigid_local.cpp:(.data+0x248): undefined reference to .LB4968’
compute_bond_local.o: In function .st5216': compute_bond_local.cpp:(.data+0x20): undefined reference to .LB4812’
compute_bond_local.cpp:(.data+0x28): undefined reference to .LB4813' compute_bond_local.cpp:(.data+0x30): undefined reference to .LB4814’
compute_bond_local.cpp:(.data+0x38): undefined reference to .LB4815' compute_bond_local.cpp:(.data+0x40): undefined reference to .LB4816’
compute_bond_local.cpp:(.data+0x48): undefined reference to .LB4817' compute_bond_local.cpp:(.data+0x50): undefined reference to .LB4818’
compute_bond_local.cpp:(.data+0x58): undefined reference to .LB4819' compute_bond_local.cpp:(.data+0x60): undefined reference to .LB4820’
compute_bond_local.o: In function .st6779': compute_bond_local.cpp:(.data+0x80): undefined reference to .LB6194’
compute_bond_local.cpp:(.data+0x88): undefined reference to .LB6195' compute_bond_local.cpp:(.data+0x90): undefined reference to .LB6196’
compute_bond_local.cpp:(.data+0x98): undefined reference to .LB6197' compute_bond_local.cpp:(.data+0xa0): undefined reference to .LB6198’
compute_bond_local.cpp:(.data+0xa8): undefined reference to .LB6199' compute_bond_local.cpp:(.data+0xb0): undefined reference to .LB6200’
compute_bond_local.cpp:(.data+0xb8): undefined reference to .LB6201' compute_bond_local.cpp:(.data+0xc0): undefined reference to .LB6202’
Makefile:89: recipe for target ‘…/lmp_gpu’ failed
make[1]: *** […/lmp_gpu] Error 2
make[1]: Leaving directory ‘/home/softMatter/134026005/lammps-12Dec18/src/Obj_gpu’
Makefile:176: recipe for target ‘gpu’ failed
make: *** [gpu] Error 2

Thanks &regards,
Umashankar

This does not look like it has anything to do with the GPU package.

I suggest you try building with gcc instead of pgi. It has the better performance anyway.

You may also want to check out using the cmake based procedure to build LAMMPS.
Axel.