Skip to content

DotMP Pre-Release v1.6.0-pre2

Pre-release
Pre-release
Compare
Choose a tag to compare
@computablee computablee released this 21 Nov 06:59
· 205 commits to main since this release
33a8e90

This is a second pre-release of v1.6.0. Starting with this pre-release moving forward, we will no longer be providing binaries on GitHub. We recommend using the NuGet package manager. This saves me some time and energy.

Performance Improvements

Index calculations have been thoroughly optimized across the board. v1.6.0-pre1 optimized index calculations for 2D and 3D loops, and pre2 optimizes index calculations for 4D and higher to a significant margin.

GetThreadNum has also been optimized, though this is already such a lightweight function that it's hardly noticeable.

Atomics

We have now implemented atomic subtraction for unsigned integer types. Two new methods were added to the Atomic static class: uint Sub(ref uint, uint), and ulong Sub(ref ulong, ulong). These are not super optimized and could probably be better before the full v1.6.0 release.

Reorganizing

There has been some internal reorganizing. DotMP exceptions have been moved to the DotMP.Exceptions namespace, and the actual scheduler implementations have been moved to the DotMP.Schedulers namespace.

Bug fixes

There are a few bug fixes and performance improvements throughout DotMP.

What's Changed

Full Changelog: v1.6.0-pre1...v1.6.0-pre2