Otra forma fácil de ingresar a la programación de GPU, sin ingresar a CUDA u OpenCL, es hacerlo a través de OpenACC .
OpenACC funciona como OpenMP, con directivas de compilación (como #pragma acc kernels
) para enviar trabajo a la GPU. Por ejemplo, si tiene un bucle grande (solo los más grandes realmente se benefician):
int i;
float a = 2.0;
float b[10000];
#pragma acc kernels
for (i = 0; i < 10000; ++i) b[i] = 1.0f;
#pragma acc kernels
for (i = 0; i < 10000; ++i) {
b[i] = b[i] * a;
}
Editar: desafortunadamente, solo el compilador PGI realmente admite OpenACC en este momento, para tarjetas GPU NVIDIA.