Commit Graph

23 Commits

Author SHA1 Message Date
Martin Kroeker 842189bf3f
Prevent accidental increase of the thread count inside a parallel region 2026-07-28 14:27:26 +02:00
Martin Kroeker b668c9a376
Merge pull request #5808 from nh2/issue-5806-openblas_set_num_threads-openmp
Make OpenBLAS's usage of OpenMP respect `openblas_set_num_threads()`
2026-07-13 14:38:03 +02:00
Niklas Hambüchen f8674a7be8 Make OpenBLAS's usage of OpenMP respect openblas_set_num_threads(). Fixes #5806.
Until now, the code in `num_cpu_avail()`,

    if (blas_cpu_number != openmp_nthreads) {
      goto_set_num_threads(openmp_nthreads);
    }

would just always set the threads back to OpenMP's thread count.
2026-07-12 06:11:17 +02:00
Kumar Aditya a2261f9e52 fix thread safety of openmp backend 2026-07-02 15:39:09 +05:30
Nathan Goldbaum 9363452742 Fix corruption due to lock sharding issues by centralizing locking 2026-06-14 15:32:51 -06:00
Martin Kroeker abff4baa4d
re-enable queue struct members related to locking 2024-08-02 16:37:01 +02:00
Martin Kroeker 2e2e538b7c
Add openblas_set_num_threads_local() and use of blas_omp_threads_local in OMP parallel regions 2024-01-13 20:02:43 +01:00
Mark Seminatore 5f51811728 try at new threading model 2023-12-05 22:43:36 -08:00
Martin Kroeker 2dba455d2e
revert accidental changes 2023-09-30 15:33:55 +02:00
Martin Kroeker ccbb91e4a7
fix improper function prototypes (empty parentheses) 2023-09-30 12:46:34 +02:00
Martin Kroeker 94adf98bb8
remove unused status variable 2023-07-26 08:31:37 +02:00
Martin Kroeker ea669c8ae9
simplify openmp thread limit handling 2023-07-26 00:27:14 +02:00
Martin Kroeker 743ae5ab18
move declaration of openmp_nthreads under the related ifdef 2023-03-21 21:07:37 +01:00
Martin Kroeker 9f9d0012a3
observe thread limit imposed by openblas_set_num_threads() 2023-03-08 23:38:34 +01:00
Chen, Guobing deaeb6c5b8 Add bfloat16 based dot and conversion with single/double
1. Added bfloat16 based dot as new API: shdot
2. Implemented generic kernel and cooperlake-specific (AVX512-BF16) kernel for shdot
3. Added 4 conversion APIs for bfloat16 data type <=> single/double: shstobf16 shdtobf16 sbf16tos dbf16tod
     shstobf16 -- convert single float array to bfloat16 array
     shdtobf16 -- convert double float array to bfloat16 array
     sbf16tos  -- convert bfloat16 array to single float array
     dbf16tod  -- convert bfloat16 array to double float array
4. Implemented generic kernels for all 4 conversion APIs, and cooperlake-specific kernel for shstobf16 and shdtobf16
5. Update level1 thread facilitate functions and macros to support multi-threading for these new APIs
6. Fix Cooperlake platform detection/specify issue when under dynamic-arch building
7. Change the typedef of bfloat16 from unsigned short to more strict uint16_t

Signed-off-by: Chen, Guobing <guobing.chen@intel.com>
2020-09-04 02:31:25 +08:00
Jussi Enkovaara 10a2923f64 fixes #2238
Always obey omp_get_max_threads() when build with USE_OPENMP
2020-07-07 13:35:43 +03:00
luzpaz 46a8c2519a Remove prototype of unused, unimplemented function (#2274)
* Fix source typo

Found via `codespell -q 3 -L amin,als,ba,dum,mone,nd,nto,orign -S Changelog.txt,./lapack*`

* Remove beta-thread function per request
2019-10-24 18:56:53 +02:00
Timothy Gu 6c2ead30f0 Remove all trailing whitespace except lapack-netlib
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-06-27 12:05:18 -07:00
Zhang Xianyi db389b5915 Refs #281. Detect __CYGWIN__ macro for Cygwin x86_64.
Signed-off-by: Zhang Xianyi <traits.zhang@gmail.com>
2013-08-24 14:50:17 +08:00
Zhang Xianyi 52f587db7f Refs #281. Detect _WIN32 macro for Windows API.
http://www.mail-archive.com/bug-gnulib@gnu.org/msg05722.html
2013-08-24 01:10:02 +08:00
Zaheer Chothia 037d995c4d Fixed noisy warning with Clang
../common_thread.h:138:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
  if ((blas_cpu_number == 1)
       ~~~~~~~~~~~~~~~~^~~~
../common_thread.h:138:24: note: remove extraneous parentheses around the comparison to silence this warning
  if ((blas_cpu_number == 1)
      ~                ^   ~
../common_thread.h:138:24: note: use '=' to turn this equality comparison into an assignment
  if ((blas_cpu_number == 1)
                       ^~
                       =
2012-06-21 00:17:28 +02:00
Xianyi Zhang ba31b19c00 Ref #62. In OpenMP implementation, check the return value of omp_get_max_threads().
It makes sure the return value as same as blas_cpu_numbers which is an internal global variable to store the number of threads in OpenBLAS.
2011-10-16 23:00:43 +08:00
Xianyi Zhang 342bbc3871 Import GotoBLAS2 1.13 BSD version codes. 2011-01-24 14:54:24 +00:00