SUMA DE VECTORES ESCOM
Enviado por sebas1808 • 9 de Enero de 2023 • Trabajo • 903 Palabras (4 Páginas) • 77 Visitas
Práctica – Suma de vectoresIPN-ESCOM
Práctica 4 – Suma de vectores
Fecha:27/11/2022
Grupo: 4Am1
Equipo: Sumeru
Integrantes:
Guzman Toscano Sebastian |
Objetivos
Parte 1: Realizar una suma de vectores en paralelo.
Escenario
Los hilos (threads) en CUDA constituyen la base de la ejecución de aplicaciones en paralelo. Cuando se lanza un kernel se crea una malla de hilos donde todos ellos ejecutan el mismo programa. Es decir, el kernel especifica las instrucciones que van a ser ejecutadas por cada hilo individual. En la práctica anterior no hicimos uso de esta propiedad ya que lanzamos lo que podríamos llamar un “kernel escalar”, esto es, un bloque con un solo hilo de ejecución.
En esta práctica se va a hacer uso del paralelismo a nivel de hilo que proporciona CUDA lanzando varios hilos.
Nota: Se utilizará un servidor externo para realizar la práctica. Es necesario contar con un programa cliente ssh y credenciales de acceso al servidor externo.
Recursos necesarios para realizar la práctica
- 1 computadora personal
- Acceso a internet
- 1 programa cliente SSH* (Putty: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)
Introducción
{Incluye una breve introducción sobre el tema, incluye contenido referenciado y algunas imágenes}
{En la introducción puedes hablar de las ejecuciones paralelas}
Parte 1: Realizar el programa en CUDA
Utiliza un cliente SSH para conectarte al servidor lambda 01.
(te puedes conectar al servidor lambda de la misma forma que lo hiciste en la práctica 02).
Realiza un programa en C++ para sumar vectores en paralelo en el servidor lambda
1 declaración de variables
Incluye una captura de pantalla con la declaración de variables (como apuntadores):
| [pic 1] |
|
| Captura de pantalla con la declaración de variables |
|
2 Reservar espacio en memoria
Hay que reservar espacio tanto en el CPU como en el GPU
Incluye una captura de pantalla con las instrucciones para reservar memoria tanto en la CPU como en la GPU
| [pic 2] |
|
| Captura de pantalla con la reserva de memoria en la CPU |
|
| [pic 3] |
|
| Captura de pantalla con la reserva de memoria en la GPU |
|
3 Rellenar los vectores con valores aleatorios
Los más conveniente es crear una función que rellene el arreglo con valores aleatorios.
| [pic 4] |
|
| Captura de pantalla con la función para rellenar un vector con valores aleatorios |
|
4 Suma en la CPU
Realiza una función que sume los vectores en el CPU
| [pic 5] |
|
| Captura de pantalla con la función para sumar dos vectores en la CPU |
|
5 Suma en la GPU
La función que suma los dos vectores en el GPU será muy parecida a la función de suma anterior.
| [pic 6] |
|
| Captura de pantalla con la función para sumar dos vectores en la GPU |
|
Explica brevemente la función anterior
5 Copiar los vectores de la CPU a la GPU
Para poder trabajar en la GPU es necesario enviar los vectores de la CPU a la GPU.
...