A collection of practical, ready-to-run CUDA projects focused on GPU computing, parallel programming, performance acceleration, and real-world computational workloads.
| # | Project | Focus |
|---|---|---|
| 01 | Vector Addition | Parallel vector computation |
| 02 | Vector Multiplication | Element-wise GPU operations |
| 03 | Matrix Addition | 2D GPU computation |
| 04 | Matrix Multiplication | Parallel matrix computation |
| 05 | Parallel Reduction | Parallel aggregation |
| 06 | Image Blur | GPU image processing |
| 07 | Edge Detection | Computer vision acceleration |
| 08 | Convolution | GPU convolution |
| 09 | Matrix Transpose | GPU memory optimization |
| 10 | CPU vs GPU Benchmark | Performance comparison |
| 11 | Device Query | GPU device information |
| 12 | GPU Memory Bandwidth | GPU memory performance |
| 13 | Parallel Histogram | Parallel histogram computation |
| 14 | Image Histogram | GPU image histogram |
| 15 | Monte Carlo Simulation | GPU-based simulation |
| 16 | cuBLAS Matrix Multiplication | GPU linear algebra |
| 17 | FFT Processing | Frequency-domain processing |
| 18 | GPU Random Numbers | GPU random number generation |
| 19 | CUDA Streams | Asynchronous GPU execution |
| 20 | CUDA Graphs | Graph-based execution |
| 21 | Unified Memory | Unified memory management |
| 22 | Pinned Memory | Fast host-device transfers |
| 23 | Sparse Matrix Operations | Sparse linear algebra |
| 24 | Linear System Solver | GPU linear system solving |
| 25 | GPU Image Processing Pipeline | Multi-stage GPU image processing |
- NVIDIA GPU with CUDA support
- NVIDIA GPU Driver
- CUDA Toolkit
nvcccompiler- C++ compiler
Check your CUDA installation:
nvcc --versionCheck your NVIDIA GPU:
nvidia-smiClone the repository:
git clone https://github.com/hasheramin5-cyber/CUDA.git
cd CUDANavigate to a project:
cd "01. Vector Addition"Compile:
nvcc VectorAddition.cu -o VectorAdditionRun on Windows:
.\VectorAddition.exeRun on Linux:
./VectorAdditionEach project contains its own README.md with project-specific requirements, compilation instructions, usage, and expected output.
- CUDA Programming
- GPU Computing
- Parallel Computing
- GPU Acceleration
- CUDA C/C++
- Computer Vision
- Performance Optimization
- High-Performance Computing
CUDA/
│
├── Assets/
│ └── cuda-logo.svg
│
├── 01. Vector Addition/
├── 02. Vector Multiplication/
├── 03. Matrix Addition/
├── 04. Matrix Multiplication/
├── 05. Parallel Reduction/
├── 06. Image Blur/
├── 07. Edge Detection/
├── 08. Convolution/
├── 09. Matrix Transpose/
├── 10. CPU vs GPU Benchmark/
├── 11. Device Query/
├── 12. GPU Memory Bandwidth/
├── 13. Parallel Histogram/
├── 14. Image Histogram/
├── 15. Monte Carlo Simulation/
├── 16. cuBLAS Matrix Multiplication/
├── 17. FFT Processing/
├── 18. GPU Random Numbers/
├── 19. CUDA Streams/
├── 20. CUDA Graphs/
├── 21. Unified Memory/
├── 22. Pinned Memory/
├── 23. Sparse Matrix Operations/
├── 24. Linear System Solver/
├── 25. GPU Image Processing Pipeline/
│
├── .github/
│ ├── workflows/
│ │ └── ci.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ ├── cuda_error.md
│ │ └── feature_request.md
│ └── pull_request_template.md
│
├── .gitignore
├── LICENSE
├── CONTRIBUTING.md
├── CODE_OF_CONDUCT.md
└── README.md
This repository focuses on practical CUDA implementations designed to demonstrate how NVIDIA GPUs can accelerate computationally intensive workloads through parallel execution.
The projects are kept independent, reproducible, and focused on real GPU-computing use cases.
This repository is licensed under the MIT License.