• Nenhum resultado encontrado

10dejunhode2015 EdênisFreindorferAzevedo StarPU

N/A
N/A
Protected

Academic year: 2022

Share "10dejunhode2015 EdênisFreindorferAzevedo StarPU"

Copied!
28
0
0

Texto

(1)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

StarPU

Edênis Freindorfer Azevedo

Instituto de Matemática e Estatística

10 de junho de 2015

(2)

Principais ideias

1. Entender o que é StarPU.

2. Entender como StarPU

funciona.

(3)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

Definição

Resumo

I StarPU é uma biblioteca de programação para arquiteturas híbridas.

I Possui um sistema de escalonamento embutido.

(4)

Origem

I Desenvolvido pelo INRIA.

I Iniciado em 2009.

I Versão 1.1.4 lançada em março de 2015.

I Open Source – Licença LGPL

(5)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

Contexto Motivo I Motivo II

Contexto

Dadas duas matrizes, como fazer a multiplicação/soma/subtração?

(6)

Motivo I

(7)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

Contexto Motivo I Motivo II

Motivo II

”While a lot of efforts have been devoted to offload computation onto such accelerators, very little

attention has been paid to portability concerns on the one hand, and to the possibility of having

heterogeneous accelerators and processors to interact on the other hand.”

Fonte: http://starpu.gforge.inria.fr/doc/html/index.html

(8)

Objetivos do StarPU

1. Visão unificada dos recursos computacionais

2. Escalonamento eficiente e/ou

personalizado

(9)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

Objetivos

Considerações iniciais Plugin para o GCC Estruturas chaves Panorama Codelet

Memória Virtual de Software

Implementação

1. Existe um plugin para o compilador GCC

2. Biblioteca apenas para a linguagem

C

(10)

Hello World – plugin GCC

(11)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

Objetivos

Considerações iniciais Plugin para o GCC Estruturas chaves Panorama Codelet

Memória Virtual de Software

Estruturas chaves

1. Codelet: kernel implementado em múltiplas arquiteturas

2. Task: aplicação de um Codelet em um conjunto de dados

3. Memória Virtual de Software: disponibiliza

o acesso aos dados de maneira uniforme

(12)

Panorama

http://starpu.gforge.inria.fr/tutorials/2015-01-HiPEAC/hipeac_tutorial_hetcomp_starpu_2015.pdf

(13)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

Objetivos

Considerações iniciais Plugin para o GCC Estruturas chaves Panorama Codelet

Memória Virtual de Software

Panorama

http://starpu.gforge.inria.fr/tutorials/2015-01-HiPEAC/hipeac_tutorial_hetcomp_starpu_2015.pdf

(14)

Codelet

(15)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

Objetivos

Considerações iniciais Plugin para o GCC Estruturas chaves Panorama Codelet

Memória Virtual de Software

Aplicação

Multiplicação de um vetor por um escalar

I Facilmente paralelizável!

I Exemplo de todos os tutoriais

(16)

Codelet

(17)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

Objetivos

Considerações iniciais Plugin para o GCC Estruturas chaves Panorama Codelet

Memória Virtual de Software

Disponibilizando na estrutura de memória

(18)

Kernel

(19)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

Objetivos

Considerações iniciais Plugin para o GCC Estruturas chaves Panorama Codelet

Memória Virtual de Software

Execução

(20)

Precedência de tarefas

Utilizando grafo de precedências de ”tasks”

(21)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

Precedência de tarefas Funções prontas Escalonamento MPI

Funções prontas

I Fatoração de matrizes (Cholesky/QR/LU, FFT )

I Processadores especiais (Xeon Phi )

I Acesso ao disco rígido (starpu_disk_ops)

(22)

Escalonamento

I Personalizável!

I Passado como parâmetro:

$ STARPU_SCHED=greedy ./foo

(23)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

Precedência de tarefas Funções prontas Escalonamento MPI

MPI

I Substituição de ”void * ” por ”starpu_data_handle_t” nos protótipos das funções.

I Sem função de broadcast.

MPI STARPU

MPI_Scatter starpu_mpi_scatter_detached MPI_Gather starpu_mpi_gather_detached

MPI_Send starpu_mpi_send

MPI_Recv starpu_mpi_recv

(24)

Geral

I É uma camada de abstração!

I O programador pode se concentrar só no

algoritmo!

(25)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

geral Utilização

É utilizável?

SIM!

I Fácil de instalar (apt-get install libstarpu-dev)

I Compatível com Linux, Windows e Mac OS

I Muito bem documentado

http://starpu.gforge.inria.fr/doc/html/index.html

(26)

Quem usa?

I MAGMA (álgebra linear)

I Chameleon (álgebra linear)

I PasTiX (álgebra linear)

I SkePU (biblioteca de programação para GPU)

(27)

Objetivos História Motivação Visão Geral Aspectos avançados Conclusão Referências

Referências Bibliográficas

I The StarPU Runtime System. Accessado em 8.6.15. Disponível em:

<http://starpu.gforge.inria.fr/tutorials/2015-01-HiPEAC/

hipeac_tutorial_hetcomp_starpu_2015.pdf>

I Augonnet et al. StarPU: Seamless Computations Among CPUs and GPUs. Accessado em 8.6.15. Disponível em: <http://www.x.org/

wiki/Events/XDC2014/XDC2014ThibaultStarPU/xdc_starpu.pdf>

I StarPU Handbook Accessado em 8.6.15. Disponível em:

<http://starpu.gforge.inria.fr/doc/html/index.html>

(28)

Dúvidas?

denisfa@ime.usp.br

Referências

Documentos relacionados

§ 3º O Plano de Atividade Cultural da Escola elaborado pelas UEx, conjuntamente com as iniciativas culturais parceiras, aprovado pela prefeitura, secretaria distrital ou estadual

O objetivo geral desse trabalho de conclusão consiste em apontar perspectivas para o uso da educação escolar cristã e como objetivos específicos resgatar a história da

Novamente verifica-se neste ato mera formalidade dentro do processo imposto, uma vez que considerando as condições em que foram realizadas as primeiras

O primeiro grupo está representado por Serjania caracasana (Figuras 1a-1b) e Serjania multiflora (Figuras 1c-1d) – ambas as espécies possuem a configuração em “flor” e

Os resultados do presente trabalho permi- tem concluir que (i) os valores de densidade intra e inter-anéis de crescimento mostram que a madeira de araucária apresenta uma uniformi-

UNIVERSIDADE DE SÃO PAULO UNIVERSIDADE DE SÃO PAULO FACULDADE DE SAÚDE PÚBLICA FACULDADE DE SAÚDE PÚBLICA DEPARTAMENTO DE EPIDEMIOLOGIA DEPARTAMENTO DE EPIDEMIOLOGIA

Numa visão geral, utilizou-se uma média de 86,66 referências por dissertação (4.073 referências em 47 dissertações) que distinguem-se em artigos, livros, teses

Por meio das análises de HPLC apresentadas no item 5.6.2, podemos observar que os dispositivos obtidos por método direto não apresentaram capacidade de liberar o