Skip to content

Releases: helmholtz-analytics/heat

Heat 1.5 Release: distributed matrix factorization and more

28 Oct 12:31
7e15ad2
Compare
Choose a tag to compare

Heat 1.5 Release Notes


Overview

With Heat 1.5 we release the first set of features developed within the ESAPCA project funded by the European Space Agency (ESA).

The main focus of this release is on distributed linear algebra operations, such as tall-skinny SVD, batch matrix multiplication, and triangular solver. We also introduce vectorization via vmap across MPI processes, and batch-parallel random number generation as default for distributed operations.

This release also includes a new class for distributed Compressed Sparse Column matrices, paving the way for future implementation of distributed sparse matrix multiplication.

On the performance side, our new array redistribution via MPI Custom Datatypes provides significant speed-up in operations that require it, such as FFTs (see Dalcin et al., 2018).

We are grateful to our community of users, students, open-source contributors, the European Space Agency and the Helmholtz Association for their support and feedback.

Highlights

  • [ESAPCA] Distributed tall-skinny SVD: ht.linalg.svd (by @mrfh92)
  • Distributed batch matrix multiplication: ht.linalg.matmul (by @FOsterfeld)
  • Distributed solver for triangular systems: ht.linalg.solve_triangular (by @FOsterfeld)
  • Vectorization across MPI processes: ht.vmap (by @mrfh92)

Other Changes

Performance Improvements

  • #1493 Redistribution speed-up via MPI Custom Datatypes available by default in ht.resplit (by @JuanPedroGHM)

Sparse

  • #1377 New class: Distributed Compressed Sparse Column Matrix ht.sparse.DCSC_matrix() (by @Mystic-Slice)

Signal Processing

RNG

  • #1508 Introduce batch-parallel RNG as default for distributed operations (by @mrfh92)

Statistics

  • #1420
    Support sketched percentile/median for large datasets with ht.percentile(sketched=True) (and ht.median) (by @mrhf92)
  • #1510 Support multiple axes for distributed ht.percentile and ht.median (by @ClaudiaComito)

Manipulations

I/O

  • #1602 Improve load balancing when loading .npy files from path (by @Reisii)
  • #1551 Improve load balancing when loading .csv files from path (by @Reisii)

Machine Learning

  • #1593 Improved batch-parallel clustering ht.cluster.BatchParallelKMeans and ht.cluster.BatchParallelKMedians (by @mrfh92)

Deep Learning

Other Updates

Contributors

@mrfh92, @FOsterfeld, @JuanPedroGHM, @Mystic-Slice, @ClaudiaComito, @Reisii, @mtar and @krajsek

Heat 1.5.0-rc1: Pre-Release

10 Sep 13:33
0ddb7f6
Compare
Choose a tag to compare
Pre-release

Changes

Cluster

Data

IO

  • #1602 Improved load balancing when loading .npy files from path. (by @Reisii)
  • #1551 Improved load balancing when loading .csv files from path. (by @Reisii)

Linear Algebra

Manipulations

Random

  • #1508 Introduce Batchparallel for RNG as default. (by @mrfh92)

Signal

Statistics

Sparse

Other

Contributors

@ClaudiaComito, @FOsterfeld, @JuanPedroGHM, @Reisii, @mrfh92, @mtar and @krajsek

Heat 1.4.2 - Maintenance Release

12 Jul 11:06
421da62
Compare
Choose a tag to compare

Changes

Interoperability

Contributors

@ClaudiaComito, @mrfh92 and @mtar

Heat 1.4.1: Bug fix release

13 May 11:27
6112775
Compare
Choose a tag to compare

Changes

Bug fixes

Maintenance

  • #1441 added names of non-core members in citation file (by @mrfh92)

Contributors

@ClaudiaComito and @mrfh92

Interactive HPC tutorials, distributed FFT, batch-parallel clustering, support PyTorch 2.2.2

