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: Thread and Data parallelism in CPUs – will GPUs become obsolete?


USPTítulo: Thread and Data parallelism in CPUs – will GPUs become obsolete?
Palestrante: Dr. Carsten Trinitis
Biografia: Dr. Trinitis é professor de Processamento Distribuído na
Bedfordshire University, UK, e líder do grupo de pesquisa
em Arquiteturas Paralelas e Distribuídas da Technische
Universität München (TUM). Suas áreas de pesquisa incluem
simulação de campos elétricos e novas tendências em
arquiteturas multi-core.

Hora e Data: 16h, sexta-feira, 25 de março de 2011

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

Resumo:

Será feita uma análise dos recursos multicore presentes nas
arquiteturas propostas de CPU e da integração entre CPU e
GPU. Ao final será feita uma breve introdução dos projetos
de pesquisa em andamento nesta área na TUM.

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

Onde conseguir uma GPU para estudos científicos?


Muitas vezes necessitamos de GPUs mais poderosas ou com uma arquitetura de última geração para realização de estudos científicos, mas não temos acesso a tais recursos em nosso ambiente de trabalho.

No Brasil, existe o Sistema Nacional de Processamento de Alto Desempenho (SINAPAD). Trata-se de Centros Nacionais de Processamento de Alto Desempenho (CENAPADs) espalhados pelo Brasil.

Cenapads

SINAPAD

Alguns dos centros possuem máquinas com GPUs e qualquer um pode requisitar acesso, dentro dos requisitos estabelecidos. Um bom exemplo, é o CENAPAD de São Paulo, que se localiza na Unicamp. Esse centro conta com 12 GPUs nVidia Tesla M2050 instaladas em seis servidores X86 com processadores Intel Xeon Processador X5570 (2.93GHz). Uma lista de recursos dos CENAPADs pode ser encontrada em: http://www.lncc.br/sinapad/recursos.php

Além dos CENAPADs, existem várias universidades brasileiras que já lecionam sobre GPGPU. No site da NVidia é possível encontrar um mapa de universidades brasileiras que lecionam CUDA:

http://www.nvidia.com/object/cuda_courses_and_map.html

Se você é aluno ou docente em algum desses centros de pesquisa, certamente poderá encontrar uma GPU para estudos científicos.

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

CILAMCE 2011


Pelo terceiro ano consecutivo, estaremos organizando um simpósio sobre supercomputação com placas gráficas no CILAMCE.

O CILAMCE é o Congresso Ibero-Latino-Americano de Métodos Computacionais em Engenharia, e em 2011 está na sua 32ª edição. O congresso acontecerá em Ouro Preto – MG, entre 13 e 16 de Novembro deste ano.

A deadline para submissão de resumos é 1º de Maio. Preparem seus trabalhos! Vamos nos encontrar em Ouro Preto para discutir GPGPU!

Para mais detalhes sobre o CILAMCE, visite o site oficial.

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

The OpenCL Programming Book


The book starts with the basics of parallelization, covers the main concepts, grammar, and setting up a development environment for OpenCL, concluding with source-code walkthroughs of the FFT and Mersenne Twister algorithms written in OpenCL.
It is highly recommended for those wishing to get started on programming in OpenCL.

Format: Adobe Reader (PDF)
File Size: 3.49MB
Digital: 246 pages
Price: USD 19.50
Publisher: Fixstars Corporation
Author: Fixstars Corporation (Ryoji Tsuchiyama, Takashi Nakamura, Takuro Iizuka, Akihiro Asahara, Satoshi Miki)

Published Date: 3/31/2010

.
OpenCL Programming Contents

