Metodologia Ocupância

2
1 – Introdução Antes do CUDA 6.5 o cálculo da ocupância de um determinado kernel da GPU era complexo e por isso muitos programadores optavam por usar a planilha calculadora de ocupância, disponibilizada pela NVIDIA, em vez de fazer a implementação do cálculo. A partir do CUDA 6.5 foi disponibilizada uma API que oferece funções em tempo de execução calcular a ocupância. Fonte: http://devblogs.nvidia.com/parallelforall/cuda-pro-tip- occupancy-api-simplifies-launch-configuration 2 – Objetivo Definir uma metodologia para medição de desempenho para determinado algoritmo executado no kernel que relacione a ocupância com a utilização de recursos. 3 – Metodologia A princípio, a função cudaOccupancyMaxActiveBlocksPerMultiprocessor que é o núcleo da calculadora da NVIDIA e prediz a ocupância em termos do tamanho do bloco e uso de memória compartilhada de um kernel, foi usada para calcular a ocupância. A figura 1 mostra a função de acordo com a documentação da NVIDIA para o CUDA 7.5. Fonte: http://docs.nvidia.com/cuda/cuda-driver-api/index.html#ixz z3oDWa7dlZ EXPLICAR O CÁLCULO... 4 – Resultados

description

Metodologia Ocupância

Transcript of Metodologia Ocupância

Page 1: Metodologia Ocupância

1 – Introdução

Antes do CUDA 6.5 o cálculo da ocupância de um determinado kernel da GPU era complexo e por isso muitos programadores optavam por usar a planilha calculadora de ocupância, disponibilizada pela NVIDIA, em vez de fazer a implementação do cálculo. A partir do CUDA 6.5 foi disponibilizada uma API que oferece funções em tempo de execução calcular a ocupância.

Fonte: http://devblogs.nvidia.com/parallelforall/cuda-pro-tip-occupancy-api-simplifies-launch-configuration

2 – Objetivo

Definir uma metodologia para medição de desempenho para determinado algoritmo executado no kernel que relacione a ocupância com a utilização de recursos.

3 – MetodologiaA princípio, a função cudaOccupancyMaxActiveBlocksPerMultiprocessor que é o núcleo da calculadora da NVIDIA e prediz a ocupância em termos do tamanho do bloco e uso de memória compartilhada de um kernel, foi usada para calcular a ocupância.A figura 1 mostra a função de acordo com a documentação da NVIDIA para o CUDA 7.5.

Fonte: http://docs.nvidia.com/cuda/cuda-driver-api/index.html#ixzz3oDWa7dlZ

EXPLICAR O CÁLCULO...

4 – ResultadosUsamos a função cudaOccupancyMaxPotentialBlockSize para calcular dinamicamente tamanhos de blocos que atinjam na toria uma ocupância máxima.

Page 2: Metodologia Ocupância

5

5 - Conclusão