Login Form



Conteúdo

Tutorial de OpenCL com OpenCLTemplate e Cloo

 

Bem-vindo à área dedicada a processamento paralelo e aceleração de cálculos com utilização de OpenCL e placa gráfica.


O objetivo desta área é fornecer, da  forma mais resumida e clara possível, uma visão prática da utilização da placa de vídeo em cálculos matemáticos. O usuário interessado em maiores detalhes sobre arquitetura e implementação deverá consultar a especificação do OpenCL, desenvolvida pelo Khronos Group.

Sugiro que o leitor não salte nenhuma etapa pois o entendimento de etapas posteriores muitas vezes irá depender do domínio das etapas anteriores. Além disso, esta página não pretende formar profissionais em processamento paralelo, mas sim fornecer um recurso prático para o programador iniciante em OpenCL.

Organização dos tópicos por grau de dificuldade:

Nível fácil;
Nível intermediário;
Nível difícil.

Observe que, neste tutorial, assume-se que o desenvolvedor está familiarizado com programação em C# e .NET.

Os códigos de cada seção estão disponíveis na seção.
 

Eu sugiro que você faça o download OpenCLTemplate e use o OpenCL Editor para verificar se o seu código está correto:

 

 

Nota importante: A maior parte deste tutorial são informações gerais sobre OpenCL. O OpenCLTemplate simplesmente agiliza o processo de teste do código. Não importa se você vai utilizar a API OpenCL pura ou algum encapsulador como OpenTK, Cloo (que eu considero ótimo) ou OpenCL.NET. O que realmente importa é que haverá comandos para carregar variáveis e executar kernels. Você sempre poderá usar o código OpenCL C99 apresentado aqui.

 

 

Conteúdo


 

1 - Instalação e configurações;
2 - Visão geral sobre OpenCL e processamento paralelo;
3 - Primeiro programa em OpenCL;
4 - Capacidades e limitações;
5 - ATI Stream OpenCL Technical Overview;
6 - Por que processamento paralelo?
7 - Leitura e escrita de variáveis;
8 - Command queues;
9 - Estrutura de execução de kernels;
10 - Aspectos básicos da linguagem C99 do OpenCL;
11 - Aspectos intermediários da linguagem C99 do OpenCL;
12 - Aspectos avançados da linguagem C99 do OpenCL
;

 

Clique para acessar os demais artigos (inglês).

 

Externos

 

AMD Diagonal Sparse Matrix Vector Multiplication Case Study - Excelente estudo de caso oferecido pela AMD, vale a pena estudar. Algumas otimizações, no entanto, são claramente destinadas ao hardware AMD.

AMD Reductions Case Study - Outro estudo de caso interessante que mostra modos de computar operações de soma/max/min eficientemente. Conceitos aplicáveis no caso geral.

 

 


 





 
 
Copyright © 2014 CMSoft. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.
Design by handy online shop & windows 7 forum