Skip to content

ShigekiKarita/grain2

Repository files navigation

grain2

CircleCI Build status codecov CI

Autograd and GPGPU library for dynamic neural networks in D. This project is a successor of grain.

features

  • @nogc support
  • heterogeneous device (CPU/CUDA/OpenCL) support
  • multiple CUDA device support
  • see also document

requirements

  • dpp master
  • CPU backend
    • BLAS library (e.g., OpenBLAS, MKL)
  • CUDA backend
    • CUDA header/library v10-
    • CUDNN header/library v7-
  • OpenCL backend
    • OpenCL header/library v1.2

development

  • test dub test grain2:core and dub test grain2:cuda
  • generate ddoc make doc

roadmap

  • heterogeneous multi-dimentional structure (grain.tensor.Tensor)
  • reference count-based memory management
  • multiple CUDA devices support
  • core autograd (forward/backward chain)
  • dataset API (MNIST, PTB, etc)
  • more memory manegement policy (garbage collection, memory pool)
  • JIT compilation of computational graph
  • OpenCL/HIP support

trouble shooting

  • Q. My local CUDA/OpenCL libraries are different from files under grain2/dpp/build
    • A. Install dpp (commit 821a5d4) and regenerate them by $ cd dpp; make -j cuda (or opencl)

About

Autograd and GPGPU library for dynamic neural networks in D

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages