LocalazyLocalazy
OpenCL é um novo padrão para a programação de GPUs e outros processadores altamente paralelos. Foi concebido para dar aos programadores mais controlo sobre a forma como os dados são processados nestes dispositivos, e para tornar o código mais portátil entre diferentes tipos de processadores. O OpenCL já foi adoptado por várias empresas, incluindo Apple, AMD, IBM, e nVidia. É também apoiado por uma série de grandes linguagens de programação, incluindo C, C++, e Fortran. Há algumas coisas que tornam o OpenCL diferente de outras linguagens de programação GPU. Primeiro, foi concebido para trabalhar com uma vasta gama de processadores, não apenas GPUs. Isto significa que o código escrito em OpenCL pode ser facilmente portado para outros tipos de dispositivos. Segundo, OpenCL dá aos programadores mais controlo sobre a forma como os dados são processados. Em muitas linguagens de programação GPU, os dados são processados de uma forma linear, o que significa que são processados do início ao fim num único fio. O OpenCL, por outro lado, permite que os dados sejam processados de uma forma mais flexível. Isto facilita a escrita de códigos que podem tirar partido do paralelismo das GPUs. Finalmente, o OpenCL foi concebido para ser mais eficiente do que outras linguagens de programação GPU. Isto porque utiliza um modelo de memória mais eficiente, e porque permite que os dados sejam processados de uma forma mais flexível. Globalmente, OpenCL é um novo padrão promissor para programação de GPUs e outros processadores altamente paralelos. Foi concebido para ser mais portátil e eficiente do que outras linguagens de programação GPU, e para dar aos programadores mais controlo sobre a forma como os dados são processados.