This project implements a simple fully connected neural network (FCNN) in C++ for classifying images from the MNIST dataset. It includes an input layer, one hidden layer, and an output layer. The implementation supports both CPU and CUDA-based execution, allowing users to run the network with or without GPU acceleration.
The CUDA implementation assigns each neuron to a separate GPU thread to maximize computational efficiency and reduce training time.
# Clone the repository
git clone https://github.com/yourusername/Neural_Network_CUDA.git
cd Neural_Network_CUDA
g++ -o driver driver.cpp
./driver
nvcc -o driver_cuda driver_cuda.cu
./driver_cuda