OpenCL for programming shared memory multicore CPUs
From CUDA to OpenCL: Towards a Performance-portable Solution for Multi-platform GPU Programming