Compare commits
4 Commits
Author | SHA1 | Date |
---|---|---|
Susi Lehtola | 36b85772cc | |
Frantisek Kluknavsky | ce75bd4e22 | |
Jaromir Capik | 8ffdb3e93b | |
Frantisek Kluknavsky | 42cf841726 |
|
@ -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
|
139
atlas.spec
139
atlas.spec
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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);
|
|
@ -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 */
|
|
@ -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)
|
|
@ -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))
|
1
sources
1
sources
|
@ -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
|
||||
|
|
|
@ -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
|
Loading…
Reference in New Issue