Skip to main content

JAX Speed Optimizations

Project description

JAXSPD

JAXSPD (JAX Speed Optimizations) is a Python package that provides speed optimizations for JAX. This package is particularly useful for users who need to optimize their JAX code for better performance.

Features

  • Optimized JIT compilation support
  • Enhanced GPU support for NVIDIA GPUs
  • Advanced optimization utilities
  • Memory efficiency tools
  • Profiling and debugging capabilities

Installation

You can install JAXSPD using pip:

pip install jaxspd

For GPU support, install with the GPU extras:

pip install jaxspd[gpu]

Usage

Basic JIT Usage

import jaxspd as jx

@jx.jit
def my_function(x):
    return x * 2 + 1

# The function will be JIT-compiled
result = my_function(5)

GPU Optimizations

import jaxspd as jx

# Enable GPU optimizations
jx.enable_gpu_optimizations()

# Your GPU-optimized code here

Advanced Optimizations

import jaxspd as jx

# Auto-JIT with memory optimization
@jx.auto_jit
def optimized_function(x):
    return jnp.sum(jnp.exp(x))

# Memory-efficient processing
@jx.memory_efficient(max_memory=1e9)  # 1GB max memory
def process_large_array(x):
    return jnp.mean(x, axis=0)

# Shape optimization
@jx.optimize_for_shape(static_shapes={"x": (1000, 1000)})
def matrix_operation(x):
    return jnp.dot(x, x.T)

# Operation fusion
@jx.fused_operations(fusion_level=2)
def fused_computation(x):
    return jnp.sum(jnp.exp(jnp.dot(x, x.T)))

Requirements

  • Python >= 3.8
  • JAX >= 0.4.13
  • JAXlib >= 0.4.13
  • NumPy >= 1.20.0

For GPU support:

  • CUDA-compatible GPU
  • CUDA toolkit
  • cuDNN

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

jaxspd-0.1.2.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

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

jaxspd-0.1.2-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file jaxspd-0.1.2.tar.gz.

File metadata

  • Download URL: jaxspd-0.1.2.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for jaxspd-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f6b52415969684d78017202f37dd93fc15432ae89b4be2101559b28fc873a663
MD5 df5164aeab3994df525944ee66d28fa0
BLAKE2b-256 8d084a72df62a4f517400eebd6e9dae4524970d1c114f4b61d4ba72938c6d3ba

See more details on using hashes here.

File details

Details for the file jaxspd-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: jaxspd-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for jaxspd-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0a42ab34fd36515b94ba16595d1b1020ecd07602156edababb7916eea727dcc0
MD5 f462b954e09ba92ec7b982f7ca6d2a6f
BLAKE2b-256 cd669cb18e3348130e971e043b0478530e8ccd2639d77bd34a77599b2caf690b

See more details on using hashes here.

Supported by

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