Skip to content

Releases: SSCHAcode/python-sscha

1.4.1

15 Feb 07:30
Compare
Choose a tag to compare

This is a minor release update for 1.4.

The main difference is to improve compatibility with numpy distutils that broke the automatic compilation of the thermal module and fix some minor bugs in the code.

What's Changed

Full Changelog: v1.4...v1.4.1

v1.4

21 Nov 15:57
Compare
Choose a tag to compare

Release 1.4

We are thrilled to announce the release of version 1.4 of our code, featuring significant enhancements and exciting improvements:

Key Highlights

  • Code Speedup: In this release, we have achieved a remarkable speedup, with performance gains ranging from 10x to 100x in specific scenarios. This substantial acceleration is due to the new integration with Julia and a comprehensive algorithm rewrite, enabling all calculations in Fourier space during the free energy minimization.
  • Enhanced Code Parallelization: Version 1.4 introduces improved code parallelization. This enhancement extends to the SSCHA minimization (now parallelizing both the evaluation of energies and forces, the gradient, and stochastic reweighting utilizing MPI) and the spectral function.
  • AiiDA Integration with Quantum Espresso: Thanks to the contributions of Lorenzo Bastonero (@bastonero), the sscha code now offers a seamless integration with AiiDA and Quantum Espresso. In this way, the SSCHA leverages AiiDA to deal with cluster communication, allowing easier integration with non-SLURM or more exotic HPC configurations.

Do not worry; the old plain cluster module remains a supported feature, and we care about backward compatibility, so there is no need to change your input scripts or install AiiDA to submit on a cluster!

Detailed changes

In addition to these significant advances, we have diligently addressed various minor issues and bugs. A more complete list follows.

Julia is not a mandatory requirement to run the new version of the SSCHA. However, while the code offers a fallback mode if Julia is unavailable, we strongly recommend having Julia installed, as failure to do so may result in a significant slowdown, reducing performance gains achieved through this release (without julia the code utilizes the same implementation as in version 1.3).

For updated installation instructions and to experience the full benefits of release 1.4, visit http://sscha.eu/download/

We're excited about this release and the opportunities it offers. Your feedback is invaluable to us, and we look forward to your continued support and engagement with our code.

Thank you for being a part of this journey.

Best regards,
Lorenzo Monacelli, on behalf of the developers

What's Changed

New Contributors

Full Changelog: v1.2...v1.4

New version 1.2

10 Sep 14:17
39471e4
Compare
Choose a tag to compare

It's time for a new release of the SSCHA code.
This new version comes with a lot of improvements in the interface between client and server in the automatic cluster submission.
In particular, the code packs together all the configurations in tar files and reduces a lot the communications and the number of connections established.
The I/O has been strongly improved, and we added a new script to analyze the output.

sscha-plot-results.py NAME

To print on file the correct information during the minimization, use:

ioinfo = sscha.Utilities.IOInfo()
ioinfo.SetupSaving("NAME")

And pass ioinfo as an argument of custom_function_post of run (of sscha.SchaMinimizer.SSCHA_Minimizer) or of setup_custom_function (of sscha.Relax.SSCHA).

Thanks to @diegomartinez2 , the new version implements the SOBOL algorithm to reduce the number of configurations required to reach convergence.

New version 1.1

24 Feb 21:26
Compare
Choose a tag to compare

A lot of bugs have been solved, and finally, we release the stable version of the python-sscha code.

The focus of this release was to improve the user experience. To this aim, we implemented a better minimization algorithm and a much improved variable cell relaxation algorithm. In particular, we:

  1. Minimization now occurs with automatic step selection (line-minimization), able to account also for imaginary frequencies and too drastic steps due to the stochastic nature of the algorithm. The user does not have to specify the step anymore, as the automatic step selection works extremely well.
  2. The variable cell minimization algorithm uses a similar line-minimization approach, we also fixed a bug in the units of the bulk modulus. Now the algorithm for the cell dynamics is robust and never diverges, even with a noisy ensemble.
  3. Speedup of the code. We removed a lot of redundant diagonalization performed throughout the code that slowed down the minimization, in particular for systems with a large primitive cell.

We have also added some useful extra features to the ensemble class, like the possibility to save into the raw format to interface with DeepMD-kit code (you can use your SSCHA ensemble to train a neural network potential!)

Furthermore, we extended the functionality of cluster calculation, which is more stable. Still, a major update on the cluster interface will come in the near future.

Remember to upload also CellConstructor to version 1.1, as the two codes must always work in paired versions.

What's Changed

New Contributors

Full Changelog: https://github.com/SSCHAcode/python-sscha/commits/v1.1