Skip to content

A C++ library for Deep Convolutional Neural Nets with Parallel Computing (openMP, CUDA and MPI)

Notifications You must be signed in to change notification settings

varunsyal/Parallel-Convolutional-Networks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A C++ Library for Convolutional Neural Nets with Parallel Computing(openMP, CUDA, MPI)

Usage:

g++ -std=c++11 -fopenmp lenet.cpp -o lenet
./lenet

  • This is a multi-threaded version of the model (with data parallelism) and you can change the number of threads by using:
    export OMP_NUM_THREADS=4

  • For using the MPI version of code, you need to compile using mpic++:
    mpic++ -std=c++11 -fopenmp lenet.cpp -o lenet

and you can run this on multi-node system!

Create your own Network

  • You can create your own deep neural network class by deriving from the Model class and adding all your layers in order by using addLayer() method.
  • You can also introduce your own Activation layers by extending the ActivationLayer.
  • You can create your custom Loss functions by extending the LossFunction class.

Work in Progress

Optimizations using:
openMP: COMPLETED
MPI: COMPLETED
CUDA: IN PROGRESS

About

A C++ library for Deep Convolutional Neural Nets with Parallel Computing (openMP, CUDA and MPI)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages