GPU (Graphics Processing Unit) Bruno Padilha Gregory De Bonis Luciana Kayo

Documentos relacionados
Celso L. Mendes LAC /INPE

Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais

Geração Procedural de Terrenos em GPU

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho

Processamento de áudio em tempo real utilizando dispositivos não convencionais:

Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot

de petróleo. Um novo domínio chamado computação de propósito geral em processadores gráficos (GPGPU) surgiu quando os pipelines de gráficos de

Um pouco de história. SketchPad Tese de Doutorado de Ivan Sutherland (MIT) Conceito de comunicação com o computador

Introdução Introdução

Aplicação de Processamento Paralelo com GPU a Problemas de Escoamento Monofásico em Meios Porosos. Bruno Pereira dos Santos Dany Sanchez Dominguez

Arquitetura de um video game moderno. Rafael Parente

Visualização por Computador: Teoria, Prática e Aplicações

Engenharia Informática Computação Gráfica

CUDA: Compute Unified Device Architecture. Marco Antonio Simões Teixeira

28 de fevereiro de 2016

1. Conceitos Básicos de Computação

vértices dessas células. Exemplos de malhas estruturadas e não-estruturadas são apresentados na Figura 2.

COMPUTAÇÃO PARALELA COM ACELERADORES GPGPU 1. Emilio Hoffmann De Oliveira 2, Edson Luiz Padoin 3.

Sumário. Gráficos 3D - Evolução Histórica. Computação Gráfica. ! Criação de Gráficos. ! Criação de Modelos 3D. ! Pipeline Gráfico. !

Implementação de um escalonador de processos em GPU

ESTRATÉGIAS DE OTIMIZAÇÃO DE CÓDIGO EM OPENCL

Introdução à Programação de Propósito Geral em Hardware Gráfico

Fabrício Gomes Vilasbôas

Sparse Matrix-Vector Multiplication on GPU: When Is Rows Reordering Worthwhile?

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador

5 Frustum culling em GPU

ARQUITETURA DE COMPUTADORES

CURSO TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA - 2º P Manutenção e Suporte de Hardware I

Comparação das Características de Simuladores de Arquiteturas Heterogêneas

Frustum Culling Híbrido Utilizando CPU e GPU. Aluno: Eduardo Telles Carlos Orientador: Alberto Raposo Co-Orientador: Marcelo Gattass

Introdução ao CUDA. Material elaborado por Davi Conte.

Introdução a CUDA. Esteban Walter Gonzalez Clua. Medialab - Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center START

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

Computação Paralela (CUDA)

Microprocessadores. São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão;

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Conceitos sobre Computadores

HARDWARE COMPONENTES DO COMPUTADOR

Computação científica utilizando placas gráficas

5 Unidades de Processamento Gráfico GPUs

Introdução à Computação Gráfica. Claudio Esperança Paulo Roma Cavalcanti

UNIVERSIDADE FEDERAL DE PERNAMBUCO REALIDADE AUMENTADA COM MARCADORES EM GPU MESTRADO EM CIÊNCIAS DA COMPUTAÇÃO CENTRO DE INFORMÁTICA

Organização de Sistemas Computacionais Processadores: Organização da CPU

AULA1 Introdução a Microprocessadores gerais. Disciplina: Aplicações Avançadas de Microprocessadores (AAM)

Introdução à Informática. Aula 1

PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas

3 Fundamentos. 3.1 Pipeline de renderização em OpenGL

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

FTC Faculdade de Tecnologia e Ciências Engenharia Civil 1º Semestre. Conceitos Básicos. Rafael Barbosa Neiva

Prof. Fernando V. Paulovich 3 de agosto de SCC Computação Gráca

Aula 05. Fundamentos de Hardware e Software. Prof. Dr. Dilermando Piva Jr.

GPUs - Graphic Processing Units

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010

Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot

GPU Computing: Implementação do método do Gradiente Conjugado utilizando CUDA

Computação paralela. Nielsen Castelo Damasceno

Arquitetura de Computadores

Infraestrutura de Hardware. Processamento Paralelo Multicores, Multi-Threading e GPUs

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS

Como os Processadores Funcionam

Survey de técnicas. detalhadas: Análise e Comparação

Organização de Computadores I

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

INTRODUÇÃO À INFORMÁTICA

Barramentos internos/externos

CP Introdução à Informática Prof. Msc. Carlos de Salles

2 Programação Genérica em Placa Gráfica

Enquadramento e Conceitos Fundamentais

What is? Eduardo Viola Nicola Disciplina de IPPD

5 Resultados Experimentais

Comparação de eficiência entre OpenCL e CUDA

Organização de Computadores

Jônatas Lopes de Paiva Instituto de Matemática e Estatística Universidade de São Paulo. 06 de maio de 2011

ARQUITETURA DE COMPUTADORES

António Costa. Paulo Roma Cavalcanti

Aplicações em CUDA. Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center

O Sistema de Computação

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

Sistemas Digitais: Introdução

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Processamento Paralelo Utilizando GPU

PlayStation 2. Marcelo Schiavon Porto CMP237 - Arquitetura e Organização de Processadores

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos

Implementação Paralela de Um Simulador de Spins em Uma Unidade de Processamento Gráfico

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

Atol Fortin, Bruno da Hora, Lucas Piva, Marcela Ortega, Natan Lima, Pedro Raphael, Ricardo Sider, Rogério Papetti. 28 de novembro de 2008

Organização e Arquitetura de Computadores I

Arquitetura de computadores

Introdução aos microcontroladores Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial

Os computadores ditigais podem ser classificados em 5 grupos distintos:

Arquitetura de computadores

30/5/2011. Sistemas computacionais para processamento paralelo e distribuído

Paralelização do Detector de Bordas Canny para a Biblioteca ITK usando CUDA

Paralelismo de dados. (execução de simultaneidade) Tipo de arquitetura paralela SIMD. SIMD (Single Instruction Multiple Data)

Transcrição:

GPU (Graphics Processing Unit) Bruno Padilha - 5745282 Gregory De Bonis - 6431180 Luciana Kayo - 6430992

O que é?

O que é? - Processador auxiliar responsável principalmente por operações de ponto flutuante

O que é? - Processador auxiliar responsável principalmente por operações de ponto flutuante - Utilizada em PCs, videogames, celulares, sistemas embarcados...

O que é? - Processador auxiliar responsável principalmente por operações de ponto flutuante - Utilizada em PCs, videogames, celulares, sistemas embarcados... - Incorpora operações matemáticas comumente utilizadas para renderização gráfica

O que é? - Processador auxiliar responsável principalmente por operações de ponto flutuante - Utilizada em PCs, videogames, celulares, sistemas embarcados... - Incorpora operações matemáticas comumente utilizadas para renderização gráfica - Estrutura altamente paralelizada

GPU Placa de Vídeo!

Placa de Vídeo

Placa de Vídeo - BIOS (Firmware)

Placa de Vídeo - BIOS (Firmware) - Memória de Vídeo

Placa de Vídeo - BIOS (Firmware) - Memória de Vídeo - GPU

Controlador Gráfico

Controlador Gráfico - Integrado na Placa-Mãe (on-board)

Controlador Gráfico - Integrado na Placa-Mãe (on-board) - Mais barato

Controlador Gráfico - Integrado na Placa-Mãe (on-board) - Mais barato - Tem pouca ou nenhuma memória dedicada (usa a memória principal)

Controlador Gráfico - Integrado na Placa-Mãe (on-board) - Mais barato - Tem pouca ou nenhuma memória dedicada (usa a memória principal) - Acesso a memória muito mais lento Integrada: de 2 a 12.8 Gbit/s Dedicada: de 10 a mais de 100 Gbit/s

História das GPUs

História das GPUs Primeira GPU: IBM Professional Graphics Controller (1984)

História das GPUs Primeira GPU: IBM Professional Graphics Controller (1984) Para CAD, com aceleração 2D e 3D

História das GPUs Primeira GPU: IBM Professional Graphics Controller (1984) Para CAD, com aceleração 2D e 3D 320 kb de RAM

História das GPUs Primeira GPU: IBM Professional Graphics Controller (1984) Para CAD, com aceleração 2D e 3D 320 kb de RAM Microprocessador Intel 8088 (5 MHz a 10MHz de clock)

História das GPUs Primeira GPU: IBM Professional Graphics Controller (1984) Para CAD, com aceleração 2D e 3D 320 kb de RAM Microprocessador Intel 8088 (5 MHz a 10MHz de clock) Suportava até 640 480 com 256 cores a 60fps

História das GPUs Primeira GPU: IBM Professional Graphics Controller (1984) Para CAD, com aceleração 2D e 3D 320 kb de RAM Microprocessador Intel 8088 (5 MHz a 10MHz de clock) Suportava até 640 480 com 256 cores a 60fps Preço?

História das GPUs Primeira GPU: IBM Professional Graphics Controller (1984) Para CAD, com aceleração 2D e 3D 320 kb de RAM Microprocessador Intel 8088 (5 MHz a 10MHz de clock) Suportava até 640 480 com 256 cores a 60fps Preço? $4,290

História das GPUs Anos 70 Chips ANTIC e CTIA (Atari): mapeavam texto e imagens para a saída de vídeo Anos 80 Primeira placa de vídeo Commodore Amiga: primeiro computador com um blitter vendido em massa IBM 8514: primeira placa de vídeo a implementar primitivas 2D em hardware

História das GPUs Anos 90 S3 86C911: acelerador 2D em um único chip DirectDraw, Direct3D, OpenGL, Glide, DirectX Popularização das placas 2D e 3D: Playstation, Nintendo 64 Anos 2000-presente GPUs de alta performance GPUs paralelas GPGPU

Funcionamento de uma GPU

Funcionamento de uma GPU 1 - Model Transformation

Funcionamento de uma GPU 1 - Model Transformation 2 - Lighting

Funcionamento de uma GPU 1 - Model Transformation 2 - Lighting 3 - Camera Simulation

Funcionamento de uma GPU 1 - Model Transformation 2 - Lighting 3 - Camera Simulation 4 - Rasterization

Funcionamento de uma GPU 1 - Model Transformation 2 - Lighting 3 - Camera Simulation 4 - Rasterization 5 - Texturing

Funcionamento de uma GPU 1 - Model Transformation 2 - Lighting 3 - Camera Simulation 4 - Rasterization 5 - Texturing 6 - Hidden Surfaces

Funcionamento de uma GPU 1 - Model Transformation 2 - Lighting 3 - Camera Simulation 4 - Rasterization 5 - Texturing 6 - Hidden Surfaces

GPGPU General Purpose Computation on Graphics Processing Units O que é? Usar GPU para processar aplicações que são rodadas na CPU.

GPGPU General Purpose Computation on Graphics Processing Units Como? - Inicialmente continham pipeline fixo de renderização de cenas - Pipelines gráficos: transformam geometria 3D em 2D paralelamente, geram fragmentos da geometria 2D também paralelamente e combinam esses fragmentos formando uma imagem. - Adicionou-se estágios programáveis e aritmética de alta precisão ao pipeline - Programador pode criar seus próprios métodos de renderização específica. - Permitiu-se uma forma modificada de "stream processing" para dados não gráficos. - Programação é dependente do pipeline gráfico.

GPGPU General Purpose Computation on Graphics Processing Units Por que? - Grande poder de processamento paralelo - Alto poder computacional para cálculos aritméticos - Está em constante evolução - GPU tem poder de processamento maior que a CPU, o desempenho para processar um software é muito maior (pode ser até 40 vezes mais rápida). - Natural querer usá-la para processamento genérico - 3 dos 5 computadores mais poderosos atualmente beneficiam-se da aceleração da GPU, dentre eles o líder, Tianhe-1A (chinês), que usa plataforma NVIDIA Tesla (serie de GPUs dedicada a GPGPU).

GPGPU General Purpose Computation on Graphics Processing Units Programabilidade: - Mudança na arquitetura da GPU - Estruturas anteriormente implementadas separadas: vertex shader - manipula cor, posição, textura de cada vertice pixel/fragment shader - manipula cor e outros atributos de cada pixel geometry shader - gera formas (linhas, pontos, triangulos) a partir das formas primitivas passadas para o pipeline gráfico - Foram unificadas - Essa unificação permitiu que essas estruturas se tornassem programáveis, sendo usadas não apenas para processamento gráfico.

GPGPU General Purpose Computation on Graphics Processing Units CUDA: - Arquitetura de computação paralela desenvolvida pela NVIDIA que permite compilar programas em C para rodá-los na GPU em stream processing. - Programas em C ou C++ podem, por exemplo, usar a GPU para fazer operações com grandes matrizes paralelamente, ao mesmo tempo que usam CPU para operações apropriadas. - Primeira API que permite que aplicações baseadas em CPU acessem diretamente a GPU sem limitações de APIs gráficas. - Programadores não precisam de uma linguagem específica para GPU.

GPGPU General Purpose Computation on Graphics Processing Units Alternativa: - OpenCL - Framework para escrever programas executáveis em plataformas heterogêneas consistindo de CPUs, GPUs e outros processadores. - Opensource

GPGPU General Purpose Computation on Graphics Processing Units Aplicações: - Principal: vetores e matrizes de grandes dimensões. - Útil em áreas que utilizam enormes volumes de dados, principalmente os voltados para pesquisa científica. - Companhias automobilísticas - Migração de engines de física dos games para a GPU - Diagnósticos médicos mais rápidos e acurados para doenças como câncer - Simulações que ajudam a desenvolver novos remédios para Alzheimer e câncer