Releases: sandialabs/qthreads
Releases · sandialabs/qthreads
1.21
Improvements:
- Support and testing for clang 19 and gcc 14
- Partial support for thread sanitizer
- Dramatically simplified build system
- Removed numerous unused build configs
- Fixed a minor performance regression from the last release
- Removed hand-imlemented atomics in favor of C11 atomics and existing intrinsics
- Removed unmaintained support for eurekas
- Removed unmaintained support for distributed Qthreads
- Removed various unmaintained debugging and profiling code paths
- Dropped support for numerous compilers that no are no longer available
- Dropped support for various unmaintained architectures like Tilera, Itanium, Alpha, MIPS, and Sparc
- Dropped support for various OS configs that we don't test like Solaris, HPUX, and AIX
- Removed several unmaintained/untested threadqueue and topology detection options
1.21rc1
1.21 release candidate
1.20
Improvements:
- Improve and expand CI testing
- Fix compilation and testing for an expanded range of platforms, compilers, and operating systems
- Fix numerous sanitizer errors
- Remove some unused/outdated code
1.20rc1
Candidate for 1.20 release.
This release includes numerous bugfixes to make qthreads build and run on a wider variety of platform/build environment combinations. Various warnings and sanitizer errors were also fixed.
1.19
New Features:
- Add a mechanism to reset the default task spawn order
- Enable the use of HWLOC_GET_TOPOLOGY_FUNCTION
Improvements:
- Fix fast context swap on ARM64
- Mature support of ARM64 for Apple MacOS and Linux
- Improvements to testing
- Improvements to configure scripts
- Remove unused files
- Make version numbering consistent
Notes:
- Software repository migrated to new location
1.19RC
New Features:
- Add a mechanism to reset the default task spawn order
- Enable the use of HWLOC_GET_TOPOLOGY_FUNCTION
Improvements:
- Fix fast context swap on ARM64
- Mature support of ARM64 for Apple MacOS and Linux
- Improvements to testing
- Improvements to configure scripts
- Remove unused files
- Make version numbering consistent
Notes:
- Software repository migrated to new locaton
1.18
New Features:
- Add support for Apple Mac Mx hardware
- Add spinlock-based implementation of locking API
- Add support for recursive locks
Improvements:
- Fix synchronization primitives by adding correct fencing
- Use stdatomic fence acquire and release for >=C11
- Increase default stack size from 4kB to 16kB
- Fix hang in qt_blocking_subsystem_internal_stopwork on qthreads_finalize
- Enable QTHREAD_ARMV8_A64 context swap on Apple Mx hardware
- Add distributable package gen script
1.17
Improvements:
- Add GitHub actions for CI testing
- Add missing include files in the binders topology layer
- Handle SIGSEGV during configure testing to avoid user exposure
- Add --with-hwloc-symbol-prefix configure option
- Add errno preservation from system calls
- Fix compilation errors on M1 MAC computers
- Remove Loxley experimental schedulers
1.16
1.15
New Features:
- Add experimental support for Thread Local Storage and new Condition variable initializers
- Non-blocking FEB functions are now exposed (e.g. qthread_readFF_nb), other runtimes (e.g. MPI) require access.
Improvements:
- Remove the deprecated register keyword
- Fix automake machinery so that "make dist" works as expected