Installation
Access Notice
This code is not yet public. This page documents the code for current users only.
Containers Available
Apptainer containers provide an alternative to compiling from source (experimental, CPU only).
Requirements
- Clang >= 18.0 (required)
- CMake >= 3.29.0 && < 4.0.0
- Git with submodules
- MPI (for distributed computing)
- SYCL implementation: AdaptiveCpp (recommended) or Intel oneAPI
PointCloud limitation
PointCloud datasets with Voronoi tessellation are not supported with Intel oneAPI—use AdaptiveCpp.
Setup
1. Clone the repository
Latter command will initialize a number of dependencies that might not be available on the system otherwise.
2. Install SYCL runtime
You need either AdaptiveCpp (recommended) or Intel oneAPI. If your HPC provider doesn't offer these as modules, you'll need to compile AdaptiveCpp from source. See AdaptiveCpp setup for guidance.
3. Build
Set CC and CXX to the paths of your SYCL compiler. For AdaptiveCpp, the executables are clang and acpp, while for Intel oneAPI these are icx and icpx, see here for more details.
Memory Usage
Compilation can require large amounts of memory. If you run out of memory during the build, reduce the number of concurrent builders by adding -j1 to the build command: