cosmopolitan/third_party/openmp
Justine Tunney 3c61a541bd
Introduce pthread_condattr_setclock()
This is one of the few POSIX APIs that was missing. It lets you choose a
monotonic clock for your condition variables. This might improve perf on
some platforms. It might also grant more flexibility with NTP configs. I
know Qt is one project that believes it needs this. To introduce this, I
needed to change some the *NSYNC APIs, to support passing a clock param.
There's also new benchmarks, demonstrating Cosmopolitan's supremacy over
many libc implementations when it comes to mutex performance. Cygwin has
an alarmingly bad pthread_mutex_t implementation. It is so bad that they
would have been significantly better off if they'd used naive spinlocks.
2024-09-02 23:45:42 -07:00
..
BUILD.mk Release Cosmopolitan v3.8.0 2024-08-30 20:14:07 -07:00
generate.sh Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_affinity.cpp Fine tune OpenMP some more 2024-01-30 06:30:24 -08:00
kmp_affinity.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_alloc.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_atomic.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_atomic.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_barrier.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_barrier.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_cancel.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_collapse.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_collapse.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_config.h Upgrade to 2022-era LLVM LIBCXX 2024-05-27 02:12:27 -07:00
kmp_csupport.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_debug.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_debug.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_debugger.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_debugger.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_dispatch.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_dispatch.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_dispatch_hier.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_environment.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_environment.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_error.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_error.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_ftn_cdecl.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_ftn_entry.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_ftn_os.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_global.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_gsupport.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_i18n.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_i18n.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_i18n_default.inc Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_i18n_id.inc Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_io.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_io.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_itt.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_itt.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_itt.inc Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_lock.cpp Introduce pthread_condattr_setclock() 2024-09-02 23:45:42 -07:00
kmp_lock.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_omp.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_os.h Make improvements 2024-02-12 10:23:00 -08:00
kmp_platform.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_runtime.cpp Add some noexcept annotations 2024-06-01 03:19:53 -07:00
kmp_safe_c_api.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_sched.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_settings.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_settings.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_stats.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_stats.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_stats_timing.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_stats_timing.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_str.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_str.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_stub.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_taskdeps.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_taskdeps.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_tasking.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_threadprivate.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_utility.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_utils.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_version.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_version.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_wait_release.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_wait_release.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_wrapper_getpid.h Add OpenMP support 2024-01-28 22:39:02 -08:00
kmp_wrapper_malloc.h Add OpenMP support 2024-01-28 22:39:02 -08:00
omp-tools.h Add OpenMP support 2024-01-28 22:39:02 -08:00
omp.h Add OpenMP support 2024-01-28 22:39:02 -08:00
ompd-specific.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
ompd-specific.h Add OpenMP support 2024-01-28 22:39:02 -08:00
ompt-event-specific.h Add OpenMP support 2024-01-28 22:39:02 -08:00
ompt-general.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
ompt-internal.h Add OpenMP support 2024-01-28 22:39:02 -08:00
ompt-specific.cpp Add OpenMP support 2024-01-28 22:39:02 -08:00
ompt-specific.h Add OpenMP support 2024-01-28 22:39:02 -08:00
ompx.h Add OpenMP support 2024-01-28 22:39:02 -08:00
README.cosmo Fine tune OpenMP some more 2024-01-30 06:30:24 -08:00
util1.cpp Fine tune OpenMP some more 2024-01-30 06:30:24 -08:00
util2.S Make improvements 2024-01-29 16:31:58 -08:00

DESCRIPTION

  libomp - LLVM's Compiler Runtime for Multiprocessing

ORIGIN

  https://github.com/llvm/llvm-project/
  commit 70c3e30e01bd123e87824e36b6e38a39451ac28d
  date   Mon Jan 29 09:54:34 2024 +0800

LOCAL CHANGES

  - Use Cosmo's gettid() function
  - Ran third_party/openmp/generate.sh
  - Removed usage of syscall() function
  - Only enable hidden helper on GNU/Systemd
  - Made __kmp_get_load_balance() portable at runtime
  - Made __kmp_affinity_get_offline_cpus() portable at runtime
  - Turned off quad floating point support (why does openmp have it?)
  - Remove bloat for checking if multiple OpenMP libraries are linked