Skip to content

v0.7.0

Compare
Choose a tag to compare
@lmiq lmiq released this 22 Dec 02:00
· 582 commits to main since this release

What's Changed

This is a breaking change, because these interfaces have changed:

  • Type (units, duals, autodiff) propagate automatically. Thus, the strip_value function and the type parameter for Box where removed.

  • Parallel code that used nthreads() to define output_threaded preallocated vectors might brake, because the number of batches of the mapping function may be different, and must be set by the user or retrieved with nbatches(cl).

  • The neighbourlist function was renamed to neighborlist (without the u).

New features

  • Automatic generic type propagation
  • Control over the number of batches used for parallel computation of cell lists and mapping (independently)
  • Added the map_pairwise alias for non-mutating functions.
  • Added heuristic determination of the number of parallel batches, to improve performance for large systems.
  • Use less memory in parallel runs to compute the cell lists. This improves latency when using many threads (although the performance for small systems may be slightly worse).
  • Added particles_per_batch option to the constructor of AuxThreaded, to define the size of the batch.
  • Improved the reduction algorithm in neighborlists.
  • Use asynchronous spawn for parallelization, reducing issues with non-homogeneous tasks.
  • Added docs on how to call it from python using juliacall.

Full Changelog: v0.6.6...v0.7.0