Project

General

Profile

Task #2453

Updated by Szilárd Páll over 1 year ago

With porting PME from CUDA to OpenCL I'm first going with a dirty code with lots of duplication to see how to strike a balance between neatness and extensibility. Most of the host-side logic is quite easy to wrap to look the same in CUDA/OpenCL since there is no C++ limitations.

Functionality achieved (https://github.com/yupinov/gromacs/tree/pme_opencl_gerrit):
- PME OpenCL kernels passing unit tests on NVIDIA and AMD GPUs;
- clFFT -still broken- fixed upstream in still broken with RoCM 2.0. RoCM.

TODO:
- -check -- check correctness on Intel;-
- document and cleanup FIXMEs;
- subtasks.

Back