Skip to main content

A package for building and training quantized and binary neural networks with Pytorch

Project description

Bitorch Engine

Readme will be extended soon. This package contains layer to provide fast(er) layer implementations for BITorch.

Installation

Currently, the supported installation method is using pip:

  • Without any special cuda requirements (to hide the build output remove -v):
pip install -e . -v
  • With higher CUDA versions you may need to install a torch pre-release and/or add an extra index URL:
pip install --upgrade --pre torch --extra-index-url https://download.pytorch.org/whl/nightly/cu113

For example, for Cuda 11.6.124 torch==1.12.0.dev20220324+cu113 should work.

Cuda Device Selection

To select a certain CUDA device, set the environment variable BIE_DEVICE, e.g.:

export BIE_DEVICE=1  # use 2nd cuda device

Development

If building fails, adapt the options in cpp_extension.py/ cuda_extension.py.

While developing, a specific cpp/cuda extension can be (re-)build, by using the environment variable BIE_BUILD_ONLY, like so:

BIE_BUILD_ONLY="bitorch_engine/layers/qconv/binary/cpp" pip install -e . -v

It needs to a relative path to one extension directory.

To build for a different CUDA Arch, use the environment variable BIE_CUDA_ARCH (e.g. use 'sm_75', 'sm_80', 'sm_86'):

BIE_CUDA_ARCH="sm_86" pip install -e . -v

MacOS

You should install OpenMP (brew install libomp) with homebrew and make sure to add the corresponding environment variables:

export LIBRARY_PATH=$LIBRARY_PATH:"$(brew --prefix)/lib"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$(brew --prefix)/lib"
export CPATH=$CPATH:"$(brew --prefix)/include"
# during libomp installation it should something like this:
export LDFLAGS="-L$(brew --prefix)/opt/libomp/lib"
export CPPFLAGS="-I$(brew --prefix)/opt/libomp/include"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bitorch_engine-0.1.0.tar.gz (37.2 kB view details)

Uploaded Source

File details

Details for the file bitorch_engine-0.1.0.tar.gz.

File metadata

  • Download URL: bitorch_engine-0.1.0.tar.gz
  • Upload date:
  • Size: 37.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for bitorch_engine-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b8b39acdc6d958035be0b88456d4812a3c1960e29710e1fd475ee8067894256f
MD5 4cfb59e577c3845903b268fefc39e659
BLAKE2b-256 52b417059b827c8dd05143a9ea652e9f5911581f7365a603ed5363b2deab2127

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page