Este material corresponde al Taller 1 en el curso CE 4302 — Arquitectura de Computadores II, diseñado con el objetivo de comprender el uso de CUDA en programación paralela. El taller incluye ejercicios para realizar operaciones de suma de vectores, multiplicación de matrices y eliminación gaussiana utilizando tanto CUDA como implementaciones seriales en C++.
- CUDA Toolkit instalado en el sistema.
- Configuración de CUDA en Visual Studio para ejecutar el código CUDA.
- Presencia de MINGW64 para ejecutar el código en C++.
El código se encuentra organizado en la carpeta src/, la cual contiene dos archivos y una carpeta:
Realiza la operación de suma elemento por elemento entre los vectores a y b, almacenando el resultado en el vector c. Además, compara el rendimiento en al menos 5 casos diferentes. Para ejecutarlo, sigue los pasos:
nvcc vecadd.cu -o vecadd
./vecadd
Calcula el resultado de la multiplicación de dos matrices de tamaño 4x4, utilizando paralelismo con CUDA. Para ejecutarlo:
nvcc matrixMultiplication.cu -o matrixMultiplication
./matrixMultiplication
En esta carpeta se encuentran dos archivos:
Realiza la eliminación gaussiana de manera serial sin utilizar paralelismo. Guarda los resultados en el archivo exec_time.txt. Para ejecutarlo:
g++ gaussianElimination.cpp -o gaussianElimination
./gaussianElimination
Realiza la eliminación gaussiana utilizando CUDA. Guarda los resultados en el archivo exec_times_cuda.txt. Para ejecutarlo:
nvcc gaussianElimination.cu -o gaussianEliminationCUDA
./gaussianEliminationCUDA
Las pruebas fueron desarrolladas y evaluadas en un sistema con GPU NVIDIA GeForce RTX 3060 Ti y CPU 12th Gen Intel(R) Core(TM) i5-12400.
- Carrillo Salazar Juan Pablo
- Esquivel Sanchez Jonathan Daniel,
- Mendoza Mata Jose Fabian,
- Ortiz Vega Angelo Jesus
31/03/2024
Encuentra el proyecto completo en: GitHub.