Skip to content

pulp-platform/pulp-nnx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PULP-NNX kernel libraries

A kernel library targeting Neural Network Accelerators developed in the PULP group.

Disclaimer

This library is considered unstable and might go through major changes until a stable release of v1.0.0.

Repository structure

  • inc: interface to the library
  • src: implementations of the interface for specific accelerators
  • util: utilities used by all the accelerators
  • <accelerator>:
    • hal: hardware abstraction layer
    • gvsoc: gvsoc-specific functions
  • test: testing folder (more info)

Accelerators

NE16

Github repo link.

Implemented features

  • Convolution w/ kernel shape 1x1
  • Convolution w/ kernel shape 3x3
  • Depthwise convolution w/ kernel shape 3x3
  • Stride 1x1
  • Stride 2x2
  • Normalization and quantization
    • With
    • Without
    • Relu (w/ and w/o)
    • Bias (w/ and w/o)
    • Per-channel shift
    • Per-layer shift
    • Rounding
  • Input type
    • uint8
    • uint16
  • Output type
    • int8
    • uint8 (only w/ Relu)
    • int32
    • uint32 (only w/ Relu)
  • Scale type
    • uint8
    • uint16
    • uint32
  • Bias type
    • int32
  • Weight type
    • int8
    • int2-7

Neureka

Untested and considered broken.

Testing

You can find information about testing in the dedicated README.

Contributing

Bug reports and feature requests should be reported through issues. All the development should be done through forks and merged onto the dev branch with pull requests.

Versioning

The library will follow the Semantic Versioning.

Citing

TBA

Contributors

License

Licensed under Apache-2.0; the whole text of the license can be found in the LICENSE file.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages