Programação em Paralelo OpenMP

Tamanho: px
Começar a partir da página:

Download "Programação em Paralelo OpenMP"

Transcrição

1 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

2 Introdução Potencial do GPU vs CPU Cálculo: 367 GFLOPS vs. 32 GFLOPS Largura de banda da memória: 86.4 GB/s vs. 8.4 GB/s GPU em todos os PCs e workstations Paralelização em CPUs Pthreads OpenMP MPI... Paralelização em GPUs CUDA OpenCL... N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 2 / 15

3 OpenMP N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 3 / 15

4 Outline 1 Introdução ao OpenMP 2 Modelo de Programação 3 Directivas C/C++ 4 Cláusulas 5 Exemplo: Redução 6 Exemplo: Sections 7 Construtores de Sincronização 8 Funções N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 4 / 15

5 Introdução ao OpenMP O que é o OpenMP? do inglês Open Multi-Processing, ou Multi-processamento aberto para CPUs API para programação paralela explícita standard para programação de sistemas de memória partilhada sobretudo paralelismo nos dados Constituída por: directivas de compilação bibliotecas de funções variáveis de ambiente Portátil versões para C/C++ e Fortran implementação para UNIX/Linux e Windows Objectivo - obter um standard de programação apoiado pelos grandes fabricantes de software e hardware N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 5 / 15

6 Modelo de Programação do OpenMP Paralelismo explícito Modelo de memória partilhada baseado em threads trabalho é dividido por threads de execução variáveis podem ser partilhadas por todos os threads duplicadas (privadas) para cada thread threads comunicam através das variáveis partilhadas Usar sincronização para evitar competição entre threads OpenMP Modelo de Execução Modelo de execução tipo "fork-join" Modelo de execução tipo fork join inicia execução com um processo (master thread) inicia execução com um processo (master thread) no início do construtor paralelo cria um team-of-threads no início do construtor paralelo cria um team of threads ao completar team-of-threads sincroniza numa barreira implícita ao completar o team of threads sincroniza numa barreira apenas o master continua em execução implícita apenas o master continua a execução Fernando Silva DCC FCUP 7 N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 6 / 15

7 Modelo de Programação do OpenMP OPENMP controlo de estruturas paralelas (directivas) distribuição de tarefas (directivas) variáveis (clausulas) sincronização (directivas) variáveis runtime e de ambiente parallel for parallel for section shared private... critical atomic barrier... omp_set_num_threads() omp_get_num_threads() OMP_NUM_THREADS OMP_SCHEDULE.... O número de threads na região paralela é determinado pelos seguintes factores (ordem de precedência): cláusula num_threads(int) função omp_set_num_threads() variável ambiente OMP_NUM_THREADS default - depende da implementação Os threads são numerados de 0 a N 1 Por defeito, um programa com varias regiões em paralelo usará o mesmo número de threads para cada região, a menos que seja redefinido N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 7 / 15

8 OpenMP: Directivas C/C++ #pragma omp directive-name [clause,...] newline directive-name uma directiva OpenMP válida. Tem de aparecer depois do pragma e antes das cláusulas [clause,...] Opcional. Podem aparecer em qualquer ordem e se necessário repetidas. newline Obrigatório. Seguido do bloco estruturado que vai ser executado em paralelo. #include < s t d i o. h> # include <omp. h> main ( ) { #pragma omp p a r a l l e l p r i n t f ( " Hello World \ n " ) ; return 0; } Compilar em Linux: gcc -o exemplo exemplo.c -fopenmp 1 processador Hello World 4 processadores Hello World Hello World Hello World Hello World N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 8 / 15

9 Cláusulas OpenMP #pragma omp parallel clause bloco_codigo(); As cláusulas possibilitam ao utilizador o controlo do âmbito das variáveis na região paralela. private(list) as variáveis da lista ficam privadas a cada thread do team não são inicializadas firstprivate(list) permite que as variáveis privadas sejam inicializadas shared(list) as variáveis da lista são partilhadas por todos os threads por defeito as variáveis são "shared" reduction(operator: list) permite operar sobre as variáveis da lista copyin(list) possibilita a atribuição do mesmo valor a variáveis THREADPRIVATE if(exp) tem de avaliar como verdadeiro para que o team de threads seja criado, senão a execução será sequencial. N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 9 / 15

10 Exemplo: Redução # include <omp. h> #include < s t d i o. h> #include < s t d l i b. h> i n t main ( i n t argc, char argv [ ] ) { i n t i, n, num_threads ; i n t sum = 0; n = 1000; i n t a = ( i n t ) malloc ( n sizeof ( i n t ) ) ; for ( i =0; i < n ; i ++) a [ i ] = i ; #pragma omp p a r a l l e l num_threads= omp_get_num_threads ( ) ; p r i n t f ( " \ nnumero de Threads : %d \ n \ n ", num_threads ) ; } #pragma omp p a r a l l e l for for ( i =0; i < n ; i ++) sum += a [ i ] ; p r i n t f ( " Sum = %d \ n ",sum ) ; Qual é o problema no código? N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 10 / 15

11 Exemplo: Redução # include <omp. h> #include < s t d i o. h> #include < s t d l i b. h> i n t main ( i n t argc, char argv [ ] ) { i n t i, n, num_threads ; i n t sum = 0; n = 1000; i n t a = ( i n t ) malloc ( n sizeof ( i n t ) ) ; for ( i =0; i < n ; i ++) a [ i ] = i ; #pragma omp p a r a l l e l num_threads= omp_get_num_threads ( ) ; p r i n t f ( " \ nnumero de Threads : %d \ n \ n ", num_threads ) ; } #pragma omp p a r a l l e l for for ( i =0; i < n ; i ++) sum += a [ i ] ; p r i n t f ( " Sum = %d \ n ",sum ) ; Qual é o problema no código? Vários threads a ler e escrever para sum N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 10 / 15

12 Exemplo: Redução (Cont.) Solução 1: reduction(operator: list) # include <omp. h> #include < s t d i o. h> #include < s t d l i b. h> i n t main ( i n t argc, char argv [ ] ) { i n t i, n, num_threads ; i n t sum = 0; n = 1000; i n t a = ( i n t ) malloc ( n sizeof ( i n t ) ) ; for ( i =0; i < n ; i ++) a [ i ] = i ; #pragma omp p a r a l l e l num_threads= omp_get_num_threads ( ) ; p r i n t f ( " \ nnumero de Threads : %d \ n \ n ", num_threads ) ; } #pragma omp p a r a l l e l for reduction ( + : sum) for ( i =0; i < n ; i ++) sum += a [ i ] ; p r i n t f ( " Sum = %d \ n ",sum ) ; N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 11 / 15

13 Exemplo: Redução (Cont.) Solução 2: Um array com o tamanho dado pelo número de threads # include <omp. h> #include < s t d i o. h> #include < s t d l i b. h> i n t main ( i n t argc, char argv [ ] ) { i n t i, n, num_threads ; i n t sum = 0; n = 1000; i n t a = ( i n t ) malloc ( n sizeof ( i n t ) ) ; for ( i =0; i < n ; i ++) a [ i ] = i ; #pragma omp p a r a l l e l num_threads= omp_get_num_threads ( ) ; p r i n t f ( " \ nnumero de Threads : %d \ n \ n ", num_threads ) ; i n t asum = ( i n t ) malloc ( num_threads sizeof ( i n t ) ) ; for ( i =0; i < num_threads ; i ++) asum [ num_threads ] = 0; #pragma omp p a r a l l e l for for ( i =0; i < n ; i ++) asum [ omp_get_thread_num ( ) ] += a [ i ] ; } for ( i =0; i < num_threads ; i ++) sum += asum [ i ] ; p r i n t f ( " Sum = %d \ n ",sum ) ; N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 12 / 15

