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

Curso de CHARM++

CHARM++

O Centro Nacional de Supercomputação (CESUP) da UFRGS oferece de 2 a 26 de maio o curso à distância Computação Distribuída usando a Linguagem CHARM++.
São 20 horas-aula abordando a linguagem CHARM++, o processamento de alto desempenho e a programação paralela, entre outros conteúdos.
Os ministrantes são os professores Marcelo Portes de Albuquerque, do Centro Brasileiro de Pesquisas Físicas, e Luís Fernando de Oliveira, da Universidade do Estado do Rio de Janeiro.
O curso é oferecido em vídeo-aulas, acompanhadas de slides, listas de exercícios, chats com os professores e acesso ao cluster do CESUP para treinamento.
As inscrições podem ser feitas pelo site www.cesup.ufrgs.br. Maiores informações pelo telefone (51)3308.3350.

Charm++ é uma linguagem de programação paralela orientada a objeto baseada em C++.
Orientada a mensagem, ela fornece uma clara separação entre objetos sequenciais e paralelos.
Artigo sobre Charm++: CHARM++: a portable concurrent object oriented system based on C++

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

GPU-Shark: monitore múltiplas GPUs

GPU Shark é uma ferramenta de monitoramento de GPUs baseadas em GeForce e Radeon. A principal vantagem desse utilitário é disponibilizar uma visão global de todas as GPUs disponíveis em um único painel, ao contrário, por exemplo, do GPU Caps Viewer.

GPU Shark

GPU Shark

GPU Shark encontra-se disponível para download em:

http://www.ozone3d.net/gpushark/#download

GPU Caps Viewer: analise as informações de sua GPU

GPU Caps Viewer é um utilitário de informações da unidade de processamento gráfico. Atualmente, a ferramenta tem suporte a OpenGL, OpenCL e CUDA.

GPU caps viewer

GPU Caps Viewer

É importante notar que mesmo se você tiver múltiplas GPUs em seu sistema, apenas uma é considerada como dispositivo principal OpenGL ou Direct3D. Para OpenCL e CUDA, a ferramenta detalha o suporte da API para cada dispositivo compatível.

O download das últimas versões do GPU Caps Viewer pode ser feito em: http://www.ozone3d.net/gpu_caps_viewer/index.php#download

Seminário NVidia na USP

USPNo dia 25 de fevereiro de 2011 foi realizado um seminário sobre processamento paralelo em GPU´s na arquitetura Fermi no Instituto de Matemática e Estatística da Universidade de São Paulo (USP).

Durante a apresentação, foram detalhadas as funcionalidades e diferenciais da arquitetura Fermi. Além disso, foi apresentado como a plataforma de desenvolvimento CUDA se beneficia dessa arquitetura de forma a apresentar ganhos de desempenho de 10X até 100X.

O palestrante foi Arnaldo Tavares, Gerente de Vendas Tesla para América Latina.

A apresentação encontra-se disponível em:

http://gpubrasil.files.wordpress.com/2011/03/palestra_-_usp.pptx

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

Simulações incríveis!!!

Olá pessoal, depois de um bom tempo sem postar nada aqui no nosso site, finalmente decidi divulgar o trabalho de algumas pessoas na área de simulações computacionais. O video abaixo foi feito pela Lagoa Technologies e simula diferentes fenômenos como colisões de material particulado, fluidos e tecido. É realmente impressionante a qualidade da simulação!!!

Acredito que eles tenham usado algum método de simulação por partículas como o SPH ou o DEM.

Acho que essa foi a simulação de terra mais real que eu já vi!!!

Nesse link também temos outras simulações da Lagoa Technologies.

Outras simulações interessantes que também utilizam o método de partículas podem ser vistas nesse vídeo (download).

Em breve eu pretendo postar um bom material sobre o método de partículas, mas primeiro tenho de organizar tudo. Até a próxima.

CUDA para CPU – MCUDA

Vejam que idéia interessante:

.

CUDA é um modelo de programação de paralelismo de dados que oferece várias abstrações-chave como thread blocks, hierarquia de memória e barreira de sincronização para escrever aplicações. Esse modelo tem sido provado eficiente para a programação de GPUs.

Esse paper de Stratton, Stone & Hwu (2008) descreve um framework chamado MCUDA, que permite que programas CUDA sejam executados eficientemente em multi-core CPUs de memória compartilhada.

Com esses resultados, eles mostram que CUDA pode ser um model de programação paralela eficiente não só para arquiteturas de GPUs.

.

Clique aqui para ver o artigo.

Clique aqui para ver a página de download do MCUDA.

Instalação do CUDA 3.0 no Ubuntu 10.04

Roteiro para instalação do CUDA no Ubuntu 10.04 de 32 ou 64 bits.

por L. G. Turatti

1. Baixar o driver de video 195.36.24 para 32 ou 64 bits;

2. Remover os drivers nvidia instalados

sudo apt-get –purge remove nvidia-*

Saiba mais

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/

