GROMACS does soft matter simulations on molecular scale. Let it fly.GROMACS is an important molecular simulation kit, which can do all kinds of “soft matter” simulations like nanotubes, polymer chemistry, zeolites, adsorption studies, proteins, etc. It is being used by researches worldwide and is one of the bigger bio-informatics softwares around.
To speed up the computations, GPUs can be used. The big problem is that only NVIDIA GPU could be used, as CUDA was used. To make it possible to use other accelerators, we ported it to OpenCL. It took several months with a small team to get to the alpha-release, and now I’m happy to present it to you.
For who knows us from consultancy (and training) only, might have noticed. This is our first product!
We promised to keep it under the same open source license and that effectively means we are giving it away for free. Below I’ll explain how to obtain the sources and how to build it, but first I’d like to explain why we did it pro bono.
Indeed, we did not get any money (income or funds) for this. There have been several reasons, of which the below four are the most important.
Therefore I think it’s a very good investment, while giving something (back) to the community.
We just jumped in and went for it. We learned a lot, because it did not go as we expected. All this experience, we would like to share on SuperComputing 2014.
During SC14 I will give a presentation on the OpenCL port of GROMACS and the lessons learned. As AMD was quite happy with this port, they provided me a place to talk about the project:
“Porting GROMACS to OpenCL. Lessons learned”
SC14, New Orleans, AMD’s mini-theatre.
19 November, 15:00 (3:00 pm), 25 minutes
The SC14 demo will be available on the AMD booth the whole week, so if you’re curious and want to see it live with explanation.
If you’d like to talk in person, please send an email to make an appointment for SC14.
It still has rough edges, so a better description would be “we are currently porting GROMACS to OpenCL”, but we’re very close.
As it is work in progress, no binaries are available. So besides knowledge of C, C++ and Cmake, you also need to know how to work with GIT. It builds on both Windows and Linux, and NVIDIA and AMD GPUs are the target platforms for the current phase.
The project is waiting for you on https://github.com/StreamHPC/gromacs.
The wiki has lots of information, from how to build, supported devices to the project planning. Please RTFM, before starting! If something is missing on the wiki, please let us know by simply reporting a new issue.
We would like to invite you to join, so we can make the port better than the original. There are several reasons to join:
Tell me and I forget.
Teach me and I remember.
Involve me and I learn.
What can you do? There is much you can do. Once you managed to build and run it, look at the bug reports. First focus is to get the failing kernels working – this is top priority to finalise phase 1. After that, the real fun begins in phase 2: add features and optimise for speed on specific devices. Since AMD FirePro is much better in double precision than Nvidia Tesla, it would be interesting to add support for double precision. Also certain parts of the code is done on the CPU, which have real potential to be ported to the GPU.
If things are not clear and obstruct you from starting, don’t get stressed and send an email with any question you have. We’re awaiting your merge request or issue report!
This project wasn’t possible without the help of many people. I’d like to thank them now.
Without these people, the OpenCL port would never been here. Thank you.