mashephe / AmpTools

A utility library for performing amplitude analysis on particle physics data.
20 stars 12 forks source link

Compilation on AlmaLinux9 #133

Open aaust opened 6 months ago

aaust commented 6 months ago

Cuda is now installed as a module for AlmaLinux9 on cvmfs. This is how to set it up on ifarm9:

module use /cvmfs/oasis.opensciencegrid.org/jlab/scicomp/sw/el9/modulefiles
module load cuda
export CUDA_INSTALL_PATH=/cvmfs/oasis.opensciencegrid.org/jlab/scicomp/sw/el9/cuda/11.4.2/

However, compiling AmpTools 0.15.2 with GPU acceleration on this node fails:

make gpu
...
-> Compiling GPUAmpProductKernel.cu
/usr/include/stdio.h(183): error: attribute "__malloc__" does not take arguments

/usr/include/stdio.h(195): error: attribute "__malloc__" does not take arguments
aaust commented 6 months ago

It looks like this is an incompatibility between gcc11 and this cuda version. I will try a newer one. (see https://forums.developer.nvidia.com/t/cuda-11-5-samples-throw-multiple-error-attribute-malloc-does-not-take-arguments/192750)

aaust commented 6 months ago

The modules for cuda 11.8.0 and 12.2.2 were installed in the same place on cvmfs and both work. Would it be worth implementing a requirement for cuda > 11.5 in the makefiles if the gcc version is 11 or higher?

mashephe commented 5 months ago

On Mar 11, 2024, at 1:12 PM, Alexander Austregesilo @.***> wrote:

The modules for cuda 11.8.0 and 12.2.2 were installed in the same place on cvmfs and both work. Would it be worth implementing a requirement for cuda > 11.5 in the makefiles if the gcc version is 11 or higher?

I'm not opposed to this, but I don't know how to do such version checking in the context of a makefile in a way that it is suitable for many environments. (I think things like this are typical done in a "configure" step.)

Matt