laboratorio de intel para la academia...
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/19.jpg)
¿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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022011906/5f40dc2ed45b426dd4479643/html5/thumbnails/25.jpg)
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()