This frontend is compatible with primitiv core library 0.4.x.
- Python3 (3.5 or later)
- NumPy (1.11.0 or later)
- Cython (0.27 or later)
- CMake (3.1.0 or later)
- scikit-build (0.6.1 or later)
- (optional) CUDA (7.5 or later)
- (optional) Eigen (Eigen 3.3.0 or later)
- (optional) OpenCL (1.2 or later) and OpenCL C++ binding v2
$ pip3 install numpy cython cmake scikit-build [--user]
$ pip3 install primitiv [--user]
[--global-option --enable-cuda]
[--global-option --enable-opencl]
To enable CUDA and/or OpenCL support, specify --enable-cuda
or
--enable-opencl
with --global-option
flag.
--enable-eigen
flag that enables Eigen
backend is added by default in the
package contained in PyPI. To disable the Eigen backend, use --disable-eigen
flag. Note that Eigen is bundled with the package contained in PyPI.
We are providing only a source pacakge for now, and pip
command
downloads the source package and builds it before installing.
This is mainly because of keeping compatibility with the manylinux1
standard
described in PEP 513
while maintaining supports of non-standard backends such as CUDA/OpenCL.
$ git clone https://github.com/primitiv/primitiv-python
$ cd primitiv-python
$ git submodule update --init
$ pip3 install -r requirements.txt
$ python3 ./setup.py build [--enable-cuda] [--enable-eigen] [--enable-opencl]
$ python3 ./setup.py test [--enable-cuda] [--enable-eigen] [--enable-opencl] # (optional)
$ python3 ./setup.py install [--user] [--enable-cuda] [--enable-eigen] [--enable-opencl]
primitiv-python repository contains the core library as a git submodule.
Note that you have to update the working tree of the core library manually by
git submodule update
after you run git pull
or git checkout
commands.