Skip to content

Commit

Permalink
[OpenBLAS] Backport patch to fix init of threading memory buffers (#9262
Browse files Browse the repository at this point in the history
)
  • Loading branch information
giordano authored Aug 15, 2024
1 parent 38bb8bc commit 39e5a9a
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 2 deletions.
2 changes: 1 addition & 1 deletion O/OpenBLAS/[email protected]/build_tarballs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ build_tarballs(ARGS, name, version, sources, script, platforms, products, depend
preferred_gcc_version=v"11", lock_microarchitecture=false,
julia_compat="1.11", preferred_llvm_version=preferred_llvm_version)

# Build trigger: 2
# Build trigger: 3
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
From 23b5d66a86417a071bba9a96a0573192237981b6 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <[email protected]>
Date: Wed, 14 Aug 2024 10:35:44 +0200
Subject: [PATCH] Ensure a memory buffer has been allocated for each thread
before invoking it

---
driver/others/blas_server.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/driver/others/blas_server.c b/driver/others/blas_server.c
index 765511d8c7..b9a7674c17 100644
--- a/driver/others/blas_server.c
+++ b/driver/others/blas_server.c
@@ -1076,6 +1076,8 @@ fprintf(STDERR, "Server[%2ld] Calculation started. Mode = 0x%03x M = %3ld N=%3l
main_status[cpu] = MAIN_RUNNING1;
#endif

+if (buffer == NULL) blas_thread_buffer[cpu] = blas_memory_alloc(2);
+
//For target LOONGSON3R5, applying an offset to the buffer is essential
//for minimizing cache conflicts and optimizing performance.
#if defined(ARCH_LOONGARCH64) && !defined(NO_AFFINITY)
2 changes: 1 addition & 1 deletion O/OpenBLAS/[email protected]/build_tarballs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ build_tarballs(ARGS, name, version, sources, script, platforms, products, depend
preferred_gcc_version=v"11", lock_microarchitecture=false,
julia_compat="1.11", preferred_llvm_version=preferred_llvm_version)

# Build trigger: 2
# Build trigger: 3
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
From 23b5d66a86417a071bba9a96a0573192237981b6 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <[email protected]>
Date: Wed, 14 Aug 2024 10:35:44 +0200
Subject: [PATCH] Ensure a memory buffer has been allocated for each thread
before invoking it

---
driver/others/blas_server.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/driver/others/blas_server.c b/driver/others/blas_server.c
index 765511d8c7..b9a7674c17 100644
--- a/driver/others/blas_server.c
+++ b/driver/others/blas_server.c
@@ -1076,6 +1076,8 @@ fprintf(STDERR, "Server[%2ld] Calculation started. Mode = 0x%03x M = %3ld N=%3l
main_status[cpu] = MAIN_RUNNING1;
#endif

+if (buffer == NULL) blas_thread_buffer[cpu] = blas_memory_alloc(2);
+
//For target LOONGSON3R5, applying an offset to the buffer is essential
//for minimizing cache conflicts and optimizing performance.
#if defined(ARCH_LOONGARCH64) && !defined(NO_AFFINITY)

0 comments on commit 39e5a9a

Please sign in to comment.