qthreads
qthreads copied to clipboard
Lightweight locality-aware user-level threading runtime.
I noticed this while working on https://github.com/sandialabs/qthreads/pull/182. We currently hit undefined behavior if `qthread_yield` gets called outside a qthread. It'd be nice to have a better error mode for that...
As per https://www.gnu.org/prep/standards/html_node/Standard-Targets.html, `make distclean` should purge all the build files generated by both the configure and build steps, but after running it some files still remain. I'm not yet...
We shouldn't be using identifiers structured like `_QT_HEADERNAME_H_` since these are reserved identifiers in the C standard. I'm seeing these kinds of things in the header include guards, but there...
Currently there are various specializations in the code for compilers that are unlikely to work anyway since they haven't been tested in ages. Offhand I'm seeing pgi, sun, ibm, convey,...
https://github.com/sandialabs/qthreads/pull/75 replaced `HWLOC_OBJ_CACHE` with `HWLOC_OBJ_CACHE_UNIFIED` in the hwloc topology code, but this replacement doesn't make sense there since these are values of two different types of enum. See https://github.com/sandialabs/qthreads/blob/f04005380afc0cfb2a0f486d83e1c0fef5d6c63d/src/affinity/hwloc.c#L137-L141 for...
Qthreads currently supports a variety of ways of determining the underlying hardware topology (no detection, hwloc, hwloc_v2, binders, lgrp, libnuma, libnumaV2, mach, plpa, sys, and tilera). We need to decide,...
I'm seeing various static functions defined in headers. Offhand this seems like a mistake since the primary reason for to make something static is to either produce a unique copy...
It looks like the assertions haven't been tested in a while, so there are various failures either because of new bugs or outdated assertions. Here are the tests with assertion...
Currently unclear to what extent these represent real bugs vs just needing to get memory sanitizer working well with qthreads, however all of the following fail with memory sanitizer enabled...
It appears there's some kind of startup issue with the binders topology config on OSX.