llnl / llnl/USER-EPH

MPI GPU compilation fails

Open
#8 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
22
Forks
8
PR merge metrics
No merged PRs in 30d

Description

I am trying to follow the steps for compiling this add-on for CUDA and it looks like it does not compile due to missing enums.

Is CUDA implementation complete at all?

I am getting below error after running make -j mpi_gpu:

Compiling LAMMPS for machine mpi_gpu
make[1]: Entering directory '/home/docker/lammps/src/Obj_mpi_gpu'
make[1]: Leaving directory '/home/docker/lammps/src/Obj_mpi_gpu'
make[1]: Entering directory '/home/docker/lammps/src/Obj_mpi_gpu'
mpicxx -g -O3 -std=c++11 -DFIX_EPH_GPU  -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64   -DLMP_GPU  -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1      -c ../fix_eph_gpu.cpp
../fix_eph_gpu.cpp: In member function ‘virtual void LAMMPS_NS::FixEPHGPU::post_force(int)’:
../fix_eph_gpu.cpp:137:23: error: ‘XIX’ is not a member of ‘LAMMPS_NS::FixEPH::FixState’; did you mean ‘XI’?
  137 |     state = FixState::XIX;
      |                       ^~~
      |                       XI
../fix_eph_gpu.cpp:138:11: error: ‘class LAMMPS_NS::Comm’ has no member named ‘forward_comm_fix’; did you mean ‘forward_comm’?
  138 |     comm->forward_comm_fix(this);
      |           ^~~~~~~~~~~~~~~~
      |           forward_comm
../fix_eph_gpu.cpp:139:23: error: ‘XIY’ is not a member of ‘LAMMPS_NS::FixEPH::FixState’; did you mean ‘XI’?
  139 |     state = FixState::XIY;
      |                       ^~~
      |                       XI
../fix_eph_gpu.cpp:140:11: error: ‘class LAMMPS_NS::Comm’ has no member named ‘forward_comm_fix’; did you mean ‘forward_comm’?
  140 |     comm->forward_comm_fix(this);
      |           ^~~~~~~~~~~~~~~~
      |           forward_comm
../fix_eph_gpu.cpp:141:23: error: ‘XIZ’ is not a member of ‘LAMMPS_NS::FixEPH::FixState’; did you mean ‘XI’?
  141 |     state = FixState::XIZ;
      |                       ^~~
      |                       XI
../fix_eph_gpu.cpp:142:11: error: ‘class LAMMPS_NS::Comm’ has no member named ‘forward_comm_fix’; did you mean ‘forward_comm’?
  142 |     comm->forward_comm_fix(this);
      |           ^~~~~~~~~~~~~~~~
      |           forward_comm
../fix_eph_gpu.cpp:153:9: error: ‘class LAMMPS_NS::Comm’ has no member named ‘forward_comm_fix’; did you mean ‘forward_comm’?
  153 |   comm->forward_comm_fix(this);
      |         ^~~~~~~~~~~~~~~~
      |         forward_comm
../fix_eph_gpu.cpp: In member function ‘void LAMMPS_NS::FixEPHGPU::force_prl()’:
../fix_eph_gpu.cpp:227:21: error: ‘WX’ is not a member of ‘LAMMPS_NS::FixEPH::FixState’; did you mean ‘WI’?
  227 |   state = FixState::WX;
      |                     ^~
      |                     WI
../fix_eph_gpu.cpp:228:9: error: ‘class LAMMPS_NS::Comm’ has no member named ‘forward_comm_fix’; did you mean ‘forward_comm’?
  228 |   comm->forward_comm_fix(this);
      |         ^~~~~~~~~~~~~~~~
      |         forward_comm
../fix_eph_gpu.cpp:229:21: error: ‘WY’ is not a member of ‘LAMMPS_NS::FixEPH::FixState’; did you mean ‘WI’?
  229 |   state = FixState::WY;
      |                     ^~
      |                     WI
../fix_eph_gpu.cpp:230:9: error: ‘class LAMMPS_NS::Comm’ has no member named ‘forward_comm_fix’; did you mean ‘forward_comm’?
  230 |   comm->forward_comm_fix(this);
      |         ^~~~~~~~~~~~~~~~
      |         forward_comm
../fix_eph_gpu.cpp:231:21: error: ‘WZ’ is not a member of ‘LAMMPS_NS::FixEPH::FixState’; did you mean ‘WI’?
  231 |   state = FixState::WZ;
      |                     ^~
      |                     WI
../fix_eph_gpu.cpp:232:9: error: ‘class LAMMPS_NS::Comm’ has no member named ‘forward_comm_fix’; did you mean ‘forward_comm’?
  232 |   comm->forward_comm_fix(this);
      |         ^~~~~~~~~~~~~~~~
      |         forward_comm
make[1]: *** [Makefile:125: fix_eph_gpu.o] Error 1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the reported failure with make -j mpi_gpu and inspect fix_eph_gpu.cpp, especially the FixEPHGPU::post_force and force_prl locations named in the compiler output. Compare the referenced FixState members and communication call with the available interfaces; done means the MPI GPU target compiles without these errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system, hpc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.