Skip to main content

A JAX backend for pynapple.

Project description

pynajax

License: MIT Python version Project Status: Active – The project has reached a stable, usable state and is being actively developed. pynajax CI Coverage Status PyPI - Version

Welcome to pynajax, a GPU accelerated backend for pynapple built on top on jax. It offers a fast acceleration for the core pynapple functions using GPU.

Warning ⚠️ This package is not meant to be used on its own. It should only be used through the pynapple API.

Installation

Run the following pip command in your virtual environment.

For macOS/Linux users:

pip install pynajax

For Windows users:

python -m pip install pynajax

Alternatively, you can install pynapple and pynajax together.

 pip install pynapple[jax]

Basic usage

To use pynajax, you need to change the pynapple backend using nap.nap_config.set_backend. See the example below :

import pynapple as nap
import numpy as np
nap.nap_config.set_backend("jax")

tsd = nap.Tsd(t=np.arange(100), d=np.random.randn(100))

# This will run on GPU or CPU depending on the jax installation
tsd.convolve(np.ones(11)) 

Benchmark

This benchmark for the convolve function was run on a GPU.

benchmark_convolve

See the documentation for others benchmarks.

Project details


Download files

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

Source Distribution

pynajax-0.1.3.tar.gz (64.2 kB view hashes)

Uploaded Source

Built Distribution

pynajax-0.1.3-py3-none-any.whl (13.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page