Accepting request 237017 from science

- Update to version 0.2.9
  * Update LAPACK to 3.5.0 version
  * Fixed compatiable issues with Clang and Pathscale compilers.
  * Added OPENBLAS_VERBOSE environment variable.(#338)
  * Make OpenBLAS thread-pool resilient to fork via pthread_atfork.
    (#294)
  * Rewrote rotmg
  * Fixed sdsdot bug.
  * Improved the result for LAPACK testing. (#372)
  x86/x86-64:
  * Optimization on Intel Haswell.
  * Enable optimization kernels on AMD Bulldozer and Piledriver.
  * Detect Intel Haswell for new Macbook.
  * To improve LAPACK testing, we fallback some kernels. (#372)
    https://github.com/xianyi/OpenBLAS/wiki/Fixed-optimized-kernels-To-do-List
  ARM:
  * Support ARMv6 and ARMv7 ISA.
  * Optimization on ARM Cortex-A9.
- Update patches:
  * openblas-0.2.8-libs.patch
  * openblas-0.2.8-noexecstack.patch
  to
  * openblas-libs.patch
  * openblas-noexecstack.patch
- Fix gcc warnings (#385)
  * openblas-0.2.9-gcc-warnings.patch

OBS-URL: https://build.opensuse.org/request/show/237017
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openblas?expand=0&rev=2
This commit is contained in:
Stephan Kulow 2014-06-16 19:29:33 +00:00 committed by Git OBS Bridge
commit 228d22bb5f
7 changed files with 132 additions and 32 deletions

View File

@ -0,0 +1,72 @@
diff --git a/driver/others/dynamic.c b/driver/others/dynamic.c
index 7b7beb9..ec421d6 100644
--- a/driver/others/dynamic.c
+++ b/driver/others/dynamic.c
@@ -116,18 +116,24 @@ extern void openblas_warning(int verbose, const char * msg);
static int get_vendor(void){
int eax, ebx, ecx, edx;
- char vendor[13];
+
+ union
+ {
+ char vchar[16];
+ int vint[4];
+ } vendor;
cpuid(0, &eax, &ebx, &ecx, &edx);
-
- *(int *)(&vendor[0]) = ebx;
- *(int *)(&vendor[4]) = edx;
- *(int *)(&vendor[8]) = ecx;
- vendor[12] = (char)0;
- if (!strcmp(vendor, "GenuineIntel")) return VENDOR_INTEL;
- if (!strcmp(vendor, "AuthenticAMD")) return VENDOR_AMD;
- if (!strcmp(vendor, "CentaurHauls")) return VENDOR_CENTAUR;
+ *(&vendor.vint[0]) = ebx;
+ *(&vendor.vint[1]) = edx;
+ *(&vendor.vint[2]) = ecx;
+
+ vendor.vchar[12] = '\0';
+
+ if (!strcmp(vendor.vchar, "GenuineIntel")) return VENDOR_INTEL;
+ if (!strcmp(vendor.vchar, "AuthenticAMD")) return VENDOR_AMD;
+ if (!strcmp(vendor.vchar, "CentaurHauls")) return VENDOR_CENTAUR;
if ((eax == 0) || ((eax & 0x500) != 0)) return VENDOR_INTEL;
@@ -232,7 +238,7 @@ static gotoblas_t *get_coretype(void){
if (family <= 0xe) {
// Verify that CPU has 3dnow and 3dnowext before claiming it is Athlon
cpuid(0x80000000, &eax, &ebx, &ecx, &edx);
- if (eax & 0xffff >= 0x01) {
+ if ( (eax & 0xffff) >= 0x01) {
cpuid(0x80000001, &eax, &ebx, &ecx, &edx);
if ((edx & (1 << 30)) == 0 || (edx & (1 << 31)) == 0)
return NULL;
diff --git a/kernel/arm/gemv_n.c b/kernel/arm/gemv_n.c
index aedcca9..a295080 100644
--- a/kernel/arm/gemv_n.c
+++ b/kernel/arm/gemv_n.c
@@ -61,7 +61,7 @@ int CNAME(BLASLONG m, BLASLONG n, BLASLONG dummy1, FLOAT alpha, FLOAT *a, BLASLO
a_ptr += lda;
ix += inc_x;
}
-
+ return(0);
}
diff --git a/kernel/arm/gemv_t.c b/kernel/arm/gemv_t.c
index 8fd6a66..f94db40 100644
--- a/kernel/arm/gemv_t.c
+++ b/kernel/arm/gemv_t.c
@@ -61,6 +61,7 @@ int CNAME(BLASLONG m, BLASLONG n, BLASLONG dummy1, FLOAT alpha, FLOAT *a, BLASLO
iy += inc_y;
a_ptr += lda;
}
+ return(0);
}

3
openblas-0.2.9.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a9ce75fe29f8527467b159490facca0bfc62e8a40a165b51822caa46368b0dc0
size 9700585

View File

@ -1,12 +1,13 @@
Index: OpenBLAS-0.2.8/exports/Makefile
Index: OpenBLAS-0.2.9/exports/Makefile
===================================================================
--- OpenBLAS-0.2.8.orig/exports/Makefile
+++ OpenBLAS-0.2.8/exports/Makefile
@@ -22,10 +22,9 @@ ifndef NEED2UNDERSCORES
NEED2UNDERSCORES=0
--- OpenBLAS-0.2.9.orig/exports/Makefile
+++ OpenBLAS-0.2.9/exports/Makefile
@@ -26,10 +26,10 @@ ifndef ONLY_CBLAS
ONLY_CBLAS = 0
endif
-ifeq ($(OSNAME), WINNT)
+
ifeq ($(F_COMPILER), GFORTRAN)
EXTRALIB += -lgfortran
-endif
@ -14,7 +15,7 @@ Index: OpenBLAS-0.2.8/exports/Makefile
ifeq ($(USE_OPENMP), 1)
ifeq ($(C_COMPILER), GCC)
EXTRALIB += -lgomp
@@ -33,11 +32,6 @@ endif
@@ -37,11 +37,6 @@ endif
endif
endif

View File

@ -1,24 +1,24 @@
Index: OpenBLAS-0.2.8/exports/Makefile
Index: OpenBLAS-0.2.9/exports/Makefile
===================================================================
--- OpenBLAS-0.2.8.orig/exports/Makefile
+++ OpenBLAS-0.2.8/exports/Makefile
@@ -115,6 +115,7 @@ so : ../$(LIBSONAME)
../$(LIBSONAME) : ../$(LIBNAME) linux.def linktest.c
--- OpenBLAS-0.2.9.orig/exports/Makefile
+++ OpenBLAS-0.2.9/exports/Makefile
@@ -101,6 +101,7 @@ so : ../$(LIBSONAME)
../$(LIBSONAME) : ../$(LIBNAME) linktest.c
ifneq ($(C_COMPILER), LSB)
$(CC) $(CFLAGS) $(LDFLAGS) -shared -o ../$(LIBSONAME) \
+ -Wl,-z,noexecstack \
-Wl,--whole-archive ../$(LIBNAME) -Wl,--no-whole-archive \
-Wl,--retain-symbols-file=linux.def -Wl,-soname,$(LIBPREFIX).so.$(MAJOR_VERSION) $(EXTRALIB)
ifneq ($(C_COMPILER), LSB)
@@ -134,6 +135,7 @@ so : ../$(LIBSONAME)
-Wl,-soname,$(LIBPREFIX).so.$(MAJOR_VERSION) $(EXTRALIB)
$(CC) $(CFLAGS) $(LDFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) $(FEXTRALIB) && echo OK.
@@ -122,6 +123,7 @@ so : ../$(LIBSONAME)
../$(LIBSONAME) : ../$(LIBNAME) linux.def linktest.c
../$(LIBSONAME) : ../$(LIBNAME) linktest.c
$(CC) $(CFLAGS) $(LDFLAGS) -shared -o ../$(LIBSONAME) \
+ -Wl,-z,noexecstack \
-Wl,--whole-archive ../$(LIBNAME) -Wl,--no-whole-archive \
-Wl,--retain-symbols-file=linux.def $(FEXTRALIB) $(EXTRALIB)
$(FEXTRALIB) $(EXTRALIB)
$(CC) $(CFLAGS) $(LDFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) $(FEXTRALIB) && echo OK.
@@ -153,6 +155,7 @@ ifeq ($(OSNAME), SunOS)
@@ -141,6 +143,7 @@ ifeq ($(OSNAME), SunOS)
so : ../$(LIBSONAME)
$(CC) $(CFLAGS) $(LDFLAGS) -shared -o ../$(LIBSONAME) \

View File

@ -1,3 +1,33 @@
-------------------------------------------------------------------
Tue Jun 10 14:34:02 UTC 2014 - dmitry_r@opensuse.org
- Update to version 0.2.9
* Update LAPACK to 3.5.0 version
* Fixed compatiable issues with Clang and Pathscale compilers.
* Added OPENBLAS_VERBOSE environment variable.(#338)
* Make OpenBLAS thread-pool resilient to fork via pthread_atfork.
(#294)
* Rewrote rotmg
* Fixed sdsdot bug.
* Improved the result for LAPACK testing. (#372)
x86/x86-64:
* Optimization on Intel Haswell.
* Enable optimization kernels on AMD Bulldozer and Piledriver.
* Detect Intel Haswell for new Macbook.
* To improve LAPACK testing, we fallback some kernels. (#372)
https://github.com/xianyi/OpenBLAS/wiki/Fixed-optimized-kernels-To-do-List
ARM:
* Support ARMv6 and ARMv7 ISA.
* Optimization on ARM Cortex-A9.
- Update patches:
* openblas-0.2.8-libs.patch
* openblas-0.2.8-noexecstack.patch
to
* openblas-libs.patch
* openblas-noexecstack.patch
- Fix gcc warnings (#385)
* openblas-0.2.9-gcc-warnings.patch
-------------------------------------------------------------------
Sat Apr 12 09:02:16 UTC 2014 - dmitry_r@opensuse.org

View File

@ -17,22 +17,24 @@
Name: openblas
Version: 0.2.8
Version: 0.2.9
Release: 0
Summary: An optimized BLAS library based on GotoBLAS2
License: BSD-3-Clause
Group: Productivity/Scientific/Math
Url: http://www.openblas.net
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM openblas-0.2.8-libs.patch: Link against libgfortran
Patch0: openblas-0.2.8-libs.patch
Patch0: openblas-libs.patch
# PATCH-FIX-UPSTREAM c_xerbla_no-void-return.patch
Patch1: c_xerbla_no-void-return.patch
# PATCH-FEATURE-OPENSUSE openblas-0.1.0-soname.patch
Patch2: openblas-0.1.0-soname.patch
# PATCH-FIX-UPSTREAM openblas-0.2.8-noexecstack.patch
Patch3: openblas-0.2.8-noexecstack.patch
BuildRoot: %{_tmppath}/build
Patch3: openblas-noexecstack.patch
# PATCH-FIX-UPSTREAM openblas-0.2.9-gcc-warnings.patch -- Fix GCC warnings (bug#385)
Patch4: openblas-0.2.9-gcc-warnings.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 ia64 ppc ppc64 x86_64
BuildRequires: gcc-fortran
BuildRequires: update-alternatives
@ -112,12 +114,7 @@ cd OpenBLAS-%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
# Bad licenses
# openblas 0.29 will contain lapack 3.5.0 with fixed files
rm lapack-netlib/DOCS/psfig.tex
rm lapack-netlib/lapacke/example/example_DGESV_rowmajor.c
rm lapack-netlib/lapacke/example/example_ZGESV_rowmajor.c
%patch4 -p1
cd ..
# prepare build for serial, threaded and OpenMP versions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:359f5cd2604ed76d97b0669b9b846a59a1d0283065d23f8847956629871fedd8
size 9466378