Skip to content

Commit ccc28c6

Browse files
authored
Merge pull request #13 from xianyi/develop
resync with upstream
2 parents 3a39062 + eb2eddf commit ccc28c6

File tree

9 files changed

+98
-164
lines changed

9 files changed

+98
-164
lines changed

Makefile.system

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -769,6 +769,9 @@ else
769769
FCOMMON_OPT += -m32
770770
endif
771771
endif
772+
ifneq ($(NO_LAPACKE), 1)
773+
FCOMMON_OPT += -fno-second-underscore
774+
endif
772775
endif
773776
endif
774777

cmake/arch.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ if (DYNAMIC_ARCH)
7373
endif ()
7474
if (NOT NO_AVX512)
7575
set(DYNAMIC_CORE ${DYNAMIC_CORE} SKYLAKEX)
76-
string(REGEX REPLACE "-march=native" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
76+
string(REGEX REPLACE "-march=native" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
7777
endif ()
7878
if (DYNAMIC_LIST)
7979
set(DYNAMIC_CORE PRESCOTT ${DYNAMIC_LIST})

common_arm64.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,18 @@ static void __inline blas_lock(volatile BLASULONG *address){
7878

7979
#define BLAS_LOCK_DEFINED
8080

81+
#if !defined(OS_DARWIN) && !defined (OS_ANDROID)
82+
static __inline BLASULONG rpcc(void){
83+
BLASULONG ret = 0;
84+
85+
__asm__ __volatile__ ("isb; mrs %0,cntvct_el0":"=r"(ret));
8186

87+
return ret;
88+
}
89+
90+
#define RPCC_DEFINED
91+
#define RPCC64BIT
92+
#endif
8293

8394
static inline int blas_quickdivide(blasint x, blasint y){
8495
return x / y;

common_thread.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -194,10 +194,6 @@ int trsm_thread(int mode, BLASLONG m, BLASLONG n,
194194

195195
int syrk_thread(int mode, blas_arg_t *, BLASLONG *, BLASLONG *, int (*function)(), void *, void *, BLASLONG);
196196

197-
int beta_thread(int mode, BLASLONG m, BLASLONG n,
198-
double alpha_r, double alpha_i,
199-
void *c, BLASLONG ldc, int (*fuction)());
200-
201197
int getrf_thread(int mode, BLASLONG m, BLASLONG n, BLASLONG k,
202198
void *offsetA, BLASLONG lda,
203199
void *offsetB, BLASLONG jb,

cpuid_x86.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1197,7 +1197,11 @@ int get_cpuname(void){
11971197
case 3:
11981198
case 5:
11991199
case 6:
1200+
#if defined(__x86_64__) || defined(__amd64__)
1201+
return CPUTYPE_CORE2;
1202+
#else
12001203
return CPUTYPE_PENTIUM2;
1204+
#endif
12011205
case 7:
12021206
case 8:
12031207
case 10:
@@ -1379,6 +1383,8 @@ int get_cpuname(void){
13791383
break;
13801384
case 7: // family 6 exmodel 7
13811385
switch (model) {
1386+
case 10: // Goldmont Plus
1387+
return CPUTYPE_NEHALEM;
13821388
case 14: // Ice Lake
13831389
if(support_avx512())
13841390
return CPUTYPE_SKYLAKEX;

driver/others/memory.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
129129
#include <unistd.h>
130130
#endif
131131

132-
#if defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN)
132+
#if defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_NETBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN)
133133
#include <sys/sysctl.h>
134134
#include <sys/resource.h>
135135
#endif
@@ -192,7 +192,7 @@ void goto_set_num_threads(int num_threads) {};
192192

193193
#else
194194

195-
#if defined(OS_LINUX) || defined(OS_SUNOS) || defined(OS_NETBSD)
195+
#if defined(OS_LINUX) || defined(OS_SUNOS)
196196
#ifndef NO_AFFINITY
197197
int get_num_procs(void);
198198
#else
@@ -312,7 +312,7 @@ int get_num_procs(void) {
312312

313313
#endif
314314

315-
#if defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY)
315+
#if defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_NETBSD) || defined(OS_DRAGONFLY)
316316

317317
int get_num_procs(void) {
318318

@@ -404,15 +404,15 @@ extern int openblas_goto_num_threads_env();
404404
extern int openblas_omp_num_threads_env();
405405

406406
int blas_get_cpu_number(void){
407-
#if defined(OS_LINUX) || defined(OS_WINDOWS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) || defined(OS_ANDROID)
407+
#if defined(OS_LINUX) || defined(OS_WINDOWS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_NETBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) || defined(OS_ANDROID)
408408
int max_num;
409409
#endif
410410
int blas_goto_num = 0;
411411
int blas_omp_num = 0;
412412

413413
if (blas_num_threads) return blas_num_threads;
414414

415-
#if defined(OS_LINUX) || defined(OS_WINDOWS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) || defined(OS_ANDROID)
415+
#if defined(OS_LINUX) || defined(OS_WINDOWS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_NETBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) || defined(OS_ANDROID)
416416
max_num = get_num_procs();
417417
#endif
418418

@@ -436,7 +436,7 @@ int blas_get_cpu_number(void){
436436
else if (blas_omp_num > 0) blas_num_threads = blas_omp_num;
437437
else blas_num_threads = MAX_CPU_NUMBER;
438438

439-
#if defined(OS_LINUX) || defined(OS_WINDOWS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) || defined(OS_ANDROID)
439+
#if defined(OS_LINUX) || defined(OS_WINDOWS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_NETBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) || defined(OS_ANDROID)
440440
if (blas_num_threads > max_num) blas_num_threads = max_num;
441441
#endif
442442

@@ -1673,7 +1673,7 @@ void gotoblas_dummy_for_PGI(void) {
16731673
#include <sys/resource.h>
16741674
#endif
16751675

1676-
#if defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN)
1676+
#if defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_NETBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN)
16771677
#include <sys/sysctl.h>
16781678
#include <sys/resource.h>
16791679
#endif
@@ -1736,7 +1736,7 @@ void goto_set_num_threads(int num_threads) {};
17361736

17371737
#else
17381738

1739-
#if defined(OS_LINUX) || defined(OS_SUNOS) || defined(OS_NETBSD)
1739+
#if defined(OS_LINUX) || defined(OS_SUNOS)
17401740
#ifndef NO_AFFINITY
17411741
int get_num_procs(void);
17421742
#else
@@ -1855,7 +1855,7 @@ int get_num_procs(void) {
18551855

18561856
#endif
18571857

1858-
#if defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY)
1858+
#if defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_NETBSD) || defined(OS_DRAGONFLY)
18591859

18601860
int get_num_procs(void) {
18611861

@@ -1945,15 +1945,15 @@ extern int openblas_goto_num_threads_env();
19451945
extern int openblas_omp_num_threads_env();
19461946

19471947
int blas_get_cpu_number(void){
1948-
#if defined(OS_LINUX) || defined(OS_WINDOWS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) || defined(OS_ANDROID)
1948+
#if defined(OS_LINUX) || defined(OS_WINDOWS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_NETBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) || defined(OS_ANDROID)
19491949
int max_num;
19501950
#endif
19511951
int blas_goto_num = 0;
19521952
int blas_omp_num = 0;
19531953

19541954
if (blas_num_threads) return blas_num_threads;
19551955

1956-
#if defined(OS_LINUX) || defined(OS_WINDOWS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) || defined(OS_ANDROID)
1956+
#if defined(OS_LINUX) || defined(OS_WINDOWS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_NETBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) || defined(OS_ANDROID)
19571957
max_num = get_num_procs();
19581958
#endif
19591959

@@ -1977,7 +1977,7 @@ int blas_get_cpu_number(void){
19771977
else if (blas_omp_num > 0) blas_num_threads = blas_omp_num;
19781978
else blas_num_threads = MAX_CPU_NUMBER;
19791979

1980-
#if defined(OS_LINUX) || defined(OS_WINDOWS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) || defined(OS_ANDROID)
1980+
#if defined(OS_LINUX) || defined(OS_WINDOWS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_NETBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) || defined(OS_ANDROID)
19811981
if (blas_num_threads > max_num) blas_num_threads = max_num;
19821982
#endif
19831983

0 commit comments

Comments
 (0)