From 9607f207da79e95c1f583e024da46a00df4f33af Mon Sep 17 00:00:00 2001 From: Shubham Sharma Date: Tue, 30 May 2023 07:25:20 +0000 Subject: [PATCH] AOCL Dynamic tuning for DAXPYV - Existing logic is not picking the ideal number of threads for some problem sizes. - Problem size and their corresponding ideal number of threads are retuned for daxpy in aocl dynamic. AMD-Internal: [CPUPL-3484] Change-Id: Ice874ceef0a1815383f74f1a4b9677677b276af7 --- frame/base/bli_rntm.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/frame/base/bli_rntm.c b/frame/base/bli_rntm.c index 98131623d..e8c29b0cc 100644 --- a/frame/base/bli_rntm.c +++ b/frame/base/bli_rntm.c @@ -1741,16 +1741,18 @@ static void aocl_daxpyv_dynamic case BLIS_ARCH_ZEN2: case BLIS_ARCH_ZEN3: - if ( n_elem <= 100 ) + if ( n_elem <= 4000 ) *nt_ideal = 1; - else if (n_elem <= 10000) - *nt_ideal = 2; - else if (n_elem <= 250000) + else if (n_elem <= 11000) + *nt_ideal = 4; + else if (n_elem <= 300000) *nt_ideal = 8; else if (n_elem <= 750000) *nt_ideal = 16; - else if (n_elem <= 2000000) + else if (n_elem <= 2600000) *nt_ideal = 32; + else if (n_elem <= 4000000) + *nt_ideal = 64; else // For sizes in this range, AOCL dynamic does not make any change *nt_ideal = -1;