{"push_id":710375612,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e41872b6b1584f3cd582ff84de0d5061674084b8","before":"7e6770b40cf2efcc772fab3af0518c32028a36fc","commits":[{"sha":"e41872b6b1584f3cd582ff84de0d5061674084b8","author":{"email":"893dbd76e593568835be617fd0787325473d8046@streamcomputing.eu","name":"anca"},"message":"Implement OpenCL support\n\nStreamComputing (http://www.streamcomputing.eu) has implemented the\nshort-ranged non-bonded interaction accleration features previously\naccelerated with CUDA using OpenCL 1.1. Supported devices include\nGCN-based AMD GPUs and NVIDIA GPUs.\n\nCompilation requires an OpenCL SDK installed. This is included in\nthe CUDA SDK in that case.\n\nThe overall project is not complete, but Gromacs runs correctly on\nsupported devices. It only runs fast on AMD devices, because of a\nlimitation in the Nvidia driver. A list of known TODO items can be\nfound in docs/OpenCLTODOList.txt. Only devices with a warp/wavefront\nsize that is a multiple of 32 are compatible with the implementation.\n\nKnown issues include that tabulated Ewald kernels do not work (but the\nanalytical kernels are on by default, as with CUDA), and the blocking\nbehaviour of clEnqueue in Nvidia drivers means no overlap of CPU and\nGPU computation occurs. Concerns about concurrency correctness with\ncontext management, JIT compilation, and JIT caching means several\nfeatures are disabled for now. FastGen is enabled by default, so the\nJIT compilation will only compile kernels needed for the current\nsimulation.\n\nThere is some duplication between the two GPU implementations, but\nthe active development expected for both of them suggests it is\nnot worthwhile consolidating the implementations more closely.\n\nChange-Id: Ideaf16929028eb60e785feb8298c08e917394d0f","distinct":true,"url":"https://api.github.com/repos/gromacs/gromacs/commits/e41872b6b1584f3cd582ff84de0d5061674084b8"}]}