Top Banner
LABORATORIO DE INTEL PARA LA ACADEMIA INSTRUCTORES: ELBA KAREN SÁENZ GARCÍA KAREN SÁENZ 1
25

LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

Jul 13, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

L A B O R A T O R I O D E I N T E L P A R A L A A C A D E M I A

I N S T R U C T O R E S :

E L B A K A R E N S Á E N Z G A R C Í A

K A R E N S Á E N Z 1

Page 2: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

TEMARIO

Antecedentes

GPU – CUDA

� GPGPU

� Arquitectura CUDA

� GPU Genérico

Modelo de ejecución CUDA

� Grids ,Bloques, Hilos� Grids ,Bloques, Hilos

Modelo de programación CUDA

� Device y Host

� Funciones CUDA

Manejo de arreglos unidimensionales

Manejo de arreglos bidimensionales

Memoria Compartida

Page 3: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

K A R E N S Á E N Z 3

Page 4: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

CÓMPUTO SERIAL

Uso de un recurso de cómputo para resolver un problema computacional

K A R E N S Á E N Z 4

Page 5: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

CÓMPUTO PARALELO

Uso de varios recursos de cómputo para resolver un problema

K A R E N S Á E N Z 5

Page 6: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

CÓMPUTO PARALELO

Recurso Computacional

� Una sola computadora con varios procesadores

� Varias computadoras conectadas en red

� Combinación de ambas

Tipo de problema computacional

� Se debe poder dividir en partes pequeñas que puedan resolverse de forma simultanea y al mismo tiempode forma simultanea y al mismo tiempo

� Poderlo resolver en menos tiempo con varios recursos computacionales que con solo uno.

K A R E N S Á E N Z 6

Page 7: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

MODELOS DE PROGRAMACIÓN PARALELA

De acuerdo al manejo de memoria�Memoria compartida (shared memory)�Modelo de hilos

�Memoria distribuida (distributed memory)�Memoria compartida distribuida (distributed shared

memory)memory)

K A R E N S Á E N Z 7

Page 8: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

MEMORIA COMPARTIDA

MEMORIA

BUS

UP1 UP2 UPN

K A R E N S Á E N Z 8

Page 9: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

MODELO HILOS

• Tipo de programación en memoria compartida.

K A R E N S Á E N Z 9

Page 10: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

MEMORIA DISTRIBUIDA

N E T W O R K

U P 1 U P 2 U P 3 U P 4 U P 5 U P N

M E M M E M M E M M E M M E M M E M

K A R E N S Á E N Z 10

Page 11: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

LA METODOLOGÍA DE DISEÑO DE FOSTER

K A R E N S Á E N Z 11

Ian Foster, Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering, Addison-Wesley,1995

Page 12: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

PARTICIONAMIENTO

O DESCOMPOSICIÓN

Descomposición de dominio o datos

K A R E N S Á E N Z 12

Page 13: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

PARTICIONAMIENTO

• Descomposición funcional o tareas

K A R E N S Á E N Z 13

Page 14: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

DESCOMPOSICIÓN PIPILINED

K A R E N S Á E N Z 14

Page 15: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

DESCOMPOSICIÓN DE DOMINIO

CPU 0 CPU 1 CPU 2 CPU 3

Encontrar el elemento mayor en un arreglo de enteros

K A R E N S Á E N Z 15

Page 16: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

DESCOMPOSICIÓN DE DOMINIO

CPU 0 CPU 1 CPU 2 CPU 3

Encontrar el elemento mayor en un arreglo de enteros

K A R E N S Á E N Z 16

Page 17: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

EJEMPLO DESCOMPOSICIÓN DE DOMINIO O

DATOSSumar los renglones de una matriz de 4*28

for (i=0; i<4i++)

{

B[i]=0;

for (j=0;j<28)

B[ i ] = A[ i ][ j ] + B[ i ];B[ i ] = A[ i ][ j ] + B[ i ];

}

K A R E N S Á E N Z 17

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 406

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 406

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 406

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 406

Page 18: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

EJEMPLO DESCOMPOSICIÓN DE DOMINIO O

DATOS

Opción 1 Dividir el número de Renglones de A entre el número de CPUs disponibles

Opción 2 Asignar cada renglón a un CPU se necesita

cpu 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 406

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 406

cpu 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 406

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 406

cpu 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 406

K A R E N S Á E N Z 18

cpu 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 406

cpu 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 406

cpu 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 406

cpu 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 406

Page 19: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

¿Que pasaría con si la matriz A fuera de 1000*1000?

K A R E N S Á E N Z 19

Page 20: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

DESCOMPOSICIÓN FUNCIONAL

f()

r()

q()h()

g()

K A R E N S Á E N Z 20

s()

q()h()

Page 21: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

DESCOMPOSICIÓN FUNCIONAL

f()

r()

q()h()

g()

CPU 0

CPU 2

CPU 1

K A R E N S Á E N Z 21

s()

q()h()

Page 22: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

DESCOMPOSICIÓN FUNCIONAL

f()

r()

q()h()

g()

CPU 0

CPU 2

CPU 1

K A R E N S Á E N Z 22

s()

q()h()

Page 23: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

DESCOMPOSICIÓN FUNCIONAL

f()

r()

q()h()

g()

CPU 0

CPU 2

CPU 1

K A R E N S Á E N Z 23

s()

q()h()

Page 24: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

DESCOMPOSICIÓN FUNCIONAL

f()

r()

q()h()

g()

CPU 0

CPU 2

CPU 1

K A R E N S Á E N Z 24

s()

q()h()

Page 25: LABORATORIO DE INTEL PARA LA ACADEMIA ...lcomp89.fi-b.unam.mx/licad/assets/CUDADGAPA/Fundamento...KAREN SÁENZ 11 Ian Foster, Designing and Building Parallel Programs: Concepts and

DESCOMPOSICIÓN FUNCIONAL

f()

r()

q()h()

g()

CPU 0

CPU 2

CPU 1

K A R E N S Á E N Z 25

s()

q()h()