Skip to content

Version 1.4.0

Latest
Compare
Choose a tag to compare
@myurkin myurkin released this 15 Dec 20:51
· 65 commits to master since this release

This release aggregates a lot of improvements over the last several years.

  • Major new feature: non-cubical (rectangular cuboid) dipoles (#196). Controlled by the command line option -rect_dip <x> <y> <z>. Can lead to drastic acceleration in some cases.
  • New command line option: -so_buf {no|line|full} for manually specifying the buffering of stdout. On Widows line buffering is emulated, which improves performance in some cases (#277).
  • Improvement of tests/2exec to ignore most of the legitimate messages. Three more testing suites added, and script test_all for systematic testing. Makes the whole ADDA development much more robust.
  • Remove limitations of grid size dimensions to be even (#95). A monolayer of dipoles is now possible.
  • Behavior of -maxiter ... command line option was changed. Now when given number is reached ADDA produces a warning
    and continues to calculate scattering quantities (#111).
  • Set the official pronunciation of ADDA - /'adda/.
  • Many changes to OpenCL part:
    • Significant speed improvements (especially for relatively small problems).
    • Switched from discontinued library clAmdFft to clFFT (#204). It supports the same sizes of transforms as FFTW3.
    • Test implementation of the whole iterative solver (currently only BiCG) on the GPU using clBLAS (#199).
    • Improved compilation flags for MacOS - now works out of the box (#279).
  • Improved description and version detection for modern MPI implementations (#203, #246). Minimum MPI version requirement is now 2.1.
  • Added support for Microsoft MPI - works out of the box on Windows (d5814aa).
  • Added separate timing for matrix-vector products (#16). Precision of total wall time was improved.
  • Optimized computation of exp(ix) for real x using tables (#169). It accelerates sparse mode by 30-50% (similar to
    more specialized SSE3 code).
  • Fixed redundant IFAIL errors in IGT routines (f6d6400). Now IGT is applicable to arbitrarily small particles.
  • Moved to GitHub with a lot of related changes to documentation (#210) and scripts. In particular:
  • Several minor bugs fixed or addressed (#157, #198, #207, #215, #216, #228, #266, #269, #270, #271, #276).
  • Added wiki pages: UsingEclipse, InstallingclFFT, and InstallingclBLAS.
  • Deprecated wiki pages InstallingclAmdFft and InstallingclAmdBlas (the latter newly created).
  • Updated wiki pages CompilingADDA, InstallingFFTW3, InstallingMinGW, OpenCL, SparseMode, InstallingMPI, Acknowledgements.
  • The manual has been significantly reworked and extended. In particular, the source file format has been changed to .docx and it now uses Microsoft Equations for formulae.
  • A number of improvements for misc/ packages:
    • near_field now works with inhomogeneous particles (#259).
    • pip updated for massive simulation (many files, billions of dipoles) (#262).
  • Windows 32-bit executables are no more provided.

More details about this release can be found in history. Attached to the release (below) are the full source code in .zip and .tar.gz formats, as well as binaries for 64-bit Windows.