[WIP] GPU Abstraction to also target HIP in cudacpp impementation & Profiling infrastructure#718
[WIP] GPU Abstraction to also target HIP in cudacpp impementation & Profiling infrastructure#718Jooorgen wants to merge 0 commit into
Conversation
|
Very good @Jooorgen thanks a lot! Will have a look next week. Looking at this as a MR now - I guess we consider AMD still 'experimental', but one day we could set up an AMD GPU CI? @hageboeck any suggestion? Thanks |
For what concerns a CI I believe the best way forward would be to run them inside a container on HPCs, we don't have any machine on premise unfortunately. |
Agreed. I don't think we will be able to implement an "immediate" check, though, i.e. run it on every PR. A nightly check might be easier to do. |
|
Hi @Jooorgen as discused this looks very good! :-) A few issues we worked on together are in my branch Note, I have also just merged to master and to jthip a small fix for the issue we saw while working together (codegen failing on itscrd90 and not on itscrd80) ie bug #721. I suggest you merge valassi/jthip and move over from there. A few other minor issues/observations from our discussion
Thanks again! Andrea |
|
NB This is related to issue #311 (it implements the first part of it namely code and builds - second part will be to make tests, maybe better open a separate issue?) |
|
Hi @Jooorgen I have completed the work we were doing together this afternoon
Please merge this into your branch As discussed, we may consider having a MR from a simpler branch rather than from the full master, But if you say that the files in profile are needed, its ok as is I guess. Anyway it would be good t hav ethe CI executed, and passing, atr least on CPU and NVidia GPU (as we have no CI on HIP) Thanks! |
|
Hi @Jooorgen I have merged upstream/master (including my FPE and namespace changes) into my Please merge this into yours and lets see... it works for CUDA, hopefully also for HIP? Thanks |
|
Hi @Jooorgen I have also merged my very upstream/master (including my FPE changes for icx from MR #737) into my Please merge this into yours and lets see... it works for CUDA, hopefully also for HIP? Thanks |
I am working now in branch valassi/jthip24. This is my first commit over joorgen/gpu_abstraction branch (also known as valassi/jthip), as of commit 229ffeb (Tue Aug 15 11:33:01 2023 +0200). This branch contains fewer features than jooorgen/master (PR madgraph5#718), but it is more advanced than joorgen/gpu_abstraction_only (PR madgraph5#774). I will probably need some of the commits here to fix PR madgraph5#774 in branch valassi/jt774. I regenerate the ten processes as follows: ./CODEGEN/generateAndCompare.sh ee_mumu --mad ./CODEGEN/generateAndCompare.sh gg_tt --mad ./CODEGEN/generateAndCompare.sh gg_ttg --mad ./CODEGEN/generateAndCompare.sh gg_ttgg --mad ./CODEGEN/generateAndCompare.sh gg_ttggg --mad ./CODEGEN/generateAndCompare.sh ee_mumu ./CODEGEN/generateAndCompare.sh gg_tt ./CODEGEN/generateAndCompare.sh gg_ttg ./CODEGEN/generateAndCompare.sh gg_ttgg ./CODEGEN/generateAndCompare.sh gg_ttggg These are the five processes that would get conflicts when I merge upstream/master here, so I guess that these are the only ten processes touched in this branch. The fact that I can regenerate them and there are no real differences (except for irrelevant stuff like me5_configuration.txt, aloha_file.inc, py3_model.pkl) shows that ALL IMPORTANT CHANGES BY JORGEN HERE ARE IN THE CODEGEN. I can therefore merge upstream/master, fix conflicts in CODEGEN and regenerate.
Current work from the GPU abstraction I have been working on. Also includes the profiling infrastructure, but bear in mind the SYCL portion is not working as intended currently. Need some documentation from Nathan on how to compile it first.
Just ran it successfully on LUMI-G with MI250x GPUs. On a sidenote I seem to have an issue running on the GPUs we got from LHCb, but on LUMI it apperantly runs fine.
LHCb development GPUs (MI250x):
VS
LUMI-G GPUs (MI250x):