Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] GPU Abstraction to also target HIP in cudacpp impementation & Profiling infrastructure #718

Open
wants to merge 497 commits into
base: master
Choose a base branch
from

Conversation

Jooorgen
Copy link
Member

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):

[jteig@n4051701 P1_epem_mupmum]$ ./gcheck.exe 32 32 10

ERROR! assertGpu: 'no ROCm-capable device is detected' (100) in ./GpuRuntime.h:62

gcheck.exe: ./GpuRuntime.h:21: void assertGpu(hipError_t, const char *, int, bool): Assertion `code == gpuSuccess' failed.

Aborted (core dumped)

VS

LUMI-G GPUs (MI250x):

teigjorg@nid005027:~/madgraph4gpu/epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum> ./gcheck.exe 32 32 10

..........

teigjorg@nid005027:~/madgraph4gpu/epochX/cudacpp/ee_mumu.mad/SubProcesses/P1_epem_mupmum>

Jooorgen and others added 30 commits March 31, 2023 17:11
[CODEGEN] Regenerate all 5 .sa/.mad processes based on gg_ttgg.mad
Removed all warnings in HIP compilation
valassi added a commit to valassi/madgraph4gpu that referenced this pull request Jan 25, 2024
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants