Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU
|
|
- Rachel Ávila Deluca
- 8 Há anos
- Visualizações:
Transcrição
1 Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Francisco Ribacionka e Ettore Enrico (STI ) USP/STI/InterNuvem internuvem@usp.br Março -2016
2 Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Programação 1. Utilização de GPU para HPC O que é processamento por GPU Recursos para desenvolvimento de software Aplicações 2. Tesla K20m 3. HPC com recursos da InterNuvem: Cluster lince 4. Computação heterogênea Blocos Threads
3 Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Programação 1. Utilização de GPU para HPC O que é processamento por GPU Recursos para desenvolvimento de software Aplicações 2. Tesla K20m 3. HPC com recursos da InterNuvem: Cluster lince 4. Computação heterogênea Blocos Threads
4 GPU Aplicação Código Sequencial CPU Código Paralelo Controle ULA ULA Cache ULA ULA DRAM DRAM Código Sequencial +
5 Host Device PCI Bus 1. Copiardados da memóriada CPU para a memóriada GPU
6 Host Device PCI Bus 1. Copiardados da memóriada CPU para a memóriada GPU 2. Carregaro códigogpu e executar
7 Host Device PCI Bus 1. Copiardados da memóriada CPU para a memóriada GPU 2. Carregaro códigogpu e executar 3. Copiarosresultadosda memóriada GPU para a memóriada CPU
8 Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Programação 1. Utilização de GPU para HPC O que é processamento por GPU Recursos para desenvolvimento de software Aplicações 2. Tesla K20m 3. HPC com recursos da InterNuvem: Cluster lince 4. Computação heterogênea Blocos Threads
9 NVIDIA - CUDA CUDA é uma plataforma de computação paralela e um modelo de programação inventados pela NVIDIA Linguagens de Programação C, C++, Python, Fortran CUDA-MPI Cuda-MPI: Suporte a chamadas MPI a partir da memória da GPU OpenCL OpenCL: Suporte a Open Computing Language através do CUDA OpenACC OpenACC: Acelerando as aplicações através de diretivas de programação Fonte:
10 Bibliotecas Otimizadas para GPU s Thrust(C++ TemplateLibrary); cublas(algebralinear); cusparse(algebralinear); NPP (Processamento de imagem e sinais); cufft(processamento de imagem e sinais).
11 Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Programação 1. Utilização de GPU para HPC O que é processamento por GPU Recursos para desenvolvimento de software Aplicações 2. Tesla K20m 3. HPC com recursos da InterNuvem: Cluster lince 4. Computação heterogênea Blocos Threads
12 Aplicações:
13
14 Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Programação 1. Utilização de GPU para HPC O que é processamento por GPU Recursos para desenvolvimento de software Aplicações 2. Tesla K20m 3. HPC com recursos da InterNuvem: Cluster lince 4. Computação heterogênea Blocos Threads
15 Tesla K20m GPU Precisão Simples Precisão Dupla 1xGK TF 1.2 TF Memória 4.8 GB Largura de Banda 208 GB/s # Cores CUDA 2496 Energia 225W
16 Cluster Jaguar SGI Altix CPUs Intel Itanium GB de RAM 0,34 TFlops Cluster Puma Servidores DeLL - Rede Gibabit-ethernet 59 X 16 GB de memória RAM 59 X 16 CPUs Intel Xeon 2.6 GHz 1.26 TFlops
17 Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Programação 1. Utilização de GPU para HPC O que é processamento por GPU Recursos para desenvolvimento de software Aplicações 2. Tesla K20m 3. HPC com recursos da InterNuvem: Cluster lince 4. Computação heterogênea Blocos Threads
18 Computação de alto desempenho HPC 32 servidores, cada um com: 2 Tesla k20m 16 cores Intel E (2,4 GHz) 129 GB RAM Scratch com 55 TB Sistema de filas Torque
19 Softwares Instalados na lince que utilizam GPU: gromacs lammps NAMD Sugestões:
20 Job CUDA: Comandos para executar o programa #!/bin/bash -v #PBS -S /bin/bash #PBS -N cuda Recursos #PBS -l nodes=1:ppn=16 #PBS -l gpus=2 #PBS -joe #PBS -l walltime= 249:00:00 #PBS -q parallel Fila ulimit -s unlimited module load cuda/7.0 cd /scratch/fribacio/1_utilities/devicequery time./devicequery
21 $ qsub job_cuda.sh 7927.lince.lcca.usp.br $ qstat lince.lcca.usp.br: Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time lince fribacio parallel cuda :00:0 R 00:00:00 $ ls cuda.o7927
22 CUDA Device Query (Runtime API) version(cudart static linking) Detected 2 CUDA Capable device(s) Device 0: "Tesla K20m" CUDA Driver Version/ Runtime Version 7.0 / 6.5 CUDA Capability Major/Minor version number: 3.5 Total amount of global memory: 4800 MBytes( bytes) (13) Multiprocessors, (192) CUDA Cores/MP: 2496 CUDA Cores GPU Clock rate: 706 MHz (0.71 GHz) Memory Clock rate: 2600 Mhz Memory Bus Width: 320-bit L2 Cache Size: bytes......
23 Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Programação 1. Utilização de GPU para HPC O que é processamento por GPU Recursos para desenvolvimento de software Aplicações 2. Tesla K20m 3. HPC com recursos da InterNuvem: Cluster lince 4. Computação heterogênea Blocos Threads
24 ComputaçãoHeterogênea Terminologia: Host CPU e a memória RAM Device GPU e a sua memória Host Device 24
25 ComputaçãoHeterogênea NVIDIA CUDA CUDA é uma plataforma de computação paralela e um modelo de programação inventados pela NVIDIA Linguagens de Programação C, C++, Python, Fortran Baseado no padrão C Extensões que permitem programação heterogênea APIs para gerenciar memória e dispositivos Fonte:
26 global void mykernel(void) { } int main(void) { } mykernel<<<1,1>>>(); printf( STI-USP\n"); return 0; $ nvcc sti_usp.cu $ a.out STI-USP $ 26
27 Soma de dois inteiros: #include <stdio.h> global void add( int a, int b, int *c ) { *c = a + b;} int main( void ) { int c; int *dev_c; cudamalloc( (void**)&dev_c, sizeof(int) ); add<<<1,1>>>( 2, 7, dev_c ); cudamemcpy( &c, dev_c, sizeof(int), cudamemcpydevicetohost ); printf( "2 + 7 = %d\n", c ); cudafree( dev_c ); return 0; } 27
28 Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Programação 1. Utilização de GPU para HPC O que é processamento por GPU Recursos para desenvolvimento de software Aplicações 2. Tesla K20m 3. HPC com recursos da InterNuvem: Cluster lince 4. Computação heterogênea Blocos Threads
29 ProgramaçãoParalelaemCUDA
30 VersãoHost #include <stdio.h> #define N 10 voidadd( int*a, int*b, int*c ) { intindice= 0; while(indice< N) { c[indice] = a[indice] + b[indice]; indice+= 1; } } intmain( void) { inta[n], b[n], c[n]; for (inti=0; i<n; i++) { a[i] = -i; b[i] = i * i; } add( a, b, c ); for (inti=0; i<n; i++) { printf( "%d + %d = %d\n", a[i], b[i], c[i] ); } return 0; } 30
31 #include <stdio.h> #define N 10 global voidadd( int*a, int*b, int*c ) { int indice = blockidx.x; if(indice< N) c[indice] = a[indice] + b[indice]; } intmain( void) { inta[n], b[n], c[n]; int*dev_a, *dev_b, *dev_c; cudamalloc( (void**)&dev_a, N * sizeof(int) ) ; cudamalloc( (void**)&dev_b, N * sizeof(int) ) ; cudamalloc( (void**)&dev_c, N * sizeof(int) ) ; for (inti=0; i<n; i++) { a[i] = -i; b[i] = i * i; } VersãoDevice } cudamemcpy( dev_a, a, N * sizeof(int), cudamemcpyhosttodevice) ; cudamemcpy( dev_b, b, N * sizeof(int), cudamemcpyhosttodevice) ; add<<<n,1>>>( dev_a, dev_b, dev_c); cudamemcpy( c, dev_c, N * sizeof(int), cudamemcpydevicetohost) ; for (inti=0; i<n; i++) { printf( "%d + %d = %d\n", a[i], b[i], c[i] ); } cudafree( dev_a) ; cudafree( dev_b) ; cudafree( dev_c) ; return 0; 31
32 ProgramaçãoParalelaemCUDA Computação com GPU é para paralelismo massivo Como rodarcódigoemparalelono device? add<<< 1, 1 >>>(); add<<< N, 1 >>>(); Emvezde executaradd()umavez, executarnvezesem paralelo 32
33 ProgramaçãoParalelaemCUDA global void add(int *a, int *b, int *c) { c[blockidx.x] = a[blockidx.x] + b[blockidx.x]; } Na GPU, cadablocopodeexecutaremparalelo: Block 0 Block 1 Block 2 Block 3 c[0] = a[0] + b[0]; c[1] = a[1] + b[1]; c[2] = a[2] + b[2]; c[3] = a[3] + b[3]; 33
34
35 Blocos e Grids
36 Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Programação 1. Utilização de GPU para HPC O que é processamento por GPU Recursos para desenvolvimento de software Aplicações 2. Tesla K20m 3. HPC com recursos da InterNuvem: Cluster lince 4. Computação heterogênea Blocos Threads
37 int tid = threadidx.x + blockidx.x* blockdim.x;
38 int tid = threadidx.x + blockidx.x* blockdim.x; add<<<4,4>>>( dev_a, dev_b, dev_c);
39 Hierarquia de Memória
40
41 Hierarquia de thread threadidx é um vetor de 3 componentes Formando blocos de threads de uma, duas ou três dimensões Provendo uma maneira natural para computar vetores, matrizes ou volumes
42 global void MatAdd(float A[N][N], float B[N][N], float C[N][N]) { inti = threadidx.x; int j = threadidx.y; C[i][j] = A[i][j] + B[i][j]; } Intmain() { // Chamada kernelde um bloco com N * N * 1 threads intnumblocks= 1; dim3 threadsperblock(n, N); matadd<<<numblocks, threadsperblock>>> (A, B, C);...
43 Modelo de Hardware
44 SMX: 192 single-precision CUDA cores, 64 double-precision units, 32 special function units (SFU), and 32 load/store units (LD/ST).
45 Tesla K20m Multiprocessor count: 13 Sharedmemper mp: Registersper mp: 65536
46 Bibliografia SANDERS, J.; KANDROT, E. CUDA by Example -An Introduction to General-Purpose GPU Programming. Addison-Wesley KIRK, D.; HWU, W. Programming Massively Parallel Processors -A Hands-on Approach. Morgan Kaufmann. 2010
47 Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Dúvidas? hpc@usp.br
48 Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Francisco Ribacionka e Ettore Enrico (STI ) USP/STI/InterNuvem internuvem@usp.br Março -2016
Arquitetura e Programação de GPU. Leandro Zanotto RA: 001962 Anselmo Ferreira RA: 023169 Marcelo Matsumoto RA: 085973
Arquitetura e Programação de GPU Leandro Zanotto RA: 001962 Anselmo Ferreira RA: 023169 Marcelo Matsumoto RA: 085973 Agenda Primeiras Placas de Vídeo Primeira GPU Arquitetura da GPU NVIDIA Arquitetura
Leia maisIntrodução a CUDA. Esteban Walter Gonzalez Clua. Medialab - Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center START
Introdução a CUDA START Esteban Walter Gonzalez Clua Medialab - Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center 1536 cores Dynamic Parallelism Hyper - Q Pipeline
Leia maisTópicos em Física Computacional: Introdução a Linguagem CUDA
Tópicos em Física Computacional: Introdução a Linguagem CUDA Aula 06: Introdução a Linguagem CUDA Otimização do Código Carine P. Beatrici IF UFRGS 1 Da Aula Passada... Programa que soma matrizes linearizadas;
Leia maisApresentação dos Serviços para Processamento de Dados de Alto Desempenho disponibilizados pela InterNuvem
Apresentação dos Serviços para Processamento de Dados de Alto Desempenho disponibilizados pela InterNuvem Francisco Ribacionka e Ettore Enrico (STI ) USP/STI/InterNuvem internuvem@usp.br Março -2016 Apresentação
Leia maisEng. Thársis T. P. Souza
Introdução à Computação de Alto Desempenho Utilizando GPU Seminário de Programação em GPGPU Eng. Thársis T. P. Souza t.souza@usp.br Instituto de Matemática e Estatística - Universidade de São Paulo Introdução
Leia maisWaldemar Celes. 25 de Agosto de 2014
Introdução a CUDA INF2062 Tópicos em Simulação e Visualização Waldemar Celes celes@inf.puc-rio.br Tecgraf, DI/PUC-Rio 25 de Agosto de 2014 W. Celes Introdução a CUDA 1 GPGPU Programação de propósito geral
Leia maisComputação Heterogênea Programação paralela, clusters e GPUs
Computação Heterogênea Programação paralela, clusters e GPUs Profa. Dra. Denise Stringhini (ICT- Unifesp) Primeiro Encontro do Khronos Chapters Brasil Belo Horizonte, 20/09/2013 Conteúdo Computação heterogênea:
Leia maisPatrício Domingues Dep. Eng. Informática ESTG Instituto Politécnico de Leiria Leiria, Maio Programação Genérica de GPUs
Patrício Domingues Dep. Eng. Informática ESTG Instituto Politécnico de Leiria Leiria, Maio 2012 http://bit.ly/patricio Programação Genérica de GPUs 1 CUDA Teaching Center A ESTG/IPLeiria é um CUDA Teaching
Leia maisAnálise de desempenho e eficiência energética de aceleradores NVIDIA Kepler
Análise de desempenho e eficiência energética de aceleradores NVIDIA Kepler Emilio Hoffmann, Bruno M. Muenchen, Taís T. Siqueira, Edson L. Padoin e Philippe O. A. Navaux Universidade Regional do Noroeste
Leia maisAula 10 - Streams (Parte I)
Disciplina de TICs 1 - Introdução a Programação em GPGPU Aula 10 - Streams (Parte I) Introdução Até então foi visto como engenho de processamento paralelo massivo de dados nas GPUs pode aumentar assombrosamente
Leia maisMC4: Introdução à Programação Paralela em GPU para a Implementação de Métodos Numéricos
MC4: Introdução à Programação Paralela em GPU para a Implementação de Métodos Numéricos Aula 1: Introdução à programação paralela e ao ambiente de programação CUDA Profs.: Daniel Alfaro e Silvana Rossetto
Leia maisProgramação em Paralelo. N. Cardoso & P. Bicudo. Física Computacional - MEFT 2012/2013
Programação em Paralelo CUDA N. Cardoso & P. Bicudo Física Computacional - MEFT 2012/2013 N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 1 / 19 CUDA "Compute Unified Device Architecture" Parte 1
Leia maisComputação Paralela (CUDA)
Universidade Federal do Amazonas Faculdade de Tecnologia Departamento de Eletrônica e Computação Computação Paralela (CUDA) Hussama Ibrahim hussamaibrahim@ufam.edu.br Notas de Aula Baseado nas Notas de
Leia maisTécnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot
Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Esbel Tomás Evalero Orellana Universidade Estadual de Santa Cruz Roteiro Breve introdução
Leia maisCOMPUTAÇÃO PARALELA. uma visão geral. Guilherme Galante. v.2.0
COMPUTAÇÃO PARALELA uma visão geral Guilherme Galante v.2.0 Guilherme Galante Bacharel em Informática Unioeste (2003) Mestre em Ciência da Computação UFRGS (2006) Professor Assistente do curso de Informática/Ciência
Leia maisFabrício Gomes Vilasbôas
Fabrício Gomes Vilasbôas Apresentação Placas Arquitetura Toolkit e Ferramentas de Debug Pensando em CUDA Programação CUDA Python Programação PyCUDA 1) Grids( padrão Globus) 2) Clusters ( padrão MPI) 3)
Leia maisHierarquia de memória:
INE5645 Programação Paralela e Distribuída Aluno Modelo de Execução CUDA - A execução do programa controlado pela CPU pode lançar kernels, que são trechos de código executados em paralelo por múltiplas
Leia maisTEMA DE CAPA. Introdução à Programação em CUDA
TEMA DE CAPA Introdução à Programação em CUDA Introdução à Programação em CUDA Nos últimos anos, as placas gráficas (GPU Graphical Processing Unit) ganharam relevância no âmbito da computação paralela.
Leia maisProgramação em Paralelo. N. Cardoso & P. Bicudo. Física Computacional - MEFT 2012/2013
Programação em Paralelo CUDA N. Cardoso & P. Bicudo Física Computacional - MEFT 2012/2013 N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 1 / 23 CUDA "Compute Unified Device Architecture" Parte 2
Leia maisProcessamento Paralelo Utilizando GPU
Processamento Paralelo Utilizando GPU Universidade Estadual de Santa Cruz Bruno Pereira dos Santos Dany Sanchez Dominguez Esbel Evalero Orellana Cronograma Breve introdução sobre processamento paralelo
Leia maisPARALELIZAÇÃO DE APLICAÇÕES NA ARQUITETURA CUDA: UM ESTUDO SOBRE VETORES 1
PARALELIZAÇÃO DE APLICAÇÕES NA ARQUITETURA CUDA: UM ESTUDO SOBRE VETORES 1 DUTRA, Evandro Rogério Fruhling 2 ; VARINI, Andre Luis 2 ; CANAL, Ana Paula 2 1 Trabalho de Iniciação Científica _UNIFRA 2 Ciência
Leia maisProgramação Paralela em OpenCL
Programação Paralela em OpenCL César L. B. Silveira cesar@v3d.com.br 19 de novembro de 2010 Introdução Open CompuDng Language (OpenCL) Padrão aberto, livre de royal&es, para programação paralela em ambientes
Leia maisThársis T. P. Souza
Computação em Finanças em Hardware Gráfico SEMAC 2012 - UNESP Thársis T. P. Souza t.souza@usp.br Instituto de Matemática e Estatística - Universidade de São Paulo GPU Computing CUDA Aplicações em Finanças
Leia maisProgramação Paralela Híbrida em CPU e GPU: Uma Alternativa na Busca por Desempenho
124 - Encontro Anual de Tecnologia da Informação Programação Paralela Híbrida em CPU e GPU: Uma Alternativa na Busca por Desempenho André Luís Stefanello¹, Crístian Cleder Machado1, Dioni da Rosa¹, Maurício
Leia maisProgramação em Paralelo. N. Cardoso & P. Bicudo. Física Computacional - MEFT 2010/2011
Programação em Paralelo CUDA N. Cardoso & P. Bicudo Física Computacional - MEFT 2010/2011 N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 1 / 11 CUDA Parte 2 N. Cardoso & P. Bicudo Programação em
Leia maisUniversidade Federal do ABC. Dissertação de Mestrado. Aderbal de Morais Junior
Universidade Federal do ABC Curso de Pós Graduação em Ciência da Computação Dissertação de Mestrado Aderbal de Morais Junior UMA BIBLIOTECA PARA DESENVOLVIMENTO DE APLICAÇÕES CUDA EM AGLOMERADOS DE GPUS
Leia maisProgramação em Paralelo. N. Cardoso & P. Bicudo. Física Computacional - MEFT 2010/2011
Programação em Paralelo CUDA N. Cardoso & P. Bicudo Física Computacional - MEFT 2010/2011 N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 1 / 12 CUDA Parte 3 N. Cardoso & P. Bicudo Programação em
Leia maisIntrodução à Computação Heterogênea
Capítulo 7 Introdução à Computação Heterogênea Denise Stringhini, Rogério A. Gonçalves, Alfredo Goldman Resumo Diversos tipos de coprocessadores tem sido utilizados a fim de acelerar a execução de aplicações
Leia maisProgramação Paralela em Ambientes Computacionais Heterogêneos com OpenCL
Programação Paralela em Ambientes Computacionais Heterogêneos com OpenCL César L. B. Silveira Prof. Dr. Luiz G. da Silveira Jr. Prof. Dr. Gerson Geraldo H. Cavalheiro 28 de outubro de 2010 contato@v3d.com.br
Leia maisIntrodução ao CUDA. Material elaborado por Davi Conte.
Introdução ao CUDA Material elaborado por Davi Conte. O objetivo deste material é que o aluno possa iniciar seus conhecimentos em programação paralela, entendendo a diferença da execução de forma sequencial
Leia maisCUDA. José Ricardo da Silva Jr.
CUDA José Ricardo da Silva Jr. Medialab Ins1tuto de Computação Universidade Federal Fluminense CUDA Research Center & CUDA Teaching Center Centro de excelência da NVIDIA desde julho 2012 Perfil Bacharel
Leia maisEdison Gustavo Muenz. Estudo e implementação de um algoritmo de processamento de imagens com técnicas GPGPU
Edison Gustavo Muenz Estudo e implementação de um algoritmo de processamento de imagens com técnicas GPGPU Florianópolis SC Agosto / 2008 Edison Gustavo Muenz Estudo e implementação de um algoritmo de
Leia maisOracle Grid Engine. Thiago Marques Soares. Pós-Graduação em Modelagem Computacional Universidade Federal de Juiz de Fora. 8 de abril de 2015
Oracle Grid Engine Thiago Marques Soares Pós-Graduação em Modelagem Computacional Universidade Federal de Juiz de Fora 8 de abril de 2015 Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 1 /
Leia maisO Problema do Fractal de Mandelbrot como Comparativo de Arquiteturas de Memória Compartilhada GPU vs OpenMP
O Problema do Fractal de Mandelbrot como Comparativo de Arquiteturas de Memória Compartilhada GPU vs OpenMP Bruno P. dos Santos, Dany S. Dominguez, Esbel V. Orellana Departamento de Ciências Exatas e Tecnológicas
Leia maisAplicações em CUDA. Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center
Aplicações em CUDA Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center Roteiro l Introdução l Eventos l Aspectos históricos l Operações atômicas l Introdução sobre
Leia mais1 Padrões de Implementação em Processamento de Imagens. 2 Resumo. 4 Computação paralela. 1.1 Relátório final para PIBIC/CNPq
1 Padrões de Implementação em Processamento de Imagens 1.1 Relátório final para PIBIC/CNPq Victor M. de A. Oliveira, Rubens Campos Machado Centro de Tecnologia da Informação Renato Archer CTI Divisão de
Leia maisCentro Nacional de Processamento de Alto Desempenho em São Paulo
Centro Nacional de Processamento de Alto Desempenho em São Paulo UNICAMP / MCT-FINEP Maio / 2016 2 3 Sumário Apresentação... 06 CENAPAD-SP... 07 Informações e Suporte aos Usuários... 08 Convenções adotadas...
Leia maisIntrodução à Programação de GPUs
Introdução à Programação de GPUs com a Plataforma CUDA Pedro Bruel phrb@ime.usp.br 04 de Agosto de 2016 Instituto de Matemática e Estatística Universidade de São Paulo Sobre Pedro Bruel Alfredo Goldman
Leia maisEstrutura de um Computador
Estrutura de um Computador Tratando-se o computador de uma máquina complexa a sua estrutura pode ser apreciada a diferentes níveis de detalhe, duma forma hierárquica. AC1 Arquitectura e Organização de
Leia maisANÁLISE DE DESEMPENHO DA PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PRIMOS UTILIZANDO PTHREAD E OPENMP 1
ANÁLISE DE DESEMPENHO DA PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PRIMOS UTILIZANDO PTHREAD E OPENMP 1 Francisco Berti Da Cruz 2, Cleber Cristiano Sartorio 3, Edson Luiz Padoin 4, Emilio Hoffmann 5. 1 Trabalho
Leia maisParalelização do Detector de Bordas Canny para a Biblioteca ITK usando CUDA
Paralelização do Detector de Bordas Canny para a Biblioteca ITK usando CUDA Luis Henrique Alves Lourenço Grupo de Visão, Robótica e Imagens Universidade Federal do Paraná 7 de abril de 2011 Sumário 1 Introdução
Leia maisCCE Internet Data Center
CCE Internet Data Center 2010 Seção Técnica de Suporte de Software Centro de Computação Eletrônica - USP Slide: 1 Organograma de TI da USP Slide: 2 ORGANOGRAMA Slide: 3 Internet Data Center 2010 Slide:
Leia maisCapítulo 8 Arquitetura de Computadores Paralelos
Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da
Leia maisProblema: Solução: Vantagens da estruturação em Níveis: Introdução INTRODUÇÃO À ARQUITETURA DE COMPUTADORES. Introdução
INTRODUÇÃO À ARQUITETURA DE COMPUTADORES Curso Técnico de Informática Eduardo Amaral Introdução Computador: Máquina programável, de propósito geral, que processa informação. Programa: Seqüência de instruções
Leia mais5 Unidades de Processamento Gráfico GPUs
5 Unidades de Processamento Gráfico GPUs As GPUs são processadores maciçamente paralelos, com múltiplos elementos de processamento, tipicamente utilizadas como aceleradores de computação. Elas fornecem
Leia maisUma introdução para computação paralela de modelos massivos. Adriano Brito Pereira inf.puc-rio.br
Uma introdução para computação paralela de modelos massivos Adriano Brito Pereira 1021752 apereira @ inf.puc-rio.br Departamento de Informática Novembro / 2010 1 Resultados obtivos com Manta Framework
Leia maisSSC510 Arquitetura de Computadores. 12ª aula
SSC510 Arquitetura de Computadores 12ª aula EVOLUÇÃO DA ARQUITETURA INTEL PROFA. SARITA MAZZINI BRUSCHI 1 Pentium - Modelos 2 Pentium - Arquiteturas Netburst P7 Sétima geração dos processadores da arquitetura
Leia maisComputação de alto desempenho utilizando CUDA
Computação de alto desempenho utilizando CUDA Bruno Cardoso Lopes, Rodolfo Jardim de Azevedo 1 Instituto de Computação Universidade Estadual de Campinas (Unicamp) Caixa Postal 6176 13083-970 Campinas SP
Leia maisPoint Based Graphics e Aplicações em Jogos
Point Based Graphics e Aplicações em Jogos Luciano Silva Laboratório de Processamento Gráfico e Mídias Digitais Faculdade de Computação e Informática, Universidade Presbiteriana Mackenzie Abstract Point
Leia maisMulti-processamento. Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores
Multi-processamento Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores Arquitecturas MIMD de memória distribuída Massive Parallel Computers Sistemas distribuídos Ainda
Leia maisCentro Nacional de Processamento de Alto Desempenho em São Paulo
Centro Nacional de Processamento de Alto Desempenho em São Paulo UNICAMP / MCT-FINEP Setembro / 2015 2 3 Sumário Apresentação... 06 CENAPAD-SP... 07 Informações e Suporte aos Usuários... 08 Convenções
Leia maisComparação de eficiência entre OpenCL e CUDA
Aluno: Thiago de Gouveia Nunes Orientador: Prof. Marcel P. Jackowski GPGPU O que é GPGPU? É programação de propósito geral em GPUs. =D GPGPU Existem 2 linguagens populares no mercado para GPGPU, o CUDA
Leia maisO COMPUTADOR. Introdução à Computação
O COMPUTADOR Introdução à Computação Sumário O Hardware O Software Linguagens de Programação Histórico da Linguagem C Componentes Básicos do Computador O HARDWARE: O equipamento propriamente dito. Inclui:
Leia maisComputação de Alto Desempenho uma pequena introdução
Computação de Alto Desempenho uma pequena introdução Pedro Alberto Laboratório de Computação Avançada Centro de Física Computacional Unversidade de Coimbra 1 Sumário Porque é que é precisa a computação
Leia maisSO: Gerenciamento de Processos
SO: Gerenciamento de Processos Adriano J. Holanda http://holanda.xyz 10/8/2015 O que é um processo Um processo é um programa (código objeto armazenado em alguma mídia) em. O que é um processo Um processo
Leia maisAuditoria de senhas em hardware paralelo com o John the Ripper O impacto das tecnologias de processamento paralelo na quebra de senhas
Auditoria de senhas em hardware paralelo com o John the Ripper O impacto das tecnologias de processamento paralelo na quebra de senhas Claudio André claudio.andre@correios.net.br Motivação Seu computador
Leia maisSite : Sniperpspg1.besaba.com. Email : profdjair@sniperpspg1.besaba.com
Site : Sniperpspg1.besaba.com Email : profdjair@sniperpspg1.besaba.com Introdução ao PC ( Personal Computer ) Entre as décadas de 1950 e 1970, nós primórdios da disseminação da informática, vários fabricantes
Leia maisRODRIGO AMADOR COELHO IMPLEMENTAÇÃO DE UMA REDE NEURAL ARTIFICIAL DE CAMADA SIMPLES EM PLATAFORMA GPU UTILIZANDO LINGUAGEM CUDA
RODRIGO AMADOR COELHO IMPLEMENTAÇÃO DE UMA REDE NEURAL ARTIFICIAL DE CAMADA SIMPLES EM PLATAFORMA GPU UTILIZANDO LINGUAGEM CUDA LAVRAS - MG 2011 RODRIGO AMADOR COELHO IMPLEMENTAÇÃO DE UMA REDE NEURAL ARTIFICIAL
Leia maisINE5645-Programação Paralela e Distribuída Aula 17/09/2018 Nome
INE5645-Programação Paralela e Distribuída Aula 17/09/2018 Nome Para paralelizar códigos de programas, tudo que necessitamos é de uma construção sintática denominada kernel. Seja o kernel: kernel void
Leia maisIntrodução à estrutura e funcionamento de um Sistema Informático
Introdução à estrutura e funcionamento de um Sistema Informático Elementos que constituem o Computador O funcionamento do computador é possível devido aos vários elementos interligados que o constituem:
Leia maisLinguagem de Montagem
Linguagem de Montagem Uma introdução à Programação Assembly do PC Slides baseados em material associado ao livro Introduction to Assembly Language Programming, Sivarama Dandamudi 1 A Visão do Usuário sobre
Leia maisLUIS HENRIQUE ALVES LOURENÇO PROCESSAMENTO PARALELO DE ÁUDIO EM GPU
LUIS HENRIQUE ALVES LOURENÇO PROCESSAMENTO PARALELO DE ÁUDIO EM GPU CURITIBA 2009 LUIS HENRIQUE ALVES LOURENÇO PROCESSAMENTO PARALELO DE ÁUDIO EM GPU Trabalho de Conclusão de Curso apresentado como requisito
Leia maisMODULO II - HARDWARE
MODULO II - HARDWARE AULA 01 O Bit e o Byte Definições: Bit é a menor unidade de informação que circula dentro do sistema computacional. Byte é a representação de oito bits. Aplicações: Byte 1 0 1 0 0
Leia maisUCP. Memória Periféricos de entrada e saída. Sistema Operacional
Arquitetura: Conjunto de elementos que perfazem um todo; estrutura, natureza, organização. Houaiss (internet) Bit- Binary Digit - Número que pode representar apenas dois valores: 0 e 1 (desligado e ligado).
Leia maisMC102 Algoritmos e Programação de Computadores
MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2015 Roteiro 1 Fundamentos de análise de algoritmos 2 Cálculo da função de custo 3 Exercícios Instituto
Leia maisParadigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot
Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Universidade Estadual de Santa Cruz Cronograma Introdução Serial vs Processamento
Leia maisProgramação em Paralelo OpenMP
Programação em Paralelo OpenMP N. Cardoso & P. Bicudo Física Computacional - MEFT 2012/2013 N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 1 / 15 Introdução Potencial do GPU vs CPU Cálculo: 367
Leia maisRequisitos de Hardware - Humanus
1 Requisitos Mínimos Hardware: 1.1 Client Servidor Processador Intel Xeon X3430 2.4GHz ou superior Disco Rígido de 500 GB ou superior Intel Pentium G6950 2.80GHz ou superior Memória de 2GB ou superior
Leia maisAplicando Processamento Paralelo com GPU ao Problema do Fractal de Mandelbrot
Aplicando Processamento Paralelo com GPU ao Problema do Fractal de Mandelbrot Bruno Pereira dos Santos¹, Dany Sanchez Dominguez¹, Esbel Valero Orellana¹. 1 Departamento de Ciências Exatas e Tecnológicas
Leia maisWhat is? Eduardo Viola Nicola Disciplina de IPPD
What is? Eduardo Viola Nicola evnicola@inf.ufpel.edu.br Disciplina de IPPD Sumário 1)Introdução 2)Princípio Geral de Funcionamento 3)Exemplos de Aplicações 4)Modelo de Programação 5)Linguagens Suportadas
Leia maisComputação Distribuída de Alto Desempenho. Marcelo Giovani M Souza mgm@cbpf.br
Computação Distribuída de Alto Desempenho Marcelo Giovani M Souza mgm@cbpf.br 1 *Exemplos de Tipos Clusters *O Cluster do CBPF *Estudos futuros 2 *Cluster do CBPF -Hardware -Sistema e ferramentas -Formas
Leia maisarmazenamento (escrita ou gravação (write)) recuperação (leitura (read))
Memória Em um sistema de computação temos a UCP se comunicando com a memória e os dispositivos de E/S. Podemos fazer um paralelo do acesso à memória com um carteiro entregando cartas ou um acesso à biblioteca.
Leia maisMicroprocessadores. Cap. 2 Microprocessador, operação de hardware e computação
Microprocessadores Cap. 2 Microprocessador, operação de hardware e computação Sumário 2.1 Arquiteturas microprocessadas 2.2. Diagrama de blocos (arquitetura, registradores, ALU, etc.) 2.3. Barramentos
Leia maisHardware Avançado. Laércio Vasconcelos Rio Branco, mar/2007 www.laercio.com.br
Hardware Avançado Laércio Vasconcelos Rio Branco, mar/2007 www.laercio.com.br Avanços recentes em Processadores Chipsets Memórias Discos rígidos Microeletrônica Um processador moderno é formado por mais
Leia maisDesenvolvimento de Programas Paralelos para Máquinas NUMA: Conceitos e Ferramentas
1 Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação Desenvolvimento de Programas Paralelos para Máquinas NUMA: Conceitos
Leia maisProcessamento de Sinal através do GPU
Processamento de Sinal através do GPU Relatório Final do Projecto Informático n.º 15/ 2007-8, ei15888 Relatório final submetido para avaliação parcial da unidade curricular de Projecto Informático, do
Leia maisUNIVERSIDADE DO TOCANTINS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS ESTUDO DE CASO I
ESTUDO DE CASO I Um sistema de gestão patrimonial permite relacionar todos os bens de uma organização a fim de garantir sua integridade patrimonial. Esse tipo de sistema tem como finalidade automatizar
Leia maisCOMPARAÇÃO DE DESEMPENHO ENTRE DIFERENTES IMPLEMENTAÇÕES DO ALGORITMO KECCAK PARA PLATAFORMAS GPGPUS UTILIZANDO OPENCL
CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO COMPARAÇÃO DE DESEMPENHO ENTRE DIFERENTES IMPLEMENTAÇÕES DO ALGORITMO KECCAK
Leia maisParalelismo de dados. (execução de simultaneidade) Tipo de arquitetura paralela SIMD. SIMD (Single Instruction Multiple Data)
Paralelismo de dados (execução de simultaneidade) Em métodos tradicionais de programação (processamento sequencial), uma grande quantidade de dados é processada em um único núcleo de uma CPU, enquanto
Leia maisHardware 2. O Gabinete. Unidades Derivadas do BYTE. 1 KB = Kilobyte = 1024B = 2 10 B. 1 MB = Megabyte = 1024KB = 2 20 B
1 2 MODULO II - HARDWARE AULA 01 OBiteoByte Byte 3 Definições: Bit é a menor unidade de informação que circula dentro do sistema computacional. Byte é a representação de oito bits. 4 Aplicações: Byte 1
Leia maisSCC-120 - Capítulo 1 Introdução à Computação e Introdução à Programação
SCC-120 - Capítulo 1 Introdução à Computação e João Luís Garcia Rosa 1 1 Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis 2010 João
Leia maisRelatório de Diagnóstico de Eficiência de Energia
Relatório de Diagnóstico de Eficiência de Energia Nome do computador NENOS Hora de digitalização 2016-01-28T22:56:43Z Duração da digitalização 60 segundos Fabricante do sistema Dell Inc. Nome de Produto
Leia maisProgramação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre
Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 01 Fundamentos de Computadores Sumário : Conceitos básicos: computador,
Leia maisEstudo de Técnicas de Otimização de Desempenho para GPUs Utilizando CUDA Aplicado a um Modelo Meteorológico
Fabiano Cassol de Vargas Estudo de Técnicas de Otimização de Desempenho para GPUs Utilizando CUDA Aplicado a um Modelo Meteorológico Alegrete RS 08/2014 Fabiano Cassol de Vargas Estudo de Técnicas de
Leia maisCelso L. Mendes LAC /INPE
Arquiteturas para Processamento de Alto Desempenho (PAD) Aula 9 Celso L. Mendes LAC /INPE Email: celso.mendes@inpe.br Aula 9 (3/5): E. Aceleradores Estrutura Planejada i. Estruturas mais Populares ii.
Leia maisPRODUTIVIDADE NA INTEGRAÇÃO DE FERRAMENTAS E AUMENTO DE VELOCIDADE DE PROCESSAMENTO. Mário Castro - Especialista Rio de Janeiro, 05/07/2011
PRODUTIVIDADE NA INTEGRAÇÃO DE FERRAMENTAS E AUMENTO DE VELOCIDADE DE PROCESSAMENTO Mário Castro - Especialista Rio de Janeiro, 05/07/2011 Índice 2 CENÁRIO ATUAL: Escassez de mão-de-obra Qualidade Tempo
Leia maisBarramentos - BUS. Professor Especialista: Airton Ribeiro de Sousa
Professor Especialista: Airton Ribeiro de Sousa É o percurso principal dos dados entre dois ou mais componentes de um sistema de computação, neste caso são os caminhos arquitetados na PLACA MÃE até o ponto
Leia maisAULA: Introdução à informática Computador Digital
Campus Muriaé Professor: Luciano Gonçalves Moreira Disciplina: Informática Aplicada AULA: Introdução à informática Computador Digital Componentes de um computador digital : Hardware Refere-se às peças
Leia maisCAPÍTULO 2 ORGANIZAÇÃO DE COMPUTADORES
CAPÍTULO 2 ORGANIZAÇÃO DE COMPUTADORES 2.1 Organização de um Computador Típico : Armazena dados e programas. Processador (CPU - Central Processing Unit): Executa programas armazenados na memória, interpretando
Leia maisXVI Simpósio em Sistemas Computacionais de Alto Desempenho
XVI Simpósio em Sistemas Computacionais de Alto Desempenho Phillipe Pereira, Higo Albuquerque, Hendrio Marques, Isabela Silva, Vanessa Santos, Celso Carvalho, Ricardo Ferreira, Lucas Cordeiro Plataforma
Leia maisIntrodução à Arquitetura de Computadores
1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de
Leia maisComparativo de desempenho do Pervasive PSQL v11
Comparativo de desempenho do Pervasive PSQL v11 Um artigo Pervasive PSQL Setembro de 2010 Conteúdo Resumo executivo... 3 O impacto das novas arquiteturas de hardware nos aplicativos... 3 O projeto do Pervasive
Leia maisMotherboard Significado
Motherboard Significado Motherboard, também m designada por mainboard ou Placa-mãe, é uma placa de circuito impresso, que serve como base para a instalação dos componentes do computador, tais como processador,
Leia maisDisciplina de Introdução à Computação para Engenharia Ambiental
USP - ICMC - SSC SSC 0301-2o. Semestre 2013 Prof. Dr. Fernando Santos Osório Disciplina de Introdução à Computação para Engenharia Ambiental LRM - Laboratório de Robótica Móvel do ICMC / CROB-SC Email:
Leia maisCapítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal. Memória principal
Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal Organização Operações de leitura e escrita Capacidade http://www.ic.uff.br/~debora/fac! 1 2 Componente de um sistema
Leia maisLEVANTAMENTO DE HARDWARES PARA O DESENVOLVIMENTO DE SOFTWARE. Graphics
LEVANTAMENTO DE HARDWARES PARA O DESENVOLVIMENTO DE SOFTWARE Sabe-se que para o desenvolvimento de software as empresas adotam computadores com um grande poder de processamento. Facilitando assim todo
Leia maisAULA TEÓRICA 2 Tema 2. Conceitos básicos de informática, computadores e tecnologias de informação. Sistemas de numeração (continuação)
AULA TEÓRICA 2 Tema 2. Conceitos básicos de informática, computadores e tecnologias de informação. Sistemas de numeração (continuação) Digitalização. Arquitectura básica do hardware. Input, processamento,
Leia maisTECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO O que é a Informática? A palavra Informática tem origem na junção das palavras: INFORMAÇÃO + AUTOMÁTICA = INFORMÁTICA...e significa, portanto, o tratamento da informação
Leia maisSistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional
Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional Hardware HARDWARE Sistema Computacional = conjunto de circuitos eletrônicos interligados formado por processador, memória, registradores,
Leia mais