ARM64: Move parameters from parameter.c to param.h
Remove the runtime setting of P, Q, R parameters for targets ARMV8, THUNDERX2T99. Instead set them as constants in param.h at compile time.
This commit is contained in:
parent
351a0c777c
commit
d50abc8903
|
@ -730,35 +730,8 @@ void blas_set_parameter(void){
|
||||||
|
|
||||||
#if defined(ARCH_ARM64)
|
#if defined(ARCH_ARM64)
|
||||||
|
|
||||||
#if defined(VULCAN) || defined(THUNDERX2T99) || defined(ARMV8)
|
|
||||||
unsigned long dgemm_prefetch_size_a;
|
|
||||||
unsigned long dgemm_prefetch_size_b;
|
|
||||||
unsigned long dgemm_prefetch_size_c;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void blas_set_parameter(void)
|
void blas_set_parameter(void)
|
||||||
{
|
{
|
||||||
#if defined(VULCAN) || defined(THUNDERX2T99) || defined(ARMV8)
|
|
||||||
dgemm_p = 160;
|
|
||||||
dgemm_q = 128;
|
|
||||||
dgemm_r = 4096;
|
|
||||||
|
|
||||||
sgemm_p = 128;
|
|
||||||
sgemm_q = 352;
|
|
||||||
sgemm_r = 4096;
|
|
||||||
|
|
||||||
cgemm_p = 128;
|
|
||||||
cgemm_q = 224;
|
|
||||||
cgemm_r = 4096;
|
|
||||||
|
|
||||||
zgemm_p = 128;
|
|
||||||
zgemm_q = 112;
|
|
||||||
zgemm_r = 4096;
|
|
||||||
|
|
||||||
dgemm_prefetch_size_a = 3584;
|
|
||||||
dgemm_prefetch_size_b = 512;
|
|
||||||
dgemm_prefetch_size_c = 128;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -943,13 +943,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
prfm PLDL1KEEP, [origPB]
|
prfm PLDL1KEEP, [origPB]
|
||||||
prfm PLDL1KEEP, [origPA]
|
prfm PLDL1KEEP, [origPA]
|
||||||
|
|
||||||
|
mov A_PRE_SIZE, #3584
|
||||||
ldr A_PRE_SIZE, =dgemm_prefetch_size_a
|
mov B_PRE_SIZE, #512
|
||||||
ldr A_PRE_SIZE, [A_PRE_SIZE]
|
mov C_PRE_SIZE, #128
|
||||||
ldr B_PRE_SIZE, =dgemm_prefetch_size_b
|
|
||||||
ldr B_PRE_SIZE, [B_PRE_SIZE]
|
|
||||||
ldr C_PRE_SIZE, =dgemm_prefetch_size_c
|
|
||||||
ldr C_PRE_SIZE, [C_PRE_SIZE]
|
|
||||||
add A_PRE_SIZE_64, A_PRE_SIZE, #64
|
add A_PRE_SIZE_64, A_PRE_SIZE, #64
|
||||||
add B_PRE_SIZE_64, B_PRE_SIZE, #64
|
add B_PRE_SIZE_64, B_PRE_SIZE, #64
|
||||||
|
|
||||||
|
|
48
param.h
48
param.h
|
@ -2641,20 +2641,20 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
#define ZGEMM_DEFAULT_UNROLL_M 4
|
#define ZGEMM_DEFAULT_UNROLL_M 4
|
||||||
#define ZGEMM_DEFAULT_UNROLL_N 4
|
#define ZGEMM_DEFAULT_UNROLL_N 4
|
||||||
|
|
||||||
#define SGEMM_DEFAULT_P sgemm_p
|
#define SGEMM_DEFAULT_P 128
|
||||||
#define DGEMM_DEFAULT_P dgemm_p
|
#define DGEMM_DEFAULT_P 160
|
||||||
#define CGEMM_DEFAULT_P cgemm_p
|
#define CGEMM_DEFAULT_P 128
|
||||||
#define ZGEMM_DEFAULT_P zgemm_p
|
#define ZGEMM_DEFAULT_P 128
|
||||||
|
|
||||||
#define SGEMM_DEFAULT_Q sgemm_q
|
#define SGEMM_DEFAULT_Q 352
|
||||||
#define DGEMM_DEFAULT_Q dgemm_q
|
#define DGEMM_DEFAULT_Q 128
|
||||||
#define CGEMM_DEFAULT_Q cgemm_q
|
#define CGEMM_DEFAULT_Q 224
|
||||||
#define ZGEMM_DEFAULT_Q zgemm_q
|
#define ZGEMM_DEFAULT_Q 112
|
||||||
|
|
||||||
#define SGEMM_DEFAULT_R sgemm_r
|
#define SGEMM_DEFAULT_R 4096
|
||||||
#define DGEMM_DEFAULT_R dgemm_r
|
#define DGEMM_DEFAULT_R 4096
|
||||||
#define CGEMM_DEFAULT_R cgemm_r
|
#define CGEMM_DEFAULT_R 4096
|
||||||
#define ZGEMM_DEFAULT_R zgemm_r
|
#define ZGEMM_DEFAULT_R 4096
|
||||||
|
|
||||||
#define SYMV_P 16
|
#define SYMV_P 16
|
||||||
#endif
|
#endif
|
||||||
|
@ -2720,20 +2720,20 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
#define ZGEMM_DEFAULT_UNROLL_M 4
|
#define ZGEMM_DEFAULT_UNROLL_M 4
|
||||||
#define ZGEMM_DEFAULT_UNROLL_N 4
|
#define ZGEMM_DEFAULT_UNROLL_N 4
|
||||||
|
|
||||||
#define SGEMM_DEFAULT_P sgemm_p
|
#define SGEMM_DEFAULT_P 128
|
||||||
#define DGEMM_DEFAULT_P dgemm_p
|
#define DGEMM_DEFAULT_P 160
|
||||||
#define CGEMM_DEFAULT_P cgemm_p
|
#define CGEMM_DEFAULT_P 128
|
||||||
#define ZGEMM_DEFAULT_P zgemm_p
|
#define ZGEMM_DEFAULT_P 128
|
||||||
|
|
||||||
#define SGEMM_DEFAULT_Q sgemm_q
|
#define SGEMM_DEFAULT_Q 352
|
||||||
#define DGEMM_DEFAULT_Q dgemm_q
|
#define DGEMM_DEFAULT_Q 128
|
||||||
#define CGEMM_DEFAULT_Q cgemm_q
|
#define CGEMM_DEFAULT_Q 224
|
||||||
#define ZGEMM_DEFAULT_Q zgemm_q
|
#define ZGEMM_DEFAULT_Q 112
|
||||||
|
|
||||||
#define SGEMM_DEFAULT_R sgemm_r
|
#define SGEMM_DEFAULT_R 4096
|
||||||
#define DGEMM_DEFAULT_R dgemm_r
|
#define DGEMM_DEFAULT_R 4096
|
||||||
#define CGEMM_DEFAULT_R cgemm_r
|
#define CGEMM_DEFAULT_R 4096
|
||||||
#define ZGEMM_DEFAULT_R zgemm_r
|
#define ZGEMM_DEFAULT_R 4096
|
||||||
|
|
||||||
#define SYMV_P 16
|
#define SYMV_P 16
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue