CUDA Networks
src
mainpage.h
Go to the documentation of this file.
1
/**
2
* @mainpage CUDA Neural Networks
3
*
4
* @section intro_sec Overview
5
* Deep neural network implementation from scratch in C++ with CUDA for GPU acceleration.
6
* This project focuses on creating a neural network to classify digits using the MNIST dataset.
7
*
8
* The main features include:
9
* - Matrix and vector operations optimized for GPU
10
* - Feedforward neural network with customizable architecture
11
* - Training using backpropagation and gradient descent
12
* - MNIST digit classification
13
*
14
* @section requirements_sec System Requirements
15
* This project was developed and tested on a system with the following specifications:
16
* - OS: Arch Linux x86_64
17
* - CPU: Intel i7-9750H (12) @ 4.500GHz
18
* - GPU: NVIDIA GeForce GTX 1650 Mobile / Max-Q
19
* - Memory: 16GB
20
* - NVIDIA Driver Version: 560.35.03
21
* - CUDA Version: 12.6
22
* - CUDA Compilation Tools: Release 12.6, V12.6.77
23
*
24
* Please ensure your system meets these requirements or adjust accordingly.
25
*
26
* @section installation_sec Installation
27
* 1. Clone the repository:
28
* ```
29
* git clone https://github.com/juan-esteban-berger/cuda_networks.git
30
* cd cuda_networks
31
* ```
32
* 2. Ensure you have the CUDA Toolkit (version 12.6 or compatible) installed on your system.
33
* 3. Install the Google Test library if not already present:
34
* ```
35
* sudo pacman -S gtest
36
* ```
37
* 4. Build the project:
38
* ```
39
* make
40
* ```
41
*
42
* @section usage_sec Usage
43
* To run the MNIST classifier:
44
* ```
45
* make run
46
* ```
47
* This will execute the main program, which trains the neural network on the MNIST dataset
48
* and displays the training progress and final accuracy.
49
*
50
* @image html demo.gif "Demo of CUDA Neural Networks"
51
*
52
* @section tests_sec Running Tests
53
* To run the test suite:
54
* ```
55
* make test
56
* ```
57
* This will execute all the unit tests for the project.
58
*
59
* @section memcheck_sec Memory Check
60
* To run the compute sanitizer memory check:
61
* ```
62
* make memcheck
63
* ```
64
* This will use NVIDIA's Compute Sanitizer to check for memory errors in the CUDA code.
65
*
66
* @section license_sec License
67
* This project is licensed under the MIT License - see the LICENSE file for details.
68
*
69
* @section modifications_sec Modifications
70
* If you encounter any issues running the project, you may need to:
71
* 1. Adjust the `NVCCFLAGS` in the Makefile to match your GPU architecture.
72
* 2. Ensure the paths to the CUDA Toolkit and Google Test library are correct for your system.
73
* 3. If you're using a different CUDA version, you might need to update some CUDA function calls or syntax.
74
*/
Generated by
1.9.1