Skip to content
A Neural Network Toolkit.
C++ Cuda C CMake Shell Common Lisp
Branch: develop
Clone or download
odashi Merge pull request #203 from primitiv/fix/curand-normal
Fix random number generation from cuRAND normal/log_normal distributions.
Latest commit c53b33f Jun 18, 2019

c++ backend os license

  • Branch master: Build status (master) Documentation Status (master)
  • Branch develop: Build status (develop) Documentation Status (develop)


A Neural Network Toolkit.


  • Dynamic and incremental graph construction (a.k.a. "define-by-run" style)
  • On-demand memory allocation
  • Automatic minibatch broadcasting
  • Mostly device-independent
  • Simple usage


This repository contains only the core C++ library and its C APIs. Some bindings for other programming languages (e.g., Python) can be found in the official repository.


  • CMake 3.1.0 or later
  • C++11 compiler (GCC, Clang)
  • (optional) Google Test
    • Required only when -DPRIMITIV_BUILD_TESTS=ON.
  • (optional) CUDA 8.0 or later/cuDNN 7.0 or later
    • Required only when -DPRIMITIV_USE_CUDA=ON
  • (optional) OpenCL 1.2/OpenCL C++ binding v2
    • Required only when -DPRIMITIV_USE_OPENCL=ON



This project is supported by ASTREC in NICT.

You can’t perform that action at this time.