N3PDF / mcgpu

Proof of concept of GPU integration
0 stars 0 forks source link

TO DO: Benchmarks #1

Open scarlehoff opened 5 years ago

scarlehoff commented 5 years ago
cschwan commented 5 years ago

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. ... ?