Dissertação de Mestrado: Um estudo do uso eficiente de programas em placas gráficas

Título:

Um estudo do uso eficiente de programas em placas gráficas

Autora:

Patricia Akemi Ikeda
Mestrado em Ciência da Computação
Instituto de Matemática e Estatística
Universidade de São Paulo

Resumo:

Inicialmente projetadas para processamento de gráficos, as placas gráficas
(GPUs) evoluíram para um coprocessador paralelo de propósito geral de alto
desempenho. Devido ao enorme potencial que oferecem para as diversas áreas
de pesquisa e comerciais, a fabricante NVIDIA destaca-se pelo pioneirismo
ao lançar a arquitetura CUDA (compatível com várias de suas placas), um
ambiente capaz de tirar proveito do poder computacional aliado à maior facilidade
de programação.
Na tentativa de aproveitar toda a capacidade da GPU, algumas práticas
devem ser seguidas. Uma delas consiste em manter o hardware o mais ocupado
possível. Este trabalho propõe uma ferramenta prática e extensível que
auxilie o programador a escolher a melhor configuração para que este objetivo
seja alcançado.

Material:

Slides apresentação
Dissertação

Seminário USP: Wrapper code generation for easy implementation of video processing operators

USPTítulo: Wrapper code generation for easy implementation of video processing
operators
Palestrante: Daniel Oliveira Dantas
Doutor em Ciência da Computação – DCC-IME-USP

Biografia do palestrante:
Daniel tem Doutorado, Mestrado e Bacharelado em Ciência da Computação pelo
IME-USP. O foco de seu trabalho é em processamento de imagens. Trabalhou com
processamento de imagens de microarray durante o mestrado. Durante o doutorado,
trabalhou com processamento de vídeo em tempo real, usando GPU para acelerar o
processamento.

Resumo:

No seminário será apresentado o artigo “Automatic generation of wrapper code for
video processing functions”. O processamento de vídeo com GPU’s requer o uso de
uma API como OpenGL ou CUDA. Avanços recentes são bibliotecas como GPUCV e
OpenVidia, com operadores rápidos que aproveitam o poder de processamento das
GPU mas escondem do usuário a complexidade na sua programação. Porém, a
implementação de novos operadores nessas bibliotecas não é tão simples quanto
possível e em GPUCV é limitada por algumas templates embutidas na biblioteca. O
artigo descreve um gerador de código que, a partir de dois tipos de diretivas
inseridas no código fonte dos shaders, gera código wrapper com todas as chamadas
às API OpenGL ou CUDA necessárias antes da chamada ao shader, simplificando a
criação e manutenção de uma biblioteca de processamento de vídeo. A biblioteca
proposta tem desempenho melhor que a GPUCV em quase todos os
operadores testados.

Material do Seminário:

Slides

Confira nossa série completa de Seminários

Seminário USP: Modelagem Atmosférica usando GPU

USP Seminário de Programação para GPGPU

Título: Modelagem Atmosférica usando GPU
Palestrante: Pedro da Silva Peixoto
Doutorando em Matemática Aplicada – MAP-IME-USP

Hora e Data: 16h, sexta-feira, 20 de maio de 2011

Local:
IME-USP, Sala 254, Bloco A
Rua do Matão, 1010 – Cidade Universitária – São Paulo -
SP – Brasil

Resumo:

Tendo em vista uma análise de custo-benefício do uso de GPU
em aplicações de grande porte, vamos discutir alguns testes
realizados em GPU  para modelos meteorológicos. Analisaremos
o custo de tradução de códigos (passagem de códigos de
Fortran/C para a linguagem CUDA) e veremos alguns métodos de
tradução automática e métodos de auto-paralelismo.

Confira nossa série completa de Seminários

NVidia lança Tesla M2090: a GPU Fermi de mais alto desempenho

Nvidia lança nova placa Tesla M2090, dita como o mais rápido processador paralelo para computação de alto desempenho do mundo.

NVidia Tesla M2090 GPU

NVidia Tesla M2090 GPU

