Skip to content

Commit c8f53b8

Browse files
committed
Merge remote-tracking branch 'origin/develop' into vectorizeBF16GEMV
2 parents d6bb8dc + 18a23c2 commit c8f53b8

32 files changed

+2142
-114
lines changed

.cirrus.yml

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -94,16 +94,8 @@ task:
9494
name: AppleM1/LLVM armv7-androidndk xbuild
9595
compile_script:
9696
- brew install --cask android-ndk
97-
- export #PATH=/opt/homebrew/opt/llvm/bin:$PATH
98-
- export #LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
99-
- export #CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
10097
- export ANDROID_NDK_HOME="/opt/homebrew/share/android-ndk"
101-
- ls /opt/homebrew
102-
- ls -l /System/Volumes/Data/opt/homebrew/Caskroom/android-ndk
103-
- find /opt/homebrew -name "armv7a-linux-androideabi*-ranlib"
104-
- #export CC=/Applications/Xcode-13.4.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
105-
- #export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.0.sdk -arch arm64 -miphoneos-version-min=10.0"
106-
- export CC=/System/Volumes/Data/opt/homebrew/Caskroom/android-ndk/27/AndroidNDK*.app/Contents/NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/armv7a-linux-androideabi23-clang
98+
- export CC=/opt/homebrew/share/android-ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/armv7a-linux-androideabi23-clang
10799
- make TARGET=ARMV7 ARM_SOFTFP_ABI=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 RANLIB="ls -l"
108100
always:
109101
config_artifacts:

cmake/arch.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ if (DYNAMIC_ARCH)
9595
endif ()
9696

9797
if (LOONGARCH64)
98-
set(DYNAMIC_CORE LOONGSONGENERIC LOONGSON2K1000 LOONGSON3R5)
98+
set(DYNAMIC_CORE LA64_GENERIC LA264 LA464)
9999
endif ()
100100

101101
if (EXISTS ${PROJECT_SOURCE_DIR}/config_kernel.h)

cmake/prebuild.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1349,7 +1349,7 @@ endif ()
13491349
"#define DTB_DEFAULT_ENTRIES 128\n"
13501350
"#define DTB_SIZE 4096\n"
13511351
"#define L2_ASSOCIATIVE 4\n")
1352-
elseif ("${TCORE}" STREQUAL "LOONGSONGENERIC")
1352+
elseif ("${TCORE}" STREQUAL "LA64_GENERIC")
13531353
file(APPEND ${TARGET_CONF_TEMP}
13541354
"#define DTB_DEFAULT_ENTRIES 64\n")
13551355
set(SGEMM_UNROLL_M 2)
@@ -1364,7 +1364,7 @@ endif ()
13641364
set(CGEMM3M_UNROLL_N 8)
13651365
set(ZGEMM3M_UNROLL_M 2)
13661366
set(ZGEMM3M_UNROLL_N 8)
1367-
elseif ("${TCORE}" STREQUAL "LOONGSON2K1000")
1367+
elseif ("${TCORE}" STREQUAL "LA264")
13681368
file(APPEND ${TARGET_CONF_TEMP}
13691369
"#define DTB_DEFAULT_ENTRIES 64\n")
13701370
set(HAVE_LSX 1)
@@ -1380,7 +1380,7 @@ endif ()
13801380
set(CGEMM3M_UNROLL_N 8)
13811381
set(ZGEMM3M_UNROLL_M 8)
13821382
set(ZGEMM3M_UNROLL_N 4)
1383-
elseif ("${TCORE}" STREQUAL "LOONGSON3R5")
1383+
elseif ("${TCORE}" STREQUAL "LA464")
13841384
file(APPEND ${TARGET_CONF_TEMP}
13851385
"#define DTB_DEFAULT_ENTRIES 64\n")
13861386
set(HAVE_LASX 1)

common_arm64.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5555
#ifndef ASSEMBLER
5656

5757