18 Apr 08:50
Compare
Choose a tag to compare

Changes

Documentation

  • #1406 New tutorials for interactive parallel mode for both HPC and local usage (by @ClaudiaComito)

🔥 Features

Bug fixes

  • #1363 ht.array constructor respects implicit torch device when copy is set to false (by @JuanPedroGHM)
  • #1216 Avoid unnecessary gathering of distributed operand (by @samadpls)
  • #1329 Refactoring of QR: stabilized Gram-Schmidt for split=1 and TS-QR for split=0 (by @mrfh92)

Interoperability

Contributors

@ClaudiaComito, @FOsterfeld, @JuanPedroGHM, @LScheib, @mrfh92, @mtar, @samadpls

Bug fixes, Docker documentation update

23 Nov 09:42
05325e2
Compare
Choose a tag to compare

Bug fixes

  • #1259 Bug-fix for ht.regression.Lasso() on GPU (by @mrfh92)
  • #1201 Fix ht.diff for 1-element-axis edge case (by @mtar)

Changes

Interoperability

Maintenance

Contributors

@ClaudiaComito, @JuanPedroGHM, @bhagemeier, @mrfh92 and @mtar

Scalable SVD, GSoC`22 contributions, Docker image, PyTorch 2 support, AMD GPUs acceleration

20 Jun 14:49
Compare
Choose a tag to compare

This release includes many important updates (see below). We particularly would like to thank our enthusiastic GSoC2022 / tentative GSoC2023 contributors @Mystic-Slice @neosunhan @Sai-Suraj-27 @shahpratham @AsRaNi1 @Ishaan-Chandak 🙏🏼 Thank you so much!

Highlights

Changelog

Array-API compliance / Interoperability

New Features

Bug Fixes

Benchmarking

Documentation

Linear Algebra

Contributors

@AsRaNi1, @ClaudiaComito, @Ishaan-Chandak, @JuanPedroGHM, @Mystic-Slice, @Sai-Suraj-27, @bhagemeier, @coquelin77, @mrfh92, @mtar, @neosunhan, @shahpratham

Bug fixes, support OpenMPI>=4.1.2, support PyTorch 1.13.1

19 Jan 08:51
Compare
Choose a tag to compare

Changes

Communication

Contributors

@ClaudiaComito, @JuanPedroGHM

Support PyTorch 1.13, Lanczos decomposition fix, bug fixes

01 Dec 09:57
Compare
Choose a tag to compare

Changes

  • #1048 Support PyTorch 1.13.0 on branch release/1.2.x (by @github-actions)

🐛 Bug Fixes

  • #1038 Lanczos decomposition linalg.solver.lanczos: Support double precision, complex data types (by @ClaudiaComito)
  • #1034 ht.array, closed loophole allowing DNDarray construction with incompatible shapes of local arrays (by @Mystic-Slice)

Linear Algebra

  • #1038 Lanczos decomposition linalg.solver.lanczos: Support double precision, complex data types (by @ClaudiaComito)

🧪 Testing

Contributors

@ClaudiaComito, @JuanPedroGHM, @Mystic-Slice, @coquelin77, @mtar, @github-actions, @github-actions[bot]

v1.2.0: GSoC22, introducing `signal` module, parallel I/O and more

27 Apr 12:49
Compare
Choose a tag to compare

Highlights

  • We have been selected as a mentoring organization for Google Summer of Code, and we already have many new contributors (see below). Thank you!
  • Heat now supports PyTorch 1.11
  • Gearing up to support data-intensive signal processing: introduced signal module and memory-distributed 1-D convolution with ht.convolve()
  • Parallel I/O: you can now parallelize writing out to CSV file with ht.save_csv().
  • Introduced more flexibility in memory-distributed binary operations.
  • Expanded functionalities in linalg, manipulations modules.

What's Changed

New Contributors

Full Changelog: v1.1.0...v1.2.0