Até então, a classe M da Tesla era composta pelas placas Tesla M2050 (3GB) e Tesla M2070 (6GB). Baseados na arquitetura Fermi, elas apresentam features como: cache L1/L2, ECC memory error protection, suporte a C/C++ e OpenCL, além de possuirem 448 CUDA cores e mais de 1TFlop de desempenho de pico.

A nova Tesla M2090 (6GB) provê potencial máximo da arquitetura Fermi ao possuir 512 cores ativos, além de fornecer 1330 gigaflops em desempenho de pico, um aumento de quase 30% em relação aos modelos anteriores. Ideal para processamento de alto desempenho, a placa opera a um clock de 1.3GHz em cada core, comparado a 1.15GHz do core da M2070.

tesla class-m comparativo

Tesla Class-M Comparativo

A Tesla M2090 já foi adotada pela HP em seus novos servidores Proliant SL390 G7 4U, que podem conter até 8 placas desse tipo e 2 CPUs.
A nova Tesla já pode ser encontrada para venda por um valor na faixa de £ 3563.

Maiores detalhes sobre a arquitetura Fermi podem ser encontrados na apresentação do Arnaldo Tavares da NVidia realizada em seminário na USP.

Material Seminário USP: String Matching em GPUs

Seminário pertencente à Série de Seminários de Programação para GPGPU da USP.

Descrição:

String Matching em GPUs

Material do Seminário:

Slides

Video:
http://www.youtube.com/p/5ADBE821B1DEE905?hl=pt_BR&fs=1

Parte 1:

Parte 2:

Saiba mais

Material Seminário USP: Considerações de Desempenho em CUDA – Parte 1

Primeira parte de uma série de seminários na USP  sobre otimização de código e outras considerações de desempenho em CUDA e sistemas paralelos.

Conteúdo:

- Revisão da Arquitetura CUDA
- Avaliação de Desempenho
- Execução Assíncrona e Paralela
- Transferência de Dados CPU-GPU
- Kernels Paralelos

Material do Seminário:

Slides

Playlist da Apresentação:
http://www.youtube.com/p/885F67F7715F8F3F?hl=pt_BR&fs=1

Introdução:

Métricas de Desempenho:

Saiba mais

Seminário USP: Considerações de Desempenho em CUDA – Parte 1

USPTítulo: Considerações de Desempenho em CUDA – Parte 1
Palestrante: Thársis T. P. Souza
Centro de Computação Eletrônica – CCE-USP

Biografia do palestrante:
Engenheiro de Computação – UNICAMP
Mestrando em Ciência da Computação – IME-USP

Hora e Data: 16h, sexta-feira, 29 de abril de 2011
Local: IME-USP, Sala 254, Bloco A
Rua do Matão, 1010 – Cidade Universitária – São Paulo – SP – Brasil

Resumo:
Cada vez mais, arquiteturas modernas de GPU expõe maior capacidade e flexibilidade em programação para propósito geral.
Desse maior poder, decorre maior responsabilidade na utilização dos recursos disponíveis.
Nessa mini-série de seminários, cobriremos os principais aspectos e considerações de desempenho em CUDA em uma arquitetura moderna de GPU.

Nesta primeira parte, os seguintes assuntos serão tratados:

- Revisão Arquitetura CUDA
- Avaliação de Desempenho
- Execução Assíncrona e Paralela
- Transferência de Dados CPU-GPU
- Kernels Paralelos

Confira nossa série completa de Seminários

Seminário IME-USP: Modelo Analítico de Performance para GPUs

USPTítulo:
Modelo Analítco de Performance para GPUs
Palestrante: Paulo Carlos Ferreira dos Santos
Aluno de Mestrado do IME USP

Biografia:
Engenheiro Eletricista – FESP
Mestrando em Ciência da Computação – DCC IME USP

Local:
IME-USP, Sala 254A
Rua do Matão, 1010 – Cidade Universitária – São Paulo – SP – Brasil

Data:
08/04/2011
16h – 17h30

