import atlas-3.10.3-6.el8
This commit is contained in:
commit
c763dcaad6
|
@ -0,0 +1,8 @@
|
||||||
|
0e11ec19a521973eaa551954debd112c21479e9c SOURCES/ARMa732.tar.bz2
|
||||||
|
9398518fe55b4a544278237bc639656e04543c50 SOURCES/ARMv732NEON.tar.bz2
|
||||||
|
d2f7a62aacdc5091aaa673a311a23f521e5c6486 SOURCES/IBMz1264.tar.bz2
|
||||||
|
b3ee9bca1510b11c6aa671ba5ba7dff8918ce0cf SOURCES/IBMz932.tar.bz2
|
||||||
|
43f8d8eaf8cc62bc4665df3550b77e95f3dced22 SOURCES/IBMz964.tar.bz2
|
||||||
|
c47ac6f00d7bf4ab882e71fa1ab894cc551c77b7 SOURCES/POWER332.tar.bz2
|
||||||
|
85c00d3190abbe250d46472824b17d9164e3dfc2 SOURCES/PPRO32.tgz
|
||||||
|
337eef1167030a9440ea645ce0037abfd4b0be4e SOURCES/atlas3.10.3.tar.bz2
|
|
@ -0,0 +1,8 @@
|
||||||
|
SOURCES/ARMa732.tar.bz2
|
||||||
|
SOURCES/ARMv732NEON.tar.bz2
|
||||||
|
SOURCES/IBMz1264.tar.bz2
|
||||||
|
SOURCES/IBMz932.tar.bz2
|
||||||
|
SOURCES/IBMz964.tar.bz2
|
||||||
|
SOURCES/POWER332.tar.bz2
|
||||||
|
SOURCES/PPRO32.tgz
|
||||||
|
SOURCES/atlas3.10.3.tar.bz2
|
|
@ -0,0 +1,47 @@
|
||||||
|
Notes on the packaged version of ATLAS
|
||||||
|
|
||||||
|
by Quentin Spencer
|
||||||
|
updated: October 4, 2005
|
||||||
|
|
||||||
|
updated by Deji Akingunola
|
||||||
|
October 15, 2008
|
||||||
|
|
||||||
|
updated by Deji Akingunola
|
||||||
|
June 15, 2011
|
||||||
|
|
||||||
|
updated by Frantisek Kluknavsky
|
||||||
|
Nov 20, 2012
|
||||||
|
|
||||||
|
Because ATLAS relies on compile-time optimizations to obtain improved
|
||||||
|
performance over BLAS and LAPACK, the resulting binaries are closely
|
||||||
|
tied to the hardware on which they are compiled, and can likely result
|
||||||
|
in very poor performance on other hardware. For this reason,
|
||||||
|
including a package like ATLAS in Fedora requires some compromises.
|
||||||
|
Optimizing ATLAS for the most modern hardware can result in
|
||||||
|
significant performance penalties for users using the same package on
|
||||||
|
older hardware. A binary ATLAS package must perform reasonably well on the
|
||||||
|
entire range of hardware on which it could potentially be installed.
|
||||||
|
|
||||||
|
The result is a set of libraries that will not
|
||||||
|
necessarily achieve optimal performance on any given hardware but
|
||||||
|
should still offer significant performance gains over the reference
|
||||||
|
BLAS and LAPACK libraries on most hardware.
|
||||||
|
|
||||||
|
In addition to the base 32bit build, subpackages are built for SSE, SSE2,
|
||||||
|
and SSE3 ix86 extensions.
|
||||||
|
|
||||||
|
On 64bit x86 systems the default atlas package was built with SSE3
|
||||||
|
optimization.
|
||||||
|
|
||||||
|
This packaging allows multiple installation of different atlas sub-packages
|
||||||
|
at the same time. The alternatives system (read 'man alternatives' for usage)
|
||||||
|
is used in the -devel subpackages to select the appropriate location for the
|
||||||
|
architectural dependent header files.
|
||||||
|
|
||||||
|
For users who want optimal performance on
|
||||||
|
particular hardware, custom RPMs can be built from the source package
|
||||||
|
by setting the RPM macro "enable_native_atlas" to a value of 1. This
|
||||||
|
can be done from the command line as in the following example:
|
||||||
|
|
||||||
|
rpmbuild -D "enable_native_atlas 1" --rebuild atlas-3.8.3-1.src.rpm
|
||||||
|
|
|
@ -0,0 +1,219 @@
|
||||||
|
Author: Mark Salter <msalter@redhat.com>
|
||||||
|
|
||||||
|
Index: ATLAS/CONFIG/include/atlconf.h
|
||||||
|
===================================================================
|
||||||
|
--- ATLAS.orig/CONFIG/include/atlconf.h
|
||||||
|
+++ ATLAS/CONFIG/include/atlconf.h
|
||||||
|
@@ -16,9 +16,9 @@ enum OSTYPE {OSOther=0, OSLinux, OSSunOS
|
||||||
|
((OS_) == OSWin64) )
|
||||||
|
|
||||||
|
enum ARCHFAM {AFOther=0, AFPPC, AFSPARC, AFALPHA, AFX86, AFIA64, AFMIPS,
|
||||||
|
- AFARM, AFS390};
|
||||||
|
+ AFARM, AFS390, AFAARCH64};
|
||||||
|
|
||||||
|
-#define NMACH 52
|
||||||
|
+#define NMACH 53
|
||||||
|
static char *machnam[NMACH] =
|
||||||
|
{"UNKNOWN", "POWER3", "POWER4", "POWER5", "PPCG4", "PPCG5",
|
||||||
|
"POWER6", "POWER7", "POWERe6500", "IBMz9", "IBMz10", "IBMz196",
|
||||||
|
@@ -29,7 +29,7 @@ static char *machnam[NMACH] =
|
||||||
|
"Efficeon", "K7", "HAMMER", "AMD64K10h", "AMDLLANO", "AMDDOZER","AMDDRIVER",
|
||||||
|
"UNKNOWNx86", "IA64Itan", "IA64Itan2",
|
||||||
|
"USI", "USII", "USIII", "USIV", "UST1", "UST2", "UnknownUS",
|
||||||
|
- "MIPSR1xK", "MIPSICE9", "ARMv7"};
|
||||||
|
+ "MIPSR1xK", "MIPSICE9", "ARMv7", "AARCH64"};
|
||||||
|
enum MACHTYPE {MACHOther, IbmPwr3, IbmPwr4, IbmPwr5, PPCG4, PPCG5,
|
||||||
|
IbmPwr6, IbmPwr7, Pwre6500,
|
||||||
|
IbmZ9, IbmZ10, IbmZ196, /* s390(x) in Linux */
|
||||||
|
@@ -42,7 +42,8 @@ enum MACHTYPE {MACHOther, IbmPwr3, IbmPw
|
||||||
|
SunUSI, SunUSII, SunUSIII, SunUSIV, SunUST1, SunUST2, SunUSX,
|
||||||
|
MIPSR1xK, /* includes R10K, R12K, R14K, R16K */
|
||||||
|
MIPSICE9, /* SiCortex ICE9 -- like MIPS5K */
|
||||||
|
- ARMv7 /* includes Cortex A8, A9 */
|
||||||
|
+ ARMv7, /* includes Cortex A8, A9 */
|
||||||
|
+ AARCH64
|
||||||
|
};
|
||||||
|
#define MachIsX86(mach_) \
|
||||||
|
( (mach_) >= x86x87 && (mach_) <= x86X )
|
||||||
|
@@ -63,6 +64,8 @@ enum MACHTYPE {MACHOther, IbmPwr3, IbmPw
|
||||||
|
( (mach_) == ARMv7 )
|
||||||
|
#define MachIsS390(mach_) \
|
||||||
|
( (mach_) >= IbmZ9 && (mach_) <= IbmZ196 )
|
||||||
|
+#define MachIsAARCH64(mach_) \
|
||||||
|
+ ( (mach_) == AARCH64 )
|
||||||
|
|
||||||
|
|
||||||
|
static char *f2c_namestr[5] = {"UNKNOWN","Add_", "Add__", "NoChange", "UpCase"};
|
||||||
|
@@ -84,13 +87,13 @@ enum ISAEXT
|
||||||
|
{ISA_None=0, ISA_VSX, ISA_AV, ISA_AVXMAC, ISA_AVXFMA4, ISA_AVX,
|
||||||
|
ISA_SSE3, ISA_SSE2, ISA_SSE1, ISA_3DNow, ISA_NEON};
|
||||||
|
|
||||||
|
-#define NASMD 9
|
||||||
|
+#define NASMD 10
|
||||||
|
enum ASMDIA
|
||||||
|
{ASM_None=0, gas_x86_32, gas_x86_64, gas_sparc, gas_ppc, gas_parisc,
|
||||||
|
- gas_mips, gas_arm, gas_s390};
|
||||||
|
+ gas_mips, gas_arm, gas_s390, gas_aarch64};
|
||||||
|
static char *ASMNAM[NASMD] =
|
||||||
|
{"", "GAS_x8632", "GAS_x8664", "GAS_SPARC", "GAS_PPC", "GAS_PARISC",
|
||||||
|
- "GAS_MIPS", "GAS_ARM", "GAS_S390"};
|
||||||
|
+ "GAS_MIPS", "GAS_ARM", "GAS_S390", "GAS_AARCH64"};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Used for archinfo probes (can pack in bitfield)
|
||||||
|
Index: ATLAS/CONFIG/src/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- ATLAS.orig/CONFIG/src/Makefile
|
||||||
|
+++ ATLAS/CONFIG/src/Makefile
|
||||||
|
@@ -260,6 +260,11 @@ IRun_BINDP :
|
||||||
|
redir=config0.out
|
||||||
|
- cat config0.out
|
||||||
|
|
||||||
|
+IRun_GAS_AARCH64 :
|
||||||
|
+ $(CC) $(CCFLAGS) -o xprobe_gas_aarch64 $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_aarch64.S
|
||||||
|
+ $(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_gas_aarch64 args="$(args)" \
|
||||||
|
+ redir=config0.out
|
||||||
|
+ - cat config0.out
|
||||||
|
IRun_GAS_S390 :
|
||||||
|
$(CC) $(CCFLAGS) -o xprobe_gas_s390 $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_s390.S
|
||||||
|
$(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_gas_s390 args="$(args)" \
|
||||||
|
Index: ATLAS/CONFIG/src/SpewMakeInc.c
|
||||||
|
===================================================================
|
||||||
|
--- ATLAS.orig/CONFIG/src/SpewMakeInc.c
|
||||||
|
+++ ATLAS/CONFIG/src/SpewMakeInc.c
|
||||||
|
@@ -391,6 +391,8 @@ char *GetPtrbitsFlag(enum OSTYPE OS, enu
|
||||||
|
|
||||||
|
if (MachIsIA64(arch))
|
||||||
|
return(sp);
|
||||||
|
+ if (MachIsAARCH64(arch))
|
||||||
|
+ return(sp);
|
||||||
|
if (MachIsMIPS(arch))
|
||||||
|
return((ptrbits == 64) ? "-mabi=64" : "-mabi=n32");
|
||||||
|
if (MachIsS390(arch))
|
||||||
|
Index: ATLAS/CONFIG/src/atlcomp.txt
|
||||||
|
===================================================================
|
||||||
|
--- ATLAS.orig/CONFIG/src/atlcomp.txt
|
||||||
|
+++ ATLAS/CONFIG/src/atlcomp.txt
|
||||||
|
@@ -267,6 +267,17 @@ MACH=ARMv7 OS=ALL LVL=1000 COMPS=dmc,dkc
|
||||||
|
MACH=ARMv7 OS=ALL LVL=1000 COMPS=f77
|
||||||
|
'gfortran' '-mcpu=cortex-a8 -mfpu=vfpv3 -mfloat-abi=softfp -O'
|
||||||
|
#
|
||||||
|
+# AArch64 defaults
|
||||||
|
+#
|
||||||
|
+MACH=AARCH64 OS=ALL LVL=1000 COMPS=xcc
|
||||||
|
+ 'gcc' '-O2'
|
||||||
|
+MACH=AARCH64 OS=ALL LVL=1000 COMPS=smc,skc,gcc,icc
|
||||||
|
+ 'gcc' '-O2'
|
||||||
|
+MACH=AARCH64 OS=ALL LVL=1000 COMPS=dmc,dkc
|
||||||
|
+ 'gcc' '-O2'
|
||||||
|
+MACH=AARCH64 OS=ALL LVL=1000 COMPS=f77
|
||||||
|
+ 'gfortran' '-O'
|
||||||
|
+#
|
||||||
|
# Generic defaults
|
||||||
|
#
|
||||||
|
MACH=ALL OS=ALL LVL=5 COMPS=icc,smc,dmc,skc,dkc,xcc,gcc
|
||||||
|
Index: ATLAS/CONFIG/src/atlconf_misc.c
|
||||||
|
===================================================================
|
||||||
|
--- ATLAS.orig/CONFIG/src/atlconf_misc.c
|
||||||
|
+++ ATLAS/CONFIG/src/atlconf_misc.c
|
||||||
|
@@ -563,6 +563,7 @@ enum ARCHFAM ProbeArchFam(char *targ)
|
||||||
|
else if (strstr(res, "ia64")) fam = AFIA64;
|
||||||
|
else if (strstr(res, "mips")) fam = AFMIPS;
|
||||||
|
else if (strstr(res, "arm")) fam = AFARM;
|
||||||
|
+ else if (strstr(res, "aarch64")) fam = AFAARCH64;
|
||||||
|
else if (strstr(res, "s390")) fam = AFS390;
|
||||||
|
else if ( strstr(res, "i686") || strstr(res, "i586") ||
|
||||||
|
strstr(res, "i486") || strstr(res, "i386") ||
|
||||||
|
@@ -588,6 +589,7 @@ enum ARCHFAM ProbeArchFam(char *targ)
|
||||||
|
strstr(res, "x86_64") ) fam = AFX86;
|
||||||
|
else if (strstr(res, "mips")) fam = AFMIPS;
|
||||||
|
else if (strstr(res, "arm")) fam = AFARM;
|
||||||
|
+ else if (strstr(res, "aarch64")) fam = AFAARCH64;
|
||||||
|
else if (strstr(res, "s390")) fam = AFS390;
|
||||||
|
free(res);
|
||||||
|
}
|
||||||
|
Index: ATLAS/CONFIG/src/backend/Make.ext
|
||||||
|
===================================================================
|
||||||
|
--- ATLAS.orig/CONFIG/src/backend/Make.ext
|
||||||
|
+++ ATLAS/CONFIG/src/backend/Make.ext
|
||||||
|
@@ -57,6 +57,8 @@ probe_gas_arm.S : $(basf)
|
||||||
|
$(extC) -b $(basf) -o probe_gas_arm.S rout=probe_gas_arm.S
|
||||||
|
probe_gas_s390.S : $(basf)
|
||||||
|
$(extC) -b $(basf) -o probe_gas_s390.S rout=probe_gas_s390.S
|
||||||
|
+probe_gas_aarch64.S : $(basf)
|
||||||
|
+ $(extC) -b $(basf) -o probe_gas_aarch64.S rout=probe_gas_aarch64.S
|
||||||
|
probe_AVXMAC.S : $(basf)
|
||||||
|
$(extC) -b $(basf) -o probe_AVXMAC.S rout=probe_AVXMAC.S
|
||||||
|
probe_AVXFMA4.S : $(basf)
|
||||||
|
Index: ATLAS/CONFIG/src/backend/archinfo_linux.c
|
||||||
|
===================================================================
|
||||||
|
--- ATLAS.orig/CONFIG/src/backend/archinfo_linux.c
|
||||||
|
+++ ATLAS/CONFIG/src/backend/archinfo_linux.c
|
||||||
|
@@ -267,6 +267,14 @@ enum MACHTYPE ProbeArch()
|
||||||
|
free(res);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
+ case AFAARCH64:
|
||||||
|
+ res = atlsys_1L(NULL, "fgrep 'Processor' /proc/cpuinfo", 0, 0);
|
||||||
|
+ if (res)
|
||||||
|
+ {
|
||||||
|
+ if (strstr(res, "AArch64")) mach = AARCH64;
|
||||||
|
+ free(res);
|
||||||
|
+ }
|
||||||
|
+ break;
|
||||||
|
default:
|
||||||
|
#if 0
|
||||||
|
if (!CmndOneLine(NULL, "fgrep 'cpu family' /proc/cpuinfo", res))
|
||||||
|
Index: ATLAS/CONFIG/src/backend/probe_gas_aarch64.S
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ ATLAS/CONFIG/src/backend/probe_gas_aarch64.S
|
||||||
|
@@ -0,0 +1,14 @@
|
||||||
|
+#define ATL_GAS_AARCH64
|
||||||
|
+#include "atlas_asm.h"
|
||||||
|
+#
|
||||||
|
+# Linux AArch64 assembler for:
|
||||||
|
+# int asm_probe(int i)
|
||||||
|
+# RETURNS: i*3
|
||||||
|
+#
|
||||||
|
+.text
|
||||||
|
+.globl ATL_asmdecor(asm_probe)
|
||||||
|
+.type ATL_asmdecor(asm_probe), %function
|
||||||
|
+ATL_asmdecor(asm_probe):
|
||||||
|
+ add w0, w0, w0, LSL #1
|
||||||
|
+ ret
|
||||||
|
+.size ATL_asmdecor(asm_probe),.-ATL_asmdecor(asm_probe)
|
||||||
|
Index: ATLAS/CONFIG/src/probe_comp.c
|
||||||
|
===================================================================
|
||||||
|
--- ATLAS.orig/CONFIG/src/probe_comp.c
|
||||||
|
+++ ATLAS/CONFIG/src/probe_comp.c
|
||||||
|
@@ -582,7 +582,7 @@ char *GetPtrbitsFlag(enum OSTYPE OS, enu
|
||||||
|
char *sp = "";
|
||||||
|
int i, j, k;
|
||||||
|
|
||||||
|
- if (MachIsIA64(arch))
|
||||||
|
+ if (MachIsIA64(arch) || MachIsAARCH64(arch))
|
||||||
|
return(sp);
|
||||||
|
if (MachIsMIPS(arch))
|
||||||
|
return((ptrbits == 64) ? "-mabi=64" : "-mabi=n32");
|
||||||
|
Index: ATLAS/include/atlas_genparse.h
|
||||||
|
===================================================================
|
||||||
|
--- ATLAS.orig/include/atlas_genparse.h
|
||||||
|
+++ ATLAS/include/atlas_genparse.h
|
||||||
|
@@ -6,13 +6,13 @@
|
||||||
|
#include <assert.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
-#define NASMD 9
|
||||||
|
+#define NASMD 10
|
||||||
|
enum ASMDIA
|
||||||
|
{ASM_None=0, gas_x86_32, gas_x86_64, gas_sparc, gas_ppc, gas_parisc,
|
||||||
|
- gas_mips, gas_arm, gas_s390};
|
||||||
|
+ gas_mips, gas_arm, gas_s390, gas_aarch64};
|
||||||
|
static char *ASMNAM[NASMD] =
|
||||||
|
{"", "GAS_x8632", "GAS_x8664", "GAS_SPARC", "GAS_PPC", "GAS_PARISC",
|
||||||
|
- "GAS_MIPS", "GAS_ARM", "GAS_S390"};
|
||||||
|
+ "GAS_MIPS", "GAS_ARM", "GAS_S390", "GAS_AARCH64"};
|
||||||
|
/*
|
||||||
|
* Basic data structure for forming queues with some minimal info
|
||||||
|
*/
|
|
@ -0,0 +1,50 @@
|
||||||
|
--- CONFIG/include/atlconf.h 2011-05-14 13:33:24.000000000 -0400
|
||||||
|
+++ CONFIG/include/atlconf.h.new 2011-08-30 14:25:41.427136391 -0400
|
||||||
|
@@ -16,7 +16,7 @@
|
||||||
|
|
||||||
|
enum ARCHFAM {AFOther=0, AFPPC, AFSPARC, AFALPHA, AFX86, AFIA64, AFMIPS};
|
||||||
|
|
||||||
|
-#define NMACH 37
|
||||||
|
+#define NMACH 38
|
||||||
|
static char *machnam[NMACH] =
|
||||||
|
{"UNKNOWN", "POWER3", "POWER4", "POWER5", "PPCG4", "PPCG5",
|
||||||
|
"POWER6", "POWER7",
|
||||||
|
@@ -25,7 +25,7 @@
|
||||||
|
"Efficeon", "K7", "HAMMER", "AMD64K10h", "UNKNOWNx86",
|
||||||
|
"IA64Itan", "IA64Itan2",
|
||||||
|
"USI", "USII", "USIII", "USIV", "UST2", "UnknownUS",
|
||||||
|
- "MIPSR1xK", "MIPSICE9"};
|
||||||
|
+ "MIPSR1xK", "MIPSICE9", "ARM"};
|
||||||
|
enum MACHTYPE {MACHOther, IbmPwr3, IbmPwr4, IbmPwr5, PPCG4, PPCG5,
|
||||||
|
IbmPwr6, IbmPwr7,
|
||||||
|
IntP5, IntP5MMX, IntPPRO, IntPII, IntPIII, IntPM, IntCoreS,
|
||||||
|
@@ -34,7 +34,8 @@
|
||||||
|
IA64Itan, IA64Itan2,
|
||||||
|
SunUSI, SunUSII, SunUSIII, SunUSIV, SunUST2, SunUSX,
|
||||||
|
MIPSR1xK, /* includes R10K, R12K, R14K, R16K */
|
||||||
|
- MIPSICE9 /* SiCortex ICE9 -- like MIPS5K */
|
||||||
|
+ MIPSICE9, /* SiCortex ICE9 -- like MIPS5K */
|
||||||
|
+ ARM
|
||||||
|
};
|
||||||
|
#define MachIsX86(mach_) \
|
||||||
|
( (mach_) >= IntP5 && (mach_) <= x86X )
|
||||||
|
@@ -51,6 +52,8 @@
|
||||||
|
#endif
|
||||||
|
#define MachIsPPC(mach_) \
|
||||||
|
( (mach_) >= PPCG4 && (mach_) <= PPCG5 )
|
||||||
|
+#define MachIsARM(mach_) \
|
||||||
|
+ ( (mach_) == ARM )
|
||||||
|
|
||||||
|
static char *f2c_namestr[5] = {"UNKNOWN","Add_", "Add__", "NoChange", "UpCase"};
|
||||||
|
static char *f2c_intstr[5] =
|
||||||
|
--- CONFIG/src/probe_comp.c 2011-05-14 13:33:24.000000000 -0400
|
||||||
|
+++ CONFIG/src/probe_comp.c.new 2011-08-30 14:28:31.103015151 -0400
|
||||||
|
@@ -507,6 +507,8 @@
|
||||||
|
|
||||||
|
if (MachIsIA64(arch))
|
||||||
|
return(sp);
|
||||||
|
+ if (MachIsARM(arch))
|
||||||
|
+ return(sp);
|
||||||
|
if (MachIsMIPS(arch))
|
||||||
|
return((ptrbits == 64) ? "-mabi=64" : "-mabi=n32");
|
||||||
|
if (!CompIsGcc(comp))
|
|
@ -0,0 +1,14 @@
|
||||||
|
diff --git a/include/atlas_genparse.h b/include/atlas_genparse.h
|
||||||
|
index 909a38e..1e6d153 100644
|
||||||
|
--- a/include/atlas_genparse.h
|
||||||
|
+++ b/include/atlas_genparse.h
|
||||||
|
@@ -163,7 +163,8 @@ static int GetDoubleArr(char *str, int N, double *d)
|
||||||
|
if (!str)
|
||||||
|
break;
|
||||||
|
str++;
|
||||||
|
- assert(sscanf(str, "%le", d+i) == 1);
|
||||||
|
+ if (sscanf(str, "%le", d+i) != 1)
|
||||||
|
+ break;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return(i);
|
|
@ -0,0 +1,16 @@
|
||||||
|
diff --git a/CONFIG/src/SpewMakeInc.c b/CONFIG/src/SpewMakeInc.c
|
||||||
|
index eed259e..65d68a1 100644
|
||||||
|
--- a/CONFIG/src/SpewMakeInc.c
|
||||||
|
+++ b/CONFIG/src/SpewMakeInc.c
|
||||||
|
@@ -764,9 +764,9 @@ int main(int nargs, char **args)
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (ptrbits == 32)
|
||||||
|
- fprintf(fpout, " -melf_i386");
|
||||||
|
+ fprintf(fpout, " -Wl,-melf_i386");
|
||||||
|
else if (ptrbits == 64)
|
||||||
|
- fprintf(fpout, " -melf_x86_64");
|
||||||
|
+ fprintf(fpout, " -Wl,-melf_x86_64");
|
||||||
|
if (OS == OSFreeBSD)
|
||||||
|
fprintf(fpout, "_fbsd");
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
From 3119c671c566761a79ac98405cb619892acde3e8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Fri, 20 Sep 2013 09:26:58 +0200
|
||||||
|
Subject: [PATCH] atlas-shared_libraries
|
||||||
|
|
||||||
|
---
|
||||||
|
ATLAS/makes/Make.lib | 9 +++++++--
|
||||||
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ATLAS/makes/Make.lib b/ATLAS/makes/Make.lib
|
||||||
|
index ab1eb9963d36678972a0a410905169aaa563dc64..27c6e316b442e09b0f46afac7940aaa11e25e45c 100644
|
||||||
|
--- a/ATLAS/makes/Make.lib
|
||||||
|
+++ b/ATLAS/makes/Make.lib
|
||||||
|
@@ -4,6 +4,8 @@ mySRCdir = $(SRCdir)/lib
|
||||||
|
#
|
||||||
|
# override with libatlas.so only when atlas is built to one lib
|
||||||
|
#
|
||||||
|
+so_ver_major=3
|
||||||
|
+so_ver = $(so_ver_major).10
|
||||||
|
DYNlibs = liblapack.so libf77blas.so libcblas.so libatlas.so
|
||||||
|
PTDYNlibs = liblapack.so libptf77blas.so libptcblas.so libatlas.so
|
||||||
|
CDYNlibs = liblapack.so libcblas.so libatlas.so
|
||||||
|
@@ -116,9 +116,12 @@ LDTRY:
|
||||||
|
-rpath-link $(LIBINSTdir) \
|
||||||
|
--whole-archive $(libas) --no-whole-archive $(LIBS)
|
||||||
|
GCCTRY:
|
||||||
|
- $(GOODGCC) -shared -o $(outso) \
|
||||||
|
- -Wl,"-rpath-link $(LIBINSTdir)" \
|
||||||
|
+ $(GOODGCC) -shared -o $(outso).$(so_ver) \
|
||||||
|
+ \
|
||||||
|
+ -Wl,-soname,"$(outso).$(so_ver_major)" \
|
||||||
|
-Wl,--whole-archive $(libas) -Wl,--no-whole-archive $(LIBS)
|
||||||
|
+ ln -s $(outso).$(so_ver) $(outso).$(so_ver_major)
|
||||||
|
+ ln -s $(outso).$(so_ver) $(outso)
|
||||||
|
GCCTRY_norp:
|
||||||
|
$(GOODGCC) -shared -o $(outso) \
|
||||||
|
-Wl,--whole-archive $(libas) -Wl,--no-whole-archive $(LIBS)
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff -up ATLAS/CONFIG/src/config.c.zaloha ATLAS/CONFIG/src/config.c
|
||||||
|
--- ATLAS/CONFIG/src/config.c.zaloha 2012-10-25 11:29:02.495425989 +0200
|
||||||
|
+++ ATLAS/CONFIG/src/config.c 2012-10-25 11:42:10.218216957 +0200
|
||||||
|
@@ -711,6 +711,8 @@ int ProbePtrbits(int verb, char *targarg
|
||||||
|
|
||||||
|
int ProbeCPUThrottle(int verb, char *targarg, enum OSTYPE OS, enum ASMDIA asmb)
|
||||||
|
{
|
||||||
|
+ return 0; /* impossible to turn off cpu throttling => ignore */
|
||||||
|
+ /* this undermines performance of compiled library */
|
||||||
|
int i, iret;
|
||||||
|
char *ln;
|
||||||
|
i = strlen(targarg) + 22 + 12;
|
|
@ -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
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue