Skip to content

Commit c9d0eae

Browse files
committed
doc: improved doc for JaxOperator
1 parent 126515d commit c9d0eae

File tree

2 files changed

+27
-11
lines changed

2 files changed

+27
-11
lines changed

docs/source/api/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Templates
2929
FunctionOperator
3030
MemoizeOperator
3131
TorchOperator
32+
JaxOperator
3233

3334
Basic operators
3435
~~~~~~~~~~~~~~~

docs/source/gpu.rst

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ From ``v2.3.0``, PyLops supports also computations on GPUs/TPUs powered by
1313
`JAX <https://jax.readthedocs.io/en/latest/>`_.
1414
This library must be installed *before* PyLops is installed.
1515

16-
PyLops supports computations on GPUs powered by `CuPy <https://cupy.dev/>`_ (``cupy-cudaXX>=v13.0.0``).
17-
This library must be installed *before* PyLops is installed.
18-
1916
.. note::
2017

2118
Set environment variables ``CUPY_PYLOPS=0`` and/or ``JAX_PYLOPS=0`` to force PyLops to ignore
@@ -29,12 +26,12 @@ on GPU. For CuPy, users simply need to consistently create operators and
2926
provide data vectors to the solvers, e.g., when using
3027
:class:`pylops.MatrixMult` the input matrix must be a
3128
``cupy`` array if the data provided to a solver is also ``cupy`` array.
32-
For JAX, apart from following the procedure described for CuPy, a PyLops operator must also
33-
be wrapped into a ``JaxOperator``.
29+
For JAX, apart from following the same procedure described for CuPy, the PyLops operator must
30+
be also wrapped into a :class:`pylops.JaxOperator`.
3431

3532

3633
In the following, we provide a list of methods in :class:`pylops.LinearOperator` with their current status (available on CPU,
37-
GPU with CuPy, and GPU with JAX.
34+
GPU with CuPy, and GPU with JAX):
3835

3936
.. list-table::
4037
:widths: 50 25 25 25
@@ -44,19 +41,37 @@ GPU with CuPy, and GPU with JAX.
4441
- CPU
4542
- GPU with CuPy
4643
- GPU/TPU with JAX
44+
* - :meth:`pylops.LinearOperator.cond`
45+
- |:white_check_mark:|
46+
- |:red_circle:|
47+
- |:red_circle:|
48+
* - :meth:`pylops.LinearOperator.conj`
49+
- |:white_check_mark:|
50+
- |:white_check_mark:|
51+
- |:white_check_mark:|
52+
* - :meth:`pylops.LinearOperator.div`
53+
- |:white_check_mark:|
54+
- |:white_check_mark:|
55+
- |:white_check_mark:|
4756
* - :meth:`pylops.LinearOperator.eigs`
4857
- |:white_check_mark:|
4958
- |:red_circle:|
5059
- |:red_circle:|
51-
* - :meth:`pylops.LinearOperator.cond`
60+
* - :meth:`pylops.LinearOperator.todense`
61+
- |:white_check_mark:|
62+
- |:white_check_mark:|
63+
- |:white_check_mark:|
64+
* - :meth:`pylops.LinearOperator.tosparse`
5265
- |:white_check_mark:|
5366
- |:red_circle:|
5467
- |:red_circle:|
55-
* - :meth:`pylops.LinearOperator.cond`
68+
* - :meth:`pylops.LinearOperator.trace`
5669
- |:white_check_mark:|
5770
- |:red_circle:|
5871
- |:red_circle:|
5972

73+
Similarly, we provide a list of operators with their current status.
74+
6075
Basic operators:
6176

6277
.. list-table::
@@ -375,15 +390,15 @@ Geophysical subsurface characterization:
375390

376391
.. warning::
377392

378-
1. The JAX backend of the :class:`pylops.basicoperators.Convolve1D` operator
393+
1. The JAX backend of the :class:`pylops.signalprocessing.Convolve1D` operator
379394
currently works only with 1d-arrays due to a different behaviour of
380395
:meth:`scipy.signal.convolve` and :meth:`jax.scipy.signal.convolve` with
381396
nd-arrays.
382397

383398
2. The JAX backend of the :class:`pylops.avo.prestack.PrestackLinearModelling`
384399
operator currently works only with ``explicit=True`` due to the same issue as
385-
in point 1 for the :class:`pylops.basicoperators.Convolve1D` operator employed
386-
when ``explicit=False``.
400+
in point 1 for the :class:`pylops.signalprocessing.Convolve1D` operator employed
401+
when ``explicit=False``.
387402

388403

389404
Example

0 commit comments

Comments
 (0)