v0.7.0
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 forBox
where removed. -
Parallel code that used
nthreads()
to defineoutput_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 withnbatches(cl)
. -
The
neighbourlist
function was renamed toneighborlist
(without theu
).
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 ofAuxThreaded
, 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