Open CL Eliane Siegert Estrutura Princpio Geral de
- Slides: 13
Open. CL Eliane Siegert
Estrutura – Princípio Geral de Funcionamento – Exemplos de Aplicações – Modelo de Programação – Linguagens Suportadas – Exemplos de Produtos no Mercado
Open. CL (Open Computing Language) • É uma arquitetura para escrever programas que funcionam em plataformas heterogêneas. • Inclui uma linguagem para escrever núcleos e APIs. • Permite programação paralela usando, tanto o paralelismo de tarefas, como de dados.
Open. CL • É baseado na linguagem C e é proposto como um padrão aberto. • É similar às propostas Open. GL e Open. AL, que são padrões abertos da indústria para gráficos 3 D e áudio, respectivamente. • E é gerido pelo grupo tecnológico Khronos Group. • Produtos: AMD, NVIDIA, INTEL, Rapid. Mind
Versões • 2008 - open. CL 1. 0 • 2013 - Nova versão Open. CL 2. 0: – as principais promessas: • maior compatibilidade com o Android, • melhorias no manuseio de imagens • e maior desempenho de memória virtual.
Camadas de aplicação Open. CL
Arquitetura Open. CL • Arquitetura abstrata de baixo nível • Implementações mapeiam para entidades Físicas • Quatro modelos: – Plataforma – Execução – Programação – Memória
Arquitetura Open. CL • Modelo de plataforma: – Descreve entidades do ambiente Open. CL • Modelo de execução: – Descreve instanciação e identificação de kernels
Arquitetura Open. CL • Modelo de programação: – Paralelismo de dados (data parallel): múltiplos itens de trabalho para um kernel – Paralelismo de tarefas (task parallel): um item de trabalho para um Kernel • Modelo de memória: – Descreve uma hierarquia de memória e o compartilhamento de cada nível entre itens e grupos de trabalho.
Aplicações utilizando Open. CL • Passos: 1. 2. 3. 4. Levantamento dos dispositivos disponíveis , a criação do contexto de execução, programas e kernels utilizados pela aplicação, e a criação da fila de comando de cada dispositivo. Envio de dados para o dispositivo A execução do kernel no dispositivo A leitura dos resultados gerados pela execução no dispositivo. • Principais aplicações: em realidade virtual e aumentada.
Exemplo • Código sequencial void Array. Diff(const int* a, const int* b, int* c, int n) { for (int i = 0; i < n; ++i) { c[i] = a[i] - b[i]; } }
Exemplo • Código. Open. CL(kernel) _ _kernel void Array. Diff(_ _global const int* a, _ _global const int* b, _ _global int* c) { int id = get_global_id(0); c[id] = a[id] - b[id]; }
Noticias sobre Open. CL • Game Developer Conference (GDC) 2013 -> Intel promete que Open. CL aumentará o desempenho dos jogos http: //www. gamevicio. com/i/noticias/158295 -intel-promete-que-openclaumentara-o-desempenho-dos-jogos/index. html • Open. CL 2. 0 está a caminho e promete mais poder aos softwares http: //www. tecmundo. com. br/desenvolvimento/42305 -opencl-2 -0 -esta-acaminho-e-promete-mais-poder-aos-softwares. htm#ixzz 2 bu 6 w. Qzaz -
- A princpio
- Eliane haron
- Ward and siegert's pathways model
- Diagramme d'oswald
- Tip angle
- Calcul rendement
- Open innovation open science open to the world
- Cloropl
- Objetivos específicos
- Objetivo geral folclore
- Formula de taxa de mortalidade
- Termo geral do binomio
- Exemplo de um objetivo geral
- Ginástica geral características