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

TO DO: Benchmarks #1

Open
6 tasks
scarlehoff opened this issue Jul 25, 2019 · 1 comment
Open
6 tasks

TO DO: Benchmarks #1

scarlehoff opened this issue Jul 25, 2019 · 1 comment
Assignees

Comments

@scarlehoff
Copy link
Member

  • DY Leading Order
  • DY Virtual
  • DY+J Leading Order
  • DY+J Virtual
  • ...
  • pp -> many legs virtual, maybe generated with feynarts, maybe needs a gpu implementation of other libraries, etc, etc
@cschwan
Copy link
Member

cschwan commented Jul 25, 2019

Here's a preliminary plan:

  1. Setup a simple toolchain
    1. familiarise ourselfs with CUDA
    2. familiarise ourselfs with FeynArts/FormCalc
    3. generate the expression for the simplest process (DY LO) using FeynArts/FormCalc
    4. convert the expression into CUDA C++
  2. Test the toolchain
    1. generate a few phase space points (1, 10, 100, 1000, ...)
    2. load them onto the GPU
    3. calculate in parallel the squared matrix elements
    4. make sure the values are correct
    5. check how efficient this is: how many points should be processed in parallel to be efficient, can we make full use of all cores, what's the memory limitation, what's the penalty for the CPU <-> GPU communication, etc.
  3. Build the remaining parts for a full Monte Carlo
    1. generate phase space on the GPU and cut them there or communicate the PS points that passed?
    2. write the rest of the Monte Carlo
  4. Improve the toolchain
    1. Try virtual matrix elements; this will require a CUDA loop library
    2. ... ?

@scarlehoff scarlehoff mentioned this issue Aug 20, 2019
11 tasks
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

No branches or pull requests

2 participants