Skip to content

Multi-core CPU implementation of deep learning for 2D and 3D convolutional networks (ConvNets).

Notifications You must be signed in to change notification settings

zlateski/znn-release

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZNN v4

Required libraries

Supports Linux and MacOS. When using MKL fftw is not required

Library Ubuntu package name
fftw libfftw3-dev
boost libboost-all-dev
BoostNumpy NA
jemalloc libjemalloc-dev

Compiler flags

Flag Description
ZNN_CUBE_POOL Use custom memory pool, usually faster
ZNN_CUBE_POOL_LOCKFREE Use custom lockfree memory pool, even faster (some memory overhead)
ZNN_USE_FLOATS Use single precision floating point numbers
ZNN_DONT_CACHE_FFTS Don't cache FFTs for the backward pass
ZNN_USE_MKL_DIRECT_CONV Use MKL direct convolution
ZNN_USE_MKL_FFT Use MKL fftw wrappers
ZNN_USE_MKL_NATIVE_FFT Use MKL native convolution overrides the previous flag
ZNN_XEON_PHI 64 byte memory alignment

Compile gcc and clang

g++ -std=c++1y training_test.cpp -I../../ -I../include -lfftw3 -lfftw3f -lpthread -pthread -O3 -DNDEBUG -o training_test

Compile icc

icc -std=c++1y training_test.cpp -I../../ -I../include -lpthread -lrt -static-intel -DNDEBUG -O3 -mkl=sequential -o training_test

Contact

About

Multi-core CPU implementation of deep learning for 2D and 3D convolutional networks (ConvNets).

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 84.3%
  • Python 11.9%
  • Protocol Buffer 2.9%
  • Other 0.9%