openblass: drop SSE_GENERIC target
PATCH 1/2 openblass: drop SSE_GENERIC target
Fixes #10856
The SSE_GENERIC target fails to build with a "sgemm_kernel.o: No such file or directory" error. Several upstream bug reports exist for this:
https://github.com/xianyi/OpenBLAS/issues/502
https://github.com/xianyi/OpenBLAS/issues/685
In both cases, upstream suggests using a different target definition instead. E.G. from issue 685:
You may use NORTHWOOD on x86: make TARGET=NORTHWOOD that uses SSE2 instructions. It's very hard to find non-SSE2 x86 CPUs today. For x86-64 use the PRESCOTT target
So drop the SSE_GENERIC target. The only x86_64 variant we support not covered by a more specific openblas target is the default variant, nocona.
Nocona was a Xeon variant of the P4 "Prescott" architecture, so use the PRESCOTT openblas target:
https://en.wikipedia.org/wiki/Xeon#Nocona_and_Irwindale
--- package/openblas/Config.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
package/openblas/Config.in +1 -2
@@ -3,7 +3,7 @@ config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET default "P2" if BR2_x86_pentium2 default "KATMAI" if BR2_x86_pentium3 default "NORTHWOOD" if BR2_x86_pentium4 - default "PRESCOTT" if BR2_x86_prescott + default "PRESCOTT" if BR2_x86_prescott || BR2_x86_nocona default "BANIAS" if BR2_x86_pentium_m default "CORE2" if BR2_x86_core2 default "NEHALEM" if BR2_x86_corei7 || BR2_x86_silvermont
@@ -16,7 +16,6 @@ config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET default "BARCELONA" if BR2_x86_barcelona default "STEAMROLLER" if BR2_x86_steamroller default "VIAC3" if BR2_x86_c3 || BR2_x86_c32 - default "SSE_GENERIC" if BR2_X86_CPU_HAS_SSE default "POWER4" if BR2_powerpc_power4 default "POWER5" if BR2_powerpc_power5 default "POWER6" if BR2_powerpc_power6
Signature · 1 line
2.11.0
PATCH 1/2 openblass: drop SSE_GENERIC target
Quoted 19 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Peter" == Peter Korsgaard <[email protected]> writes:
Fixes #10856
TheSSE_GENERICtarget fails to build with a "sgemm_kernel.o: No such file or directory" error. Several upstream bug reports exist for this:https://github.com/xianyi/OpenBLAS/issues/502
https://github.com/xianyi/OpenBLAS/issues/685In both cases, upstream suggests using a different target definition instead. E.G. from issue 685:
You may use NORTHWOOD on x86: make TARGET=NORTHWOOD that uses SSE2 instructions. It's very hard to find non-SSE2 x86 CPUs today. For x86-64 use the PRESCOTT target
So drop the
SSE_GENERICtarget. The onlyx86_64variant we support not covered by a more specific openblas target is the default variant, nocona.
Quoted 6 lines
Nocona was a Xeon variant of the P4 "Prescott" architecture, so use the PRESCOTT openblas target:
https://en.wikipedia.org/wiki/Xeon#Nocona_and_Irwindale
Signed-off-by Peter Korsgaard <[email protected]>
Committed after adding the jaguar variant, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/2 openblass: drop SSE_GENERIC target
In reply to Peter KorsgaardQuoted 11 lines · Peter Korsgaard
Fixes #10856
The
SSE_GENERICtarget fails to build with a "sgemm_kernel.o: No such file or directory" error. Several upstream bug reports exist for this:https://github.com/xianyi/OpenBLAS/issues/502
https://github.com/xianyi/OpenBLAS/issues/685In both cases, upstream suggests using a different target definition instead. E.G. from issue 685:
Quoted 6 lines
You may use NORTHWOOD on x86: make TARGET=NORTHWOOD that uses SSE2 instructions. It's very hard to find non-SSE2 x86 CPUs today. For x86-64 use the PRESCOTT target
So drop the
SSE_GENERICtarget. The onlyx86_64variant we support not covered by a more specific openblas target is the default variant, nocona.
Actually, I think BR2_x86_corei7_avx is not covered either. And BR2_x86_jaguar.
These openblas targets really are an unmaintainable mess...
Regards,
Arnout
Quoted 33 lines
Nocona was a Xeon variant of the P4 "Prescott" architecture, so use the PRESCOTT openblas target:
https://en.wikipedia.org/wiki/Xeon#Nocona_and_Irwindale
Signed-off-by Peter Korsgaard <[email protected]>--- package/openblas/Config.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)package/openblas/Config.in +1
-2@@ -3,7 +3,7 @@ config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET default "P2" if BR2_x86_pentium2 default "KATMAI" if BR2_x86_pentium3 default "NORTHWOOD" if BR2_x86_pentium4 - default "PRESCOTT" if BR2_x86_prescott + default "PRESCOTT" if BR2_x86_prescott || BR2_x86_nocona default "BANIAS" if BR2_x86_pentium_m default "CORE2" if BR2_x86_core2 default "NEHALEM" if BR2_x86_corei7 || BR2_x86_silvermont@@ -16,7 +16,6 @@ config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET default "BARCELONA" if BR2_x86_barcelona default "STEAMROLLER" if BR2_x86_steamroller default "VIAC3" if BR2_x86_c3 || BR2_x86_c32 - default "SSE_GENERIC" if BR2_X86_CPU_HAS_SSE default "POWER4" if BR2_powerpc_power4 default "POWER5" if BR2_powerpc_power5 default "POWER6" if BR2_powerpc_power6
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/2 openblass: drop SSE_GENERIC target
Quoted 14 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Arnout" == Arnout Vandecappelle <[email protected]> writes:
Quoted 11 lines · Peter Korsgaard
Fixes #10856
The
SSE_GENERICtarget fails to build with a "sgemm_kernel.o: No such file or directory" error. Several upstream bug reports exist for this:https://github.com/xianyi/OpenBLAS/issues/502
https://github.com/xianyi/OpenBLAS/issues/685In both cases, upstream suggests using a different target definition instead. E.G. from issue 685:
Quoted 8 lines
Quoted 6 lines
You may use NORTHWOOD on x86: make TARGET=NORTHWOOD that uses SSE2 instructions. It's very hard to find non-SSE2 x86 CPUs today. For x86-64 use the PRESCOTT target
So drop the
SSE_GENERICtarget. The onlyx86_64variant we support not covered by a more specific openblas target is the default variant, nocona.Actually, I think
BR2_x86_corei7_avxis not covered either. AndBR2_x86_jaguar.
corei7_avx is:
default "SANDYBRIDGE" if BR2_x86_corei7_avx
But jaguar indeed isn't. Jaguar is in the bobcat family so I'll add a default "BOBCAT" entry for it:
https://en.wikipedia.org/wiki/List_of_AMD_microprocessors#Bobcat_core_architecture_(APU)
Quoted 1 line
These openblas targets really are an unmaintainable mess...
Indeed :/
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/2 openblass: drop SSE_GENERIC target
In reply to Peter KorsgaardQuoted 19 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Peter" == Peter Korsgaard <[email protected]> writes:
Fixes #10856
TheSSE_GENERICtarget fails to build with a "sgemm_kernel.o: No such file or directory" error. Several upstream bug reports exist for this:https://github.com/xianyi/OpenBLAS/issues/502
https://github.com/xianyi/OpenBLAS/issues/685In both cases, upstream suggests using a different target definition instead. E.G. from issue 685:
You may use NORTHWOOD on x86: make TARGET=NORTHWOOD that uses SSE2 instructions. It's very hard to find non-SSE2 x86 CPUs today. For x86-64 use the PRESCOTT target
So drop the
SSE_GENERICtarget. The onlyx86_64variant we support not covered by a more specific openblas target is the default variant, nocona.
Quoted 6 lines
Nocona was a Xeon variant of the P4 "Prescott" architecture, so use the PRESCOTT openblas target:
https://en.wikipedia.org/wiki/Xeon#Nocona_and_Irwindale
Signed-off-by Peter Korsgaard <[email protected]>
Committed to 2018.02.x, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/2 openblass: drop SSE_GENERIC target
In reply to Peter KorsgaardQuoted 19 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Peter" == Peter Korsgaard <[email protected]> writes:
Fixes #10856
TheSSE_GENERICtarget fails to build with a "sgemm_kernel.o: No such file or directory" error. Several upstream bug reports exist for this:https://github.com/xianyi/OpenBLAS/issues/502
https://github.com/xianyi/OpenBLAS/issues/685In both cases, upstream suggests using a different target definition instead. E.G. from issue 685:
You may use NORTHWOOD on x86: make TARGET=NORTHWOOD that uses SSE2 instructions. It's very hard to find non-SSE2 x86 CPUs today. For x86-64 use the PRESCOTT target
So drop the
SSE_GENERICtarget. The onlyx86_64variant we support not covered by a more specific openblas target is the default variant, nocona.
Quoted 6 lines
Nocona was a Xeon variant of the P4 "Prescott" architecture, so use the PRESCOTT openblas target:
https://en.wikipedia.org/wiki/Xeon#Nocona_and_Irwindale
Signed-off-by Peter Korsgaard <[email protected]>
Committed to 2017.02.x, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/2 openblas: bump version to v0.2.20
In reply to Peter KorsgaardDrop 0001-Complete-support-for-MIPS-n32-ABI.patch as it is now upstream and rebase 0002-Makefile.arm-remove-march-flags.patch.
Also add a hash for the license file.
--- .../0001-Complete-support-for-MIPS-n32-ABI.patch | 116 --------------------- .../0001-Makefile.arm-remove-march-flags.patch | 55 ++++++++++ .../0002-Makefile.arm-remove-march-flags.patch | 73 ------------- package/openblas/openblas.hash | 3 +- package/openblas/openblas.mk | 2 +- 5 files changed, 58 insertions(+), 191 deletions(-) delete mode 100644 package/openblas/0001-Complete-support-for-MIPS-n32-ABI.patch create mode 100644 package/openblas/0001-Makefile.arm-remove-march-flags.patch delete mode 100644 package/openblas/0002-Makefile.arm-remove-march-flags.patch
package/openblas/0001-Complete-support-for-MIPS-n32-ABI.patch deleted +0 -116
@@ -1,116 +0,0 @@ -From 7f28cd1f88145a701e5dbbf50558bb65fce79f61 Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera <[email protected]> -Date: Thu, 14 Jul 2016 17:20:51 +0100 -Subject: [PATCH] Complete support for MIPS n32 ABI - -Pull request: https://github.com/xianyi/OpenBLAS/pull/926 - -Signed-off-by: Vicente Olivert Riera <[email protected]> ---- - Makefile.system | 27 +++++++++------------------ - c_check | 9 +++++++-- - f_check | 7 ++++++- - 3 files changed, 22 insertions(+), 21 deletions(-) - -diff --git a/Makefile.system b/Makefile.system -index 24a7a64..bbcdb82 100644 ---- a/Makefile.system -+++ b/Makefile.system -@@ -502,13 +502,16 @@ endif - - ifdef NO_BINARY_MODE - --ifeq ($(ARCH), $(filter $(ARCH),mips64 mips)) -+ifeq ($(ARCH), $(filter $(ARCH),mips64)) - ifdef BINARY64 - CCOMMON_OPT += -mabi=64 - else --CCOMMON_OPT += -mabi=32 -+CCOMMON_OPT += -mabi=n32 - endif - BINARY_DEFINED = 1 -+else ifeq ($(ARCH), $(filter $(ARCH),mips)) -+CCOMMON_OPT += -mabi=32 -+BINARY_DEFINED = 1 - endif - - ifeq ($(CORE), LOONGSON3A) -@@ -599,12 +602,14 @@ ifneq ($(NO_LAPACK), 1) - EXTRALIB += -lgfortran - endif - ifdef NO_BINARY_MODE --ifeq ($(ARCH), $(filter $(ARCH),mips64 mips)) -+ifeq ($(ARCH), $(filter $(ARCH),mips64)) - ifdef BINARY64 - FCOMMON_OPT += -mabi=64 - else --FCOMMON_OPT += -mabi=32 -+FCOMMON_OPT += -mabi=n32 - endif -+else ifeq ($(ARCH), $(filter $(ARCH),mips)) -+FCOMMON_OPT += -mabi=32 - endif - else - ifdef BINARY64 -@@ -688,20 +693,6 @@ endif - endif - endif - --ifeq ($(filter $(ARCH),mips64 mips)) --ifndef BINARY64 --FCOMMON_OPT += -m32 --else --FCOMMON_OPT += -m64 --endif --else --ifdef BINARY64 --FCOMMON_OPT += -mabi=64 --else --FCOMMON_OPT += -mabi=32 --endif --endif -- - ifeq ($(USE_OPENMP), 1) - FCOMMON_OPT += -mp - endif -diff --git a/c_check b/c_check -index 50ff360..9f457df 100644 ---- a/c_check -+++ b/c_check -@@ -79,8 +79,13 @@ if ($os eq "AIX") { - $defined = 1; - } - --if (($architecture eq "mips") || ($architecture eq "mips64")) { -- $compiler_name .= " -mabi=32" if ($binary eq "32"); -+if ($architecture eq "mips") { -+ $compiler_name .= " -mabi=32"; -+ $defined = 1; -+} -+ -+if ($architecture eq "mips64") { -+ $compiler_name .= " -mabi=n32" if ($binary eq "32"); - $compiler_name .= " -mabi=64" if ($binary eq "64"); - $defined = 1; - } -diff --git a/f_check b/f_check -index 4c03ac7..3520e8b 100644 ---- a/f_check -+++ b/f_check -@@ -223,7 +223,12 @@ if (!$?) { - } - #For gfortran MIPS - if ($?) { -- $link = `$compiler $openmp -mabi=32 -v ftest2.f 2>&1 && rm -f a.out a.exe`; -+ $mips_data = `$compiler_bin -E -dM - < /dev/null`; -+ if ($mips_data =~ /_MIPS_ISA_MIPS64/) { -+ $link = `$compiler $openmp -mabi=n32 -v ftest2.f 2>&1 && rm -f a.out a.exe`; -+ } else { -+ $link = `$compiler $openmp -mabi=32 -v ftest2.f 2>&1 && rm -f a.out a.exe`; -+ } - } - $binary = "" if ($?); - } --- -2.7.3 -
package/openblas/0001-Makefile.arm-remove-march-flags.patch new file +55 -0
55 lines not on this page · raw message
package/openblas/0002-Makefile.arm-remove-march-flags.patch deleted +0 -73
73 lines not on this page · raw message
package/openblas/openblas.hash +2 -1
@@ -1,2 +1,3 @@ # Locally calculated -sha256 2ad0270a39dbaf891b439baacf198ea4ab149cd6ed39a5f50c494723f1936be5 openblas-f04af36ad0e85b64f12a7c38095383192cc52345.tar.gz +sha256 5ef38b15d9c652985774869efd548b8e3e972e1e99475c673b25537ed7bcf394 openblas-v0.2.20.tar.gz +sha256 190b5a9c8d9723fe958ad33916bd7346d96fab3c5ea90832bb02d854f620fcff LICENSE
package/openblas/openblas.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -OPENBLAS_VERSION = f04af36ad0e85b64f12a7c38095383192cc52345 +OPENBLAS_VERSION = v0.2.20 OPENBLAS_SITE = $(call github,xianyi,OpenBLAS,$(OPENBLAS_VERSION)) OPENBLAS_LICENSE = BSD-3-Clause OPENBLAS_LICENSE_FILES = LICENSE
Signature · 1 line
2.11.0
PATCH 2/2 openblas: bump version to v0.2.20
Hello,
package/openblas/0001-Makefile.arm-remove-march-flags.patch line 18
Quoted 5 lines · Peter Korsgaard
package/openblas/0001-Makefile.arm-remove-march-flags.patch new file +5
-0+The other flags, such as -mfpu=vfp or -mfloat-abi=hard are kept, as they +are actually required for the build to proceed (OpenBLAS uses VFP +instructions, and assume an EABIhf ABI). + +[Peter: update for v0.2.20
This is going to be the most useless e-mail, but here is a minor nit:
missing closing bracket.
I'm just going to add a few more sentences here, just to pretend this e-mail is not just about this small nit. But I don't have much else to say about this patch. Oh well, the length of this text starts to justify this e-mail. I can probably stop here, and put my usual closing Best regards, so let's do this.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
PATCH 2/2 openblas: bump version to v0.2.20
Quoted 14 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Hello,
package/openblas/0001-Makefile.arm-remove-march-flags.patch line 18
Quoted 5 lines · Peter Korsgaard
package/openblas/0001-Makefile.arm-remove-march-flags.patch new file +5
-0+The other flags, such as -mfpu=vfp or -mfloat-abi=hard are kept, as they +are actually required for the build to proceed (OpenBLAS uses VFP +instructions, and assume an EABIhf ABI). + +[Peter: update for v0.2.20This is going to be the most useless e-mail, but here is a minor nit:
missing closing bracket.
Quoted 5 lines
I'm just going to add a few more sentences here, just to pretend this e-mail is not just about this small nit. But I don't have much else to say about this patch. Oh well, the length of this text starts to justify this e-mail. I can probably stop here, and put my usual closing Best regards, so let's do this.
Heh, I'll take that as a Review-by ;)
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/2 openblas: bump version to v0.2.20
In reply to Peter KorsgaardQuoted 8 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Peter" == Peter Korsgaard <[email protected]> writes:
Drop 0001-Complete-support-for-MIPS-n32-ABI.patch as it is now upstream and rebase 0002-Makefile.arm-remove-march-flags.patch.
Also add a hash for the license file.
Signed-off-by Peter Korsgaard <[email protected]>
Committed after fixing the patch comment, thanks.
Signature · 1 line
Bye, Peter Korsgaard