14 Exemplo: Sections main ( ) { #pragma omp p a r a l l e l { #pragma omp section Task1 ( ) ; #pragma omp section Task2 ( ) ; #pragma omp section Task3 ( ) ; #pragma omp section Task4 ( ) ; } } sections 1 processador executa as tasks de forma sequencial 4 processadores uma task para cada processador N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 13 / 15

15 Construtores de Sincronização omp master especifica uma região que será executada apenas pelo master (os outros ignoram) omp critical especifica uma região crítica de código que deve ser executada apenas por um thread de cada vez. omp barrier quando esta directiva é alcançada por um thread, este espera até que os restantes cheguem ao mesmo ponto. omp atomic especifica um endereço de memória para actualização atómica. omp flush identifica um ponto de sincronização no qual é necessário providenciar uma visão consistente da memória. omp ordered especifica que as iterações devem ser executadas pela mesma ordem, como se fossem executadas sequencialmente. N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 14 / 15

16 Funções OpenMP void omp_set_num_threads(int) invocada na parte sequencial. int omp_get_num_threads(void) retorna o número de threads activos int omp_get_max_threads(void) retorna o número máximo de threads permitidos int omp_get_thread_num(void) retorna o ID do thread (entre 0 e N 1) int omp_get_num_procs(void) retorna o número de processadores disponíveis para o programa void omp_init_lock(omp_lock_t*) Inicializa um lock associado a variável de lock void omp_destroy_lock(omp_lock_t*) void omp_set_lock(omp_lock_t*) espera ate conseguir o lock void omp_unset_lock(omp_lock_t*) liberta o lock double omp_get_wtime(void) retorna o o num. segundos decorridos (elapsed time) double omp_get_wtick(void) retorna os segundos decorridos entre chamadas sucessivas N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 15 / 15

Introdução ao OpenMP

Introdução ao OpenMP Introdução ao OpenMP Fernando Silva DCC FCUP Recursos OpenMP.org (http://www.openmp.org) Tutorial (http://www.llnl.gov/computing/tutorials/openmp/) Implementação gratuita Omni OpenMP compiler project (http://phase.hpcc.jp/omni/)

Leia mais

OpenMP. Slides baseados em tutorial de Tim Mattson da Intel

OpenMP. Slides baseados em tutorial de Tim Mattson da Intel OpenMP Slides baseados em tutorial de Tim Mattson da Intel O que é OpenMP? Uma especificação para um conjunto de diretivas de compilação, rotinas de biblioteca e variáveis de sistema que podem ser utilizadas

Leia mais

Bibliografia. OpenMP. Disponibilidade de OpenMP. Abordagem SPMD. Nicolas Maillard

Bibliografia. OpenMP. Disponibilidade de OpenMP. Abordagem SPMD. Nicolas Maillard Bibliografia Nicolas Maillard nicolas@inf.ufrgs.br Instituto de Informática Universidade Federal do Rio Grande do Sul home-page: http://www.openmp.org/presentations Parallel Programming in. R. Chandra

Leia mais

SSC 0742 PROGRAMAÇÃO CONCORRENTE. Aula 08 Ferramentas de Apoio ao Desenvolvimento de Aplicações Concorrentes OpenMP Prof.

SSC 0742 PROGRAMAÇÃO CONCORRENTE. Aula 08 Ferramentas de Apoio ao Desenvolvimento de Aplicações Concorrentes OpenMP Prof. SSC 0742 PROGRAMAÇÃO CONCORRENTE Aula 08 Ferramentas de Apoio ao Desenvolvimento de Aplicações Concorrentes OpenMP Prof. Jó Ueyama Créditos Os slides integrantes deste material foram construídos a par4r

Leia mais

Introdução ao OpenMP

Introdução ao OpenMP Introdução ao OpenMP Threads em CPU multicore Rogério A. Gonçalves 1,2 Alfredo Goldman 2 1 Departamento de Computação (DACOM) Universidade Tecnológica Federal do Paraná (UTFPR) 2 Departamento de Ciência

Leia mais

for(int x=0; x < width; x++) { for(int y=0; y < height; y++) { finalimage[x][y]=renderpixel(x,y, &scenedata); } }

for(int x=0; x < width; x++) { for(int y=0; y < height; y++) { finalimage[x][y]=renderpixel(x,y, &scenedata); } } Paralelização em OpenMP Identifique os loops pesados ; Distribua-os: Versão sequencial double res[10000]; calculo_pesado(&res[i]); Versão paralela double res[10000]; for calculo_pesado(&res[i]); OMP for

Leia mais

Agenda. O que é OpenMP? Regiões Paralelas Construtores para Compartilhamento de

Agenda. O que é OpenMP? Regiões Paralelas Construtores para Compartilhamento de Programando OpenMP Agenda O que é OpenMP? Regiões Paralelas Construtores para Compartilhamento de Trabalho Montando um escopo de dados para proteger de condições de corrida Cláusulas de agendamento O que

Leia mais

Paralelismo em Computadores com Tecnologia Multicore

Paralelismo em Computadores com Tecnologia Multicore IFRN - Pau dos Ferros Pau dos Ferros/RN, 25 de fevereiro de 2016 O minicurso Descrição: Para se utilizar os vários núcleos de processamento disponíveis nos computadores atuais de forma eficiente, faz necessário

Leia mais

OpenMP. Adaptado do Material do Calebe de Paula Bianchini

OpenMP. Adaptado do Material do Calebe de Paula Bianchini OpenMP Adaptado do Material do Calebe de Paula Bianchini calebe.bianchini@mackenzie.br HelloWorld #pragma omp parallel // Code inside this region runs in parallel. printf("hello!\n"); 2 O que é OpenMP*?

Leia mais

Sistemas Distribuídos e Paralelos

Sistemas Distribuídos e Paralelos Sistemas Distribuídos e Paralelos Aula #6: Programação paralela em sistemas de memória compartilhada. ISUTIC - 2016 Eng. Alexander Rodríguez Bonet Aula de hoje Regiões paralelas. Cláusulas de âmbito. Partilha

Leia mais

Introdução OpenMP. Nielsen Castelo Damasceno

Introdução OpenMP. Nielsen Castelo Damasceno Introdução OpenMP Nielsen Castelo Damasceno Computação de auto desempenho Processamento Paralelo Memória Distribuída e Compartilhada Modelo de programação OpenMP Métricas de Desempenho Computação de auto

Leia mais

OpenMP: Variáveis de Ambiente

OpenMP: Variáveis de Ambiente Treinamento OpenMP C/C++ 1 TREINAMENTO OpenMP C/C++ Módulo 1 Computação de Alto Desempenho Módulo 2 OpenMP: Construtores Paralelos Módulo 3 OpenMP: Diretivas de sincronização Módulo 4 OpenMP: Funções de

Leia mais

Construtores de Sicronização em OpenMP

Construtores de Sicronização em OpenMP Construtores de Sicronização em OpenMP Esbel Tomás Valero Orellana Bacharelado em Ciência da Computação Departamento de Ciências Exatas e Tecnológicas Universidade Estadual de Santa Cruz evalero@uesc.br

Leia mais

Matheus S. Serpa, Vinícius G. Pinto, Philippe O. A. Navaux Contato: INTEL MODERN CODE PARTNER

Matheus S. Serpa, Vinícius G. Pinto, Philippe O. A. Navaux Contato: INTEL MODERN CODE PARTNER INTEL MODERN CODE: INTRODUÇÃO À PROGRAMAÇÃO VETORIAL E PARALELA PARA O PROCESSADOR INTEL XEON PHI KNIGHTS LANDING Matheus S. Serpa, Vinícius G. Pinto, Philippe O. A. Navaux Contato: msserpa@inf.ufrgs.br

Leia mais

OpenMP: Variáveis de Ambiente

OpenMP: Variáveis de Ambiente Treinamento OpenMP C/C++ 1 TREINAMENTO OpenMP C/C++ Módulo 1 Computação de Alto Desempenho Módulo 2 OpenMP: Construtores Paralelos Módulo 3 OpenMP: Diretivas de sincronização Módulo 4 OpenMP: Funções de

Leia mais

Variáveis em OpenMP. Esbel Tomás Valero Orellana

Variáveis em OpenMP. Esbel Tomás Valero Orellana Variáveis em OpenMP Esbel Tomás Valero Orellana Bacharelado em Ciência da Computação Departamento de Ciências Exatas e Tecnológicas Universidade Estadual de Santa Cruz evalero@uesc.br 31 de Maio de 2010

Leia mais

Para saber se o pacote está disponível nos repositórios, abra um terminal e digite (use o comando abaixo):

Para saber se o pacote está disponível nos repositórios, abra um terminal e digite (use o comando abaixo): Executando OpenMP Usaremos o Boot Remoto instalado na sala 6 do LIICT. Alguns comando para Debian/Ubuntu: Para saber se o pacote está disponível nos repositórios, abra um terminal e digite (use o comando

Leia mais

OpenMP. Aleardo Manacero Jr.

OpenMP. Aleardo Manacero Jr. OpenMP Aleardo Manacero Jr. Copyright Notice Material parcialmente retirado de Introduction to OpenMP, por Rudi Eigenmann -- eigenman@ecn.purdue.edu, Bob Kuhn -- bob@kai.com, Tim Mattson -- timothy.g.mattson@intel.com,

Leia mais

PROGRAMAÇÃO. Programação paralela com o OpenMP Em paralelo

PROGRAMAÇÃO. Programação paralela com o OpenMP Em paralelo PROGRAMAÇÃO Programação paralela com o OpenMP Em paralelo O OpenMP traz o poder do multiprocessamento aos programas em C, C++ e Fortran. por Wolfgang Dautermann A nova safra de processadores com múltiplos

Leia mais

Programação em Memória Partilhada com o OpenMP

Programação em Memória Partilhada com o OpenMP Programação em Memória Partilhada com o OpenMP Ricardo Rocha Departamento de Ciência de Computadores Faculdade de Ciências Universidade do Po rto Computação Paralela 2015/2016 R. Rocha (DCC-FCUP) Programação

Leia mais

OpenMP. Slides baseados em tutorial de Tim Mattson da Intel

OpenMP. Slides baseados em tutorial de Tim Mattson da Intel OpenMP Slides baseados em tutorial de Tim Mattson da Intel Modelo OpenMP Como as threads interagem? OpenMP é um modelo baseado em multithreading Threads se comunicam pelo compartilhamento de variáveis

Leia mais

Introdução à OpenMP (Dia 1) Prof. Guido Araujo

Introdução à OpenMP (Dia 1) Prof. Guido Araujo Introdução à OpenMP (Dia ) Prof. Guido Araujo www.ic.unicamp.br/~guido Roteiro Escrevendo programas usando OpenMP Usando OpenMP para paralelizar laços seriais com pequenas mudanças no código fonte Explorar

Leia mais

Paralela e Distribuída. Memória Paralela com o OpenMP

Paralela e Distribuída. Memória Paralela com o OpenMP Programação Paralela e Distribuída Programação em Memória Paralela com o OpenMP OpenMP O que significa OpenMP: Open specifications for Multi Processing via collaborative work between interested parties

Leia mais

Open Multi-Processing - OpenMP Papers and Abstracts

Open Multi-Processing - OpenMP Papers and Abstracts Open Multi-Processing - OpenMP Papers and Abstracts Nelsi Warken 1 Programa de Pós-Graduação em Informática Mestrado em Ciência da Computação Universidade Católica de Pelotas, RS, Brasil nelsi.warken@gmail.com

Leia mais

Paralela e Distribuída. com o MPI e o OpenMP

Paralela e Distribuída. com o MPI e o OpenMP Programação Paralela e Distribuída Programação Híbrida com o e o OpenMP e OpenMP Uma forma de executar um programa em paralelo num cluster multiprocessor é criar um processo por cada processador. Nesse

Leia mais

Programação Paralela e Distribuída - OpenMP

Programação Paralela e Distribuída - OpenMP Bacharelado em Ciência da Computação DCC-IM / UFRJ Programação Paralela e Distribuída - OpenMP Um curso prático Gabriel P. Silva Roteiro Introdução ao OpenMP Regiões Paralelas Diretivas de Compartilhamento

Leia mais

Jorge Barbosa, FEUP-DEI 2008

Jorge Barbosa, FEUP-DEI 2008 Técnicas para paralelização de aplicações Jorge Barbosa, FEUP-DEI 2008 Índice Introdução Técnicas de paralelização de aplicações Nível 1: Usando código sequencial Nível 2: Alteração mínima de código sequencial

Leia mais

ÍNDICE PARTE I INTRODUÇÃO... 6

ÍNDICE PARTE I INTRODUÇÃO... 6 Edição 1, 03/2008 A documentação apresentada a seguir foi elaborada pelos embaixadores Joseanderson Caldas e Maria Cecília Sena, membros do Laboratório de Computação Científica e Visualização (LCCV-UFAL)

Leia mais

Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída)

Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída) Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída) Modelos de consistência de memória João Luís Ferreira Sobral jls@... 29 Março 2011 Resumo Revisão: modelos de threads Qual a necessidade