58+
#ifndef NO_AFFINITY
5859
static __inline int WhereAmI(void){
5960
uint64_t ret;
6061
__asm__ volatile (
@@ -67,6 +68,7 @@ static __inline int WhereAmI(void){
6768
if ((int)ret <0) ret = 0;
6869
return (int)ret;
6970
}
71+
#endif
7072

7173
static __inline void blas_lock(volatile BLASULONG *address){
7274

cpuid_x86.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1689,6 +1689,7 @@ int get_cpuname(void){
16891689
return CPUTYPE_BARCELONA;
16901690
}
16911691
case 10: // Zen3/4
1692+
case 11: // Zen5
16921693
#ifndef NO_AVX512
16931694
if(support_avx512_bf16())
16941695
return CPUTYPE_COOPERLAKE;
@@ -2479,7 +2480,7 @@ int get_coretype(void){
24792480
}
24802481
break;
24812482
}
2482-
} else if (exfamily == 8 || exfamily == 10) {
2483+
} else if (exfamily == 8 || exfamily == 10 || exfamily == 11) {
24832484
switch (model) {
24842485
case 1:
24852486
// AMD Ryzen

ctest/c_cblat1.f

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,12 @@ PROGRAM CCBLAT1
3838
CALL CHECK1(SFAC)
3939
END IF
4040
* -- Print
41-
IF (PASS) WRITE (NOUT,99998)
41+
IF (PASS) THEN
42+
WRITE (NOUT,99998)
43+
ELSE
44+
CALL ABORT
45+
END IF
4246
20 CONTINUE
43-
STOP
4447
*
4548
99999 FORMAT (' Complex CBLAS Test Program Results',/1X)
4649
99998 FORMAT (' ----- PASS -----')
@@ -228,7 +231,7 @@ SUBROUTINE CHECK1(SFAC)
228231
CALL ITEST1(ICAMAXTEST(N,CX,INCX),ITRUE3(NP1))
229232
ELSE
230233
WRITE (NOUT,*) ' Shouldn''t be here in CHECK1'
231-
STOP
234+
CALL ABORT
232235
END IF
233236
*
234237
40 CONTINUE
@@ -512,7 +515,7 @@ SUBROUTINE CHECK2(SFAC)
512515
CALL CTEST(LENY,CY,CT10Y(1,KN,KI),CSIZE3,1.0E0)
513516
ELSE
514517
WRITE (NOUT,*) ' Shouldn''t be here in CHECK2'
515-
STOP
518+
CALL ABORT
516519
END IF
517520
*
518521
40 CONTINUE

ctest/c_cblat2.f

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ PROGRAM CBLAT2
1010
* 'CBLAT2.SNAP' NAME OF SNAPSHOT OUTPUT FILE
1111
* -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0)
1212
* F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD.
13-
* F LOGICAL FLAG, T TO STOP ON FAILURES.
13+
* F LOGICAL FLAG, T TO CALL ABORT ON FAILURES.
1414
* T LOGICAL FLAG, T TO TEST ERROR EXITS.
1515
* 2 0 TO TEST COLUMN-MAJOR, 1 TO TEST ROW-MAJOR, 2 TO TEST BOTH
1616
* 16.0 THRESHOLD VALUE OF TEST RATIO
@@ -243,7 +243,7 @@ PROGRAM CBLAT2
243243
$ GO TO 70
244244
60 CONTINUE
245245
WRITE( NOUT, FMT = 9986 )SNAMET
246-
STOP
246+
CALL ABORT
247247
70 LTEST( I ) = LTESTT
248248
GO TO 50
249249
*
@@ -283,15 +283,15 @@ PROGRAM CBLAT2
283283
SAME = LCE( YY, YT, N )
284284
IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN
285285
WRITE( NOUT, FMT = 9985 )TRANS, SAME, ERR
286-
STOP
286+
CALL ABORT
287287
END IF
288288
TRANS = 'T'
289289
CALL CMVCH( TRANS, N, N, ONE, A, NMAX, X, -1, ZERO, Y, -1, YT, G,
290290
$ YY, EPS, ERR, FATAL, NOUT, .TRUE. )
291291
SAME = LCE( YY, YT, N )
292292
IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN
293293
WRITE( NOUT, FMT = 9985 )TRANS, SAME, ERR
294-
STOP
294+
CALL ABORT
295295
END IF
296296
*
297297
* Test each subroutine in turn.
@@ -418,7 +418,9 @@ PROGRAM CBLAT2
418418
IF( TRACE )
419419
$ CLOSE ( NTRA )
420420
CLOSE ( NOUT )
421-
STOP
421+
IF( FATAL ) THEN
422+
CALL ABORT
423+
END IF
422424
*
423425
10002 FORMAT( ' COLUMN-MAJOR AND ROW-MAJOR DATA LAYOUTS ARE TESTED' )
424426
10001 FORMAT( ' ROW-MAJOR DATA LAYOUT IS TESTED' )

ctest/c_cblat3.f

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ PROGRAM CBLAT3
1010
* 'CBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE
1111
* -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0)
1212
* F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD.
13-
* F LOGICAL FLAG, T TO STOP ON FAILURES.
13+
* F LOGICAL FLAG, T TO CALL ABORT ON FAILURES.
1414
* T LOGICAL FLAG, T TO TEST ERROR EXITS.
1515
* 2 0 TO TEST COLUMN-MAJOR, 1 TO TEST ROW-MAJOR, 2 TO TEST BOTH
1616
* 16.0 THRESHOLD VALUE OF TEST RATIO
@@ -194,7 +194,7 @@ PROGRAM CBLAT3
194194
$ GO TO 50
195195
40 CONTINUE
196196
WRITE( NOUT, FMT = 9990 )SNAMET
197-
STOP
197+
CALL ABORT
198198
50 LTEST( I ) = LTESTT
199199
GO TO 30
200200
*
@@ -237,7 +237,7 @@ PROGRAM CBLAT3
237237
SAME = LCE( CC, CT, N )
238238
IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN
239239
WRITE( NOUT, FMT = 9989 )TRANSA, TRANSB, SAME, ERR
240-
STOP
240+
CALL ABORT
241241
END IF
242242
TRANSB = 'C'
243243
CALL CMMCH( TRANSA, TRANSB, N, 1, N, ONE, AB, NMAX,
@@ -246,7 +246,7 @@ PROGRAM CBLAT3
246246
SAME = LCE( CC, CT, N )
247247
IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN
248248
WRITE( NOUT, FMT = 9989 )TRANSA, TRANSB, SAME, ERR
249-
STOP
249+
CALL ABORT
250250
END IF
251251
DO 120 J = 1, N
252252
AB( J, NMAX + 1 ) = N - J + 1
@@ -264,7 +264,7 @@ PROGRAM CBLAT3
264264
SAME = LCE( CC, CT, N )
265265
IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN
266266
WRITE( NOUT, FMT = 9989 )TRANSA, TRANSB, SAME, ERR
267-
STOP
267+
CALL ABORT
268268
END IF
269269
TRANSB = 'C'
270270
CALL CMMCH( TRANSA, TRANSB, N, 1, N, ONE, AB, NMAX,
@@ -273,7 +273,7 @@ PROGRAM CBLAT3
273273
SAME = LCE( CC, CT, N )
274274
IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN
275275
WRITE( NOUT, FMT = 9989 )TRANSA, TRANSB, SAME, ERR
276-
STOP
276+
CALL ABORT
277277
END IF
278278
*
279279
* Test each subroutine in turn.
@@ -385,7 +385,9 @@ PROGRAM CBLAT3
385385
IF( TRACE )
386386
$ CLOSE ( NTRA )
387387
CLOSE ( NOUT )
388-
STOP
388+
IF( FATAL ) THEN
389+
CALL ABORT
390+
END IF
389391
*
390392
10002 FORMAT( ' COLUMN-MAJOR AND ROW-MAJOR DATA LAYOUTS ARE TESTED' )
391393
10001 FORMAT(' ROW-MAJOR DATA LAYOUT IS TESTED' )

ctest/c_cblat3_3m.f

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ PROGRAM CBLAT3
1010
* 'CBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE
1111
* -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0)
1212
* F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD.
13-
* F LOGICAL FLAG, T TO STOP ON FAILURES.
13+
* F LOGICAL FLAG, T TO CALL ABORT ON FAILURES.
1414
* T LOGICAL FLAG, T TO TEST ERROR EXITS.
1515
* 2 0 TO TEST COLUMN-MAJOR, 1 TO TEST ROW-MAJOR, 2 TO TEST BOTH
1616
* 16.0 THRESHOLD VALUE OF TEST RATIO
@@ -194,7 +194,7 @@ PROGRAM CBLAT3
194194
$ GO TO 50
195195
40 CONTINUE
196196
WRITE( NOUT, FMT = 9990 )SNAMET
197-
STOP
197+
CALL ABORT
198198
50 LTEST( I ) = LTESTT
199199
GO TO 30
200200
*
@@ -237,7 +237,7 @@ PROGRAM CBLAT3
237237
SAME = LCE( CC, CT, N )
238238
IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN
239239
WRITE( NOUT, FMT = 9989 )TRANSA, TRANSB, SAME, ERR
240-
STOP
240+
CALL ABORT
241241
END IF
242242
TRANSB = 'C'
243243
CALL CMMCH( TRANSA, TRANSB, N, 1, N, ONE, AB, NMAX,
@@ -246,7 +246,7 @@ PROGRAM CBLAT3
246246
SAME = LCE( CC, CT, N )
247247
IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN
248248
WRITE( NOUT, FMT = 9989 )TRANSA, TRANSB, SAME, ERR
249-
STOP
249+
CALL ABORT
250250
END IF
251251
DO 120 J = 1, N
252252
AB( J, NMAX + 1 ) = N - J + 1
@@ -264,7 +264,7 @@ PROGRAM CBLAT3
264264
SAME = LCE( CC, CT, N )
265265
IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN
266266
WRITE( NOUT, FMT = 9989 )TRANSA, TRANSB, SAME, ERR
267-
STOP
267+
CALL ABORT
268268
END IF
269269
TRANSB = 'C'
270270
CALL CMMCH( TRANSA, TRANSB, N, 1, N, ONE, AB, NMAX,
@@ -273,7 +273,7 @@ PROGRAM CBLAT3
273273
SAME = LCE( CC, CT, N )
274274
IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN
275275
WRITE( NOUT, FMT = 9989 )TRANSA, TRANSB, SAME, ERR
276-
STOP
276+
CALL ABORT
277277
END IF
278278
*
279279
* Test each subroutine in turn.
@@ -385,7 +385,9 @@ PROGRAM CBLAT3
385385
IF( TRACE )
386386
$ CLOSE ( NTRA )
387387
CLOSE ( NOUT )
388-
STOP
388+
IF( FATAL ) THEN
389+
CALL ABORT
390+
END IF
389391
*
390392
10002 FORMAT( ' COLUMN-MAJOR AND ROW-MAJOR DATA LAYOUTS ARE TESTED' )
391393
10001 FORMAT(' ROW-MAJOR DATA LAYOUT IS TESTED' )

ctest/c_dblat1.f

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,12 @@ PROGRAM DCBLAT1
4444
CALL CHECK3(SFAC)
4545
END IF
4646
* -- Print
47-
IF (PASS) WRITE (NOUT,99998)
47+
IF (PASS) THEN
48+
WRITE (NOUT,99998)
49+
ELSE
50+
CALL ABORT
51+
END IF
4852
20 CONTINUE
49-
STOP
5053
*
5154
99999 FORMAT (' Real CBLAS Test Program Results',/1X)
5255
99998 FORMAT (' ----- PASS -----')
@@ -136,7 +139,7 @@ SUBROUTINE CHECK0(SFAC)
136139
CALL STEST1(SS,DS1(K),DS1(K),SFAC)
137140
ELSE
138141
WRITE (NOUT,*) ' Shouldn''t be here in CHECK0'
139-
STOP
142+
CALL ABORT
140143
END IF
141144
20 CONTINUE
142145
40 RETURN
@@ -229,7 +232,7 @@ SUBROUTINE CHECK1(SFAC)
229232
CALL ITEST1(IDAMAXTEST(N,SX,INCX),ITRUE2(NP1))
230233
ELSE
231234
WRITE (NOUT,*) ' Shouldn''t be here in CHECK1'
232-
STOP
235+
CALL ABORT
233236
END IF
234237
60 CONTINUE
235238
80 CONTINUE
@@ -384,7 +387,7 @@ SUBROUTINE CHECK2(SFAC)
384387
CALL STEST(LENY,SY,STY,SSIZE2(1,1),1.0D0)
385388
ELSE
386389
WRITE (NOUT,*) ' Shouldn''t be here in CHECK2'
387-
STOP
390+
CALL ABORT
388391
END IF
389392
100 CONTINUE
390393
120 CONTINUE
@@ -472,7 +475,7 @@ SUBROUTINE CHECK3(SFAC)
472475
70 CONTINUE
473476
ELSE
474477
WRITE (NOUT,*) ' Shouldn''t be here in CHECK3'
475-
STOP
478+
CALL ABORT
476479
END IF
477480
40 CONTINUE
478481
60 CONTINUE

0 commit comments

Comments
 (0)