You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
separate buffers for different particles (SOAOSOA?) #309
This is about the second issue discussed in #175 (comment)
Eventually, it may better to change the buffer indexing so as to have completely separate buffers for different particles. This would simplify the ixxx/oxxx api (no need to pass ipar) and make the code more understandbale. However it is clearly something to be synced with the fortran bridge work. Not urgent.
One possibility could be to move from the current AOSOA to an SOAOSOA (or back to an SOA):
now we have momenta as AOSOA[npagM][npar][np4][neppM}, with npar particles, np4=4 components of 4-momenta, and nevt=npagM*neppM events split into npagM pages of neppM events per page
eventually we could have SOAOSOA[npar][npagM][np4][neppM], so that it is easy to split these into several separate AOSOA[npagM][np4][neppM]
or we could use SOA[npar][np4][nevt=npagM*neppM], although some tests I had done long ago seems to say there was a penalty f rthis (tests to be repeated)
Activity
valassi commentedon Jan 14, 2022
This can be closed. As far as momenta are concerned, the new MemoryAccessMomenta class does the jobs taking an ipar argument both in CUDA and in C++.
See https://github.com/madgraph5/madgraph4gpu/pull/322/files#diff-66d130d9cd4df7a88bc6d32cff137904ac4f1c7f55e9ba05188cda231212318b in PR #322