[gmx-developers] OpenACC Development

Millad Ghane mghane at cs.uh.edu
Fri Jul 1 02:38:03 CEST 2016

Hello everyone,

I am a PhD student in computer science at University of Houston.
Currently, in this Summer as an intern, I am working with the physics
department in our school to work on GROMACS in order to port it to
OpenACC. My adviser for this project is Prof. Cheung.

My understanding is that GROMCS currently supports NVIDIA GPUs (and also
SIMDs on CPUs), however my job is to investigate the ability of
transferring the code to OpenACC, which is more heterogeneous and
ubiquitous compared to CUDA.

My question regarding the development of GROMACS is that whether you are
supporting or planning to support OpenACC currently or in future. And, if
you are not supporting OpenACC, my question is that how can I introduce
new "kernel functions" for supporting OpenACC. How much work should be

Based on my understanding, you had different kernel function for different
architectures (CPU, CPU with SIMD, GPU). I wanted to know how much effort
is required to introduce new architecture like OpenACC?

Before getting in touch with you, I dig into some of the code and tried to
parallelize the CPU version of kernel code using OpenACC constructs, but
the code gets messy and the data is not transferred correctly on the
device. So, my hope is to introduce new kernels for OpenACC like the way
you introduced different ones for CPUs and GPUs. This way, we have more
controls over data transfers and kernel codes.

I hope I was clear enough and make you interested.

Best Regards,
Millad Ghane
Computer Science Department
University of Houston

More information about the gromacs.org_gmx-developers mailing list