Resumo:
Para poder entender os gargalos das aplicações para GPGPU foi criado este modelo analítco simplificado que estima o tempo de execução de kernels massivamente paralelos.
O modelo se baseia no número de requisições de memória concomitantes e introduz duas novas métricas, o paralelismo de memória do sistema (MWP) e o paralelismo de execução de código (CWP).
Todas as aplicações do modelo são escritas em CUDA.
O seminário é um resumo do artigo: An analytical model for a GPU architecture with memory-level and thread-level parallelism awareness

Confira nossa série de Seminários

Uma introdução à computação de alto desempenho utilizando GPU

Hoje realizei um seminário na USP dando uma visão geral e condensada sobre computação de alto desempenho utilizando GPU.

Apresentação disponivel  em: Introducao a Computacao de Alto Desempenho Utilizando GPU

(re-post) Seminário IME-USP: Computação de alto desempenho utilizando CUDA

Local do evento alterado para Sala Jacy Monteiro Bloco A, IME-USP.

USPTítulo: Computação de alto desempenho utilizando CUDA

Palestrante: Thársis T. P. Souza
Analista de Sistemas
Centro de Computação Eletrônica – CCE-USP

Biografia do palestrante:

Engenheiro de Computação – UNICAMP
Mestrando em Ciência da Computação – DCC-IME-USP

Hora e Data: 16h, sexta-feira, 01 de abril de 2011

Local:
IME-USP, Sala Jacy Monteiro, Bloco A
Rua do Matão, 1010 – Cidade Universitária – São Paulo – SP – Brasil

Resumo:

Arquiteturas de processamento gráfico modernas possuem centenas de cores
executando dezenas de milhares de threads paralelas.
Com a crescente capacidade de programação dessas arquiteturas, as GPUs
recentes oferecem grande potencial de speedup para uma variedade de aplicações
de propósito geral comparadas com CPUs.

Nesse seminário, apresentaremos uma visão geral do funcionamento interno
dessa arquitetura e sua programação, com o foco nas placas gráficas NVIDIA
Fermi e o modelo de programação CUDA.

Seminário IME-USP: Introdução à Computação de Alto Desempenho Utilizando GPU

USPTítulo: Introdução à Computação de Alto Desempenho Utilizando GPU

Palestrante: Thársis T. P. Souza
Analista de Sistemas
Centro de Computação Eletrônica – CCE-USP

Biografia do palestrante:

Engenheiro de Computação – UNICAMP
Mestrando em Ciência da Computação – DCC-IME-USP

Saiba mais

Programming Massively Parallel Processors: A Hands-on Approach

programming_massively_parallel_processors

Programming massively parallel processors

Primeiro textbook em GPGPU, Programming Massively Parallel Processors: A Hands-on Approach é um excelente livro para iniciantes em algoritmos paralelos em GPUs. Partindo de aplicações simples e chegando a casos de estudo reais, os autores abordam técnicas de otimização e aspectos relativos à arquitetura de GPU. O livro baseia-se na linguagem CUDA C e em Saiba mais

Minicurso de CUDA

No período de 18 a 22 de setembro ocorreu na Universidade Federal de Goiás (UFG) o minicurso “Programação CUDA”. O minicurso, com carga horária de 10 horas, teve como objetivo possibilitar ao aluno ter conhecimentos gerais sobre programação paralela, e seu uso no contexto de placas aceleradoras usando programação CUDA. O curso ocorreu como parte das atividades do Conpeex (Congresso de Pesquisa, Ensino e Extensão) da UFG, e teve grande procura (102 inscritos), com participação média de cerca de sessenta pessoas, entre alunos da UFG, e de outras instituições, além de profissionais da área.

Ementa do curso:

Introdução à computação paralela e evolução das arquiteturas de computadores. Visão geral da arquitetura CUDA e sua linguagem de programação: gerenciamento de memória, código paralelo (kernel) e sua execução, coordenação de atividades entre CPU e GPU, recursos de desenvolvimento, memória compartilhada e sincronização. Visão geral de técnicas de otimização: a arquitetura CUDA, memória, configuração de execução, instruções. Aplicações usando CUDA e perspectivas futuras.