Leia mais

OpenMP. Mestrado em Ciência da Computação Introdução ao Processamento Paralelo e Distribuído Prof. Dr. Adenauer Corrêa Yamin Mestranda: Nelsi Warken

OpenMP. Mestrado em Ciência da Computação Introdução ao Processamento Paralelo e Distribuído Prof. Dr. Adenauer Corrêa Yamin Mestranda: Nelsi Warken OpenMP Mestrado em Ciência da Computação Introdução ao Processamento Paralelo e Distribuído Prof. Dr. Adenauer Corrêa Yamin Mestranda: Nelsi Warken Sumário 1. Introdução 2. História 3. Motivação 4. Objetivos

Leia mais

OpenMP: Uma Introdução

OpenMP: Uma Introdução Instituto de Informática OpenMP: Uma Introdução Cláudio Geyer Fonte! Fontes! Slides inicialmente baseados em palestra de Ruud van der Pas! Janeiro de 2009! Na Nanyang Technological University, Singapore!

Leia mais

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017. ALUNO Prof. Bosco

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017. ALUNO Prof. Bosco INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO Prof. Bosco 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) Sockets são abstrações utilizadas nos protocolos de comunicação

Leia mais

Introdução ao OpenMP

Introdução ao OpenMP Universidade Estadual de Campinas Centro Nacional de Processamento de Alto Desempenho São Paulo Apostila de Treinamento: Introdução ao OpenMP Revisão: 2014 Índice 1. Conceitos 03 1. Shared Memory 03 2.

