Skip to content

A simple neural network built using CUDA for matrix operations.

Notifications You must be signed in to change notification settings

benborder/cuda-nn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CUDA Neural Network

This is a simple neural network built using CUDA for matrix operations.

Features

  • Fully connected (MLP) network
  • Convolutional network
  • Optimisers
    • Stochastic Gradient Descent (SGD)
    • Gradient normalised clipping
    • SGD with momentum
    • Adam
  • 2D matrix operations
  • 3D matrix operations (to include batch)

Dependencies

The library has been designed to have as few dependencies as possible with the only dependencies for the core library:

  • cuda (build and runtime)
  • spdlog (build)
  • MNIST (runtime)
  • Compiler with C++20 support
  • CMake 3.22 or newer

MNIST and spdlog are automatically fetched via CMake.

Building

Build via CMake

cmake --preset release
cmake --build --preset release --target cuda-nn --parallel 8

About

A simple neural network built using CUDA for matrix operations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published