Compare commits

...

4 Commits
master ... f21

Author SHA1 Message Date
Susi Lehtola 36b85772cc Really unbundle lapack. 2015-02-08 05:49:45 +01:00
Frantisek Kluknavsky ce75bd4e22 rebuild with new lapack, https://bugzilla.redhat.com/show_bug.cgi?id=1149032 2015-02-02 15:23:07 +01:00
Jaromir Capik 8ffdb3e93b patching for Power8 to pass performance tunings and tests on P8 builders 2014-10-31 17:28:09 +01:00
Frantisek Kluknavsky 42cf841726 added pkgconfig file 2014-10-24 15:30:45 +02:00
9 changed files with 314 additions and 38 deletions

View File

@ -0,0 +1,17 @@
diff -up wrk/makes/Make.lib.wrk wrk/makes/Make.lib
--- wrk/makes/Make.lib.wrk 2015-01-23 21:14:46.465494411 +0100
+++ wrk/makes/Make.lib 2015-01-23 22:48:39.632479588 +0100
@@ -185,11 +185,11 @@ TRYALL :
#
fat_ptshared : # threaded target
$(MAKE) TRYALL outso=libtatlas.so \
- libas="libptlapack.a libptf77blas.a libptcblas.a libatlas.a" \
+ libas="libptlapack.a libptf77blas.a libptcblas.a libatlas.a $(SLAPACKlib)" \
LIBINSTdir="$(LIBINSTdir)"
fat_shared : # serial target
$(MAKE) TRYALL outso=libsatlas.so \
- libas="liblapack.a libf77blas.a libcblas.a libatlas.a" \
+ libas="liblapack.a libf77blas.a libcblas.a libatlas.a $(SLAPACKlib)" \
LIBINSTdir="$(LIBINSTdir)"
#
# Builds shared lib, not include fortran codes from LAPACK

View File