Leia mais

INE5645 PROGRAMAÇAO PARALELA E DISTRIBUÍDA PROVA 1 18/09/2017 ALUNO: Prof. Bosco

INE5645 PROGRAMAÇAO PARALELA E DISTRIBUÍDA PROVA 1 18/09/2017 ALUNO: Prof. Bosco INE5645 PROGRAMAÇAO PARALELA E DISTRIBUÍDA PROVA 1 18/09/2017 ALUNO: Prof. Bosco 1. a. (Verdade/Falso) Threads ou processos são programas sequenciais. Programação concorrente é aquela onde diversos processos/threads

Leia mais

Introdução à Programação Paralela com OpenMP: Além das Diretivas de Compilação

Introdução à Programação Paralela com OpenMP: Além das Diretivas de Compilação Capítulo 3 Introdução à Programação Paralela com OpenMP: Além das Diretivas de Compilação Rogério A. Gonçalves, João Martins de Queiroz Filho e Alfredo Goldman Abstract Compilation directives have been

Leia mais

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

Té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 mais

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) Sockets são abstrações utilizadas nos protocolos de comunicação UDP e TCP,

Leia mais

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMAÇÃO PARALELA

Leia mais

Memórias Cache em Arquiteturas Multiprocessador e Multicore

Memórias Cache em Arquiteturas Multiprocessador e Multicore Memórias Cache em Arquiteturas Multiprocessador e Multicore Ricardo Rocha Departamento de Ciência de Computadores Faculdade de Ciências Universidade do Porto Computação Paralela 2015/2016 R. Rocha (DCC-FCUP)

Leia mais

UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1

UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1 UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1 Eldair F. Dornelles 2, Henrique A. Richter 3, Miquéias F. M. Trennepohl 4, Taís T. Siqueira

Leia mais

Programação em Memória Compartilhada com OpenMP

Programação em Memória Compartilhada com OpenMP Programação em Memória Compartilhada com OpenMP Esbel Tomás Valero Orellana Bacharelado em Ciência da Computação Departamento de Ciências Exatas e Tecnológicas Universidade Estadual de Santa Cruz evalero@uesc.br

Leia mais

CAP-387(2016) Tópicos Especiais em

CAP-387(2016) Tópicos Especiais em CAP-387(2016) Tópicos Especiais em Computação Aplicada: Construção de Aplicações Massivamente Paralelas Aula 34: Programação MPI+OpenMP Celso L. Mendes, Stephan Stephany LAC / INPE Emails: celso.mendes@inpe.br,

