Skip to content

LAMMPS EESSI module does not use GPU on MN5-ACC #1449

Open

Description

@JonNavarroGaritano

Hello,

I have observed that the EESSI module LAMMPS/2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1 does not appear to utilize GPUs when running on the MN5-ACC cluster. However, when running the same simulation with a natively installed LAMMPS module on the system, the GPUs are correctly used.

When running the simulation with the EESSI module, GPU utilization remains at 0% according to nvidia-smi, and the simulation appears to run entirely on CPU. When using a locally installed LAMMPS module with similar CUDA/Kokkos support, the GPU is used correctly and the workload appears on nvidia-smi. The only difference between the runs is the LAMMPS module used. The same input and job configuration are used. I have attached both job scripts (attached native and eessi slurm job scripts) and the input used. Please let me know if additional debugging information would be helpful.

lammps_issue.tar.gz

Activity

  1. boegel commented on Mar 10, 2026

    @boegel
    Contributor

    @JonNavarroGaritano Thank you for reporting this, we'll take a closer look ASAP.

    cc @ocaisa

  2. boegel commented on Mar 10, 2026

    @boegel
    Contributor

    @JonNavarroGaritano I just gave it a quick try on MareNostrum 5 myself, with some minimal changes to the job script (to use -q acc_debug).

    The job doesn't properly start because of this:

    ERROR on proc 0: Cannot open input script forcefield: No such file or directory (src/input.cpp:1029)
    

    Seems like part of the input (forcefield) is missing in the tarball you shared?

    I can't see anything obviously wrong: the GPU drivers seem to have been correctly exposed to EESSI, and (at least for me) LAMMPS is reporting that it's planning to use GPUs (though I'm not familiar with LAMMPS at all myself):

    LAMMPS (2 Aug 2023 - Update 2)
    KOKKOS mode with Kokkos version 3.7.2 is enabled (src/KOKKOS/kokkos.cpp:108)
      will use up to 4 GPU(s) per node
    

    What I can't check if whether the exposure of the GPU drivers has been done correctly on the node where your job is being executed.

    Have you tried using acc_debug instead of acc_bench?

    Can you try including this in your job script (after calling nvidia-cuda-mps-control, because maybe that's causing trouble somehow):

    module load CUDA-Samples/12.1-GCC-12.3.0-CUDA-12.1.1
    deviceQuery
    

    When I try this in an interactive Slurm session (on acc_debug), it seems OK:

    module purge
    module load eessi_mn5/1
    module load EESSI/2023.06
    module load LAMMPS/2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1
    
    export CUDA_MPS_LOG_DIRECTORY=$TMPDIR
    mpirun -mca orte_rsh_agent ssh  -npernode 1 -np $SLURM_NNODES /usr/bin/nvidia-cuda-mps-control -d
    
    module load CUDA-Samples/12.1-GCC-12.3.0-CUDA-12.1.1
    deviceQuery
    

    Here's the output I get from deviceQuery:

    deviceQuery Starting...
    
     CUDA Device Query (Runtime API) version (CUDART static linking)
    
    Detected 1 CUDA Capable device(s)
    
    Device 0: "NVIDIA H100"
      CUDA Driver Version / Runtime Version          12.2 / 12.1
    ...
    deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 12.2, CUDA Runtime Version = 12.1, NumDevs = 1
    Result = PASS
    

    I would like to see what deviceQuery outputs in your case, when you run it in a job script submitted with -q acc_bench...

    PS: For questions like this, it's better to open an EESSI support ticket, see https://gitlab.com/eessi/support

  3. laraPPr commented on Mar 11, 2026

    @laraPPr
    Collaborator

    I have also tested on acc_debug with https://github.com/lammps/lammps/blob/develop/examples/voronoi/in.voronoi. And as you can see the GPUs were used. I tried submitting to acc_bench but I was not able to and when I checked the documentation I could also not find it in the listed queus (https://www.bsc.es/supportkc/docs/MareNostrum5/slurm#queues-qos).

    I only switched the input file since it is part of the installation. and the queue the rest of the parameters were all the same.

    Wed Mar 11 10:57:39 2026       
    
    +---------------------------------------------------------------------------------------+
    
    | NVIDIA-SMI 535.86.10              Driver Version: 535.86.10    CUDA Version: 12.2     |
    
    |-----------------------------------------+----------------------+----------------------+
    
    | GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
    
    | Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
    
    |                                         |                      |               MIG M. |
    
    |=========================================+======================+======================|
    
    |   0  NVIDIA H100                    On  | 00000000:1B:00.0 Off |                    0 |
    
    | N/A   42C    P0             134W / 700W |  12574MiB / 65247MiB |     94%      Default |
    
    |                                         |                      |             Disabled |
    
    +-----------------------------------------+----------------------+----------------------+
    
    |   1  NVIDIA H100                    On  | 00000000:2C:00.0 Off |                    0 |
    
    | N/A   42C    P0             137W / 700W |  12574MiB / 65247MiB |     80%      Default |
    
    |                                         |                      |             Disabled |
    
    +-----------------------------------------+----------------------+----------------------+
    
    |   2  NVIDIA H100                    On  | 00000000:9D:00.0 Off |                    0 |
    
    | N/A   42C    P0             126W / 700W |  12574MiB / 65247MiB |     94%      Default |
    
    |                                         |                      |             Disabled |
    
    +-----------------------------------------+----------------------+----------------------+
    
    |   3  NVIDIA H100                    On  | 00000000:AD:00.0 Off |                    0 |
    
    | N/A   43C    P0             127W / 700W |  12574MiB / 65247MiB |     93%      Default |
    
    |                                         |                      |             Disabled |
    
    +-----------------------------------------+----------------------+----------------------+
    
                                                                                             
    
    +---------------------------------------------------------------------------------------+
    
    | Processes:                                                                            |
    
    |  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
    
    |        ID   ID                                                             Usage      |
    
    |=======================================================================================|
    
    |    0   N/A  N/A   3301465      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301470      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301473      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301477      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301481      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301485      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301489      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301493      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301497      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301501      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301505      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301508      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301513      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301516      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301520      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301524      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301528      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301531      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301535      C   lmp                                         624MiB |
    
    |    0   N/A  N/A   3301538      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301468      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301469      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301474      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301478      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301482      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301486      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301490      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301494      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301500      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301504      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301510      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301517      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301523      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301527      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301532      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301536      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301540      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301542      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301543      C   lmp                                         624MiB |
    
    |    1   N/A  N/A   3301544      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301466      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301471      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301475      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301479      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301483      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301487      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301492      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301496      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301499      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301503      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301507      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301509      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301512      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301515      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301518      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301521      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301526      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301529      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301533      C   lmp                                         624MiB |
    
    |    2   N/A  N/A   3301537      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301467      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301472      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301476      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301480      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301484      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301488      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301491      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301495      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301498      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301502      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301506      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301511      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301514      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301519      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301522      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301525      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301530      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301534      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301539      C   lmp                                         624MiB |
    
    |    3   N/A  N/A   3301541      C   lmp                                         624MiB |
    
    +---------------------------------------------------------------------------------------+
    
    
    
  4. ocaisa commented on Mar 11, 2026

    @ocaisa
    Member

    @JonNavarroGaritano I'm in the same position as @boegel , don't have the required forcefield. I submitted my job with -q acc_ehpc and I do see

    KOKKOS mode with Kokkos version 3.7.2 is enabled (src/KOKKOS/kokkos.cpp:108)
      will use up to 4 GPU(s) per node
    

    before the failure due to the missing forcefield

  5. ocaisa commented on Mar 11, 2026

    @ocaisa
    Member

    I managed to jump on a node before the job errored out and I see

    [ugen353151@as01r2b05 ~]$ nvidia-smi
    Wed Mar 11 13:07:54 2026
    +---------------------------------------------------------------------------------------+
    | NVIDIA-SMI 535.86.10              Driver Version: 535.86.10    CUDA Version: 12.2     |
    |-----------------------------------------+----------------------+----------------------+
    | GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
    |                                         |                      |               MIG M. |
    |=========================================+======================+======================|
    |   0  NVIDIA H100                    On  | 00000000:1B:00.0 Off |                    0 |
    | N/A   42C    P0             122W / 700W |  11894MiB / 65247MiB |     13%      Default |
    |                                         |                      |             Disabled |
    +-----------------------------------------+----------------------+----------------------+
    |   1  NVIDIA H100                    On  | 00000000:2C:00.0 Off |                    0 |
    | N/A   41C    P0             110W / 700W |  12256MiB / 65247MiB |     10%      Default |
    |                                         |                      |             Disabled |
    +-----------------------------------------+----------------------+----------------------+
    |   2  NVIDIA H100                    On  | 00000000:9D:00.0 Off |                    0 |
    | N/A   41C    P0             117W / 700W |  12344MiB / 65247MiB |     15%      Default |
    |                                         |                      |             Disabled |
    +-----------------------------------------+----------------------+----------------------+
    |   3  NVIDIA H100                    On  | 00000000:AD:00.0 Off |                    0 |
    | N/A   41C    P0             112W / 700W |  12344MiB / 65247MiB |     15%      Default |
    |                                         |                      |             Disabled |
    +-----------------------------------------+----------------------+----------------------+
    
    +---------------------------------------------------------------------------------------+
    | Processes:                                                                            |
    |  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
    |        ID   ID                                                             Usage      |
    |=======================================================================================|
    |    0   N/A  N/A    104497      C   nvidia-cuda-mps-server                       60MiB |
    |    0   N/A  N/A    104533    M+C   lmp                                         612MiB |
    |    0   N/A  N/A    104539      C   lmp                                         612MiB |
    |    0   N/A  N/A    104543      C   lmp                                         612MiB |
    |    0   N/A  N/A    104547      C   lmp                                         612MiB |
    |    0   N/A  N/A    104551      C   lmp                                         612MiB |
    |    0   N/A  N/A    104555      C   lmp                                         612MiB |
    |    0   N/A  N/A    104559      C   lmp                                         612MiB |
    |    0   N/A  N/A    104563      C   lmp                                         612MiB |
    |    0   N/A  N/A    104566      C   lmp                                         612MiB |
    |    0   N/A  N/A    104571      C   lmp                                         612MiB |
    |    0   N/A  N/A    104575      C   lmp                                         612MiB |
    |    0   N/A  N/A    104580      C   lmp                                         612MiB |
    |    0   N/A  N/A    104584      C   lmp                                         612MiB |
    |    0   N/A  N/A    104588      C   lmp                                         612MiB |
    |    0   N/A  N/A    104589      C   lmp                                         612MiB |
    |    0   N/A  N/A    104593      C   lmp                                         612MiB |
    |    0   N/A  N/A    104598      C   lmp                                         612MiB |
    |    0   N/A  N/A    104602      C   lmp                                         612MiB |
    |    0   N/A  N/A    104606      C   lmp                                         612MiB |
    |    0   N/A  N/A    104611      C   lmp                                         612MiB |
    |    1   N/A  N/A    104497      C   nvidia-cuda-mps-server                       60MiB |
    |    1   N/A  N/A    104536      C   lmp                                         612MiB |
    |    1   N/A  N/A    104540      C   lmp                                         612MiB |
    |    1   N/A  N/A    104544      C   lmp                                         612MiB |
    |    1   N/A  N/A    104548      C   lmp                                         612MiB |
    |    1   N/A  N/A    104553      C   lmp                                         612MiB |
    |    1   N/A  N/A    104557      C   lmp                                         612MiB |
    |    1   N/A  N/A    104561      C   lmp                                         612MiB |
    |    1   N/A  N/A    104565      C   lmp                                         612MiB |
    |    1   N/A  N/A    104569      C   lmp                                         612MiB |
    |    1   N/A  N/A    104573      C   lmp                                         612MiB |
    |    1   N/A  N/A    104577      C   lmp                                         612MiB |
    |    1   N/A  N/A    104581      C   lmp                                         612MiB |
    |    1   N/A  N/A    104585      C   lmp                                         612MiB |
    |    1   N/A  N/A    104592      C   lmp                                         612MiB |
    |    1   N/A  N/A    104596      C   lmp                                         612MiB |
    |    1   N/A  N/A    104599      C   lmp                                         612MiB |
    |    1   N/A  N/A    104603      C   lmp                                         612MiB |
    |    1   N/A  N/A    104607      C   lmp                                         612MiB |
    |    1   N/A  N/A    104610      C   lmp                                         612MiB |
    |    1   N/A  N/A    104612      C   lmp                                         612MiB |
    |    2   N/A  N/A    104497      C   nvidia-cuda-mps-server                       60MiB |
    |    2   N/A  N/A    104535      C   lmp                                         612MiB |
    |    2   N/A  N/A    104537      C   lmp                                         612MiB |
    |    2   N/A  N/A    104542      C   lmp                                         612MiB |
    |    2   N/A  N/A    104546      C   lmp                                         612MiB |
    |    2   N/A  N/A    104550      C   lmp                                         612MiB |
    |    2   N/A  N/A    104554      C   lmp                                         612MiB |
    |    2   N/A  N/A    104558      C   lmp                                         612MiB |
    |    2   N/A  N/A    104562      C   lmp                                         612MiB |
    |    2   N/A  N/A    104567      C   lmp                                         612MiB |
    |    2   N/A  N/A    104570      C   lmp                                         612MiB |
    |    2   N/A  N/A    104574      C   lmp                                         612MiB |
    |    2   N/A  N/A    104578      C   lmp                                         612MiB |
    |    2   N/A  N/A    104582      C   lmp                                         612MiB |
    |    2   N/A  N/A    104586      C   lmp                                         612MiB |
    |    2   N/A  N/A    104590      C   lmp                                         612MiB |
    |    2   N/A  N/A    104594      C   lmp                                         612MiB |
    |    2   N/A  N/A    104597      C   lmp                                         612MiB |
    |    2   N/A  N/A    104601      C   lmp                                         612MiB |
    |    2   N/A  N/A    104605      C   lmp                                         612MiB |
    |    2   N/A  N/A    104609      C   lmp                                         612MiB |
    |    3   N/A  N/A    104497      C   nvidia-cuda-mps-server                       60MiB |
    |    3   N/A  N/A    104534      C   lmp                                         612MiB |
    |    3   N/A  N/A    104538      C   lmp                                         612MiB |
    |    3   N/A  N/A    104541      C   lmp                                         612MiB |
    |    3   N/A  N/A    104545      C   lmp                                         612MiB |
    |    3   N/A  N/A    104549      C   lmp                                         612MiB |
    |    3   N/A  N/A    104552      C   lmp                                         612MiB |
    |    3   N/A  N/A    104556      C   lmp                                         612MiB |
    |    3   N/A  N/A    104560      C   lmp                                         612MiB |
    |    3   N/A  N/A    104564      C   lmp                                         612MiB |
    |    3   N/A  N/A    104568      C   lmp                                         612MiB |
    |    3   N/A  N/A    104572      C   lmp                                         612MiB |
    |    3   N/A  N/A    104576      C   lmp                                         612MiB |
    |    3   N/A  N/A    104579      C   lmp                                         612MiB |
    |    3   N/A  N/A    104583      C   lmp                                         612MiB |
    |    3   N/A  N/A    104587      C   lmp                                         612MiB |
    |    3   N/A  N/A    104591      C   lmp                                         612MiB |
    |    3   N/A  N/A    104595      C   lmp                                         612MiB |
    |    3   N/A  N/A    104600      C   lmp                                         612MiB |
    |    3   N/A  N/A    104604      C   lmp                                         612MiB |
    |    3   N/A  N/A    104608      C   lmp                                         612MiB |
    +---------------------------------------------------------------------------------------+
    
  6. JonNavarroGaritano commented on Mar 11, 2026

    @JonNavarroGaritano
    Author

    Hi,

    Thanks for your help. Sorry, I forgot to attach the forcefield file. I have attached it now. Also, I tried to run the job adding deviceQuery after the nvidia-cuda-mps-control call. However, I'm still getting the same behaviour in the nvidia-smi output. I attach the job output file, I think that detects CUDA drivers correctly. The difference between the acc_debug and acc_bench is the maximum runtime and the maximum number of processors that can be used in a job script, and I think it should not affect the behaviour.

    With the input file input.in, I see 15% GPU utilization at one point, but the rest of the time it is 0%. Meanwhile, with the native lammps module, I see 55-70% GPU utilization during execution. With the file in.voronoi, execution is too short, but at one point it gave 15%, and the rest remained at 0%.

    out.37670781.log

    forcefield.txt

  7. ocaisa commented on Mar 11, 2026

    @ocaisa
    Member

    I now see the same as you, I see the GPUs spike very briefly but the rest of the time they seem to be idle

    # gpu    pwr  gtemp  mtemp     sm    mem    enc    dec    jpg    ofa   mclk   pclk
    # Idx      W      C      C      %      %      %      %      %      %    MHz    MHz
        0    118     42     55      0      0      0      0      0      0   1593   1980
        1    116     41     56      0      0      0      0      0      0   1593   1980
        2    122     42     54      0      0      0      0      0      0   1593   1980
        3    112     42     56      0      0      0      0      0      0   1593   1980
        0    121     42     55     99      1      0      0      0      0   1593   1980
        1    118     41     56     99      1      0      0      0      0   1593   1980
        2    124     42     54     99      1      0      0      0      0   1593   1980
        3    114     42     57     99      1      0      0      0      0   1593   1980
        0    123     42     55     85      1      0      0      0      0   1593   1980
        1    120     41     56     76      1      0      0      0      0   1593   1980
        2    126     42     54     83      1      0      0      0      0   1593   1980
        3    116     42     57     77      1      0      0      0      0   1593   1980
        0    124     42     55     81      1      0      0      0      0   1593   1980
        1    122     41     56     83      1      0      0      0      0   1593   1980
        2    127     42     55     80      1      0      0      0      0   1593   1980
        3    118     42     56     81      1      0      0      0      0   1593   1980
        0    127     43     55      3      0      0      0      0      0   1593   1980
        1    126     42     56     24      0      0      0      0      0   1593   1980
        2    131     43     54      3      0      0      0      0      0   1593   1980
        3    121     43     56     16      0      0      0      0      0   1593   1980
        0    122     42     55     27      0      0      0      0      0   1593   1980
        1    120     41     56      6      0      0      0      0      0   1593   1980
        2    124     42     55     26      0      0      0      0      0   1593   1980
        3    116     42     56     10      0      0      0      0      0   1593   1980
    
  8. ocaisa commented on Mar 11, 2026

    @ocaisa
    Member

    Just to sanity check things, I tested a GROMACS execution and the GPUs are used just fine.

    I'm afraid it will be very hard to pin down this issue since LAMMPS is not complaining. I'm rebuilding that LAMMPS module myself to see if it makes a difference. Ideally I would just try a later version of LAMMPS but we don't have one yet with CUDA support in 2025.06

  9. boegel commented on Mar 11, 2026

    @boegel
    Contributor

    Should we contact upstream on this, maybe they have some pointers on how to figure this out?

  10. ocaisa commented on Mar 11, 2026

    @ocaisa
    Member

    I would only contact upstream if you could reproduce it with a relatively recent stable release of LAMMPS. If we could have a newer version in 2025.06 we could try it there.

  11. boegel commented on Mar 11, 2026

    @boegel
    Contributor

    I suspect that some critical part of LAMMPS was unintentionally built without GPU support for the installation we have in EESSI, since generally speaking things look fine.

    @JonNavarroGaritano Can you provide some more details on the type of calculation you're running here, in particular which LAMMPS packages are relevant.

    In addition, it would be really helpful if you can share some details on how the other LAMMPS installation that you are using was configured/built (if you have that information), that may help us to zoom into the problem...

    Can you share the output of lammps -h for that non-EESSI installation of LAMMPS?

  12. laraPPr commented on Mar 12, 2026

    @laraPPr
    Collaborator

    I just looked at the performance difference of one of our GPU systems with a locally installed LAMMPS and the LAMMPS module in EESSI. Compared to our local installation the EESSI seems to perform better. That seems to indicate that it is a problem with the way we build and install LAMMPS with easybuild rather than a problem with the EESSI software stack.

    Image Image
  13. ocaisa commented on Mar 12, 2026

    @ocaisa
    Member

    I used another simple benchmark on acc_ehpc and I can see 100% GPU utilisation for both the local and EESSI LAMMPS, with the EESSI one giving slightly better overall performance.

    in.lj.txt
    log.lammps.lj.eessi.txt
    log.lammps.lj.system.txt

    It's something to do with how LAMMPS was built, perhaps there were patches applied to your local build? I tried to find out but I can't find any clues.

  14. ocaisa commented on Mar 12, 2026

    @ocaisa
    Member

    I also rebuilt the EESSI version with latest EasyBuild and still saw the same behaviour.

    I would like us to get to a new LAMMPS build with CUDA support in 2025.06 and then try to reproduce there.

  15. JonNavarroGaritano commented on Mar 12, 2026

    @JonNavarroGaritano
    Author

    Hello,

    Interesting @laraPPr ! I think also that the problem could be related to LAMMPS building process. The following lines are the steps that the BSC support team carry out for the installation of the software: lammps-28Mar2023

    salloc -A bsc99 -q acc_bench -c 80 --exclusive

    module purge
    module load openmpi/4.1.5-gcc
    module load cuda
    module load fftw/3.3.10-gcc-ompi
    module load cmake

    cd /apps/ACC/LAMMPS/SRC/lammps-28Mar2023
    rm -rf build
    mkdir build; cd build
    cmake
    -DCMAKE_BUILD_TYPE="RelWithDebInfo"
    -DCMAKE_CXX_COMPILER="/apps/ACC/LAMMPS/SRC/lammps-28Mar2023/lib/kokkos/bin/nvcc_wrapper"
            -DCMAKE_C_COMPILE="gcc"
            -DCMAKE_Fortran_COMPILER="gfortran"
            -DMPI_CXX="g++"
            -DMPI_CXX_COMPILER="mpicxx"
            -DCUFFT_LIBRARY="/usr/local/cuda-12.2/lib64/libcufft.so"
            -DCMAKE_CXX_STANDARD=17
            -DCMAKE_CXX_STANDARD_REQUIRED=ON
            -DLAMMPS_MACHINE="mpi"
            -DBUILD_MPI=ON
            -DBUILD_OMP=ON
            -DGPU_API=cuda
            -DGPU_ARCH="sm_90"
            -DKokkos_ENABLE_CUDA=ON
            -DKokkos_ARCH_HOPPER90=ON
            -DKokkos_ENABLE_SERIAL=ON
            -DKokkos_ENABLE_OPENMP=ON
            -DKokkos_ENABLE_DEBUG=ON
            -DFFT_KOKKOS="CUFFT"
            -DPKG_KOKKOS=ON
            -DPKG_MOLECULE=ON
            -DPKG_KSPACE=ON
            -DPKG_RIGID=ON
            -DPKG_MANYBODY=ON
            -DPKG_GPU=ON
            ../cmake
    cmake --build .
    cmake -DCMAKE_INSTALL_PREFIX=/apps/ACC/LAMMPS/28Mar2023/GCC/OPENMPI -P cmake_install.cmake

    Let me know if you need something additionally.
    Thanks for your help,

  16. laraPPr commented on Mar 12, 2026

    @laraPPr
    Collaborator

    I think we should look at the -DKokkos_* flags we have also updated build procedure recently. So I'm also curious what we would see with a newer lammps in 2025.06. At the moment I'm still having trouble with building on 1 ARM target (see easybuilders/easybuild-easyconfigs#25133)

    I'll also dump our cmake flags with which we build.

    cmake  
    -DCMAKE_INSTALL_PREFIX=/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/sapphirerapids/accel/nvidia/cc90/software/LAMMPS/2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1 -DCMAKE_BUILD_TYPE=Release 
    -DCMAKE_SYSROOT=/cvmfs/software.eessi.io/versions/2023.06/compat/linux/x86_64 
    -DCMAKE_C_COMPILER=/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/sapphi       rerapids/software/OpenMPI/4.1.5-GCC-12.3.0/bin/mpicc 
    -DCMAKE_CXX_COMPILER=/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/sapphirerapids/software/OpenMPI/4.1.5-GCC-12.3.0/bin/mpicxx 
    -DCMAKE_Fortran_COMPILER=/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/sapphirerapids/software/OpenMPI/4.1.5-GCC-12.3.0/bin/mpifort 
    -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF 
    -DPython3_EXECUTABLE=/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/sapphirerapids/software/Python/3.11.3-GCCcore-12.3.0/bin/python 
    -DCMAKE_CUDA_HOST_COMPILER=/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/sapphirerapids/software/OpenMPI/4.1.5-GCC-12.3.0/bin/mpicxx 
    -DCMAKE_CUDA_COMPILER=/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/sapphirerapids/accel/nvidia/cc90/software/CUDA/12.1.1/bin/nvcc 
    -DCMAKE_CUDA_ARCHITECTURES='90' 
    -DBOOST_ROOT=/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/sapphirerapids/software/Boost/1.82.0-GCC-12.3.0 
    -DBoost_NO_SYSTEM_PATHS=ON  
    -DBUILD_TOOLS=on  
    -DBUILD_DOC=off  
    -DWITH_GZIP=yes  
    -DWITH_PNG=yes  
    -DWITH_JPEG=yes  
    -DDOWNLOAD_MDI_DEFAULT=OFF  
    -DDOWNLOAD_EIGEN3=no  
    -DEIGEN3_INCLUDE_DIR=/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/sapphirerapids/software/Eigen/3.4.0-GCCcore-12.3.0/include/Eigen  
    -DEigen3_DIR=/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/sapphirerapids/software/Eigen/3.4.0-GCCcore-12.3.0/share/eigen3/cmake/  
    -DPKG_AMOEBA=on  
    -DPKG_ASPHERE=on  
    -DPKG_ATC=on  
    -DPKG_AWPMD=on  
    -DPKG_BOCS=on  
    -DPKG_BODY=on  
    -DPKG_BPM=on  
    -DPKG_BROWNIAN=on  
    -DPKG_CG-DNA=on  
    -DPKG_CG-SPICA=on  
    -DPKG_CLASS2=on  
    -DPKG_COLLOID=on  
    -DPKG_COLVARS=on  
    -DPKG_COMPRESS=on  
    -DPKG_CORESHELL=on  
    -DPKG_DIELECTRIC=on  
    -DPKG_DIFFRACTION=on  
    -DPKG_DIPOLE=on  
    -DPKG_DPD-BASIC=on  
    -DPKG_DPD-MESO=on  
    -DPKG_DPD-REACT=on  
    -DPKG_DPD-SMOOTH=on  
    -DPKG_DRUDE=on  
    -DPKG_EFF=on  
    -DPKG_ELECTRODE=on  
    -DPKG_EXTRA-COMPUTE=on  
    -DPKG_EXTRA-DUMP=on  
    -DPKG_EXTRA-FIX=on  
    -DPKG_EXTRA-MOLECULE=on  
    -DPKG_EXTRA-PAIR=on  
    -DPKG_FEP=on  
    -DPKG_GRANULAR=on  
    -DPKG_H5MD=on  
    -DPKG_INTERLAYER=on  
    -DPKG_KIM=on  
    -DPKG_KSPACE=on  
    -DPKG_LATBOLTZ=on  
    -DPKG_LEPTON=on  
    -DPKG_MACHDYN=on  
    -DPKG_MANIFOLD=on  
    -DPKG_MANYBODY=on  
    -DPKG_MC=on  
    -DPKG_MDI=on  
    -DPKG_MEAM=on  
    -DPKG_MGPT=on  
    -DPKG_MISC=on  
    -DPKG_ML-IAP=on  
    -DPKG_ML-PACE=on  
    -DPKG_ML-POD=on  
    -DPKG_ML-RANN=on  
    -DPKG_ML-SNAP=on  
    -DPKG_MOFFF=on  
    -DPKG_MOLECULE=on  
    -DPKG_MOLFILE=on  
    -DPKG_MPIIO=on  
    -DPKG_NETCDF=on  
    -DPKG_OPT=on  
    -DPKG_ORIENT=on  
    -DPKG_PERI=on  
    -DPKG_PHONON=on  
    -DPKG_PLUGIN=on  
    -DPKG_PLUMED=on  
    -DPKG_POEMS=on  
    -DPKG_PTM=on  
    -DPKG_PYTHON=on  
    -DPKG_QEQ=on  
    -DPKG_QTB=on 
    -DPKG_REACTION=on  
    -DPKG_REAXFF=on  
    -DPKG_REPLICA=on  
    -DPKG_RIGID=on 
    -DPKG_SCAFACOS=on  
    -DPKG_SHOCK=on 
    -DPKG_SMTBQ=on  
    -DPKG_SPH=on  
    -DPKG_SPIN=on  
    -DPKG_SRD=on  
    -DPKG_TALLY=on  
    -DPKG_UEF=on  
    -DPKG_VORONOI=on  
    -DPKG_VTK=on  
    -DPKG_YAFF=on  
    -DPKG_INTEL=on  
    -DBUILD_MPI=yes  
    -DBUILD_OMP=yes  
    -DPKG_OPENMP=on  
    -DFFT=FFTW3  
    -DFFT_PACK=array  
    -DPKG_KOKKOS=on  
    -DKokkos_ENABLE_OPENMP=yes  
    -DKokkos_ENABLE_CUDA=yes  
    -DKokkos_ARCH_NATIVE=yes  
    -DKokkos_ARCH_HOPPER90=yes  
    -DCMAKE_INSTALL_LIBDIR=lib  
    -DPython_EXECUTABLE=/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/sapphirerapids/software/Python/3.11.3-GCCcore-12.3.0/bin/python  
    -DPYTHON_EXECUTABLE=/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/sapphirerapids/software/Python/3.11.3-GCCcore-12.3.0/bin/python  
    -DPYTHON_LIBRARY=/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/sapphirerapids/software/Python/3.11.3-GCCcore-12.3.0/lib/libpython3.11.so  
    -DPYTHON_INCLUDE_DIR=/cvmfs/software.eessi.io/versions/202       3.06/software/linux/x86_64/intel/sapphirerapids/software/Python/3.11.3-GCCcore-12.3.0/include/python3.11  
    -DBUILD_SHARED_LIBS=ON  /tmp/bot/easybuild/build/LAMMPS/2Aug2023_update2/foss-2023a-kokkos-CUDA-12.1.1/lammps-stable_2Aug2023_update2/cmake
    
  17. boegel commented on Mar 12, 2026

    @boegel
    Contributor

    @JonNavarroGaritano Thanks for providing those details, that should help us quite a bit.

    At first sight:

    • It looks like we don't use -DPKG_GPU in our build, see also https://docs.lammps.org/Packages_details.html#pkg-gpu . I'm not sure why that's the case, and I don't think that explains the problem being reported here (because -sf kk is used in the LAMMPS command, not -sf gpu)
    • Another different is that we don't use cuFFT with Kokkos (see DFFT_KOKKOS="CUFFT" and -DCUFFT_LIBRARY=...), which may have a significant impact on performance as well for GPU installations of LAMMPS.

    cuFFT is part of CUDA, so changing/fixing this should not be very difficult I think...

  18. boegel commented on Mar 12, 2026

    @boegel
    Contributor

    The LAMMPS easyblock that is used to install LAMMPS with EasyBuild in EESSI was updated relatively recently to be aware of the -DFFT_KOKKOS configure option, but we only use it for LAMMPS versions 29Aug2024 and newer:

    Maybe that was a bit too conservative, and we should relax that a bit, so it's also used for LAMMPS 2Aug2023?

    A more promising avenue perhaps is to focus on getting a more recent version of LAMMPS deployed into EESSI, like LAMMPS-22Jul2025-foss-2024a-kokkos-CUDA-12.6.0.eb.

    @JonNavarroGaritano Would that work for you, or do you need LAMMPS 2Aug2023 specifically for some reason?

  19. JonNavarroGaritano commented on Mar 13, 2026

    @JonNavarroGaritano
    Author

    Hi @boegel ,

    Thanks for the clarification!

    For our use case I don't specifically need LAMMPS 2Aug2023. What I really need is simply a functional LAMMPS build with GPU support (Kokkos/CUDA) in EESSI. I don't have any strict requirement regarding the exact version.

    So if deploying a more recent version like LAMMPS-22Jul2025 with proper GPU support works better, that would also work perfectly for us. For your information, we currently have the 2023/06 (in which we have the LAMMPS/2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1) and 2025.06 EESSI versions installed in MN5.

  20. laraPPr commented on Apr 7, 2026

    @laraPPr
    Collaborator

    We have recently deployed LAMMPS-22Jul2025 for CPU only and I will now start looking into getting it installed with CUDA support as well. See #1461.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions