cms-L1TK / firmware-hls

HLS implementation of the tracklet pattern reco modules of the Hybrid tracking chain
15 stars 24 forks source link

Remove Memory copies in CMSSW #324

Closed tomalin closed 7 months ago

tomalin commented 8 months ago

MemoryTemplateBinnedCM creates NCOPY identical copies of each memory. Whilst needed in FW, these are a waste of memory in CMSSW. The change to MemoryTemplateBinnedCM proposed here, (which should only affect CMSSW use), makes it pretend to the outside world that it has NCOPY copies, whilst internally it actually only has a single copy. I've checked that the Future SW is unaffected by this. (Though I believe this change is needed to allow it to be migrated to CMSSW 14). P.S. Also made a small change to MemoryTemplate.h, to stop NBIT_BX appearing in the global space when running within CMSSW. It is now contained inside the class.

aehart commented 7 months ago

Looks good. Approved!

BTW, the corresponding CI pipeline succeeded: https://gitlab.cern.ch/cms-l1tk/firmware-hls/-/pipelines/7044513 But it timed out on the GitHub side at 6 hours (the pipeline was queued/ran for about 7 hours 23 minutes).

Anyway, I will merge now.