Releases: PyLops/pylops-mpi
Releases · PyLops/pylops-mpi
v0.6.1
v0.6.0
- Introduced
pylops_mpi.optimization.eigs.power_iterationto estimate the maximum eigenvalue. - Added
pylops_mpi.optimization.sparsity.istaand the correspondingpylops_mpi.optimization.cls_sparsity.ISTAclass, implementing the iterative shrinkage-thresholding algorithm. - Added
pylops_mpi.optimization.sparsity.fistaand the correspondingpylops_mpi.optimization.cls_sparsity.FISTAclass, a fast variant of ISTA. - Included tutorial: "Reflectivity Inversion - 3D", with separate implementations for base, CuPy, and NCCL.
- Added
empty_likefunction topylops_mpi.DistributedArrayandpylops_mpi.StackedDistributedArray. - Introduced a
vdotparameter in thedotmethod ofpylops_mpi.DistributedArrayandpylops_mpi.StackedDistributedArrayto support vector dot products.
v0.5.0
- Performed fixes to support
numpy>=2.4. - Added
redistributefunction topylops_mpi.DistributedArray. - Introduced MPI_Allgatherv in
pylops_mpi.utils._mpi.mpi_allgatherfor variable sized arrays. - Modified
pylops_mpi.DistributedArray.normto correctly handle cases where distributed axis differs from norm axis.
v0.4.0
- Added
pylops_mpi.Distributed.DistributedMixInclass with communicator-agnostic calls to communication methods. - Added
pylops_mpi.utils._mpiwith implementations of MPI communication methods. - Added
kind="summa"implementation inpylops_mpi.basicoperators.MPIMatrixMultoperator. - Added
kindparamter to all operators inpylops_mpi.basicoperators.MPILaplacian - Added
cp.cuda.Device().synchronize()before any MPI call when using Cuda-Aware MPI. - Modified
pylops_mpi.utils._nccl.initialize_nccl_commto handle nodes with more GPUs than ranks. - Fixed bug in
pylops_mpi.DistributedArray.__neg__by explicitely passingbase_comm_ncclduring internal creation of distributed array .
v0.3.0
- Added
pylops_mpi.basicoperators.MPIMatrixMultoperator. - Added NCCL support to all operators in :mod:
pylops_mpi.basicoperatorsandpylops_mpi.signalprocessing. - Added
base_comm_ncclin constructor ofpylops_mpi.DistributedArrayto enable NCCL communication backend. - Added
pylops_mpi.utils.benchmarksubpackage providing methods to decorate and mark functions / class methods to measure their execution time. - Added
pylops_mpi.utils._ncclsubpackage implementing methods for NCCL communication backend. - Added
pylops_mpi.utils.depssubpackage to safely importnccl - Fixed partition in the creation of the output distributed array in
pylops_mpi.signalprocessing.MPIFredholm1.
v0.2.1
- Release for publication on Zenodo
v0.2.0
- Added support for using CuPy arrays with PyLops-MPI.
- Introduced the
MPIFredholm1andMPIMDCoperators. - Allowed the
UNSAFE_BROADCASTpartition to give users an option to handle overflow in broadcast scenarios. - Added a
dottestfunction to perform dot tests on PyLops-MPI operators. - Created a tutorial for Multi-Dimensional Deconvolution (MDD).
v0.1.0
- Adapted
pylops_mpi.optimization.cgandpylops_mpi.optimization.cglsto handlepylops_mpi.StackedDistributedArray. - Added
pylops_mpi.MPIGradientoperator. - Added
pylops_mpi.MPIStackedLinearOperator,pylops_mpi.MPIStackedBlockDiag, andpylops_mpi.MPIStackedVStackoperators. - Added
pylops_mpi.StackedDistributedArray.
v0.0.1
First official release of PyLops-MPI.