Separating SIMD and OpenCL implementations.