QMCPACK / miniqmc

QMCPACK miniapp: a simplified real space QMC code for algorithm development, performance portability testing, and computer science experiments
Other
27 stars 35 forks source link

Support the new Intel compiler (icpx) #270

Open eoseret opened 1 year ago

eoseret commented 1 year ago

Hi,

Sorry if that issue already exists, I have not found it.

I am working with J. Kim on the optimization of QMC-pack, which supports the new, LLVM-based, Intel compiler (icpx). My students (I am teaching computer architecture and code optimization) are using mini-QMC but cannot compile it with icpx since mini-QMC is not yet supporting that new compiler. The "classic" compiler (icpc) will be deprecated in the second half of 2023.

Do you plan to support icpx ? For the moment I have to modify CMakeLists.txt and add a special recipe for "IntelLLVM" (that is otherwise being captured by the "Intel" target which is designed for the "classic" icpc Intel compiler).

I am attaching my git patch that enables support of the "IntelLLVM" compiler (icx/icpx). After applying it, I configure with cmake -DCMAKE_CXX_COMPILER=icpx .. or cmake -DCMAKE_CXX_COMPILER=mpiicpc -DCMAKE_CXX_FLAGS="-cxx=icpx" -DQMC_MPI=1 ..

Maybe one could find something more compact/simple/portable...: Use CMake with icx/icpx Porting Guide for ICC Users to DPCPP or ICX

Thanks in advance, Regards, Emmanuel IntelLLVM.patch.txt