Introduction to Parallelization
Why Parallell
Parallel Computing (Hardware)
Parallel Computing (Software)
Conclusion
OpenCL
What is OpenCL?
Historical Background
An Overview of OpenCL
Why OpenCL?
Applicable Platforms
OpenCL Setup
Available OpenCL Environments
Developing Environment Setup
First OpenCL Program
Basic OpenCL
Basic Program Flow
Online/Offline Compilation
Calling the Kernel
Advanced OpenCL
OpenCL C
OpenCL Programming Practice
Case Study
FFT (Fast Fourier Transform)
Mersenne Twister
Notes
.
Ver detalhes e comprar.

NVIDIA e AMD: Uma breve comparação de arquiteturas


Com o início da popularização do OpenCL, que permite um mesmo programa utilizar o poder computacional de GPUs tanto da NVIDIA quanto da AMD ou de ambas ao mesmo tempo, é interessante conhecer a arquitetura das GPUs de ambos os fabricantes para melhor desenvolver um algoritmo ou escolher entre os hardwares. É comum os fabricantes de GPUs anunciarem os seus produtos destacando o número de “Cuda Cores” (ou “Stream Processors”, no caso da AMD) que cada um possui. Dessa forma é importante conhecer o que cada fabricante define como “core” da GPU e saber das capacidades de cada um.

Primeiramente iremos analisar a última arquitetura da NVIDIA, conhecida como Fermi (Fig. 1). Com relação à parte de cálculo, a Fermi é dividida em 16 multiprocessadores ou SMs (na Fig. 1, um multiprocessador está destacado em vermelho) e cada multiprocessador é formado por 32 Cuda Cores e outras unidades (Fig. 2). Cada Cuda Core é formado por uma unidade de processamento de ponto-flutuante de precisão simples e outra de processamento de inteiros (em destaque na Fig. 2) e é esse Cuda Core que será responsável por processar um thread do Kernel (quando for exigido apenas precisão simples ou inteiros; observe que o Cuda Core somente irá usar ou a unidade FP ou a INT por vez, de acordo com a instrução pedida, nunca as duas juntas). Com base nessas informações, é possível determinar o número total de “cores” da Fermi como sendo: 16 * 32 = 512 Cuda Cores. Observe que as novas placas baseadas na arquitetura Fermi que acabaram de ser lançadas (Geforce GTX 480) possui 15 multiprocessadores, o que resulta em: 15 * 32 = 480 Cuda Cores.

Fig. 1: Arquitetura Fermi. Visão dos 16 SMs (Streaming Multiprocessor). Fonte: NVIDIA.

Além do número de “cores”, é interessante conhecer o poder computacional em GFlops da Fermi para termos uma boa base de comparação entre diferentes arquiteturas. Para isso, é necessário mais algumas informações: a velocidade que cada “core” está trabalhando, chamado de “Processor Clock” ou “Shader Clock” ou mesmo “Hot Clock”; e como cada “core” executa suas instruções para cada ciclo de clock. A primeira informação é facilmente obtida lendo as especificações de sua placa de video: para a Geforce GTX 480, o processor clock é igual a 1401 MHz (informação obitida pelo site da NVIDIA), já a segunda informação é específico de cada arquitetura, no caso da Fermi, cada núcleo é capaz de executar duas  operações de ponto-flutuante por ciclo de clock, isso equivale a 2 Flops por ciclo de clock. Essas duas operações por clock, na verdade, correspondem a um FMA (fused multiply-add), no qual a seguinte operação matemática é realizada: A = A+B*C (veja que isso representa uma soma e uma multiplicação -> 2 Flops). Com essas informações, já é possível calcular o desempenho máximo da Geforce GTX 480 como sendo: (número de Cuda Cores) * (processor clock, em GHz) * (operações por clock), que equivale a: 480 * 1,401 * 2 = 1345 GFlops (em precisão simples). Observe que se a Geforce GTX 480 tivesse todos os 16 SMs habilitados, ela teria um desempenho igual a: 512 * 1,401 * 2 = 1435 GFlops (em precisão simples).

Fig. 2: Visão detalhada do SM e do CUDA Core. Fonte: NVIDIA.

Para calcularmos o poder computacional para precisão dupla, devemos conhecer como a Fermi lida com esse tipo de dado internamente. Na arquitetura Fermi, quando queremos realizar operações em precisão dupla, os Cuda Cores são utilizados aos pares para executar os cálculos (lembre-se que cada “core” possui uma unidade FP de precisão simples, assim quando dois “cores” são combinados teremos o equivalente a um “core” com uma unidade FP de precisão dupla), o que resulta na metade de “cores” disponíveis para os threads. Assim, o desempenho máximo em precisão dupla para a Geforce GTX 480 é dado por: 480/2 * 1,401 * 2 = 672 GFlops (em precisão dupla).

Com os dados acima, podemos partir para o estudo da arquitetura da AMD, conhecida como “Cypress (RV870)” que está dentro da Radeon HD5870. Na arquitetura AMD, as unidades de cálculo são conhecidas como “SIMD Engines” e a HD5870 possui 20 dessas unidades conforme ilustra a Fig. 3 (destacado em azul). Por sua vez, cada SIMD Engine é formado por 16 “Stream Cores” (destacado em verde na Fig. 3) e está detalhado pela Fig. 4. O “Stream Core” corresponde a unidade básica de cálculo para o RV870, porém o mesmo ainda é constituído por 5 ALUs (Arithmetic Logic Unit) que são responsáveis por realizar as operações númericas exigidas e são chamadas pela AMD de “Stream Processors”. Dentre as 5 ALUs do “Stream Core”, 4 são para uso geral (retângulos mais finos) e capazes de operar em ponto-flutuante ou inteiro. A outra ALU restante (retângulo maior) é reservada para funções especiais (seno, cosseno, log, etc) e também é capaz de operar em ponto-flutuante de precisão simples. Da mesma forma que a Fermi, as ALUs da RV870 são capazes de realizar duas operações de ponto-flutuante em precisão simples por ciclo de clock (instrução FMAD). Assim, o número total de “Stream Processors” presente na Radeon HD5870 é igual a: 20 * 16 * 5 = 1600 stream processors.

Fig. 3: Arquitetura "Cypress" (RV870) da AMD. Visão dos 20 SIMD engines cada um composto por 16 SCs (Stream Cores). Fonte: AMD.

O desempenho da RV870 é dependente da velocidade de operação de suas ALUs da mesma forma que a Fermi: para a Radeon HD5870, essa velocidade é igual a 850 MHz. Assim, o poder computacional dessa placa pode ser calculado da mesma forma que para a Fermi: 1600 * 0,850 * 2 = 2720 GFlops. Para a precisão dupla, a RV870 funciona de maneira diferente da Fermi: a ALU reservada para as funções especiais (retângulo maior) não participa dos cálculos em precisão dupla e as 4 ALUs restantes combinadas são capazes de realizar apenas 2 operações de ponto-flutuante em precisão dupla (FMAD) por ciclo de clock. Isso equivale dizer que o número de unidades para processamento em precisão dupla é igual ao número de “Stream Cores”: 20 * 16 = 320 “cores”. Com essas informações, o desempenho da HD5870 em precisão dupla é igual a: 320 * 0.850 * 2 = 544 GFlops.

Fig. 4: Visão detalhada de um Stream Core. Composto por 5 PE (Processing Elements). Fonte: AMD.

É interessante observar que embora a HD5870 tenha mais unidades de cálculo que a GTX 480, elas funcionam a uma freqüência de clock menor, o que faz com que a diferença em desempenho não seja proporcional apenas ao número dessas ALUs, em precisão simples. Já em precisão dupla, essa diferença é ainda menor devido ao modo como essas unidades de cálculo operam com esses dados. Deve-se ter em mente que essa comparação serve apenas como uma primeira abordagem de avaliação de desempenho, pois ela não leva em conta, por exemplo, o desempenho das arquiteturas para o cálculo de funções transcedentais (seno, cosseno, etc) e nem a capacidade de cada uma em operar com texturas. Características que podem ser importantes para alguns tipos de programas.

