Skip to content
Compare
Choose a tag to compare
@sangallidavide sangallidavide released this 16 Jan 13:14
· 0 commits to master since this release

Yambo version 5.3 is now ready for production.

This release brings significant advancements, particularly in GPU support, thanks to the contributions of the MaX Centre of Excellence. Below, you will find a comprehensive overview of the updates and improvements introduced in this version:

GPU porting

  • Yambo interface with devxlib library has been significantly developed. All internal "device subroutine" have been removed from the main source. Yambo 5.3 fully relies on devxlib subroutines (version 0.8.5). This allows to compile yambo with different paradigms. While the production GPU porting strategy remains based on Cuda Fortran, now it is also possible to compile and run yambo with OpenAcc and OpenMP-GPU.
  • The configuration syntax for GPU compilation has changed. Please review the updated documentation for details.
  • The Slepc solver now supports GPUs. To utilize this, both Slepc and Petsc must be compiled with GPU support. (Thanks to the slepc team).

BSE

  • The computation of the BSE kernel is now divided into three distinct steps: exchange, ALDA, and correlation. This allows for independent cut-off settings for each kernel.
  • Fixed handling of alpha and epsilon, and Lbar vs Lfull, for lower dimensional systems
  • New tddft kernel implementation, which is an order of magnitude faster than previous version
  • New implementation of slepc solver with coupling, which takes into account of the pseudo-hermitian structure of the BSE matrix. (Thanks to the slepc team)
  • Dichroism in molecule can now be computed beyond the independent particle approximation (IP) (see https://arxiv.org/abs/2202.12702 for details)

Non-linear optics

More

  • The Yambo driver is now reintegrated into the main source, simplifying the compilation process.
  • The configure script has been upgraded to support the latest Intel compilers (2025).
  • a2y interface improved. Fixed compatibility with AFM symmetries.
  • p2y interface, small fix for l= components of the pseudo-potential (Thanks to Murali)
  • memory.h renamed y_memory.h to improve compatibility across architectures.
  • internal libraries versions updated
  • Rewritten G_m_G subroutine for better efficiency (now converts g-vectors into integers).
  • Reorganized dipole subroutines.