January 13, 2010
Some more details on the GPU3 core, regarding OpenCL
Here is an update and some more details on the third generation GPU core. As I stated before, this core is built on OpenMM, which brings the science further along and allows us to make easier updates. OpenMM supports OpenCL in beta form in its 1.0 release (scheduled for late January 2010), but it is important to stress that the OpenCL support is very early and so we will not be relying on OpenCL in the first releases of the GPU3 core.
This means that the core will only roll out for NVIDIA first. ATI has depreciated Brook, but does not have a fully-functioning OpenCL implementation, so we are stuck in between support on the ATI side. Once the OpenCL implementation matures (on both ATI and NVIDIA), we will be able to finish and optimize our OpenCL code (we can't reliably optimize code until the implementations are more finalized), and then the OpenCL portions will go into QA.
So, if you are interested in OpenCL (especially in terms of ATI support), this will not be in the initial release, but once the environment has matured, we will push forward. By the way, once OpenCL support for multi-core boxes has matured, we will also see about porting the GPU3 code as a new SMP2 style core as well (i.e. threads-based SMP support). If the performance is strong, it's appealing to think that we can go back to having a single dominant code base for much of FAH's calculations.