Qualquer sugestão ou comentário será bem vindo.

Fontes:

[1] Fermi Compute Architecture White Paper.

[2] GPU Computing: Past, Present and Future with ATI Stream Technology.

[3] Heterogeneous Computing: OpenCL and the ATI Radeon HD5870 (“Evergreen”) Architecture.

PhD Student Positions Available


[Ver]

Reference: CISTER-BD/General/01/10

Area: Multicore Systems, Adaptive RT Systems, RT Software, Cyber Physical Systems, and Sensor Networks

Application Deadline: 18, Apr, 2010

Send Application To: JOBS@cister-isep.info

Contact Person: Stefan M. Petters

Salary: up to 14,400 Euros / year (after taxes)

Duration: up to 4 years

Requirements: The candidates should have a Bachelor, Licenciate, or MSc degree in Computer Science, Computer Engineering or related fields like Electrical Engineering with strong focus on Computer Engeneering. GRE and TOEFL are welcome. Fluency in written and spoken English is required. Candidates holding a Bachelor/Licenciate degree with a GPA (Grade Point Average) greater or equal to 75% are preferred.

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/

Mini-simpósio no MECOM-CILAMCE 2010


Introdução do nosso mini-simpósio no MECOM-CILAMCE 2010 -IX Congresso Argentino de Mecânica Computacional e XXXI Congresso Ibero-Latino-Americano de Mecânica Computacional. Esses congressos acontecerão entre 15 e 18 de novembro de 2010 em Buenos Aires. Prepare seu trabalho!

Title

High Performance Computing on Graphics Hardware (GPGPU)

Organizers

Euclides Mesquita, euclides@fem.unicamp.br
Josué Labaki, labaki@fem.unicamp.br
Luiz Otávio Saraiva Ferreira lotavio@fem.unicamp.br

Department of Computational Mechanics DMC
School of Mechanical Engineering -FEM
State University at Campinas – UNICAMP/Brazil.

Summary

After a long period of steady growth, desktop commodity computer architecture has reached its ceiling on computing performance. Further progress is no longer enabled by growth in core clock rates, but by growth in parallelism. Many articles have been presented in the last editions of CILAMCE and MECOM on the use of multi-cored computing applied to a variety of problems. Furthermore, there is a growing trend toward parallel computation on the recently created general-purpose graphics hardware (GPGPU) [1]. Due to its architecture, the GPU is specially well-suited to address problems that can be expressed as data-parallel computations with high arithmetic intensity (the ratio of arithmetic operations to memory operations) [2]. Recent works have been shown astonishingly fast computations. For instance, papers on the use of GPGPU for computational mechanics have been reporting performances up to 100 times faster than CPUs for solution of linear systems, and around 900 times faster for numerical solution of infinite oscillatory integrals [3]. The first edition of this mini-symposium on CILAMCE 2009 has shown that the GPU has been investigated by researches of a very broad range of subjects in computational modeling with considerable gains in performance. The idea of the present mini-symposium is to gather researchers working on HPC tasks using GPGPU systems, aiming to discuss the state of the art issues, exchange experiences and solutions for existing implementation strategies and problems.

Suggested readings

[1] OWENS, J. D. et al., “A Survey of General-Purpose Computation on Graphics Hardware”, Computer Graphics, 26, 1 (2007), pp.  80-113.

[2] NVIDIA. “NVIDIA CUDA – Compute Unified Device Architecture – Programming Guide”. NVIDIA Corporation, Santa Clara (2008).

[3] MESQUITA, E.; LABAKI, J.; FERREIRA, L. O. S. “An Implementation of the Longman’s Integration Method on Graphics Hardware”. Computer Modeling in Engineering and Sciences, 51, 2 (2009), pp. 143-168.

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

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.