@@ -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/ >`_.
1414This 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
2926provide 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
3633In 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+
6075Basic 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
389404Example
0 commit comments