OpenMathLib / OpenMathLib/OpenBLAS
ThreadSanitizer detects warnings in cblas_dgemm
Open
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 7.6k
- Forks
- 1.7k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 42
Description
#include <cblas.h>
#include <stdio.h>
int main()
{
int i=0;
double A[6] = {1.0,2.0,1.0,-3.0,4.0,-1.0};
double B[6] = {1.0,2.0,1.0,-3.0,4.0,-1.0};
double C[9] = {.5,.5,.5,.5,.5,.5,.5,.5,.5};
cblas_dgemm(CblasColMajor, CblasNoTrans, CblasTrans,3,3,2,1,A, 3, B, 3,2,C,3);
for(i=0; i<9; i++)
printf("%lf ", C[i]);
printf("\n");
}
results in
Output of running example compiler with tsan
==================
WARNING: ThreadSanitizer: data race (pid=13857)
Write of size 4 at 0x55ad043e2048 by thread T6:
#0 alloc_mmap /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:2301 (test_package+0xe08e)
#1 blas_memory_alloc /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:2925 (test_package+0xe807)
#2 blas_thread_server /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:382 (test_package+0xf27a)
Previous read of size 4 at 0x55ad043e2048 by thread T9:
#0 alloc_mmap /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:2225 (test_package+0xdeb0)
#1 blas_memory_alloc /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:2925 (test_package+0xe807)
#2 blas_thread_server /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:382 (test_package+0xf27a)
Location is global 'hot_alloc' of size 4 at 0x55ad043e2048 (test_package+0x000000024048)
Thread T6 (tid=13864, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605b8)
#1 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:667 (test_package+0xf771)
#2 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:628 (test_package+0xf771)
#3 gotoblas_memory_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3314 (test_package+0x3e62)
#4 gotoblas_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3357 (test_package+0x3e62)
#5 __libc_start_main <null> (libc.so.6+0x29eba)
Thread T9 (tid=13867, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605b8)
#1 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:667 (test_package+0xf771)
#2 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:628 (test_package+0xf771)
#3 gotoblas_memory_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3314 (test_package+0x3e62)
#4 gotoblas_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3357 (test_package+0x3e62)
#5 __libc_start_main <null> (libc.so.6+0x29eba)
SUMMARY: ThreadSanitizer: data race /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:2301 in alloc_mmap
==================
==================
WARNING: ThreadSanitizer: data race (pid=13857)
Read of size 8 at 0x7ffc55e63140 by thread T6:
#0 blas_thread_server /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:444 (test_package+0xf34a)
Previous write of size 8 at 0x7ffc55e63140 by main thread:
[failed to restore the stack]
Location is stack of main thread.
Location is global '<null>' at 0x000000000000 ([stack]+0x00000001e140)
Thread T6 (tid=13864, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605b8)
#1 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:667 (test_package+0xf771)
#2 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:628 (test_package+0xf771)
#3 gotoblas_memory_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3314 (test_package+0x3e62)
#4 gotoblas_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3357 (test_package+0x3e62)
#5 __libc_start_main <null> (libc.so.6+0x29eba)
SUMMARY: ThreadSanitizer: data race /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:444 in blas_thread_server
==================
==================
WARNING: ThreadSanitizer: data race (pid=13857)
Read of size 8 at 0x7ffc55e63170 by thread T6:
#0 blas_thread_server /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:448 (test_package+0xf369)
Previous write of size 8 at 0x7ffc55e63170 by main thread:
[failed to restore the stack]
Location is stack of main thread.
Location is global '<null>' at 0x000000000000 ([stack]+0x00000001e170)
Thread T6 (tid=13864, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605b8)
#1 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:667 (test_package+0xf771)
#2 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:628 (test_package+0xf771)
#3 gotoblas_memory_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3314 (test_package+0x3e62)
#4 gotoblas_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3357 (test_package+0x3e62)
#5 __libc_start_main <null> (libc.so.6+0x29eba)
SUMMARY: ThreadSanitizer: data race /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:448 in blas_thread_server
==================
==================
WARNING: ThreadSanitizer: data race (pid=13857)
Read of size 8 at 0x7ffc55e63178 by thread T6:
#0 blas_thread_server /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:449 (test_package+0xf37d)
Previous write of size 8 at 0x7ffc55e63178 by main thread:
[failed to restore the stack]
Location is stack of main thread.
Location is global '<null>' at 0x000000000000 ([stack]+0x00000001e178)
Thread T6 (tid=13864, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605b8)
#1 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:667 (test_package+0xf771)
#2 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:628 (test_package+0xf771)
#3 gotoblas_memory_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3314 (test_package+0x3e62)
#4 gotoblas_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3357 (test_package+0x3e62)
#5 __libc_start_main <null> (libc.so.6+0x29eba)
SUMMARY: ThreadSanitizer: data race /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:449 in blas_thread_server
==================
==================
WARNING: ThreadSanitizer: data race (pid=13857)
Read of size 4 at 0x7ffc55e631e0 by thread T6:
#0 blas_thread_server /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:470 (test_package+0xf395)
Previous write of size 4 at 0x7ffc55e631e0 by main thread:
[failed to restore the stack]
Location is stack of main thread.
Location is global '<null>' at 0x000000000000 ([stack]+0x00000001e1e0)
Thread T6 (tid=13864, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605b8)
#1 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:667 (test_package+0xf771)
#2 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:628 (test_package+0xf771)
#3 gotoblas_memory_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3314 (test_package+0x3e62)
#4 gotoblas_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3357 (test_package+0x3e62)
#5 __libc_start_main <null> (libc.so.6+0x29eba)
SUMMARY: ThreadSanitizer: data race /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:470 in blas_thread_server
==================
==================
WARNING: ThreadSanitizer: data race (pid=13857)
Read of size 8 at 0x7ffc55e63158 by thread T6:
#0 blas_thread_server /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:519 (test_package+0xf3b4)
Previous write of size 8 at 0x7ffc55e63158 by main thread:
[failed to restore the stack]
Location is stack of main thread.
Location is global '<null>' at 0x000000000000 ([stack]+0x00000001e158)
Thread T6 (tid=13864, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605b8)
#1 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:667 (test_package+0xf771)
#2 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:628 (test_package+0xf771)
#3 gotoblas_memory_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3314 (test_package+0x3e62)
#4 gotoblas_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3357 (test_package+0x3e62)
#5 __libc_start_main <null> (libc.so.6+0x29eba)
SUMMARY: ThreadSanitizer: data race /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:519 in blas_thread_server
==================
==================
WARNING: ThreadSanitizer: data race (pid=13857)
Read of size 8 at 0x7ffc55e63148 by thread T6:
#0 blas_thread_server /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:525 (test_package+0xf3e0)
Previous write of size 8 at 0x7ffc55e63148 by main thread:
[failed to restore the stack]
Location is stack of main thread.
Location is global '<null>' at 0x000000000000 ([stack]+0x00000001e148)
Thread T6 (tid=13864, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605b8)
#1 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:667 (test_package+0xf771)
#2 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:628 (test_package+0xf771)
#3 gotoblas_memory_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3314 (test_package+0x3e62)
#4 gotoblas_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3357 (test_package+0x3e62)
#5 __libc_start_main <null> (libc.so.6+0x29eba)
SUMMARY: ThreadSanitizer: data race /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:525 in blas_thread_server
==================
==================
WARNING: ThreadSanitizer: data race (pid=13857)
Write of size 8 at 0x7ffc55e634a8 by main thread:
#0 main /root/conan-center-index/recipes/openblas/all/test_package/test_package.cpp:9 (test_package+0x3a15)
Previous read of size 8 at 0x7ffc55e634a8 by thread T11:
[failed to restore the stack]
Location is stack of main thread.
Location is global '<null>' at 0x000000000000 ([stack]+0x00000001e4a8)
Thread T11 (tid=13869, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605b8)
#1 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:667 (test_package+0xf771)
#2 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:628 (test_package+0xf771)
#3 gotoblas_memory_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3314 (test_package+0x3e62)
#4 gotoblas_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3357 (test_package+0x3e62)
#5 __libc_start_main <null> (libc.so.6+0x29eba)
SUMMARY: ThreadSanitizer: data race /root/conan-center-index/recipes/openblas/all/test_package/test_package.cpp:9 in main
==================
==================
WARNING: ThreadSanitizer: data race (pid=13857)
Write of size 8 at 0x7ffc55e634b0 by main thread:
#0 main /root/conan-center-index/recipes/openblas/all/test_package/test_package.cpp:9 (test_package+0x3a29)
Previous read of size 8 at 0x7ffc55e634b0 by thread T11:
[failed to restore the stack]
Location is stack of main thread.
Location is global '<null>' at 0x000000000000 ([stack]+0x00000001e4b0)
Thread T11 (tid=13869, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605b8)
#1 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:667 (test_package+0xf771)
#2 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:628 (test_package+0xf771)
#3 gotoblas_memory_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3314 (test_package+0x3e62)
#4 gotoblas_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3357 (test_package+0x3e62)
#5 __libc_start_main <null> (libc.so.6+0x29eba)
SUMMARY: ThreadSanitizer: data race /root/conan-center-index/recipes/openblas/all/test_package/test_package.cpp:9 in main
==================
==================
WARNING: ThreadSanitizer: data race (pid=13857)
Write of size 8 at 0x7ffc55e63360 by main thread:
#0 cblas_dgemm /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/interface/gemm.c:341 (test_package+0x4149)
#1 main /root/conan-center-index/recipes/openblas/all/test_package/test_package.cpp:10 (test_package+0x3acc)
Previous read of size 8 at 0x7ffc55e63360 by thread T9:
[failed to restore the stack]
Location is stack of main thread.
Location is global '<null>' at 0x000000000000 ([stack]+0x00000001e360)
Thread T9 (tid=13867, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605b8)
#1 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:667 (test_package+0xf771)
#2 blas_thread_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/blas_server.c:628 (test_package+0xf771)
#3 gotoblas_memory_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3314 (test_package+0x3e62)
#4 gotoblas_init /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/driver/others/memory.c:3357 (test_package+0x3e62)
#5 __libc_start_main <null> (libc.so.6+0x29eba)
SUMMARY: ThreadSanitizer: data race /root/.conan/data/openblas/0.3.20/aborzunov/testing/build/af70c39ddad7b91ea16b95b5cceba7ed41791f1e/source_subfolder/interface/gemm.c:341 in cblas_dgemm
==================
11.000000 -9.000000 5.000000 -9.000000 21.000000 -1.000000 5.000000 -1.000000 3.000000
ThreadSanitizer: reported 10 warnings
ERROR: openblas/0.3.20@aborzunov/testing (test package): Error in test() method, line 17
self.run(bin_path, run_environment=True)
ConanException: Error 66 while executing bin/test_package
Steps to reproduce with docker:
(dockerfile and accompanying files)
❯ cat Dockerfile
FROM ubuntu:22.04
RUN apt-get update; \
apt-get install -y software-properties-common apt-utils; \
add-apt-repository -y universe; \
add-apt-repository -y ppa:ubuntu-toolchain-r/ppa; \
apt-get update; \
apt-get -y install python3-pip gcc-11 g++-11 cmake build-essential git; \
pip3 install conan; \
cd; \
mkdir -p .conan/profiles;
COPY default /root/.conan/profiles
COPY tsan /root/.conan/profiles
COPY settings.yml /root/.conan/
❯ cat default
[settings]
os=Linux
os_build=Linux
arch=x86_64
arch_build=x86_64
compiler=gcc
compiler.version=11.3
compiler.libcxx=libstdc++11
compiler.cppstd=20
build_type=Release
[options]
[conf]
[build_requires]
[env]
CC=gcc-11
CXX=g++-11
CUDAHOSTCXX=g++-11
❯ cat tsan
[settings]
build_type=RelWithDebInfo
compiler.sanitizer=Thread
[env]
CFLAGS=-fno-omit-frame-pointer -fsanitize=thread
CXXFLAGS=-fno-omit-frame-pointer -fsanitize=thread
LDFLAGS=-fsanitize=thread
docker build -t ubuntu-22.04-gcc-11-conan ./
docker run -it --rm --name gcc11 ubuntu-22.04-gcc-11-conan /bin/bash
cd
git clone https://github.com/conan-io/conan-center-index
cd conan-center-index/recipes/openblas
conan create all openblas/0.3.20@aborzunov/testing --profile=default --profile=tsan
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the provided cblas_dgemm reproducer and run it under ThreadSanitizer. Inspect driver/others/memory.c, especially alloc_mmap, and driver/others/blas_server.c around blas_thread_server and thread initialization. Done means identifying and addressing the reported races without changing the example's expected BLAS behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, cpp
- Domain
- backend, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100