From 0d13d814c21f1fdb3b0781b84bf12914aec5225a Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Thu, 14 Sep 2017 21:27:33 +0200 Subject: Added architecture layer in the tuning database for better performance on unseen devices --- .../kernels/xgemm_direct/xgemm_direct_32.hpp | 85 ++++++++++++++++------ 1 file changed, 62 insertions(+), 23 deletions(-) (limited to 'src/database/kernels/xgemm_direct/xgemm_direct_32.hpp') diff --git a/src/database/kernels/xgemm_direct/xgemm_direct_32.hpp b/src/database/kernels/xgemm_direct/xgemm_direct_32.hpp index e0a991c0..610532f0 100644 --- a/src/database/kernels/xgemm_direct/xgemm_direct_32.hpp +++ b/src/database/kernels/xgemm_direct/xgemm_direct_32.hpp @@ -14,49 +14,88 @@ const DatabaseEntry XgemmDirectSingle = { "XgemmDirect", Precision::kSingle, {"KWID", "MDIMAD", "MDIMCD", "NDIMBD", "NDIMCD", "PADA", "PADB", "VWMD", "VWND", "WGD"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { 2, 8, 8, 8, 8, 1, 1, 2, 2, 32 } }, - { "ATI Radeon HD 6750M", { 8, 8, 16, 8, 8, 1, 0, 2, 2, 32 } }, - { "Ellesmere", { 2, 8, 8, 32, 32, 1, 1, 2, 1, 32 } }, - { "Fiji", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, - { "Tonga", { 16, 16, 16, 32, 8, 0, 1, 1, 1, 32 } }, - { "Turks", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 16 } }, - { "default", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, + { "Ellesmere", { + { "AMD Radeon RX 480", { 2, 8, 8, 32, 32, 1, 1, 2, 1, 32 } }, + { "default", { 2, 8, 8, 32, 32, 1, 1, 2, 1, 32 } }, + } }, + { "Fiji", { + { "AMD Radeon R9 Fury X", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, + { "AMD Radeon R9 M370X Compute Engine", { 2, 8, 8, 8, 8, 1, 1, 2, 2, 32 } }, + { "default", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, + } }, + { "Tonga", { + { "AMD Radeon R9 380", { 16, 16, 16, 32, 8, 0, 1, 1, 1, 32 } }, + { "default", { 16, 16, 16, 32, 8, 0, 1, 1, 1, 32 } }, + } }, + { "Turks", { + { "AMD Radeon HD 6770M", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 16 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 16 } }, + } }, + { "Vancouver", { + { "ATI Radeon HD 6750M", { 8, 8, 16, 8, 8, 1, 0, 2, 2, 32 } }, + { "default", { 8, 8, 16, 8, 8, 1, 0, 2, 2, 32 } }, + } }, + { "default", { + { "default", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, + } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 2, 8, 8, 8, 8, 0, 0, 1, 8, 64 } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 16, 16, 8, 8, 8, 0, 0, 2, 4, 32 } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 2, 8, 8, 8, 8, 0, 0, 2, 2, 64 } }, - { "default", { 2, 8, 8, 8, 8, 1, 1, 4, 2, 32 } }, + { "default", { + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 2, 8, 8, 8, 8, 0, 0, 1, 8, 64 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 16, 16, 8, 8, 8, 0, 0, 2, 4, 32 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 2, 8, 8, 8, 8, 0, 0, 2, 2, 64 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 4, 2, 32 } }, + } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics Skylake ULT GT2", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, - { "Iris Pro", { 2, 16, 16, 8, 8, 1, 1, 2, 4, 32 } }, - { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, + { "default", { + { "Intel(R) HD Graphics Skylake ULT GT2", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, + { "Iris Pro", { 2, 16, 16, 8, 8, 1, 1, 2, 4, 32 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, + } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GeForce GT 650M", { 16, 16, 16, 8, 16, 1, 0, 2, 2, 32 } }, - { "GeForce GTX 1080", { 16, 16, 8, 16, 8, 1, 1, 1, 1, 32 } }, - { "GeForce GTX 750 Ti", { 2, 8, 8, 8, 8, 1, 1, 4, 2, 32 } }, - { "GeForce GTX TITAN Black", { 2, 8, 8, 16, 16, 1, 1, 4, 2, 32 } }, - { "TITAN X (Pascal)", { 8, 32, 8, 8, 16, 1, 1, 1, 1, 32 } }, - { "default", { 2, 8, 8, 16, 16, 1, 1, 4, 2, 32 } }, + { "SM3.0", { + { "GeForce GT 650M", { 16, 16, 16, 8, 16, 1, 0, 2, 2, 32 } }, + { "default", { 16, 16, 16, 8, 16, 1, 0, 2, 2, 32 } }, + } }, + { "SM3.5", { + { "GeForce GTX TITAN Black", { 2, 8, 8, 16, 16, 1, 1, 4, 2, 32 } }, + { "default", { 2, 8, 8, 16, 16, 1, 1, 4, 2, 32 } }, + } }, + { "SM5.0", { + { "GeForce GTX 750 Ti", { 2, 8, 8, 8, 8, 1, 1, 4, 2, 32 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 4, 2, 32 } }, + } }, + { "SM6.1", { + { "GeForce GTX 1080", { 16, 16, 8, 16, 8, 1, 1, 1, 1, 32 } }, + { "TITAN X (Pascal)", { 8, 32, 8, 8, 16, 1, 1, 1, 1, 32 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 4, 2, 32 } }, + } }, + { "default", { + { "default", { 2, 8, 8, 16, 16, 1, 1, 4, 2, 32 } }, + } }, } }, { // QUALCOMM GPUs kDeviceTypeGPU, "QUALCOMM", { - { "QUALCOMM Adreno(TM)", { 2, 8, 8, 8, 8, 1, 1, 2, 1, 16 } }, - { "default", { 2, 8, 8, 8, 8, 1, 1, 2, 1, 16 } }, + { "default", { + { "QUALCOMM Adreno(TM)", { 2, 8, 8, 8, 8, 1, 1, 2, 1, 16 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 2, 1, 16 } }, + } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 2, 16 } }, + { "default", { + { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 2, 16 } }, + } }, } }, } -- cgit v1.2.3