Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add patches for OpenBLAS v0.3.21 to disable -ftree-vectorize for netlib LAPACK #19280

Merged
merged 2 commits into from Jan 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -21,6 +21,7 @@ patches = [
'OpenBLAS-0.3.21_fix-order-vectorization.patch',
'OpenBLAS-0.3.21-GCC-12.2.0_disable-fma-in-cscal-zscal.patch',
'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch',
'OpenBLAS-0.3.21_disable-tree-vectorize.patch',
]
checksums = [
{'v0.3.21.tar.gz': 'f36ba3d7a60e7c8bcc54cd9aaa9b1223dd42eaf02c811791c37e8ca707c241ca'},
Expand All @@ -36,6 +37,8 @@ checksums = [
{'OpenBLAS-0.3.21-GCC-12.2.0_disable-fma-in-cscal-zscal.patch':
'9784e93567d100960a4c34d86e215bd7aa70bb28b0bc2c6bf1b22c6a05d56003'},
{'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'},
{'OpenBLAS-0.3.21_disable-tree-vectorize.patch':
'30abb2707ea5be5afcac53e12cc3febe66315b2bf84579142fdcd8f4fc0c23eb'},
]

builddependencies = [
Expand Down
@@ -0,0 +1,54 @@
From 32566bfb44067e0c0459e94b53c9457613539eeb Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Thu, 13 Oct 2022 14:04:25 +0200
Subject: [PATCH] Disable the gfortran tree vectorizer for netlib LAPACK

---
cmake/lapack.cmake | 3 +++
1 file changed, 3 insertions(+)

diff --git a/cmake/lapack.cmake b/cmake/lapack.cmake
index f8a27f5d4..3b221d420 100644
--- a/cmake/lapack.cmake
+++ b/cmake/lapack.cmake
@@ -999,6 +999,9 @@ endforeach ()

if (NOT C_LAPACK)
set_source_files_properties(${LA_SOURCES} PROPERTIES COMPILE_FLAGS "${LAPACK_FFLAGS}")
+ if (${F_COMPILER} STREQUAL "GFORTRAN")
+ set_source_files_properties(${LA_SOURCES} PROPERTIES COMPILE_FLAGS "${LAPACK_FFLAGS} -fno-tree-vectorize")
+ endif()
else ()
set_source_files_properties(${LA_SOURCES} PROPERTIES COMPILE_FLAGS "${LAPACK_CFLAGS}")
endif ()
--
2.25.1

From 57809526c430ef0a07f5c5c39dce20c6d73a1f35 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Thu, 13 Oct 2022 09:12:23 +0200
Subject: [PATCH] Disable the gfortran tree vectorizer for lapack-netlib

---
Makefile | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/Makefile b/Makefile
index 289f0eca5..56af9847e 100644
--- a/Makefile
+++ b/Makefile
@@ -278,7 +278,11 @@ prof_lapack : lapack_prebuild
lapack_prebuild :
ifeq ($(NO_LAPACK), $(filter 0,$(NO_LAPACK)))
-@echo "FC = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc
+ifeq ($(F_COMPILER), GFORTRAN)
+ -@echo "override FFLAGS = $(LAPACK_FFLAGS) -fno-tree-vectorize" >> $(NETLIB_LAPACK_DIR)/make.inc
+else
-@echo "override FFLAGS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
+endif
-@echo "FFLAGS_DRV = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
-@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
-@echo "FFLAGS_NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc
--
2.25.1