Installation
Requirements
Python >= 3.9
Numpy >= 1.9
Scipy >= 1.7
scikit-learn
Optional (but strongly recommended) dependencies
Cupy
Optional and occasionally useful dependencies
Optuna
Installation
Starting with version 0.4.5, xGPR is available for certain platforms as a precompiled binary / wheel. To install, run::
pip install xGPR
Wheels are available only for Python >= 3.9, for 64 bit Linux and (if you want to use GPU, which is recommended for training) Cuda 11 or later. You can install the binary even if you do not have a Cuda GPU; without a Cuda GPU, however, xGPR will only run in CPU-only mode.
Compiling from source
If you are using another unsupported platform or if you encounter an error with installation of the pre-built binary, you can compile from source. This is the best option in general because it ensures the package is optimized for your particular platform but is slightly trickier. To do this, run::
pip install --no-binary xGPR xGPR --verbose
We recommend running with the --verbose flag since this will ensure that
any error messages generated by CMake as it tries to compile the code are
printed to your terminal.
Note that xGPR is built by CMake. CMake will automatically try to find appropriate compilers (a C++ compiler and if present nvcc for cuda code). This means that your C++ compiler and nvcc should be in a known location. So, for example, if your compiler is g++, if you run::
g++ --version
nvcc --version
on your command line, you should get something that is not nvcc not found.
If it cannot find a C++ compiler, xGPR will not compile. If it cannot find
nvcc, it will compile but the resulting package will be CPU-only (i.e. you
will not be able to run xGPR on Cuda). If CMake could not find nvcc and
required dependencies, you will see the message::
No CUDA
early on in the output if you run pip with the --verbose flag. If this
occurs, the best thing to do is to check your cuda installation and make sure
that::
nvcc --version
returns a valid version.
Also note that while in principle there is nothing to prevent xGPR from being compiled for Windows / Mac, we have not done any testing on these platforms at this time, so it may be possible to encounter issues we have not yet encountered when compiling for these platforms.
If you encounter problems you are not able to resolve, please report an issue on github – see the contact / about section on the main page.