Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: jax integration #590

Open
wants to merge 16 commits into
base: dev
Choose a base branch
from
Open

Feature: jax integration #590

wants to merge 16 commits into from

Conversation

mrava87
Copy link
Collaborator

@mrava87 mrava87 commented Jul 3, 2024

Motivation

This PR introduces a new backend in PyLops to enable using JAX arrays.

As a by-product of JAX-enabled operators, we inherit JAX features like jit, automatic differentiation, and automatic vectorization.

Highlights

  • Created new JaxOperator
  • Modified most of the operators and methods in LinearOperator to enable JAX integration
  • Cleaned up backend module with new logic to detect whether np,cp, or jnp methods should be used based on the input type
  • Added a new tutorial named jaxop
  • Revamped gpu.rst documentation page

@mrava87 mrava87 mentioned this pull request Jul 3, 2024
Since sliding and patching use sliding_window_view that is currently
not available in JAX, we will not support them in the jax backend
for the moment.
Copy link

@VascoSch92 VascoSch92 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, great job :-)

I left just some nit ;-)

pylops/avo/poststack.py Outdated Show resolved Hide resolved
pylops/jaxoperator.py Outdated Show resolved Hide resolved
pylops/jaxoperator.py Outdated Show resolved Hide resolved
pylops/jaxoperator.py Outdated Show resolved Hide resolved
pylops/signalprocessing/fredholm1.py Outdated Show resolved Hide resolved
@mrava87
Copy link
Collaborator Author

mrava87 commented Jul 4, 2024

Hey, great job :-)

I left just some nit ;-)

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants