Compling GPU-enabled LAMMPS on OLCF Titan

Hello,

I have been having trouble with successfully compiling LAMMPS on Titan; the help desk there has also been so far unsuccessful/not responsive to my questions.

Can anyone with experience on this machine share their procedure/makefiles for making LAMMPS with the GPU package enabled?

I have loaded both the FFTW and cudatoolkit modules, but I haven’t been able to make the library with any of the provided make files in /lib/gpu. Do I need to do anything like log into a node in order to successfully compile?

I’ll note that it seems like I can successfully compile without the GPU package.

Thanks,

Mike

Hello,

I have been having trouble with successfully compiling LAMMPS on Titan;
the help desk there has also been so far unsuccessful/not responsive to my
questions.

​help desk people - like people on mailing lists - are dependent on getting
proper information to ​provide good help.

Can anyone with experience on this machine share their procedure/makefiles
for making LAMMPS with the GPU package enabled?

is there a specific reason that you need to compile LAMMPS yourself? ​isn't
there a precompiled LAMMPS package provided that you can use?

I have loaded both the FFTW and cudatoolkit modules, but I haven't been
able to make the library with any of the provided make files in /lib/gpu.
Do I need to do anything like log into a node in order to successfully
compile?

​for people to provide ​useful advice, you should provide more details of
what you did and what kind of error messages or failures you observed.

the Makefile.xk7 should be suitable for TITAN. you may need to make some
adjustments to it, though, and/or to Makefile.lammps.standard so that they
match the current state of the machine. please see the comments in the
respective files in the README in lib/gpu for more details and explanations.

axel.

Thanks for the response.

“is there a specific reason that you need to compile LAMMPS yourself? ​isn’t there a precompiled LAMMPS package provided that you can use?”
Yes, there are minor modifications that I like to make to some of the output formats, none of the USER packages are enabled on the pre-compiled versions, and I would like to use the most recent stable version of LAMMPS, which is not available.

“the Makefile.xk7 should be suitable for TITAN. you may need to make some adjustments to it, though, and/or to Makefile.lammps.standard so that they match the current state of the machine. please see the comments in the respective files in the README in lib/gpu for more details and explanations.”

Thanks, Makefile.xk7 indeed works. Previously I received the error
"CC -DCUDA_PROXY -DMPI_GERYON -DUCL_NO_EXIT -DMPICH_IGNORE_CXX_SEEK -O2 -march=bdver1 -ftree-vectorize -D_SINGLE_DOUBLE -I/opt/nvidia/cudatoolkit7.0/7.0.28-1.0502.10280.4.1/include -o lal_neighbor_shared.o -c lal_neighbor_shared.cpp -I./
lal_neighbor_shared.cpp: In member function ‘void LAMMPS_AL::NeighborShared::compile_kernels(ucl_cudadr::UCL_Device&, int, std::string)’:
lal_neighbor_shared.cpp:59:31: error: ‘neighbor_cpu’ was not declared in this scope
nbor_program->load_string(neighbor_cpu,flags.c_str())"

I guess this issue was the result of a previous failed attempt. So, the successful string of commands was

module load fftw
module load cudatoolkit
module swap PrgEnv-pgi PrgEnv-gnu
(in /lib/gpu)
make -f Makefile.xk7 clean

make -f Makefile.xk7

–Mike