SIMULATeQCD icon indicating copy to clipboard operation
SIMULATeQCD copied to clipboard

Compilation at Jefferson Lab

Open clarkedavida opened this issue 1 year ago • 2 comments

In order to get this to compile at JLAB, I had to make a couple changes to CMakeLists.txt, namely:

 #    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -O3 -fgpu-rdc --hip-link --craype-prepend-opt=-Wl,-rpath=${ROCM_PATH}/deps")
    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -O3 -fgpu-rdc --hip-link -Wl,-rpath=${ROCM_PATH}/deps")

and

include_directories(SYSTEM "${SIMULATEQCD_INCLUDE_DIRS}" "/opt/rocm-5.1.3/include/roctracer") #include_directories(SYSTEM "${SIMULATEQCD_INCLUDE_DIRS}") link_libraries("${SIMULATEQCD_LIBRARIES}")

What is the best way to implement a change that does this on JLAB? Should I create some variable to export? I don't want to mess up the compilation on other machines.

clarkedavida avatar Nov 05 '24 23:11 clarkedavida

Those settings that you commented out were added specifically for either Lumi-G or Frontier (judging by the craype flag) and could potentially be dropped. Will check once I have access to Frontier again. I think it might be enough to keep your CMakeLists.txt changes in your own local branch on Jlab? I wouldn't want to have your second change (the hard coded roctracer path) in the main branch.

dbollweg avatar Nov 08 '24 18:11 dbollweg

Yeah, I was thinking maybe there could be some logic that lets you add such a path to the SIMULATEQCD_INCLUDE_DIRS variable in case a situation like that arises. I mean to some extent it's probably impossible to have a one-size-fits-all Makefile.

Thanks for looking into it.

clarkedavida avatar Nov 08 '24 20:11 clarkedavida