Skip to contentSkip to conversation

openblass: drop SSE_GENERIC target

PATCH New Peter Korsgaard 3 participants 10 messages Apr 1, 2018 – Apr 11, 2018

lore
Share & tools
lore
#0 lore raw

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
index eb93e319e4..8f514685a1 100644
@@ -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
#1 lore raw

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
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.

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

Committed after adding the jaguar variant, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#2 lore raw

PATCH 1/2 openblass: drop SSE_GENERIC target

In reply to Peter Korsgaard
Quoted 11 lines · Peter Korsgaard

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:

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_GENERIC target. The only x86_64 variant 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

---
 package/openblas/Config.in | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
package/openblas/Config.in +1 -2
index eb93e319e4..8f514685a1 100644
@@ -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
#3 lore raw

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_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:

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_GENERIC target. The only x86_64 variant 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.

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
#4 lore raw

PATCH 1/2 openblass: drop SSE_GENERIC target

In reply to Peter Korsgaard
Quoted 19 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Peter" == Peter Korsgaard <[email protected]> writes:

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.

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

Committed to 2018.02.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#5 lore raw

PATCH 1/2 openblass: drop SSE_GENERIC target

In reply to Peter Korsgaard
Quoted 19 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Peter" == Peter Korsgaard <[email protected]> writes:

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.

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

Committed to 2017.02.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#6 lore raw

PATCH 2/2 openblas: bump version to v0.2.20

In reply to Peter Korsgaard

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.

---
 .../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
deleted file mode 100644
index 6e6c5a68bc..0000000000
@@ -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
index b402cac522..e4a3989f67 100644
@@ -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
index 93dbc1f932..e9a87b0262 100644
@@ -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
#7 lore raw

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
#8 lore raw

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.20

This 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
#9 lore raw

PATCH 2/2 openblas: bump version to v0.2.20

In reply to Peter Korsgaard
Quoted 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.

Committed after fixing the patch comment, thanks.

Signature · 1 line
Bye, Peter Korsgaard