What happened since yesterday

The Last Samurais
Rahul Bale, Koji Nishiguchi and Wei-Hsiang Wang
Mentors: Andreas Jocksch and Sebastian Deldon
What happened since yesterday
• Review initial strategy from yesterday
• Primary goal : port pressure solver to OpenACC
• Partition the mesh for GPU by slicing the each cube of the mesh along z axis
(or x, or y).
• Did it work? If yes, explain
• Almost, it compiled, and we are able to test it
• What did you struggle with?
• The data structure problems of deep copy of OpenACC
• In our code, there are many complicated data type structures which related to
other data type structures
• OpenACC can not handle this kind of structure hierarchy
To avoid those kind of unsupported data type by OpenACC
Old
New
Now it’s working, and further modification is ongoing
Profiling result by Score-P(no GPU)
With flat MPI (32 MPI ranks of 5M mesh data)
We want to port the pressure solver to
OpenACC
MPI communication part spend much
time than computation itself
Larger mesh size or less MPI rank
should be used for next step
What’s next?
• What’s your next strategy?
• After compiling the OpenACC version, do the profiling and compare with MPIonly and OpenMPI version
• Anything currently stopping you from moving forward
• NO