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"
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
|