cms-sw / cmssw

CMS Offline Software
http://cms-sw.github.io/
Apache License 2.0
1.07k stars 4.27k forks source link

Add Kalos heterogenous CLUE library as an external to CMSSW #45039

Open rovere opened 3 months ago

rovere commented 3 months ago

Given a coming PR to CMSSW to enable the heterogeneous clustering using CLUE in HGCal CE-E detector at HLT for Phase2, see the evolving development branch here, I would like to add the Kalos library, that contains the Alpaka version of CLUE, as an external to CMSSW. It is a header-only library. The source code is available at this link.

@felicepantaleo @fwyzard @SohamBhattacharya @smuzaffar

cmsbuild commented 3 months ago

cms-bot internal usage

cmsbuild commented 3 months ago

A new Issue was created by @rovere.

@makortel, @sextonkennedy, @smuzaffar, @rappoccio, @antoniovilela, @Dr15Jones can you please review it and eventually sign/assign? Thanks.

cms-bot commands are listed here

felicepantaleo commented 3 months ago

thanks @rovere .

the requirements listed in the repo readme are quite strict and obsolete:

The pre-requisite dependencies are >=gcc7, <=gcc8.3, Boost, TBB. Fork this repo if developers. If CUDA/nvcc are found on the machine, the compilation is performed automatically also for the GPU case. The path to the nvcc compiler will be automatically taken from the machine. In this case, >=cuda10 and <=nvcc11.2 are also required.

Did you check that you can build it and run with a recent CMSSW environment?

rovere commented 3 months ago

thanks @rovere .

the requirements listed in the repo readme are quite strict and obsolete:

The pre-requisite dependencies are >=gcc7, <=gcc8.3, Boost, TBB. Fork this repo if developers. If CUDA/nvcc are found on the machine, the compilation is performed automatically also for the GPU case. The path to the nvcc compiler will be automatically taken from the machine. In this case, >=cuda10 and <=nvcc11.2 are also required.

Did you check that you can build it and run with a recent CMSSW environment?

@felicepantaleo everything is running fine in the latest CMSSW_14_1_X IB.

smuzaffar commented 3 months ago

>=gcc7, <=gcc8.3 ? For 14.0.X and above we only have >=GCC 12

rovere commented 3 months ago

@smuzaffar those requirements, as @felicepantaleo said, are rather old and referring to slc7 ages. I tested the library in our more recent environment and it works fine. I will work on the requirements and update them to more recent standards, assuming the CI machinery at CERN allows me to do so.

makortel commented 3 months ago

assign core,heterogeneous,hlt,reconstruction,upgrade

cmsbuild commented 3 months ago

New categories assigned: core,heterogeneous,hlt,reconstruction,upgrade

@Dr15Jones,@Martin-Grunewald,@mmusich,@fwyzard,@jfernan2,@makortel,@makortel,@mandrenguyen,@smuzaffar,@srimanob,@subirsarkar you have been requested to review this Pull request/Issue and eventually sign? Thanks

makortel commented 3 months ago

I'd like to understand better the long-term plan. Is the external setup intended as a temporary or long-term solution? Does the Kalos library have any CMS-specifics, or is it fully generic?

(in a way this situation reminds me of the initial mkFit integration)

rovere commented 3 months ago

Ciao @makortel, the plan would be to have a standalone library that CMS could use in CMSSW and other experiments elsewhere. The library has been "packaged and included" under the key4hep umbrella see here.

The final goal would be to have a unique external library that could be plugged into several places.

On a side note, extracting the "kernels" needed by CMSSW/HGCAL from Kalos would be a "relatively simple" exercise if that solution is preferred.

makortel commented 3 months ago

Thanks @rovere, that answers to all my questions.