Skip to main content

GEMSEO plugin for JAX (jit compilation, autodiff, XLA)

Project description

The power of JAX to accelerate MDO.

gemseo-jax is a GEMSEO plugin based on JAX, a Python library for high-performance array computing.

The class JAXDiscipline wraps a JAX function, with built-in automatic differentiation. This class provides useful functionalities:

  • filtering of the Jacobian computation graph for specific inputs/outputs,
  • jit compiling function and jacobian call for lowering cost of re-evaluation,
  • performing pre-run's to trigger and log compilation times.

AutoJAXDiscipline is a special JAXDiscipline inferring the input names, output names and default input values from the signature of the JAX function, in the manner of AutoPyDiscipline.

JAXChain is a JAXDiscipline allowing to assemble a series of JaxDisciplines and execute them all in JAX. This is useful to avoid meaningless JAX-to/from-NumPy convertions.

Documentation

How to get the docs?

Bugs/Questions

Please use the gitlab issue tracker at to submit bugs or questions.

License

The gemseo-jax source code is distributed under the GNU LGPL v3.0 license. A copy of it can be found in the LICENSE.txt file. The GNU LGPL v3.0 license is an exception to the GNU GPL v3.0 license. A copy of the GNU GPL v3.0 license can be found in the LICENSES folder. The gemseo-jax product depends on other software which have various licenses. The list of dependencies with their licenses is given in the CREDITS.md file.

Contributors

  • Ian Costa-Alves
  • François Gallard
  • Matthias De Lozzo
  • Antoine DECHAUME

Project details


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 Distribution

gemseo_jax-1.0.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file gemseo_jax-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: gemseo_jax-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for gemseo_jax-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b47ff575b59908740965d4ba918aa61e3deb4cd345716ce658e99655607c2c87
MD5 ca6399ddf35b7c6ec6256d14f349f693
BLAKE2b-256 46abf83b1657c4cceda5167444e8aaf89a942ac3d481946ab2000b5b36db5e34

See more details on using hashes here.

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