From 7c228f6a674a748ec9ef4907552f5043fb424224 Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Mon, 10 Oct 2016 16:01:02 +0200 Subject: Changed the thresholds for the direct/indirect GEMM kernels for NVIDIA and Intel GPUs --- src/database/kernel_selection.hpp | 50 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'src/database') diff --git a/src/database/kernel_selection.hpp b/src/database/kernel_selection.hpp index bccfb0c0..c9462c7a 100644 --- a/src/database/kernel_selection.hpp +++ b/src/database/kernel_selection.hpp @@ -19,6 +19,16 @@ namespace clblast { const Database::DatabaseEntry Database::KernelSelectionHalf = { "KernelSelection", Precision::kHalf, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "default", { {"XGEMM_MIN_INDIRECT_SIZE",384*384*384} } }, + } + }, + { // NVIDIA GPUs + kDeviceTypeGPU, "NVIDIA", { + { "default", { {"XGEMM_MIN_INDIRECT_SIZE",768*768*768} } }, + } + }, { // Default kDeviceTypeAll, "default", { { "default", { {"XGEMM_MIN_INDIRECT_SIZE",512*512*512} } }, @@ -31,6 +41,16 @@ const Database::DatabaseEntry Database::KernelSelectionHalf = { const Database::DatabaseEntry Database::KernelSelectionSingle = { "KernelSelection", Precision::kSingle, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "default", { {"XGEMM_MIN_INDIRECT_SIZE",384*384*384} } }, + } + }, + { // NVIDIA GPUs + kDeviceTypeGPU, "NVIDIA", { + { "default", { {"XGEMM_MIN_INDIRECT_SIZE",768*768*768} } }, + } + }, { // Default kDeviceTypeAll, "default", { { "default", { {"XGEMM_MIN_INDIRECT_SIZE",512*512*512} } }, @@ -43,6 +63,16 @@ const Database::DatabaseEntry Database::KernelSelectionSingle = { const Database::DatabaseEntry Database::KernelSelectionComplexSingle = { "KernelSelection", Precision::kComplexSingle, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "default", { {"XGEMM_MIN_INDIRECT_SIZE",384*384*384} } }, + } + }, + { // NVIDIA GPUs + kDeviceTypeGPU, "NVIDIA", { + { "default", { {"XGEMM_MIN_INDIRECT_SIZE",768*768*768} } }, + } + }, { // Default kDeviceTypeAll, "default", { { "default", { {"XGEMM_MIN_INDIRECT_SIZE",512*512*512} } }, @@ -55,6 +85,16 @@ const Database::DatabaseEntry Database::KernelSelectionComplexSingle = { const Database::DatabaseEntry Database::KernelSelectionDouble = { "KernelSelection", Precision::kDouble, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "default", { {"XGEMM_MIN_INDIRECT_SIZE",384*384*384} } }, + } + }, + { // NVIDIA GPUs + kDeviceTypeGPU, "NVIDIA", { + { "default", { {"XGEMM_MIN_INDIRECT_SIZE",768*768*768} } }, + } + }, { // Default kDeviceTypeAll, "default", { { "default", { {"XGEMM_MIN_INDIRECT_SIZE",512*512*512} } }, @@ -67,6 +107,16 @@ const Database::DatabaseEntry Database::KernelSelectionDouble = { const Database::DatabaseEntry Database::KernelSelectionComplexDouble = { "KernelSelection", Precision::kComplexDouble, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "default", { {"XGEMM_MIN_INDIRECT_SIZE",384*384*384} } }, + } + }, + { // NVIDIA GPUs + kDeviceTypeGPU, "NVIDIA", { + { "default", { {"XGEMM_MIN_INDIRECT_SIZE",768*768*768} } }, + } + }, { // Default kDeviceTypeAll, "default", { { "default", { {"XGEMM_MIN_INDIRECT_SIZE",512*512*512} } }, -- cgit v1.2.3