Skip to content

GalSim-developers/JAX-GalSim

Repository files navigation

JAX-GalSim

JAX port of GalSim, for parallelized, GPU accelerated, and differentiable galaxy image simulations.

Contributor Covenant Python package Code style: black

Disclaimer: This project is still in an early development phase, please use the reference GalSim implementation for any scientific applications.

In fact, we are still thinking about how to name this project, checkout this poll.

Objective and design

See design document.

The goal of this library is to reimplement GalSim functionalities in pure JAX to allow for automatic differentiation, GPU acceleration, and batched computations.

Guiding Principles:

  • Strive to be a drop-in replacement for GalSim, i.e. provide a close match to the GalSim API.
  • Each function/feature will be tested against the reference GalSim implementation.
  • This package will aim to be a subset of GalSim (i.e. only contains functions with a reference GalSim implementation).
  • Implementations should be easy to read and understand.
  • Code should be pip installable on any machine, no compilation required.
  • Any notable differences between the JAX and reference implementations will be clearly documented.

Contributing

Everyone can contribute to this project, please refer to the CONTRIBUTING.md document for details.

In short, to interact with the project you can:

Issues marked with contributions welcome or good first issue are particularly good places to start. These are great ways to learn more about the inner workings of GalSim and how to code in JAX.

Current GalSim capabilities coverage

0%

About

JAX port of GalSim, for parallelized, GPU accelerated, and differentiable galaxy image simulations.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published