Skip to content

softcookiepp/dlprimitives

 
 

Repository files navigation

DLPrimitives

This project is a fork of the original DLPrimitives that aims to port it to use Vulkan instead of OpenCL. The reason for this is that Vulkan supports a much wider range of hardware than OpenCL does.

Goals

  • Create an open source, cross platform deep learning primitives library similar to cuDNN or MIOpen that supports multiple GPU architectures.
  • Create minimalistic deep-learning framework as POC of capabilities and performance.
  • Integrate to existing large scale deep learning projects like PyTorch, TF, MXNet such that vendor independent open-source Vulkan API will be first class citizen for deep learning.

Please note this is only work in progress - first and preliminary stages.

Initial Framework Integration

Integration with existing frameworks:

Documentation

None yet, sorry!

Features Matrix

Operator Features Comment
Softmax Softmax, LogSoftmax
NLLLoss
MSELoss
SoftmaxWithLoss
Elementwise ax+by, max(ax,by), ax*y, broadcasting
Concat
Slice
Pooling2D max, average
GlobalPooling max, average 2D only
GlobalAvgPool2d
InnerProduct
BatchNorm
Reshape
Squeeze
Flatten
Threshold
Hardtanh
Abs
Parameter ֹUtility
Reduction Sum, Mean, Sum Squares, L1
Convolution2D GEMM, Winograd, Depthwise Separable
TransposedConvolution2D GEMM, Winograd, Depthwise Separable
Activation relu, sigmoid, tanh, relu6

Solvers: SGD, Adam

About

Deep Learning Primitives and Mini-Framework for OpenCL, ported to Vulkan

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 53.8%
  • C 18.9%
  • GLSL 17.2%
  • Python 7.6%
  • JavaScript 1.5%
  • CMake 0.8%
  • Shell 0.2%