Skip to content

Releases: sandialabs/qthreads

1.21

30 Sep 21:22
Compare
Choose a tag to compare

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

27 Sep 16:43
Compare
Choose a tag to compare
1.21rc1 Pre-release
Pre-release

1.21 release candidate

1.20

02 May 18:09
2e651fd
Compare
Choose a tag to compare

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

02 Apr 16:28
f4bcfc7
Compare
Choose a tag to compare
1.20rc1 Pre-release
Pre-release

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.

qthreads-1.20rc1.tar.gz

1.19

29 Aug 18:41
ba3ffd1
Compare
Choose a tag to compare

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

28 Aug 20:53
dd7216f
Compare
Choose a tag to compare
1.19RC Pre-release
Pre-release

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

23 Sep 22:20
2eae39f
Compare
Choose a tag to compare

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

14 Sep 17:39
71d29ef
Compare
Choose a tag to compare

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

18 Jan 21:47
dc89e67
Compare
Choose a tag to compare

Improvements:

  • Add support for Spack testing (spack test run qthreads)
  • Add support for hwloc2.x (minimal required version is hwloc1.5)

Documentation:

  • User guide for basic Qthreads usage (see userguide subdirectory for LaTex and included code source files)

1.15

27 Sep 04:09
Compare
Choose a tag to compare

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