Green-Phys / green-mbpt

Many-Body Perturbation solvers for Green project
MIT License
4 stars 2 forks source link

Compiling with the GPU kernel on NERSC perlmutter #2

Closed ham-radio-72 closed 5 months ago

ham-radio-72 commented 5 months ago

I tried to compile the code with the optional GPU kernel per the instruction. The trial was done on the NERSC perlmutter machine.

1) The cmake command would not pass with the flags in the current instruction. I changed the header flag: -DGREEN_CUSTOM_KERNEL_HEADER=<green/gpu/gpu_factory.h> to -DGREEN_CUSTOM_KERNEL_HEADER="green/gpu/gpu_factory.h" Then the cmake was successful. Otherwise it would say that the header file doesn't exist.

2) After that, the make compilation failed and produced the following error:

[  1%] Building CUDA object _deps/gpu_kernel-build/src/CMakeFiles/accel-lib.dir/cuda_common.cu.o
nvcc fatal   : Option '--generate-code arch=compute_70', missing code
make[2]: *** [_deps/gpu_kernel-build/src/CMakeFiles/accel-lib.dir/build.make:76: _deps/gpu_kernel-build/src/CMakeFiles/accel-lib.dir/cuda_common.cu.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1775: _deps/gpu_kernel-build/src/CMakeFiles/accel-lib.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

For your information, these are all the modules I had:

Currently Loaded Modules:
  1) craype-x86-milan                        6) cray-dsmml/0.2.2     11) perftools-base/23.12.0  16) cmake/3.22.0       (buildtools)
  2) libfabric/1.15.2.0                      7) cray-libsci/23.12.5  12) cpe/23.12               17) cray-hdf5/1.12.2.9 (io)
  3) craype-network-ofi                      8) cray-mpich/8.1.28    13) cudatoolkit/12.2        18) eigen/3.4.0
  4) xpmem/2.6.2-2.5_2.38__gd067c3f.shasta   9) craype/2.7.30        14) craype-accel-nvidia80
  5) PrgEnv-gnu/8.5.0                       10) gcc-native/12.3      15) gpu/1.0

Thank you, Ming

egull commented 5 months ago

We are aware of this; we will have it fixed by the end of the morning (it is likely a bug I introduced two days ago).

Apologies,

Emanuel

On Mar 27, 2024, at 4:19 PM, Ming Wen @.***> wrote:

I tried to compile the code with the optional GPU kernel per the instruction. The trial was done on the NERSC perlmutter machine. • The cmake command would not pass with the flags in the current instruction. I changed the header flag: -DGREEN_CUSTOM_KERNEL_HEADER=<green/gpu/gpu_factory.h> to -DGREEN_CUSTOM_KERNEL_HEADER="green/gpu/gpu_factory.h" Then the cmake was successful. Otherwise it would say that the header file doesn't exist. • After that, the make compilation failed and produced the following error: [ 1%] Building CUDA object _deps/gpu_kernel-build/src/CMakeFiles/accel-lib.dir/cuda_common.cu.o nvcc fatal : Option '--generate-code arch=compute_70', missing code make[2]: [_deps/gpu_kernel-build/src/CMakeFiles/accel-lib.dir/build.make:76: _deps/gpu_kernel-build/src/CMakeFiles/accel-lib.dir/cuda_common.cu.o] Error 1 make[1]: [CMakeFiles/Makefile2:1775: _deps/gpu_kernel-build/src/CMakeFiles/accel-lib.dir/all] Error 2 make: *** [Makefile:146: all] Error 2

For your information, these are all the modules I had: Currently Loaded Modules: 1) craype-x86-milan 6) cray-dsmml/0.2.2 11) perftools-base/23.12.0 16) cmake/3.22.0 (buildtools) 2) libfabric/1.15.2.0 7) cray-libsci/23.12.5 12) cpe/23.12 17) cray-hdf5/1.12.2.9 (io) 3) craype-network-ofi 8) cray-mpich/8.1.28 13) cudatoolkit/12.2 18) eigen/3.4.0 4) xpmem/2.6.2-2.5_2.38__gd067c3f.shasta 9) craype/2.7.30 14) craype-accel-nvidia80 5) PrgEnv-gnu/8.5.0 10) gcc-native/12.3 15) gpu/1.0

Thank you, Ming — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

iskakoff commented 5 months ago

Fixed with commit 56f1dddbcec3c7278780355ef436f7cf68d886ea