Merge branch 'develop'
This commit is contained in:
commit
71d29fa3d0
|
@ -1,4 +1,16 @@
|
||||||
OpenBLAS ChangeLog
|
OpenBLAS ChangeLog
|
||||||
|
====================================================================
|
||||||
|
Version 0.2.2
|
||||||
|
6-July-2012
|
||||||
|
common:
|
||||||
|
* Fixed exporting DLL functions bug on Windows/MingW
|
||||||
|
* Support GNU Hurd (Thank Sylvestre Ledru)
|
||||||
|
* Support kfreebsd kernel (Thank Sylvestre Ledru)
|
||||||
|
x86/x86-64:
|
||||||
|
* Support Intel Sandy Bridge 22nm desktop/mobile CPU
|
||||||
|
SPARC:
|
||||||
|
* Improve the detection of SPARC (Thank Sylvestre Ledru)
|
||||||
|
|
||||||
====================================================================
|
====================================================================
|
||||||
Version 0.2.1
|
Version 0.2.1
|
||||||
30-Jun-2012
|
30-Jun-2012
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
# This library's version
|
# This library's version
|
||||||
VERSION = 0.2.1
|
VERSION = 0.2.2
|
||||||
|
|
||||||
# If you set the suffix, the library name will be libopenblas_$(LIBNAMESUFFIX).a
|
# If you set the suffix, the library name will be libopenblas_$(LIBNAMESUFFIX).a
|
||||||
# and libopenblas_$(LIBNAMESUFFIX).so. Meanwhile, the soname in shared library
|
# and libopenblas_$(LIBNAMESUFFIX).so. Meanwhile, the soname in shared library
|
||||||
|
|
|
@ -86,7 +86,13 @@ static inline int my_set_mempolicy(int mode, const unsigned long *addr, unsigned
|
||||||
return syscall(SYS_set_mempolicy, mode, addr, flag);
|
return syscall(SYS_set_mempolicy, mode, addr, flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int my_gettid(void) { return syscall(SYS_gettid); }
|
static inline int my_gettid(void) {
|
||||||
|
#ifdef SYS_gettid
|
||||||
|
return syscall(SYS_gettid);
|
||||||
|
#else
|
||||||
|
return getpid();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
54
cpuid_x86.c
54
cpuid_x86.c
|
@ -975,27 +975,33 @@ int get_cpuname(void){
|
||||||
return CPUTYPE_DUNNINGTON;
|
return CPUTYPE_DUNNINGTON;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
switch (model) {
|
switch (model) {
|
||||||
case 5:
|
case 5:
|
||||||
//Intel Core (Clarkdale) / Core (Arrandale)
|
//Intel Core (Clarkdale) / Core (Arrandale)
|
||||||
// Pentium (Clarkdale) / Pentium Mobile (Arrandale)
|
// Pentium (Clarkdale) / Pentium Mobile (Arrandale)
|
||||||
// Xeon (Clarkdale), 32nm
|
// Xeon (Clarkdale), 32nm
|
||||||
return CPUTYPE_NEHALEM;
|
return CPUTYPE_NEHALEM;
|
||||||
case 10:
|
case 10:
|
||||||
//Intel Core i5-2000 /i7-2000 (Sandy Bridge)
|
//Intel Core i5-2000 /i7-2000 (Sandy Bridge)
|
||||||
return CPUTYPE_SANDYBRIDGE;
|
return CPUTYPE_SANDYBRIDGE;
|
||||||
case 12:
|
case 12:
|
||||||
//Xeon Processor 5600 (Westmere-EP)
|
//Xeon Processor 5600 (Westmere-EP)
|
||||||
return CPUTYPE_NEHALEM;
|
return CPUTYPE_NEHALEM;
|
||||||
case 13:
|
case 13:
|
||||||
//Intel Core i7-3000 / Xeon E5 (Sandy Bridge)
|
//Intel Core i7-3000 / Xeon E5 (Sandy Bridge)
|
||||||
return CPUTYPE_SANDYBRIDGE;
|
return CPUTYPE_SANDYBRIDGE;
|
||||||
case 15:
|
case 15:
|
||||||
//Xeon Processor E7 (Westmere-EX)
|
//Xeon Processor E7 (Westmere-EX)
|
||||||
return CPUTYPE_NEHALEM;
|
return CPUTYPE_NEHALEM;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 3:
|
||||||
|
switch (model) {
|
||||||
|
case 10:
|
||||||
|
return CPUTYPE_SANDYBRIDGE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x7:
|
case 0x7:
|
||||||
|
@ -1349,6 +1355,12 @@ int get_coretype(void){
|
||||||
return CORE_NEHALEM;
|
return CORE_NEHALEM;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 3:
|
||||||
|
switch (model) {
|
||||||
|
case 10:
|
||||||
|
return CORE_SANDYBRIDGE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
7
ctest.c
7
ctest.c
|
@ -34,7 +34,7 @@ COMPILER_GNU
|
||||||
OS_LINUX
|
OS_LINUX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__FreeBSD__)
|
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
||||||
OS_FREEBSD
|
OS_FREEBSD
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -70,6 +70,11 @@ OS_CYGWIN_NT
|
||||||
OS_INTERIX
|
OS_INTERIX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__gnu_hurd__)
|
||||||
|
/* Hurd is very similar to GNU/Linux, it should work out of the box */
|
||||||
|
OS_LINUX
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(__i386) || defined(_X86)
|
#if defined(__i386) || defined(_X86)
|
||||||
ARCH_X86
|
ARCH_X86
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1128,7 +1128,7 @@ static BLASULONG init_lock = 0UL;
|
||||||
static void _touch_memory(blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n,
|
static void _touch_memory(blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n,
|
||||||
void *sa, void *sb, BLASLONG pos) {
|
void *sa, void *sb, BLASLONG pos) {
|
||||||
|
|
||||||
#ifndef ARCH_POWER
|
#if !defined(ARCH_POWER) && !defined(ARCH_SPARC)
|
||||||
|
|
||||||
long size;
|
long size;
|
||||||
BLASULONG buffer;
|
BLASULONG buffer;
|
||||||
|
|
|
@ -2760,30 +2760,27 @@ if ($ARGV[0] eq "win2k"){
|
||||||
print "EXPORTS\n";
|
print "EXPORTS\n";
|
||||||
$count = 1;
|
$count = 1;
|
||||||
|
|
||||||
#remove openblas_set_num_threads
|
|
||||||
@underscore_objs = grep /[^openblas_set_num_threads]/,@underscore_objs;
|
|
||||||
|
|
||||||
foreach $objs (@underscore_objs) {
|
foreach $objs (@underscore_objs) {
|
||||||
$uppercase = $objs;
|
unless ($objs =~ /openblas_set_num_threads/) { #remove openblas_set_num_threads
|
||||||
$uppercase =~ tr/[a-z]/[A-Z]/;
|
$uppercase = $objs;
|
||||||
print "\t$objs=$objs","_ \@", $count, "\n";
|
$uppercase =~ tr/[a-z]/[A-Z]/;
|
||||||
$count ++;
|
print "\t$objs=$objs","_ \@", $count, "\n";
|
||||||
print "\t",$objs, "_=$objs","_ \@", $count, "\n";
|
$count ++;
|
||||||
$count ++;
|
print "\t",$objs, "_=$objs","_ \@", $count, "\n";
|
||||||
print "\t$uppercase=$objs", "_ \@", $count, "\n";
|
$count ++;
|
||||||
$count ++;
|
print "\t$uppercase=$objs", "_ \@", $count, "\n";
|
||||||
|
$count ++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#for openblas_set_num_threads
|
#for openblas_set_num_threads
|
||||||
print "\topenblas_set_num_threads_=openblas_set_num_threads_ \@", $count, "\n";
|
print "\topenblas_set_num_threads_=openblas_set_num_threads_ \@", $count, "\n";
|
||||||
|
$count ++;
|
||||||
|
|
||||||
|
foreach $objs (@no_underscore_objs) {
|
||||||
|
print "\t",$objs,"=$objs"," \@", $count, "\n";
|
||||||
$count ++;
|
$count ++;
|
||||||
|
}
|
||||||
# if ($ARGV[4] == 0) {
|
|
||||||
foreach $objs (@no_underscore_objs) {
|
|
||||||
print "\t",$objs,"=$objs"," \@", $count, "\n";
|
|
||||||
$count ++;
|
|
||||||
}
|
|
||||||
# }
|
|
||||||
|
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
2
param.h
2
param.h
|
@ -1482,7 +1482,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
#define GEMM_THREAD gemm_thread_mn
|
#define GEMM_THREAD gemm_thread_mn
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(SPARC) && defined(V9)
|
#if (defined(SPARC) && defined(V9)) || defined(__sparc_v9__)
|
||||||
|
|
||||||
#define SNUMOPT 2
|
#define SNUMOPT 2
|
||||||
#define DNUMOPT 2
|
#define DNUMOPT 2
|
||||||
|
|
Loading…
Reference in New Issue