diff options
Diffstat (limited to 'src/database/kernels/xgemm_direct')
6 files changed, 274 insertions, 0 deletions
diff --git a/src/database/kernels/xgemm_direct/xgemm_direct.hpp b/src/database/kernels/xgemm_direct/xgemm_direct.hpp new file mode 100644 index 00000000..9a26e7ce --- /dev/null +++ b/src/database/kernels/xgemm_direct/xgemm_direct.hpp @@ -0,0 +1,14 @@ + +// ================================================================================================= +// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It +// is auto-generated by the 'scripts/database/database.py' Python script. +// +// This file populates the database with best-found tuning parameters for the 'Xgemm_Direct' kernels. +// +// ================================================================================================= + +#include "database/kernels/xgemm_direct/xgemm_direct_16.hpp" +#include "database/kernels/xgemm_direct/xgemm_direct_32.hpp" +#include "database/kernels/xgemm_direct/xgemm_direct_3232.hpp" +#include "database/kernels/xgemm_direct/xgemm_direct_64.hpp" +#include "database/kernels/xgemm_direct/xgemm_direct_6464.hpp" diff --git a/src/database/kernels/xgemm_direct/xgemm_direct_16.hpp b/src/database/kernels/xgemm_direct/xgemm_direct_16.hpp new file mode 100644 index 00000000..ed71285f --- /dev/null +++ b/src/database/kernels/xgemm_direct/xgemm_direct_16.hpp @@ -0,0 +1,36 @@ + +// ================================================================================================= +// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It +// is auto-generated by the 'scripts/database/database.py' Python script. +// +// This file populates the database with best-found tuning parameters for the 'Xgemm_Direct16' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry XgemmDirectHalf = { + "XgemmDirect", Precision::kHalf, {"KWID", "MDIMAD", "MDIMCD", "NDIMBD", "NDIMCD", "PADA", "PADB", "VWMD", "VWND", "WGD"}, { + { // AMD GPUs + kDeviceTypeGPU, "AMD", { + { "Ellesmere", { 8, 32, 8, 8, 32, 1, 1, 1, 1, 32 } }, + { "default", { 8, 32, 8, 8, 32, 1, 1, 1, 1, 32 } }, + } + }, + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "Intel(R) HD Graphics Skylake ULT GT2", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/xgemm_direct/xgemm_direct_32.hpp b/src/database/kernels/xgemm_direct/xgemm_direct_32.hpp new file mode 100644 index 00000000..e0a991c0 --- /dev/null +++ b/src/database/kernels/xgemm_direct/xgemm_direct_32.hpp @@ -0,0 +1,66 @@ + +// ================================================================================================= +// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It +// is auto-generated by the 'scripts/database/database.py' Python script. +// +// This file populates the database with best-found tuning parameters for the 'Xgemm_Direct32' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +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 } }, + } + }, + { // 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 } }, + } + }, + { // 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 } }, + } + }, + { // 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 } }, + } + }, + { // 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 + kDeviceTypeAll, "default", { + { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 2, 16 } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/xgemm_direct/xgemm_direct_3232.hpp b/src/database/kernels/xgemm_direct/xgemm_direct_3232.hpp new file mode 100644 index 00000000..05e672ac --- /dev/null +++ b/src/database/kernels/xgemm_direct/xgemm_direct_3232.hpp @@ -0,0 +1,58 @@ + +// ================================================================================================= +// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It +// is auto-generated by the 'scripts/database/database.py' Python script. +// +// This file populates the database with best-found tuning parameters for the 'Xgemm_Direct3232' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry XgemmDirectComplexSingle = { + "XgemmDirect", Precision::kComplexSingle, {"KWID", "MDIMAD", "MDIMCD", "NDIMBD", "NDIMCD", "PADA", "PADB", "VWMD", "VWND", "WGD"}, { + { // AMD GPUs + kDeviceTypeGPU, "AMD", { + { "AMD Radeon R9 M370X Compute Engine", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + { "ATI Radeon HD 6750M", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, + { "Fiji", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + { "Tonga", { 2, 16, 16, 16, 16, 1, 1, 2, 2, 32 } }, + { "Turks", { 2, 8, 8, 8, 8, 1, 1, 2, 2, 16 } }, + { "default", { 2, 16, 16, 16, 16, 1, 1, 2, 2, 32 } }, + } + }, + { // Intel CPUs + kDeviceTypeCPU, "Intel", { + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 2, 8, 8, 8, 8, 0, 0, 4, 4, 32 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 2, 16, 16, 8, 8, 1, 1, 1, 4, 32 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 2, 8, 8, 16, 8, 1, 1, 2, 1, 32 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 4, 4, 32 } }, + } + }, + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "Intel(R) HD Graphics Skylake ULT GT2", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + { "Iris Pro", { 2, 16, 16, 8, 8, 1, 1, 2, 2, 32 } }, + { "default", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + } + }, + { // NVIDIA GPUs + kDeviceTypeGPU, "NVIDIA", { + { "GeForce GTX 1080", { 8, 8, 16, 16, 8, 1, 1, 2, 2, 32 } }, + { "GeForce GTX 750 Ti", { 16, 8, 8, 16, 8, 1, 1, 2, 1, 16 } }, + { "GeForce GTX TITAN Black", { 2, 8, 8, 16, 16, 1, 1, 1, 1, 16 } }, + { "TITAN X (Pascal)", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 2, 16 } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { 2, 32, 32, 8, 8, 1, 1, 1, 1, 32 } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/xgemm_direct/xgemm_direct_64.hpp b/src/database/kernels/xgemm_direct/xgemm_direct_64.hpp new file mode 100644 index 00000000..ac740dae --- /dev/null +++ b/src/database/kernels/xgemm_direct/xgemm_direct_64.hpp @@ -0,0 +1,50 @@ + +// ================================================================================================= +// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It +// is auto-generated by the 'scripts/database/database.py' Python script. +// +// This file populates the database with best-found tuning parameters for the 'Xgemm_Direct64' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry XgemmDirectDouble = { + "XgemmDirect", Precision::kDouble, {"KWID", "MDIMAD", "MDIMCD", "NDIMBD", "NDIMCD", "PADA", "PADB", "VWMD", "VWND", "WGD"}, { + { // AMD GPUs + kDeviceTypeGPU, "AMD", { + { "AMD Radeon R9 M370X Compute Engine", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, + { "Ellesmere", { 8, 16, 16, 8, 16, 1, 1, 2, 1, 32 } }, + { "Fiji", { 16, 8, 8, 8, 16, 1, 1, 1, 1, 16 } }, + { "Tonga", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 32 } }, + { "default", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + } + }, + { // Intel CPUs + kDeviceTypeCPU, "Intel", { + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 2, 8, 8, 8, 8, 1, 1, 4, 4, 32 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 8, 8, 8, 8, 8, 0, 0, 1, 4, 32 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 2, 8, 8, 8, 8, 1, 1, 4, 4, 32 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 4, 2, 32 } }, + } + }, + { // NVIDIA GPUs + kDeviceTypeGPU, "NVIDIA", { + { "GeForce GTX 1080", { 2, 16, 16, 8, 8, 1, 1, 1, 2, 16 } }, + { "GeForce GTX 750 Ti", { 2, 8, 8, 8, 8, 1, 1, 2, 4, 32 } }, + { "GeForce GTX TITAN Black", { 8, 16, 16, 16, 8, 1, 0, 1, 1, 16 } }, + { "TITAN X (Pascal)", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 16 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 2, 16 } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { 2, 8, 8, 8, 8, 1, 1, 2, 2, 16 } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/xgemm_direct/xgemm_direct_6464.hpp b/src/database/kernels/xgemm_direct/xgemm_direct_6464.hpp new file mode 100644 index 00000000..1352ec66 --- /dev/null +++ b/src/database/kernels/xgemm_direct/xgemm_direct_6464.hpp @@ -0,0 +1,50 @@ + +// ================================================================================================= +// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It +// is auto-generated by the 'scripts/database/database.py' Python script. +// +// This file populates the database with best-found tuning parameters for the 'Xgemm_Direct6464' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry XgemmDirectComplexDouble = { + "XgemmDirect", Precision::kComplexDouble, {"KWID", "MDIMAD", "MDIMCD", "NDIMBD", "NDIMCD", "PADA", "PADB", "VWMD", "VWND", "WGD"}, { + { // AMD GPUs + kDeviceTypeGPU, "AMD", { + { "AMD Radeon R9 M370X Compute Engine", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + { "Ellesmere", { 16, 32, 32, 16, 8, 0, 0, 1, 1, 32 } }, + { "Fiji", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + { "Tonga", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + { "default", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + } + }, + { // Intel CPUs + kDeviceTypeCPU, "Intel", { + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 2, 8, 8, 32, 8, 0, 0, 1, 1, 32 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 8, 16, 16, 8, 8, 0, 0, 2, 1, 32 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 8, 16, 8, 8, 8, 0, 0, 2, 2, 32 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 2, 2, 16 } }, + } + }, + { // NVIDIA GPUs + kDeviceTypeGPU, "NVIDIA", { + { "GeForce GTX 1080", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, + { "GeForce GTX 750 Ti", { 2, 32, 32, 8, 8, 1, 1, 1, 1, 32 } }, + { "GeForce GTX TITAN Black", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, + { "TITAN X (Pascal)", { 2, 16, 16, 8, 8, 1, 1, 1, 2, 16 } }, + { "default", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 2, 16 } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast |