Supports Linux and MacOS. When using MKL fftw is not required
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 |
g++ -std=c++1y training_test.cpp -I../../ -I../include -lfftw3 -lfftw3f -lpthread -pthread -O3 -DNDEBUG -o training_test
icc -std=c++1y training_test.cpp -I../../ -I../include -lpthread -lrt -static-intel -DNDEBUG -O3 -mkl=sequential -o training_test