Leia mais

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) Sockets são abstrações utilizadas nos protocolos de comunicação UDP e TCP,

Leia mais

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

Programação de Alto Desempenho - 2. Prof: Carla Osthoff Programação de Alto Desempenho - 2 Prof: Carla Osthoff E-mail: osthoff@lncc.br 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda

Leia mais

Paralela e Distribuída. Memórias Cache e Arquitecturas Multi-Processador

Paralela e Distribuída. Memórias Cache e Arquitecturas Multi-Processador Programação Paralela e Distribuída Memórias Cache e Arquitecturas Multi-Processador Memórias Cache e Arquitecturas Multi-Processador A principal motivação para utilizar o OpenMP é conseguir maximizar a

Leia mais

Monografia. Análise Comparativa de Desempenho de um algoritmo Paralelo implementado nas Linguagens de Programação CPAR e OpenMP

Monografia. Análise Comparativa de Desempenho de um algoritmo Paralelo implementado nas Linguagens de Programação CPAR e OpenMP Monografia Análise Comparativa de Desempenho de um algoritmo Paralelo implementado nas Linguagens de Programação CPAR e OpenMP disciplina: Programação Paralela e Distribuída Professora: Liria Matsumoto

Leia mais

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) A comunicação entre processos consiste em transmitir uma mensagem entre o

Leia mais

Laboratório de Programação Paralela. Introdução. Prof. Carlos Bazilio

Laboratório de Programação Paralela. Introdução. Prof. Carlos Bazilio Laboratório de Programação Paralela Introdução Prof. Carlos Bazilio Motivação Máquinas paralelas eram arquiteturas raras antigamente Este quadro se modificou por, pelo menos, 2 razões: Barateamento dos

Leia mais

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) A comunicação entre processos consiste em transmitir uma mensagem entre o

Leia mais

Introdução à programação paralela em Fortran usando OpenMP e MPI

Introdução à programação paralela em Fortran usando OpenMP e MPI Introdução à programação paralela em Fortran usando OpenMP e MPI Henrique Gavioli Flores,Alex Lima de Mello, Marcelo Trindade Rebonatto Universidade de Passo Fundo 5 de Abril de 2018 1/28 1 / 28 Sumário

Leia mais

Intel Thread Building Blocks (TBB)

Intel Thread Building Blocks (TBB) Intel Thread Building Blocks (TBB) MCZA020-13 - Programação Paralela Emilio Francesquini e.francesquini@ufabc.edu.br 2019.Q1 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Disclaimer

Leia mais

Linguagem Chapel. Walter Perez Urcia. Universidade de São Paulo Instituto de Matemática e Estadística Departamento de Ciências da Computação

Linguagem Chapel. Walter Perez Urcia. Universidade de São Paulo Instituto de Matemática e Estadística Departamento de Ciências da Computação Linguagem Chapel Walter Perez Urcia Universidade de São Paulo Instituto de Matemática e Estadística Departamento de Ciências da Computação 17 de junho de 2015 Walter Perez (IME - USP) Linguagem Chapel

Leia mais

Processamento Paralelo Utilizando GPU

Processamento 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 mais

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem

Leia mais

ANÁLISE DE DESEMPENHO COM A PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PERFEITOS 1

ANÁLISE DE DESEMPENHO COM A PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PERFEITOS 1 ANÁLISE DE DESEMPENHO COM A PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PERFEITOS 1 Éder Paulo Pereira 2, Gilberto Przygoda Marmitt 3, Emilio Hoffmann De Oliveira 4, Edson Luiz Padoin 5, Carlos Eduardo Das Chagas

Leia mais

Ferramentas para Programação em Processadores Multi-Core

Ferramentas para Programação em Processadores Multi-Core Ferramentas para Programação em Processadores Multi-Core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Arquiteturas multi-core Ferramentas de programação Prática

Leia mais

SSC PROGRAMAÇÃO CONCORRENTE. Aula 06 Modelos de Programação Prof. Jó Ueyama e Julio Cezar Estrella

SSC PROGRAMAÇÃO CONCORRENTE. Aula 06 Modelos de Programação Prof. Jó Ueyama e Julio Cezar Estrella SSC- 0143 PROGRAMAÇÃO CONCORRENTE Aula 06 Modelos de Programação Prof. Jó Ueyama e Julio Cezar Estrella Créditos Os slides integrantes deste material foram construídos a par4r dos conteúdos relacionados

Leia mais

COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1

COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1 COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1 Márcia Da Silva 2, Igor Gamste Haugg 3, Eliézer Silveira Prigol 4, Édson L. Padoin 5, Rogério S. M. Martins

Leia mais

Programação Paralela. Introdução

Programação Paralela. Introdução Programação Paralela Introdução Prof. Carlos Bazilio http://www.puro.uff.br/bazilio Departamento de Computação Instituto de Ciência e Tecnologia Pólo Universitário de Rio das Ostras Universidade Federal