Sobre os instrutores:

Wellington S. Martins: concluiu o doutorado (PhD) em Ciência da Computação na University of East Anglia (Inglaterra). Obteve o título de Mestre em Sistemas de Computação pela Pontifícia Universidade Católica do Rio de Janeiro. Atualmente é professor no Instituto de Informática da Universidade Federal de Goiás. Suas áreas de interesse incluem: computação paralela e distribuída, análise e projeto de algoritmos, mineração de dados, e biologia computacional.

Divino César S. Lucas é estudante do último período de Ciência da Computação da PUC-GO. Faz pesquisa nas áreas de Programação Paralela, Bioinformática e Metaheurísticas. Competidor da maratona de programação ACM-ICPC.

O material utilizado nas aulas já está disponível no site do curso: http://inf.ufg.br/gpu

CUDA 3.0 toolkit released

NVIDIA has released version 3.0 of the CUDA Toolkit, providing developers with tools to prepare for the upcoming Fermi-based GPUs. Highlights of this release include:

  • Support for the new Fermi architecture, with:
    • Native 64-bit GPU support
    • Multiple Copy Engine support
    • ECC reporting
    • Concurrent Kernel Execution
    • Fermi HW debugging support in cuda-gdb
    • Fermi HW profiling support for CUDA C and OpenCL in Visual Profiler
  • C++ Class Inheritance and Template Inheritance support for increased programmer productivity
  • A new unified interoperability API for Direct3D and OpenGL, with support for:
    • OpenGL texture interop
    • Direct3D 11 interop support
    • CUDA Driver / Runtime Buffer Interoperability, which allows applications using the CUDA Driver API to also use libraries implemented using the CUDA C Runtime such as CUFFT and CUBLAS.
  • CUBLAS now supports all BLAS1, 2, and 3 routines including those for single and double precision complex numbers
  • Up to 100x performance improvement while debugging applications with cuda-gdb
  • cuda-gdb hardware debugging support for applications that use the CUDA Driver API
  • cuda-gdb support for JIT-compiled kernels
  • New CUDA Memory Checker reports misalignment and out of bounds errors, available as a stand-alone utility and debugging mode within cuda-gdb
  • CUDA Toolkit libraries are now versioned, enabling applications to require a specific version, support multiple versions explicitly, etc.
  • CUDA C/C++ kernels are now compiled to standard ELF format
  • Support for device emulation mode has been packaged in a separate version of the CUDA C Runtime (CUDART), and is deprecated in this release. Now that more sophisticated hardware debugging tools are available and more are on the way, NVIDIA will be focusing on supporting these tools instead of the legacy device emulation functionality.
    • On Windows, use the new Parallel Nsight development environment for Visual Studio, with integrated GPU debugging and profiling tools (was code-named “Nexus”). Please see www.nvidia.com/nsight for details.
    • On Linux, use cuda-gdb and cuda-memcheck, and check out the solutions from Allinea and TotalView that will be available soon.
  • Support for all the OpenCL features in the latest R195 production driver package:
    • Double Precision
    • Graphics Interoperability with OpenCL, Direc3D9, Direct3D10, and Direct3D11 for high performance visualization
    • Query for Compute Capability, so you can target optimizations for GPU architectures (cl_nv_device_attribute_query)
    • Ability to control compiler optimization settings via support for pragma unroll in OpenCL kernels and an extension that allows programmers to set compiler flags. (cl_nv_compiler_options)
    • OpenCL Images support, for better/faster image filtering
    • 32-bit global and local atomics for fast, convenient data manipulation
    • Byte Addressable Stores, for faster video/image processing and compression algorithms
    • Support for the latest OpenCL spec revision 1.0.48 and latest official Khronos OpenCL headers as of 2010-02-17

The toolkit, drivers, tools and documentation are available from http://developer.nvidia.com/object/cuda_3_0_downloads.html.

Fonte: http://gpgpu.org/

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.