Outra maneira fácil de entrar na programação de GPU, sem entrar no CUDA ou no OpenCL, é através do OpenACC .
O OpenACC funciona como o OpenMP, com diretivas do compilador (como #pragma acc kernels
) para enviar trabalho para a GPU. Por exemplo, se você tem um loop grande (somente os maiores são realmente beneficiados):
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;
}
Edit: infelizmente, apenas o compilador PGI realmente suporta o OpenACC agora, para placas de GPU NVIDIA.