Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/denyskryvytskyi/capgemini-cuda
CUDA implementation of vector additon, matrix multiplication, reduction and sorting
https://github.com/denyskryvytskyi/capgemini-cuda
bitonic-sort cpp cuda cuda-kernels gpgpu matrix matrix-multiplication matrix-multiplication-parallel matrix-transpose nvidia nvidia-cuda nvidia-gpu reduction-dimension sort sorting-algorithms-implemented vector vector-addition vectorization
Last synced: 6 days ago
JSON representation
CUDA implementation of vector additon, matrix multiplication, reduction and sorting
- Host: GitHub
- URL: https://github.com/denyskryvytskyi/capgemini-cuda
- Owner: denyskryvytskyi
- Created: 2024-10-01T14:42:01.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-10-28T14:04:28.000Z (8 days ago)
- Last Synced: 2024-10-28T15:07:03.400Z (8 days ago)
- Topics: bitonic-sort, cpp, cuda, cuda-kernels, gpgpu, matrix, matrix-multiplication, matrix-multiplication-parallel, matrix-transpose, nvidia, nvidia-cuda, nvidia-gpu, reduction-dimension, sort, sorting-algorithms-implemented, vector, vector-addition, vectorization
- Language: Cuda
- Homepage:
- Size: 38.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Capgemini CUDA tasks
Tasks were implemented and tested in Windows 10 with the Visual Studio CUDA Integration tool and NVCC compiler.Tasks list:
- vectors addition;
- matrix multiplication using tiles, GPU shared memory, and matrix transposition;
- reduction (sum) with a custom kernel and Nvidia Thrust library for performance comparison;
- sorting using the Nvidia Thrust library.## Getting Started
- Install [CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit).
- [Windows] Install Visual Studio 2022 (we need MSVC compiler to compile host code and link with device code for the final executable).
- [Linux] Install gcc compiler.Compile code using **nvcc** compiler:
`nvcc .cu -o -O3`
Run:
`./`