Novidades CUDA: (matlab, fortran)

Bringing GPU Power to Engineering Computations

MATLAB from MathWorks is a high-level language and interactive environment that enables developers to perform computationally intensive tasks faster than with traditional programming languages. Now there’s a new tool called “AccelerEyes Jacket” that provides a way for MATLAB users to easily tap into the power of CUDA GPUs for advanced computations. Tech editor Peter Varhol of Desktop Engineering writes that the AccelerEyes product “acts as kind of a traffic cop for executing code‚ diverting code to run on the GPU when appropriate.”

Read the full story: http://www.deskeng.com/articles/aaawfj.htm

PGI CUDA Fortran Webinar

PGI Fortran from the Portland Group features GPU acceleration. A live webinar will be presented by PGI to provide an intro to the product and its GPU acceleration capabilities. The webinar will take place on Wednesday‚ March 24‚ at 9:00 a.m. Pacific time.

Register now: https://www2.gotomeeting.com/register/929210147

CENAPAD o que é?

CENAPADs ..o que é?

Uma rede de centros de computação de alto desempenho, geograficamente distribuídos, instituída pelo Ministério da Ciência e Tecnologia (MCT). São oito (8) unidades, denominadas “Centros Nacionais de Processamento de Alto Desempenho” (CENAPADs), operadas respectivamente pela UFRGS, UFMG, UFC, UNICAMP, UFRJ, UFPE, INPE e LNCC. Este último coordena o sistema por delegação do MCT.

Maiores detalhes:

Centros Nacionais de PAD
http://www.lncc.br/sinapad/cenapads.php

Apresentação do Antônio Tadeu Azevedo Gomes(Secretario Executivo) falando da estrutura do SINAPAD no curso de Verão : CUDA – LNCC 2010.

escola_verao_2010_tadeu

Recursos

http://www.lncc.br/sinapad/recursos.php

UFRGS: Cluster SUN (448 CPU Cores + 1920 GPU Cores)

GPU Computing – GeForce and Radeon OpenCL Test

Artigo escrito pelo nosso colega de trabalho Luiz Gustavo Turatti onde é feita uma avaliação do estado atual dos drivers OpenCL tanto da AMD quanto da NVIDIA.

Neste trabalho diversos programas em OpenCL foram executados em diferentes modelos de placas gráficas da AMD e da NVIDIA e o desempenho avaliado.

Link para o artigo: “GPU Computing – GeForce and Radeon OpenCL Test“.

Demonstração do OpenCL com 1,000,000 partículas

Artigo sobre CUDA

Artigo publicado na “Viva o Linux” por Alessandro de Oliveira Faria (A.K.A CABELO) sobre a tecnologia CUDA da NVidia.

Nesse artigo ele faz uma introdução sobre a tecnologia CUDA e o seu potencial em acelerar cálculos computacionais através da paralelização. Na segunda parte do artigo, é apresentado um tutorial de instalação do CUDA e como compilar e executar os exemplos que acompanham o SDK.

Link para o artigo: “CUDA: Programe a sua NVIDIA“.

Dicas instalação do SDK CUDA 2.3 no UBUNTU 9.10

PROBLEMA: erro ao compilar o SDK no UBUNTU 9.10 por causa da versão do gcc

SOLUÇÃO:
1) sudo apt-get install libc6-dev-i386
2) sudo apt-get install build-essential libglut3-dev gcc-4.3 g++-4.3 -y
3) sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.3 60 –slave /usr/bin/g++ g++ /usr/bin/g++-4.3

Mude o link para que o compilador default do sistema seja o gcc-4.3:
sudo rm -d /usr/bin/gcc
sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc
Se precisar voltar para o gcc-4.4, basta trocar 4.3 por 4.4 no comando acima.

Vídeo: tecnologia GPU

Ótimo vídeo mostrando as principais ferramentas da tecnologia GPGPU. Trata-se da palestra de abertura da GPU Technology Conference, que aconteceu em San Jose de 30 de setembro a 2 de outubro deste ano.

Download: http://www.nvidia.com/content/GTC/videos/GTC09-1412.flv

Palestrante: Will Ramey, gerente de produto da NVidia.

Conteúdo postado por Luís Ramirez na lista GPUBrasil.

Usando o processador vetorial da CPU com o compilador MUDA

A linguagem MUDA facilita a utilização da unidade de processamento vetorial normalmente dedicada a multimedia nas CPUs para cálculos vetoriais de uso-geral.

ATI Radeon 5870 tem desempenho impressionante!

O modelo Radeon 5870, tôpo-de-linha da nova série 5800 de GPUs da ATI tem impressionantes 2,72 TERAFLOPS em precisão simples, e 544 GIGAFLOPS em precisão dupla. E consome apenas 27 W em repouso e 188 W em plena-carga. É programável em OpenCL, a nova linguagem para computação em plataformas heterogêneas, baseada no padrão C99,  criada com o apoio das grandes empresas de hardware e software.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.