@ -5,7 +5,7 @@ Version: 3.10.1
%if "%{?enable_native_atlas}" != "0"
%define dist .native
%endif
Release: 14%{?dist}
Release: 18%{?dist}
Summary: Automatically Tuned Linear Algebra Software
Group: System Environment/Libraries
@ -15,13 +15,12 @@ Source0: http://downloads.sourceforge.net/math-atlas/%{name}%{version}.ta
Source1: PPRO32.tgz
#Source2: K7323DNow.tgz
Source3: README.dist
#Source4: USII64.tgz
#Source5: USII32.tgz
#Source4: USII64.tgz
#Source5: USII32.tgz
#Source6: IBMz1032.tgz
#Source7: IBMz1064.tgz
#Source8: IBMz19632.tgz
#Source9: IBMz19664.tgz
Source10: http://www.netlib.org/lapack/lapack-3.5.0.tgz
#archdefs taken from debian:
Source11: POWER332.tar.bz2
Source12: IBMz932.tar.bz2
@ -43,12 +42,20 @@ Patch6: atlas-affinity.patch
Patch7: atlas-aarch64port.patch
Patch8: atlas-genparse.patch
Patch9: atlas.3.10.1-unbundle.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gcc-gfortran
# ppc64le patches
Patch95: initialize_malloc_memory.invtrsm.wms.oct23.patch
Patch96: xlf.command.not.found.patch
Patch98: getdoublearr.stripwhite.patch
Patch99: ppc64le-remove-vsx.patch
Patch100: ppc64le-abiv2.patch
Patch110: p8-mem-barrier.patch
Provides: bundled(lapack)
BuildRequires: gcc-gfortran
BuildRequires: lapack-static
%ifarch x86_64
Obsoletes: atlas-sse3 < 3.10
@ -174,7 +181,7 @@ Requires(preun): chkconfig
%description sse2-static
This package contains ATLAS (Automatically Tuned Linear Algebra Software)
static libraries compiled with optimizations for the SSE2 extensions to the
static libraries compiled with optimizations for the SSE2 extensions to the
ix86 architecture.
@ -208,13 +215,13 @@ Requires(preun): chkconfig
%description sse3-static
This package contains ATLAS (Automatically Tuned Linear Algebra Software)
static libraries compiled with optimizations for the SSE3 extensions to the
static libraries compiled with optimizations for the SSE3 extensions to the
ix86 architecture.
%endif
%ifarch s390 s390x
%define types base
%define types base
#z196
#z10
@ -289,7 +296,7 @@ ix86 architecture.
%ifarch %{arm}
#beware - arch constant can change between releases
%define arch_option -A 46
%define arch_option -A 46
%define threads_option -t 2
%global armflags -DATL_ARM_HARDFP=1
%global mode %{nil}
@ -297,7 +304,7 @@ ix86 architecture.
%global mode -b %{__isa_bits}
%global armflags %{nil}
%if "%{?enable_native_atlas}" == "0"
%define threads_option -t 4
%define threads_option -t 4
%endif
%endif
@ -324,6 +331,7 @@ ix86 architecture.
%patch7 -p1 -b .aarch64
%endif
%patch8 -p1 -b .genparse
%patch9 -p1 -b .unbundle
cp %{SOURCE1} CONFIG/ARCHS/
#cp %{SOURCE2} CONFIG/ARCHS/
@ -334,6 +342,16 @@ cp %{SOURCE13} CONFIG/ARCHS/
cp %{SOURCE14} CONFIG/ARCHS/
#cp %{SOURCE8} CONFIG/ARCHS/
#cp %{SOURCE9} CONFIG/ARCHS/
%ifarch ppc64le
%patch99 -p2
%patch98 -p2
%patch96 -p2
%patch95 -p2
%patch100 -p2
%patch110 -p1
%endif
%ifarch %{arm}
# Set arm flags in atlcomp.txt
sed -i -e 's,-mfpu=vfpv3,-mfpu=neon,' CONFIG/src/atlcomp.txt
@ -344,7 +362,19 @@ sed -i -e 's,-mfpu=vfpv3,,' tune/blas/gemm/CASES/*.flg
# Debug
#sed -i -e 's,> \(.*\)/ptsanity.out,> \1/ptsanity.out || cat \1/ptsanity.out \&\& exit 1,' makes/Make.*
# Generate lapack library
mkdir lapacklib
cd lapacklib
ar x %{_libdir}/liblapack_pic.a
# Remove functions that have ATLAS implementations
rm cgelqf.o cgels.o cgeqlf.o cgeqrf.o cgerqf.o cgesv.o cgetrf.o cgetri.o cgetrs.o clarfb.o clarft.o clauum.o cposv.o cpotrf.o cpotri.o cpotrs.o ctrtri.o dgelqf.o dgels.o dgeqlf.o dgeqrf.o dgerqf.o dgesv.o dgetrf.o dgetri.o dgetrs.o dlamch.o dlarfb.o dlarft.o dlauum.o dposv.o dpotrf.o dpotri.o dpotrs.o dtrtri.o ieeeck.o ilaenv.o lsame.o sgelqf.o sgels.o sgeqlf.o sgeqrf.o sgerqf.o sgesv.o sgetrf.o sgetri.o sgetrs.o slamch.o slarfb.o slarft.o slauum.o sposv.o spotrf.o spotri.o spotrs.o strtri.o xerbla.o zgelqf.o zgels.o zgeqlf.o zgeqrf.o zgerqf.o zgesv.o zgetrf.o zgetri.o zgetrs.o zlarfb.o zlarft.o zlauum.o zposv.o zpotrf.o zpotri.o zpotrs.o ztrtri.o
# Create new library
ar rcs ../liblapack_pic_pruned.a *.o
cd ..
%build
p=$(pwd)
for type in %{types}; do
if [ "$type" = "base" ]; then
libname=atlas
@ -358,8 +388,11 @@ for type in %{types}; do
../configure %{mode} %{?threads_option} %{?arch_option} -D c -DWALL -Fa alg '%{armflags} -g -Wa,--noexecstack -fPIC'\
--prefix=%{buildroot}%{_prefix} \
--incdir=%{buildroot}%{_includedir} \
--libdir=%{buildroot}%{_libdir}/${libname} \
--with-netlib-lapack-tarfile=%{SOURCE10}
--libdir=%{buildroot}%{_libdir}/${libname}
#--with-netlib-lapack-tarfile=%{SOURCE10}
#matches both SLAPACK and SSLAPACK
sed -i "s#SLAPACKlib.*#SLAPACKlib = ${p}/liblapack_pic_pruned.a#" Make.inc
%if "%{?enable_native_atlas}" == "0"
%ifarch x86_64
@ -367,18 +400,18 @@ for type in %{types}; do
# sed -i 's#ARCH =.*#ARCH = HAMMER64SSE2#' Make.inc
sed -i 's#ARCH =.*#ARCH = HAMMER64SSE3#' Make.inc
# sed -i 's#-DATL_SSE3##' Make.inc
sed -i 's#-DATL_AVX##' Make.inc
# sed -i 's#-msse3#-msse2#' Make.inc
sed -i 's#-DATL_AVX##' Make.inc
# sed -i 's#-msse3#-msse2#' Make.inc
sed -i 's#-mavx#-msse3#' Make.inc
echo 'base makefile edited'
# sed -i 's#PMAKE = $(MAKE) .*#PMAKE = $(MAKE) -j 1#' Make.inc
echo 'base makefile edited'
# sed -i 's#PMAKE = $(MAKE) .*#PMAKE = $(MAKE) -j 1#' Make.inc
elif [ "$type" = "sse3" ]; then
# sed -i 's#ARCH =.*#ARCH = Corei264AVX#' Make.inc
# sed -i 's#PMAKE = $(MAKE) .*#PMAKE = $(MAKE) -j 1#' Make.inc
sed -i 's#-DATL_AVX##' Make.inc
sed -i 's#-DATL_SSE2##' Make.inc
sed -i 's#-mavx#-msse2#' Make.inc
sed -i 's#-msse3#-msse2#' Make.inc
sed -i 's#-mavx#-msse2#' Make.inc
sed -i 's#-msse3#-msse2#' Make.inc
echo 'sse makefile edited'
%define pr_sse3 %(echo $((%{__isa_bits}+4)))
fi
@ -390,18 +423,18 @@ for type in %{types}; do
#sed -i 's#-DATL_SSE3 -DATL_SSE2 -DATL_SSE1##' Make.inc
sed -i 's#-DATL_SSE3##' Make.inc
sed -i 's#-DATL_SSE2##' Make.inc
sed -i 's#-DATL_SSE1##' Make.inc
sed -i 's#-mfpmath=sse -msse3#-mfpmath=387#' Make.inc
sed -i 's#-DATL_SSE1##' Make.inc
sed -i 's#-mfpmath=sse -msse3#-mfpmath=387#' Make.inc
elif [ "$type" = "sse" ]; then
sed -i 's#ARCH =.*#ARCH = PIII32SSE1#' Make.inc
sed -i 's#-DATL_SSE3#-DATL_SSE1#' Make.inc
sed -i 's#-msse3#-msse#' Make.inc
sed -i 's#-DATL_SSE3#-DATL_SSE1#' Make.inc
sed -i 's#-msse3#-msse#' Make.inc
%define pr_sse %(echo $((%{__isa_bits}+2)))
elif [ "$type" = "sse2" ]; then
# sed -i 's#ARCH =.*#ARCH = P432SSE2#' Make.inc
sed -i 's#ARCH =.*#ARCH = x86SSE232SSE2#' Make.inc
sed -i 's#-DATL_SSE3#-DATL_SSE2#' Make.inc
sed -i 's#-msse3#-msse2#' Make.inc
sed -i 's#-DATL_SSE3#-DATL_SSE2#' Make.inc
sed -i 's#-msse3#-msse2#' Make.inc
%define pr_sse2 %(echo $((%{__isa_bits}+3)))
elif [ "$type" = "sse3" ]; then
sed -i 's#ARCH =.*#ARCH = P4E32SSE3#' Make.inc
@ -414,10 +447,10 @@ for type in %{types}; do
# we also need a compiler with -march=z196 support
# the base support will use z196 tuning
if [ "$type" = "base" ]; then
%ifarch s390x
%ifarch s390x
sed -i 's#ARCH =.*#ARCH = IBMz964#' Make.inc
%endif
%ifarch s390
%ifarch s390
sed -i 's#ARCH =.*#ARCH = IBMz932#' Make.inc
%endif
sed -i 's#-march=z196#-march=z9-109 -mtune=z196#' Make.inc
@ -427,12 +460,12 @@ for type in %{types}; do
sed -i 's#-DATL_ARCH_IBMz10#-DATL_ARCH_IBMz9#' Make.inc
# sed -i 's#-DATL_ARCH_IBMz9#-DATL_ARCH_IBMz9#' Make.inc
elif [ "$type" = "z10" ]; then
%ifarch s390x
%ifarch s390x
# cat Make.inc | grep "ARCH ="
sed -i 's#ARCH =.*#ARCH = IBMz1064#' Make.inc
%endif
%ifarch s390
%ifarch s390
sed -i 's#ARCH =.*#ARCH = IBMz1032#' Make.inc
# cat Make.inc | grep "ARCH ="
%endif
@ -444,10 +477,10 @@ for type in %{types}; do
%define pr_z10 %(echo $((%{__isa_bits}+1)))
elif [ "$type" = "z196" ]; then
%ifarch s390x
%ifarch s390x
sed -i 's#ARCH =.*#ARCH = IBMz19664#' Make.inc
%endif
%ifarch s390
%ifarch s390
sed -i 's#ARCH =.*#ARCH = IBMz19632#' Make.inc
%endif
sed -i 's#-march=z196#-march=z10 -mtune=z196#' Make.inc
@ -469,6 +502,14 @@ for type in %{types}; do
sed -i 's#-m64#-m32#g' Make.inc
%endif
%ifarch ppc64le
sed -i 's#-mvsx##g' Make.inc
sed -i 's#-DATL_VSX##g' Make.inc
sed -i 's#-DATL_AltiVec##g' Make.inc
sed -i 's#-maltivec##g' Make.inc
sed -i 's#ARCH =.*#ARCH = POWER464#' Make.inc
%endif
%endif
make build
cd lib
@ -477,7 +518,7 @@ for type in %{types}; do
popd
done
%install
%install
for type in %{types}; do
pushd %{_arch}_${type}
make DESTDIR=%{buildroot} install
@ -502,6 +543,17 @@ for type in %{types}; do
> %{buildroot}/etc/ld.so.conf.d/atlas-%{_arch}-${type}.conf
fi
done
#create pkgconfig file
mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig/
cat > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/atlas.pc << DATA
Name: %{name}
Version: %{version}
Description: %{summary}
Cflags: -I%{_includedir}/atlas/
Libs: -L%{_libdir}/atlas/ -lsatlas
DATA
mkdir -p %{buildroot}%{_includedir}/atlas
@ -668,6 +720,7 @@ fi
%{_includedir}/atlas-%{_arch}-base/
%{_includedir}/*.h
%ghost %{_includedir}/atlas
%{_libdir}/pkgconfig/atlas.pc
%files static
%defattr(-,root,root,-)
@ -809,6 +862,18 @@ fi
%endif
%changelog
* Sat Feb 07 2015 Susi Lehtola <jussilehtola@fedoraproject.org> - 3.10.1-18
- Really do the unbundling of lapack.
* Mon Feb 02 2015 Frantisek Kluknavsky <fkluknav@redhat.com> - 3.10.1-17
- rebuild with new lapack, https://bugzilla.redhat.com/show_bug.cgi?id=1149032
* Fri Oct 31 2014 Jaromir Capik <jcapik@redhat.com> - 3.10.1-16
- patching for Power8 to pass performance tunings and tests on P8 builders
* Fri Oct 24 2014 Frantisek Kluknavsky <fkluknav@redhat.com> - 3.10.1-15
- added pkgconfig file
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10.1-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
@ -923,10 +988,10 @@ fi
- Fix typo in SSE3 subpackage's summary.
* Sat Oct 24 2009 Deji Akingunola <dakingun@gmail.com> - 3.8.3-12
- Use alternatives to workaround multilib conflicts (BZ#508565).
- Use alternatives to workaround multilib conflicts (BZ#508565).
* Tue Sep 29 2009 Deji Akingunola <dakingun@gmail.com> - 3.8.3-11
- Obsolete the -header subpackage properly.
- Obsolete the -header subpackage properly.
* Sat Sep 26 2009 Deji Akingunola <dakingun@gmail.com> - 3.8.3-10
- Use the new arch. default for Pentium PRO (Fedora bug #510498)
@ -936,10 +1001,10 @@ fi
- Rebuild against fixed lapack (see #520518)
* Thu Aug 13 2009 Deji Akingunola <dakingun@gmail.com> - 3.8.3-8
- Revert the last change, it doesn't solve the problem.
- Revert the last change, it doesn't solve the problem.
* Tue Aug 04 2009 Deji Akingunola <dakingun@gmail.com> - 3.8.3-7
- Create a -header subpackage to avoid multilib conflicts (BZ#508565).
- Create a -header subpackage to avoid multilib conflicts (BZ#508565).
* Tue Aug 04 2009 Deji Akingunola <dakingun@gmail.com> - 3.8.3-6
- Add '-g' to build flag to allow proper genration of debuginfo subpackages (Fedora bug #509813)

View File

@ -0,0 +1,50 @@
Subject: getdoublearr.stripwhite
From: Michel Normand <normand@fr.ibm.com>
GetDoubleArr must only handle the comma delimited list at string head
and ignore anything after the first blank character.
Signed-off-by: Michel Normand <normand@fr.ibm.com>
---
ATLAS/include/atlas_genparse.h | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
Index: atlas/ATLAS/include/atlas_genparse.h
===================================================================
--- atlas.orig/ATLAS/include/atlas_genparse.h
+++ atlas/ATLAS/include/atlas_genparse.h
@@ -149,13 +149,24 @@ static int asmNames2bitfield(char *str)
}
/* procedure 7 */
-static int GetDoubleArr(char *str, int N, double *d)
+static int GetDoubleArr(char *callerstr, int N, double *d)
/*
* Reads in a list with form "%le,%le...,%le"; N-length d recieves doubles.
* RETURNS: the number of doubles found, or N, whichever is less
*/
{
- int i=1;
+ int i;
+ char *dupstr = DupString(callerstr);
+ char *str = dupstr;
+ /* strip the string to end on first white space */
+ for (i=0; dupstr[i]; i++)
+ {
+ if (isspace(dupstr[i])) {
+ dupstr[i] = '\0';
+ break;
+ }
+ }
+ i = 1;
assert(sscanf(str, "%le", d) == 1);
while (i < N)
{
@@ -166,6 +177,7 @@ static int GetDoubleArr(char *str, int N
break;
i++;
}
+ free(dupstr);
return(i);
}

View File

@ -0,0 +1,10 @@
--- ./ATLAS.first/tune/blas/level3/invtrsm.c 2013-10-22 19:35:03.000000000 +0000
+++ ./ATLAS/tune/blas/level3/invtrsm.c 2013-10-23 21:24:01.000000000 +0000
@@ -525,6 +525,7 @@
a = A = malloc(i * ATL_MulBySize(incA));
if (A)
{
+ memset(A,0,i*ATL_MulBySize(incA)); /* wms (!!) malloc call above returns non-initialized memory. */
if (Uplo == TestGE)
for (i=0; i < k; i++)
Mjoin(PATL,gegen)(N, N, A+i*incA, lda, N+lda);

12
p8-mem-barrier.patch Normal file
View File

@ -0,0 +1,12 @@
diff -Naur ATLAS.orig/include/atlas_pca.h ATLAS/include/atlas_pca.h
--- ATLAS.orig/include/atlas_pca.h 2013-01-08 19:15:40.000000000 +0100
+++ ATLAS/include/atlas_pca.h 2014-10-23 13:45:36.956698637 +0200
@@ -26,7 +26,7 @@
#endif
#elif defined(ATL_ARCH_POWER3) || defined(ATL_ARCH_POWER4) || \
defined(ATL_ARCH_POWER5) || defined(ATL_ARCH_POWER6) || \
- defined(ATL_ARCH_POWER7)
+ defined(ATL_ARCH_POWER7) || 1
#ifdef __GNUC__
#define ATL_membarrier __asm__ __volatile__ ("dcs")
/* #define ATL_USEPCA 1 */

60
ppc64le-abiv2.patch Normal file
View File

@ -0,0 +1,60 @@
--- atlas/ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x80_ppc.c 2013-12-05 19:19:57.000000000 +0100
+++ atlas/ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x80_ppc.c.new 2013-12-06 16:29:57.000000000 +0100
@@ -170,13 +170,21 @@ void ATL_USERMM(const int M, const int N
const TYPE beta, TYPE *C, const int ldc)
(r10) 8(r1)
*******************************************************************************
-64 bit ABIs:
+64 bit ABIv1s:
r3 r4 r5 r6/f1
void ATL_USERMM(const int M, const int N, const int K, const TYPE alpha,
r7 r8 r9 r10
const TYPE *A, const int lda, const TYPE *B, const int ldb,
f2 120(r1) 128(r1)
const TYPE beta, TYPE *C, const int ldc)
+
+64 bit ABIv2s:
+ r3 r4 r5 r6/f1
+void ATL_USERMM(const int M, const int N, const int K, const TYPE alpha,
+ r7 r8 r9 r10
+ const TYPE *A, const int lda, const TYPE *B, const int ldb,
+ f2 104(r1) 112(r1)
+ const TYPE beta, TYPE *C, const int ldc)
#endif
#ifdef ATL_AS_AIX_PPC
.csect .text[PR]
@@ -202,7 +210,7 @@ Mjoin(.,ATL_USERMM):
.globl Mjoin(_,ATL_USERMM)
Mjoin(_,ATL_USERMM):
#else
- #if defined(ATL_USE64BITS)
+ #if defined(ATL_USE64BITS) && _CALL_ELF != 2
/*
* Official Program Descripter section, seg fault w/o it on Linux/PPC64
*/
@@ -217,6 +225,7 @@ ATL_USERMM:
.globl Mjoin(.,ATL_USERMM)
Mjoin(.,ATL_USERMM):
#else
+/* ppc64 have no longer function descriptors in ABIv2 */
.globl ATL_USERMM
ATL_USERMM:
#endif
@@ -257,9 +266,17 @@ ATL_USERMM:
#endif
#endif
+
#if defined (ATL_USE64BITS)
+#if _CALL_ELF == 2
+/* ABIv2 */
+ ld pC0, 104(r1)
+ ld incCn, 112(r1)
+#else
+/* ABIv1 */
ld pC0, 120(r1)
ld incCn, 128(r1)
+#endif
#elif defined(ATL_AS_OSX_PPC) || defined(ATL_AS_AIX_PPC)
lwz pC0, 68(r1)
lwz incCn, 72(r1)

39
ppc64le-remove-vsx.patch Normal file
View File

@ -0,0 +1,39 @@
Subject: ppc64le remove vsx
From: Michel Normand <normand@fr.ibm.com>
temporarily remove the vsx related flags
as long as not supported for ppc64le
Note that also force as power4
Signed-off-by: Michel Normand <normand@fr.ibm.com>
Index: atlas/ATLAS/CONFIG/src/atlcomp.txt
===================================================================
--- atlas.orig/ATLAS/CONFIG/src/atlcomp.txt
+++ atlas/ATLAS/CONFIG/src/atlcomp.txt
@@ -187,9 +187,9 @@ MACH=PPCG5 OS=ALL LVL=1000 COMPS=dmc,icc
MACH=PPCG5 OS=ALL LVL=1000 COMPS=skc
'gcc' '-mpowerpc64 -maltivec -mabi=altivec -mcpu=970 -mtune=970 -O2 -mvrsave'
MACH=POWER7 OS=ALL LVL=1010 COMPS=icc,smc,dmc,skc,dkc,xcc,gcc
- 'gcc' '-O2 -mvsx -mcpu=power7 -mtune=power7 -m64 -mvrsave -funroll-all-loops'
+ 'gcc' '-O2 -m64 -mvrsave -funroll-all-loops'
MACH=POWER7 OS=ALL LVL=1010 COMPS=f77
- 'gfortran' '-O2 -mvsx -mcpu=power7 -mtune=power7 -m64 -mvrsave -funroll-all-loops'
+ 'gfortran' '-O2 -m64 -mvrsave -funroll-all-loops'
MACH=POWER6 OS=ALL LVL=1010 COMPS=icc,smc,dmc,skc,dkc,xcc,gcc
'gcc' '-mcpu=power6 -mtune=power6 -maltivec -O3 -fno-schedule-insns -fschedule-insns2 -minsert-sched-nops=2'
MACH=POWER5 OS=ALL LVL=1010 COMPS=icc,smc,dmc,skc,dkc,xcc,gcc
Index: atlas/ATLAS/CONFIG/src/probe_comp.c
===================================================================
--- atlas.orig/ATLAS/CONFIG/src/probe_comp.c
+++ atlas/ATLAS/CONFIG/src/probe_comp.c
@@ -446,8 +446,8 @@ COMPNODE **GetDefaultComps(enum OSTYPE O
if ((vecexts & (1<<ISA_AVXFMA4)) && arch == AmdDozer)
vp = "-msse4.2 -mfma4";
- else if (vecexts & (1<<ISA_VSX))
- vp = "-mvsx";
+ /*else if (vecexts & (1<<ISA_VSX))
+ vp = "-mvsx";*/
else if (vecexts & (1<<ISA_AV))
vp = "-maltivec";
else if (vecexts & (1<<ISA_AVX))

View File

@ -11,4 +11,3 @@ ebb4732aff468bbc223e7f734252173b USII32.tgz
f3e4ca175b5ffc49dce7f3c37f791827 IBMz964.tar.bz2
27e7baa49c588299260188afa78303dc POWER332.tar.bz2
af1f95e19d7afaf0342fb1377ec94817 ARMv732NEON.tar.bz2
e7ba742120bd75339ac4c6fbdd8bce92 lapack-3.5.0.tgz

View File

@ -0,0 +1,24 @@
Subject: xlf.command.not.found
From: Michel Normand <normand@fr.ibm.com>
try to bypass error while building ppc64le
"make[2]: xlf: Command not found"
Signed-off-by: Michel Normand <normand@fr.ibm.com>
---
ATLAS/CONFIG/src/atlcomp.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: atlas/ATLAS/CONFIG/src/atlcomp.txt
===================================================================
--- atlas.orig/ATLAS/CONFIG/src/atlcomp.txt
+++ atlas/ATLAS/CONFIG/src/atlcomp.txt
@@ -199,7 +199,7 @@ MACH=POWER6 OS=ALL LVL=1010 COMPS=f77
MACH=POWER5 OS=ALL LVL=1010 COMPS=f77
'gfortran' '-mcpu=power5 -mtune=power5 -O3 -fno-schedule-insns -fno-rerun-loop-opt'
MACH=POWER7 OS=ALL LVL=1010 COMPS=f77
- 'xlf' '-qtune=pwr7 -qarch=pwr7 -O3 -qmaxmem=-1 -qfloat=hsflt'
+ 'gfortran' '-O2 -m64 -mvrsave -funroll-all-loops'
MACH=POWER5 OS=ALL LVL=1010 COMPS=f77
'xlf' '-qtune=pwr5 -qarch=pwr5 -O3 -qmaxmem=-1 -qfloat=hsflt'
MACH=POWER4 OS=ALL LVL=1010 COMPS=icc,dmc,smc,dkc,skc,xcc,gcc