Skip to content

arborx/pyArborX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c1c2932 · Dec 13, 2022

History

26 Commits
Oct 28, 2022
Dec 12, 2022
Oct 25, 2022
Oct 25, 2022
Oct 28, 2022
Oct 28, 2022
Oct 17, 2022
Oct 25, 2022
Oct 24, 2022

Repository files navigation

pyArborX

This is a tailored Python binding of the ArborX library. It consists of a narrow subset of functionality and dataclasses from both ArborX and Kokkos. We are working on extending it. Be advised, that this is a work in progress and will not be stable. Multiple major changes are necessary to support the majority of ArborX in python.

Installation

The build instructions here are for Unix systems. Building pyArborX in Windows has not been tested. All build requirements for ArborX have to be fulfilled. In case Cuda is used as a backend to run the computations on Nvidia-GPUs -DKokkos_ENABLE_CUDA_LAMBDA must be enabled when compiling Kokkos. pyArborX additionally requires pybind11. This can either be installed manually or by pip install pybind11.

The build system is cmake. Cmake must be able to find all above mentioned packages.

The bindings are build with Cmake as usual (out of source build). In this process Cmake will generate several of the source files for the bindings in order to allow for easy integration of other capabilities inside ArborX.

After building the bindings (e.g. make), pip can be used to install the bindings into the python environment. As the state of the binding is far from being a full package, only development install is supported. For this run pip install --user -e . in the Cmake build directory. The successful install can be checked with pip list ... pyArborX should be listed as package with the build directory as location.

License

The bindings are considered part of the ArborX package. Refer to the top-level license information.