Skip to main content

RI Kernels

CPU and GPU kernels for radio interferometry, exposed to JAX as FFI custom calls with full support for automatic differentiation.

Installation

The CPU kernels and all of the Python code live in ri_kernels. The GPU kernels ship as add-on packages, one per CUDA major version, selected with an extra:

pip install ri_kernels               # CPU kernels only
pip install "ri_kernels[cuda12]"     # + CUDA 12 kernels and jax[cuda12]
pip install "ri_kernels[cuda13]"     # + CUDA 13 kernels and jax[cuda13]

Building from source

Requires CMake >= 3.20, a C++20 compiler, and network access at configure time (Google Highway is fetched by CMake).

pip install .                      # CPU only
RI_KERNELS_CUDA=1 pip install .    # CPU + CUDA, needs nvcc
RI_KERNELS_ROCM=1 pip install .    # CPU + ROCm, needs hipcc

Both libraries land in the ri_kernels package directory in that case, which is also a location the loader searches. Note that pip install .[cuda12] is a different thing: the extra resolves ri_kernels_cuda12 from the index, so it needs a published release. To build the GPU kernels from the checkout, use RI_KERNELS_CUDA=1.

Other CMake options of note: RI_KERNELS_CPU (default ON), RI_KERNELS_MULTI_ARCH (dynamic SIMD dispatch, default ON — turn it off and set arch flags via CMAKE_CXX_FLAGS for a single-target build), RI_KERNELS_BUNDLED_HIGHWAY, CMAKE_CUDA_ARCHITECTURES, and RI_KERNELS_STATIC_CUDART (default ON; set it to OFF when a package manager should provide the shared CUDA runtime).

Tests

Tests can be run with

python -m pytest tests

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ri_kernels_cuda12-0.2.1-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

ri_kernels_cuda12-0.2.1-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

File details

Details for the file ri_kernels_cuda12-0.2.1-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ri_kernels_cuda12-0.2.1-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f7a806d26e72aeab299153ed2a49d39928a9c15afd24b19a80fa3bfc9123b4af
MD5 a48e86e6498ba55670671966e75005a0
BLAKE2b-256 36f0d74f7539385503257b7eb17c84943debd64708317f2e4298a328bf91ef1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ri_kernels_cuda12-0.2.1-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on epfl-radio-astro/ri-kernels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ri_kernels_cuda12-0.2.1-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ri_kernels_cuda12-0.2.1-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3bbb4239c71ff060a2d3024fae55f3e7aec1335dc7cb476c74142afbe0ace867
MD5 403bc73359dbf70bd97015a0d5eaf73c
BLAKE2b-256 54f3d48dbaf379c5e592c37b390ab63273cc5c86402bef626a4f512a5a6f05a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ri_kernels_cuda12-0.2.1-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on epfl-radio-astro/ri-kernels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page