Leia mais

Desenvolvendo Aplicações OpenMP

Desenvolvendo Aplicações OpenMP 5 Desenvolvendo Aplicações OpenMP And there is more to come Ruud van der Pas (Sun Microsystems) An Overview of OpenMP 3.0- (IWOMP 2009) Professores: Nicolas Maillard 1 (nicolas@inf.ufrgs.br) Márcia Cristina

Leia mais

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal ALGORITMOS AULA 01 Baseado nas aulas do Prof. Jorgiano Vidal LINGUAGEM C Uma das grandes vantagens do C é que ele possui tanto caracterìsticas de "alto nìvel" quanto de "baixo nìvel". Linguagem de propósito

Leia mais

Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER

Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER COMPARAÇÃO DE DESEMPENHO NA PROGRAMAÇÃO PARALELA HÍBRIDA (MPI + OPENMP) NA BUSCA DE TEXTO EM ARQUIVOS 1 COMPARISON OF PERFORMANCE IN HYBRID PARALLEL PROGRAMMING (MPI + OPENMP) IN SEARCH OF TEXT IN FILES

Leia mais

Apostila de Introdução ao OpenMP

Apostila de Introdução ao OpenMP Apostila de Introdução ao OpenMP INE5645 Programação Paralela e Distribuída Prof. João Bosco M. Sobral Março de 2017 Quando você executa um programa sequencial As instruções são executadas em 1 núcleo

Leia mais

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

Paralelismo 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 mais

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Fabrício Sérgio de Paula

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Fabrício Sérgio de Paula Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Fabrício Sérgio de Paula Tópicos Conceitos Modelos multithreads Bibliotecas Opções de criação

Leia mais

Programação Paralela e Distribuída (DCC/UFRJ)

Programação Paralela e Distribuída (DCC/UFRJ) Programação Paralela e Distribuída (DCC/UFRJ) Aula 7: Programação com memória compartilhada usando OpenMP 1, 8, 10 e 15 de abril de 2015 OpenMP (Open MultiProcessing) Projetado para sistemas de memória

Leia mais

Ferramentas para Programação em Processadores Multi-Core

Ferramentas para Programação em Processadores Multi-Core Ferramentas para Programação em Processadores Multi-Core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Arquiteturas multi-core Programação multithread Prática

Leia mais

Paralelização Introdução a vetorização, OpenMP e MPI

Paralelização Introdução a vetorização, OpenMP e MPI 1/43 Paralelização Introdução a vetorização, OpenMP e MPI 3 OpenMP Paulo Penteado IAG / USP pp.penteado@gmail.com Esta apresentação: Arquivos do curso: Artigo relacionado: http://www.ppenteado.net/ast/pp_para_on/pp_para_on_3.pdf

Leia mais

Introdução aos Conceitos de Computação Paralela através da estimativa de Pi

Introdução aos Conceitos de Computação Paralela através da estimativa de Pi Introdução aos Conceitos de Computação Paralela através da estimativa de Pi Diego da Silva Pereira 1 1 Professor de Redes de Computadores IFRN Câmpus Currais Novos. e-mail: diego.pereira@ifrn.edu.br Resumo:

Leia mais

Linguagem C Princípios Básicos (parte 1)

Linguagem C Princípios Básicos (parte 1) Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Programação Concorrente Introdução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Introdução Programa Seqüencial Representado por apenas um processo Existe apenas

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Multithreading (multiprogramação leve) Aula 04 Forma diferente de enxergar a abstração de processo = Conjunto de recursos relacionados endereçamento, arquivos, filhos,

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 4: Programação Concorrente Diego Passos Últimas Aulas Processos Compostos por: Código (programa). Estado (memória, registradores). Em um sistema com multiprogramação:

Leia mais

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

Paradigmas 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 mais

Programação Estruturada I

Programação Estruturada I Programação Estruturada I Introdução a Linguagem C Prof. Thiago Caproni Tavares 1 Prof. Mateus dos Santos 2 1 thiago.tavares@ifsuldeminas.edu.br 2 mateus.santos@ifsuldeminas.edu.br Última Atualização:

Leia mais

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

Sparse Matrix-Vector Multiplication on GPU: When Is Rows Reordering Worthwhile? Sparse Matrix-Vector Multiplication on GPU: When Is Rows Reordering Worthwhile? Paula Prata João Muranho Instituto de Telecomunicações Departamento de Informática Universidade da Beira Interior Instituto

Leia mais

XV ESCOLA REGIONAL DE ALTO DESEMPENHO ERAD 2015

XV ESCOLA REGIONAL DE ALTO DESEMPENHO ERAD 2015 XV ESCOLA REGIONAL DE ALTO DESEMPENHO ERAD 2015 Impacto das Interfaces de Programação Paralela e do Grau de Paralelismo no Consumo Energético de uma Aplicação Thayson R. Karlinski, Arthur F. Lorenzon,

Leia mais

Programação em Paralelo. N. Cardoso & P. Bicudo. Física Computacional - MEFT 2010/2011

Programaçã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 mais

O Modelo Síncrono BSP para Computação Paralela

O Modelo Síncrono BSP para Computação Paralela O Modelo Síncrono BSP para Computação Paralela Raphael Y. de Camargo Ricardo Andrade Departamento de Ciência da Computação Instituto de Matemática e Estatística Universidade de São Paulo, Brasil São Paulo,

Leia mais

13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Mestrado em Engenharia Física Tecnológica

13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Mestrado em Engenharia Física Tecnológica 13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física

Leia mais

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

Introduçã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 mais

Programação em Paralelo. N. Cardoso & P. Bicudo. Física Computacional - MEFT 2010/2011

Programaçã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 mais

ERAD SP 2013. IV Escola Regional de Alto Desempenho de São Paulo. Programando para múltiplos processadores: Pthreads, OpenMP e MPI.

ERAD SP 2013. IV Escola Regional de Alto Desempenho de São Paulo. Programando para múltiplos processadores: Pthreads, OpenMP e MPI. ERAD SP 2013 IV Escola Regional de Alto Desempenho de São Paulo São Carlos / SP Minicurso Programando para múltiplos processadores: Pthreads, OpenMP e MPI Liria Matsumoto Sato (EP/USP) e Hélio Crestana

Leia mais

Básico: estrutura de programa, sintaxe Interface com linha de comando

Básico: estrutura de programa, sintaxe Interface com linha de comando Programação em C Sintaxe Básico: estrutura de programa, sintaxe Interface com linha de comando Preprocessamento e compilação Makefiles Ponteiros e estruturas Bibliotecas, ficheiros include e funções Referências

Leia mais

Fabrício Gomes Vilasbôas

Fabrí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 mais

Message Passing Interface - MPI. Jorge Barbosa

Message Passing Interface - MPI. Jorge Barbosa Message Passing Interface - MPI Jorge Barbosa Introdução ao MPI Até ao fim dos anos 80, os fabricantes de computadores desenvolviam a sua própria biblioteca de funções para desenvolver programas paralelos.

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMANDO

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para

Leia mais

Conversão de algoritmos de processamento e análise de dados atmosféricos da linguagem C para CUDA

Conversão de algoritmos de processamento e análise de dados atmosféricos da linguagem C para CUDA Conversão de algoritmos de processamento e análise de dados atmosféricos da linguagem C para CUDA Bruno Nocera Zanette - brunonzanette@gmail.com Prof. Fabiano Silva - fabiano@inf.ufpr.br Uma análise do

Leia mais

Paradigmas de Computação Paralela

Paradigmas de Computação Paralela Paradigmas de Computação Paralela Modelos e Linguagens de Computação Paralela João Luís Ferreira Sobral jls@... 1 Dezembro 2015 Razões para a computação paralela (cf. Skillicorn & Talia 1998) O mundo é

Leia mais

Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core

Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core RSS-Verão-01/08 p.1/36 Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7 Escola de Verão 2008 Arquiteturas Multi-Core Renato S. Silva LNCC - MCT Janeiro de 2008 RSS-Verão-01/08 p.2/36 Objetivo:

Leia mais

Threads. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

Threads. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos, Threads Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Objetivos da aula Introduzir a noção de thread uma unidade básica de utilização do CPU Discutir os benefícios e os problemas

Leia mais

Distâncias entre vértces em um grafo. Paralelização. André de Freitas Smaira

Distâncias entre vértces em um grafo. Paralelização. André de Freitas Smaira Distâncias entre vértces em um grafo Paralelização André de Freitas Smaira 1 1 Comentários iniciais Os códigos enviados são referentes à contabilização do tempo que não inclui a escrita (esse assunto será

Leia mais

5 Unidades de Processamento Gráfico GPUs

5 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 mais

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

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (2.0) (a) (Verdade/Falso) A comunicação entre processos consiste em transmitir uma mensagem entre

Leia mais

StarPU. Edênis Freindorfer Azevedo. 10 de junho de Instituto de Matemática e Estatística

StarPU. Edênis Freindorfer Azevedo. 10 de junho de Instituto de Matemática e Estatística Instituto de Matemática e Estatística 10 de junho de 2015 Definição Principais ideias 1. Entender o que é. 2. Entender como funciona. Definição Resumo é uma biblioteca de programação para arquiteturas

Leia mais

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

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010 Sistemas Gráficos INF1339 Computação Gráfica Tridimensional Waldemar Celes celes@inf.puc-rio.br sala 505 RDC Tecgraf, DI/PUC-Rio 2 de Agosto de 2010 W. Celes Sistemas Gráficos 1 Visualização 3D Objetivo

Leia mais

Computação Paralela (CUDA)

Computaçã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 mais

Programação Concorrente e Paralela

Programação Concorrente e Paralela 2010.2 Objetivos princípios e técnicas de programação paralela multiprocessadores memória compartilhada troca de mensagens arquiteturas alternativas multicomputadores troca de mensagens obs: Essa troca

Leia mais