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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8b39acdc6d958035be0b88456d4812a3c1960e29710e1fd475ee8067894256f |
|
MD5 | 4cfb59e577c3845903b268fefc39e659 |
|
BLAKE2b-256 | 52b417059b827c8dd05143a9ea652e9f5911581f7365a603ed5363b2deab2127 |