Skip to content

oneapi port of gg_ttgg for epoch 1#113

Merged
lfield merged 4 commits intomadgraph5:masterfrom
tjburch:oneapi-ggttgg-epoch1
Jan 13, 2021
Merged

oneapi port of gg_ttgg for epoch 1#113
lfield merged 4 commits intomadgraph5:masterfrom
tjburch:oneapi-ggttgg-epoch1

Conversation

@tjburch
Copy link
Contributor

@tjburch tjburch commented Jan 8, 2021

Replacement of PR #112, moving to the oneapi directory since this uses the unified shared memory paradigm.

Text from that PR:

This is the closest true-to-original port of epoch 1 that I've worked on. This will compile but will not run, due to the persistence of ranmar which isn't thread safe (see issue #79).

I figured that the best option here was to get the conversion to be true to the original cuda, even if not running, and let the fixes for ranmar and others be addressed in the epoch2 code.

Another stylistic note is that I prefer the functor approach to writing and submitting kernels, so this has been used here, so sigmakin is a class rather than just a function.

@tjburch tjburch requested a review from lfield January 8, 2021 20:21
@lfield
Copy link
Contributor

lfield commented Jan 12, 2021

When compiling I get the following error.

/opt/intel/oneapi/compiler/2021.1.2/linux/bin/../include/sycl/CL/sycl/handler.hpp:792:5: error: no matching function for call to object of type 'const sigmaKin'
    KernelFunc(

@tjburch
Copy link
Contributor Author

tjburch commented Jan 12, 2021

Ah right - that was something that broke in newer oneAPI versions (after October or so?). The recent merge should sort that out, compiles with the latest.

@lfield
Copy link
Contributor

lfield commented Jan 13, 2021

Now builds but crashes.

sm model couplings independent of event kinematics:
Segmentation fault (core dumped)

@tjburch
Copy link
Contributor Author

tjburch commented Jan 13, 2021

Right - that crash is a direct result of #79. As of now, I was planning on leaving the port true-to-original, since the original does have the thread-unsafe ranmar in it, and resolving in epoch2 (where ranmar is no longer in the code)

@lfield
Copy link
Contributor

lfield commented Jan 13, 2021

ok. I would suggest to add a known issues file in the gg_ttgg directory stating this and then I will merge.

@tjburch
Copy link
Contributor Author

tjburch commented Jan 13, 2021

Done.

@lfield
Copy link
Contributor

lfield commented Jan 13, 2021

Thanks.

@lfield lfield merged commit 629501c into madgraph5:master Jan 13, 2021
valassi added a commit to valassi/madgraph4gpu that referenced this pull request Jul 1, 2024
…t on Olivier's latest fix_826 commit d23e773

1) Note about Olivier's latest fix_826 commit d23e773

Olivier's 75c05c5 includes his initial 6 commits in fix_826:

git log upstream/master --oneline -n1
  0992927 (upstream/master, origin/color2, origin/actions) Merge pull request madgraph5#857 from valassi/tmad
git log --oneline 0992927..75c05c5
  75c05c5 Merge branch 'master_june24' into fix_826
  92a8284 better comment in coloramps
  2bcea76 trying to fix git issue
  63494ef change to Andrea convention of naming (but removing step variable)
  5b6d065 increase readibility and move from map to array
  41ddc38 fix a issue for omp compilation
  bed2e12 try to fix the segfault on issue 826

Olivier's d23e773 is then a merge of the latest upstream/master in 75c05c5, fixing the MG5AMC conflict by setting it to 74fd166c1

git show d23e773
  Merge: 75c05c5 0992927
  update this branch with andrea fix in master
  diff --cc MG5aMC/mg5amcnlo
   - Subproject commit 10378b3c0971e1a241fd9dc365e592c92d1f13ba
    -Subproject commit f274cab55d5d983c5612ca7ab3417ee796aa1a8c
   ++Subproject commit 74fd166c1e22bde2dfe01b2e001ac3b177628165

2) Note that, in MG5AMC, 74fd166c1 (obsolete branch gpucpp_826) is the same as 09c96dd17 (branch gpucpp):

git diff 74fd166c1 09c96dd17
  [NO DIFF]

