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++

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.

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

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.

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.

SDK OpenCL da AMD também serve para CPUs INTeL

A AMD liberou a versão 2.0 do seu SDK para a linguagem OpenCL, que gera código tanto para as CPUs x86 (Intel ou AMD) quanto para as GPUs ATI. Um benchmark comparativo entre uma implementação OpenMP e uma implementação OpenCL, feito por Jack Pien, mostra que o SDK da AMD produz bons resultados mesmo com um cluster de CPUs INTeL. Quem não tem GPUs no cluster pode compilar o código e desenvolver seus algoritmos, e quando acrescentar GPUs não tem que reescrever tudo de novo.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.