git log --oneline e428e38c6..09c96dd17
  09c96dd17 (origin/gpucpp) allow for second exporter to have access to all variable used in the fortran exporter
  9abf6a3ad Merge pull request madgraph5#113 from valassi/valassi_volatile
  f274cab55 (ghav/valassi_volatile, valassi_volatile) Workaround for SIGFPE crashes in function rotxxx (madgraph5#855): add 'volatile' to prevent optimizations
  0b8678984 Merge pull request madgraph5#112 from valassi/valassi_uninitialised111
  18696c1cf Merge pull request madgraph5#110 from valassi/valassi_leak109
  4f8fbb7f3 (ghav/valassi_uninitialised111) Workaround for issue madgraph5#111 reported by valgrind (initialise goodjet array in function setclscales in reweight.f)
  f6d90fa58 (ghav/valassi_leak109, valassi_leak109) Fix memory leak madgraph5#109 in madevent_driver.f (close file dname.mg)
  f9f957918 (valgrind) Fix validity time check for UFO pickle (madgraph5#97)
  619f5db45 avoid that some parameter switch type when loading model

git log --oneline e428e38c6..74fd166c
  74fd166c1 (HEAD, origin/gpucpp_826, gpucpp_826) Merge remote-tracking branch 'origin/gpucpp' (PR madgraph5#113 for madgraph5#855 crash in rotxxx) into gpucpp_826
  9abf6a3ad Merge pull request madgraph5#113 from valassi/valassi_volatile
  f274cab55 (ghav/valassi_volatile, valassi_volatile) Workaround for SIGFPE crashes in function rotxxx (madgraph5#855): add 'volatile' to prevent optimizations
  e4d9df4ab Merge remote-tracking branch 'origin/gpucpp' (PRs madgraph5#110 and madgraph5#112 for issues madgraph5#109 and madgraph5#111) into gpucpp_826
  0b8678984 Merge pull request madgraph5#112 from valassi/valassi_uninitialised111
  18696c1cf Merge pull request madgraph5#110 from valassi/valassi_leak109
  4f8fbb7f3 (ghav/valassi_uninitialised111) Workaround for issue madgraph5#111 reported by valgrind (initialise goodjet array in function setclscales in reweight.f)
  f6d90fa58 (ghav/valassi_leak109, valassi_leak109) Fix memory leak madgraph5#109 in madevent_driver.f (close file dname.mg)
  10378b3c0 allow for second exporter to have access to all variable used in the fortran exporter
  f9f957918 (valgrind) Fix validity time check for UFO pickle (madgraph5#97)
  619f5db45 avoid that some parameter switch type when loading model

3) Note that color includes the following submodule updates, passing through 09c96dd17 to ba54a4153

git show --oneline upstream/master..color ../../MG5aMC/
  4b29496 [color] update MG5AMC to ba54a4153 in th egpuccp branch, with a minor fix in a comment for my icolamp patch
  Submodule MG5aMC/mg5amcnlo 99e064157..ba54a4153:
    > minor fix in a printout in my previous patch in export_cpp.py
  1c2a02d [color] update MG5AMC to 99e064157, fixing bug madgraph5#856 (and related ones) about the icolamp array in coloramps.h
  Submodule MG5aMC/mg5amcnlo 09c96dd17..99e064157:
    > In export_cpp.py fix bug madgraph5#114 in get_icolamp_lines, resulting in different icolamp arrays for F77 and CPP (see madgraph5#873)
  0a60262 [color] update MG5AMC to 09c96dd17: this is the latest gpucpp branch, now including Olivier's extra commit previously in gpucpp_826
  Submodule MG5aMC/mg5amcnlo 10378b3c0...09c96dd17:
    > allow for second exporter to have access to all variable used in the fortran exporter
    > Merge pull request madgraph5#113 from valassi/valassi_volatile
    > Merge pull request madgraph5#112 from valassi/valassi_uninitialised111
    > Merge pull request madgraph5#110 from valassi/valassi_leak109
    < allow for second exporter to have access to all variable used in the fortran exporter
  16ff942 try to fix the segfault on issue 826
  Submodule MG5aMC/mg5amcnlo f9f957918..10378b3c0:
    > allow for second exporter to have access to all variable used in the fortran exporter
  4b12e79 [color] temporarely downgrade back MG5AMC to the common base of gpucpp and gpucpp_826, to allow cherry-picking Olivier's fix_826 changes >
  Submodule MG5aMC/mg5amcnlo f274cab55..f9f957918 (rewind):
    < Workaround for SIGFPE crashes in function rotxxx (madgraph5#855): add 'volatile' to prevent optimizations
    < Merge pull request madgraph5#112 from valassi/valassi_uninitialised111
    < Merge pull request madgraph5#110 from valassi/valassi_leak109

=> Therefore I can simply merge origin/color into color2 and fix the MG5AMC conflict by setting it to ba54a4153 (valassi_icolamp114, before more recent changes)
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.

2 participants