From 20da5e33a86eda746c17cbdb7bfd295d9f92f074 Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Wed, 6 Sep 2017 21:50:42 +0200 Subject: Split the database files over multiple directories and files; first step towards separate compilation --- src/database/kernels/padtranspose/padtranspose.hpp | 14 +++ .../kernels/padtranspose/padtranspose_16.hpp | 43 +++++++++ .../kernels/padtranspose/padtranspose_32.hpp | 100 +++++++++++++++++++++ .../kernels/padtranspose/padtranspose_3232.hpp | 100 +++++++++++++++++++++ .../kernels/padtranspose/padtranspose_64.hpp | 80 +++++++++++++++++ .../kernels/padtranspose/padtranspose_6464.hpp | 80 +++++++++++++++++ 6 files changed, 417 insertions(+) create mode 100644 src/database/kernels/padtranspose/padtranspose.hpp create mode 100644 src/database/kernels/padtranspose/padtranspose_16.hpp create mode 100644 src/database/kernels/padtranspose/padtranspose_32.hpp create mode 100644 src/database/kernels/padtranspose/padtranspose_3232.hpp create mode 100644 src/database/kernels/padtranspose/padtranspose_64.hpp create mode 100644 src/database/kernels/padtranspose/padtranspose_6464.hpp (limited to 'src/database/kernels/padtranspose') diff --git a/src/database/kernels/padtranspose/padtranspose.hpp b/src/database/kernels/padtranspose/padtranspose.hpp new file mode 100644 index 00000000..c395653a --- /dev/null +++ b/src/database/kernels/padtranspose/padtranspose.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 'Padtranspose' kernels. +// +// ================================================================================================= + +#include "database/kernels/padtranspose/padtranspose_16.hpp" +#include "database/kernels/padtranspose/padtranspose_32.hpp" +#include "database/kernels/padtranspose/padtranspose_3232.hpp" +#include "database/kernels/padtranspose/padtranspose_64.hpp" +#include "database/kernels/padtranspose/padtranspose_6464.hpp" diff --git a/src/database/kernels/padtranspose/padtranspose_16.hpp b/src/database/kernels/padtranspose/padtranspose_16.hpp new file mode 100644 index 00000000..e815ced0 --- /dev/null +++ b/src/database/kernels/padtranspose/padtranspose_16.hpp @@ -0,0 +1,43 @@ + +// ================================================================================================= +// 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 'Padtranspose16' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry PadtransposeHalf = { + "Padtranspose", Precision::kHalf, {"PADTRA_PAD", "PADTRA_TILE", "PADTRA_WPT"}, { + { // AMD GPUs + kDeviceTypeGPU, "AMD", { + { "Ellesmere", { 0, 16, 4 } }, + { "default", { 0, 16, 4 } }, + } + }, + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 0, 8, 1 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 1, 8, 2 } }, + { "default", { 0, 8, 1 } }, + } + }, + { // QUALCOMM GPUs + kDeviceTypeGPU, "QUALCOMM", { + { "QUALCOMM Adreno(TM)", { 0, 8, 8 } }, + { "default", { 0, 8, 8 } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { 0, 8, 1 } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/padtranspose/padtranspose_32.hpp b/src/database/kernels/padtranspose/padtranspose_32.hpp new file mode 100644 index 00000000..ca04b01e --- /dev/null +++ b/src/database/kernels/padtranspose/padtranspose_32.hpp @@ -0,0 +1,100 @@ + +// ================================================================================================= +// 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 'Padtranspose32' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry PadtransposeSingle = { + "Padtranspose", Precision::kSingle, {"PADTRA_PAD", "PADTRA_TILE", "PADTRA_WPT"}, { + { // AMD GPUs + kDeviceTypeGPU, "AMD", { + { "AMD Radeon R9 M370X Compute Engine", { 0, 16, 4 } }, + { "ATI Radeon HD 6750M", { 1, 16, 1 } }, + { "Ellesmere", { 1, 8, 4 } }, + { "Fiji", { 0, 16, 2 } }, + { "Hawaii", { 1, 16, 4 } }, + { "Oland", { 0, 16, 4 } }, + { "Pitcairn", { 0, 16, 4 } }, + { "Tahiti", { 0, 16, 4 } }, + { "Tonga", { 0, 16, 2 } }, + { "Turks", { 1, 16, 1 } }, + { "default", { 0, 16, 4 } }, + } + }, + { // ARM GPUs + kDeviceTypeGPU, "ARM", { + { "Mali-T628", { 0, 8, 2 } }, + { "default", { 0, 8, 2 } }, + } + }, + { // Intel CPUs + kDeviceTypeCPU, "Intel", { + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 0, 16, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 0, 32, 1 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 0, 32, 1 } }, + { "default", { 0, 8, 8 } }, + } + }, + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "Intel(R) HD Graphics 530", { 1, 16, 2 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 0, 16, 4 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 1, 16, 2 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 0, 16, 4 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 1, 16, 2 } }, + { "Iris", { 1, 16, 2 } }, + { "Iris Pro", { 1, 16, 2 } }, + { "default", { 1, 16, 2 } }, + } + }, + { // Intel accelerators + kDeviceTypeAccelerator, "Intel", { + { "Intel(R) Many Integrated Core Acceleration Card", { 0, 16, 2 } }, + { "default", { 0, 16, 2 } }, + } + }, + { // NVIDIA GPUs + kDeviceTypeGPU, "NVIDIA", { + { "GRID K520", { 1, 32, 2 } }, + { "GeForce GTX 1070", { 0, 16, 1 } }, + { "GeForce GTX 1080", { 1, 16, 2 } }, + { "GeForce GTX 480", { 1, 16, 2 } }, + { "GeForce GTX 670", { 1, 32, 2 } }, + { "GeForce GTX 680", { 1, 16, 2 } }, + { "GeForce GTX 750", { 1, 32, 2 } }, + { "GeForce GTX 750 Ti", { 1, 32, 2 } }, + { "GeForce GTX 980", { 0, 16, 1 } }, + { "GeForce GTX TITAN", { 1, 16, 2 } }, + { "GeForce GTX TITAN Black", { 1, 32, 2 } }, + { "GeForce GTX TITAN X", { 1, 32, 1 } }, + { "TITAN X (Pascal)", { 1, 16, 2 } }, + { "Tesla K20m", { 1, 16, 2 } }, + { "Tesla K40m", { 1, 32, 2 } }, + { "default", { 1, 32, 2 } }, + } + }, + { // QUALCOMM GPUs + kDeviceTypeGPU, "QUALCOMM", { + { "QUALCOMM Adreno(TM)", { 0, 8, 2 } }, + { "default", { 0, 8, 2 } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { 1, 16, 2 } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/padtranspose/padtranspose_3232.hpp b/src/database/kernels/padtranspose/padtranspose_3232.hpp new file mode 100644 index 00000000..bc9425da --- /dev/null +++ b/src/database/kernels/padtranspose/padtranspose_3232.hpp @@ -0,0 +1,100 @@ + +// ================================================================================================= +// 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 'Padtranspose3232' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry PadtransposeComplexSingle = { + "Padtranspose", Precision::kComplexSingle, {"PADTRA_PAD", "PADTRA_TILE", "PADTRA_WPT"}, { + { // AMD GPUs + kDeviceTypeGPU, "AMD", { + { "AMD Radeon R9 M370X Compute Engine", { 0, 16, 4 } }, + { "ATI Radeon HD 6750M", { 1, 16, 1 } }, + { "Ellesmere", { 0, 8, 4 } }, + { "Fiji", { 1, 16, 2 } }, + { "Hawaii", { 0, 16, 2 } }, + { "Oland", { 0, 8, 4 } }, + { "Pitcairn", { 0, 8, 4 } }, + { "Tahiti", { 0, 16, 2 } }, + { "Tonga", { 0, 16, 2 } }, + { "Turks", { 0, 16, 4 } }, + { "default", { 0, 8, 4 } }, + } + }, + { // ARM GPUs + kDeviceTypeGPU, "ARM", { + { "Mali-T628", { 1, 16, 2 } }, + { "default", { 1, 16, 2 } }, + } + }, + { // Intel CPUs + kDeviceTypeCPU, "Intel", { + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 1, 8, 4 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 0, 8, 4 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 0, 8, 4 } }, + { "default", { 0, 8, 8 } }, + } + }, + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "Intel(R) HD Graphics 530", { 1, 16, 2 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 0, 16, 2 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 1, 16, 2 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 0, 16, 2 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 0, 16, 4 } }, + { "Iris", { 0, 16, 2 } }, + { "Iris Pro", { 1, 16, 2 } }, + { "default", { 1, 16, 2 } }, + } + }, + { // Intel accelerators + kDeviceTypeAccelerator, "Intel", { + { "Intel(R) Many Integrated Core Acceleration Card", { 1, 16, 1 } }, + { "default", { 1, 16, 1 } }, + } + }, + { // NVIDIA GPUs + kDeviceTypeGPU, "NVIDIA", { + { "GRID K520", { 1, 16, 1 } }, + { "GeForce GTX 1070", { 1, 16, 1 } }, + { "GeForce GTX 1080", { 0, 8, 1 } }, + { "GeForce GTX 480", { 1, 16, 1 } }, + { "GeForce GTX 670", { 1, 16, 1 } }, + { "GeForce GTX 680", { 1, 16, 1 } }, + { "GeForce GTX 750", { 1, 16, 2 } }, + { "GeForce GTX 750 Ti", { 1, 16, 1 } }, + { "GeForce GTX 980", { 0, 16, 1 } }, + { "GeForce GTX TITAN", { 1, 16, 1 } }, + { "GeForce GTX TITAN Black", { 0, 16, 1 } }, + { "GeForce GTX TITAN X", { 1, 32, 1 } }, + { "TITAN X (Pascal)", { 1, 8, 1 } }, + { "Tesla K20m", { 0, 16, 1 } }, + { "Tesla K40m", { 1, 16, 1 } }, + { "default", { 1, 16, 1 } }, + } + }, + { // QUALCOMM GPUs + kDeviceTypeGPU, "QUALCOMM", { + { "QUALCOMM Adreno(TM)", { 0, 8, 4 } }, + { "default", { 0, 8, 4 } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { 1, 8, 2 } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/padtranspose/padtranspose_64.hpp b/src/database/kernels/padtranspose/padtranspose_64.hpp new file mode 100644 index 00000000..bdfe9788 --- /dev/null +++ b/src/database/kernels/padtranspose/padtranspose_64.hpp @@ -0,0 +1,80 @@ + +// ================================================================================================= +// 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 'Padtranspose64' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry PadtransposeDouble = { + "Padtranspose", Precision::kDouble, {"PADTRA_PAD", "PADTRA_TILE", "PADTRA_WPT"}, { + { // AMD GPUs + kDeviceTypeGPU, "AMD", { + { "AMD Radeon R9 M370X Compute Engine", { 0, 16, 4 } }, + { "Ellesmere", { 0, 16, 4 } }, + { "Fiji", { 0, 16, 2 } }, + { "Hawaii", { 0, 16, 2 } }, + { "Oland", { 0, 16, 4 } }, + { "Pitcairn", { 0, 8, 4 } }, + { "Tahiti", { 1, 16, 2 } }, + { "Tonga", { 0, 8, 2 } }, + { "default", { 0, 16, 4 } }, + } + }, + { // ARM GPUs + kDeviceTypeGPU, "ARM", { + { "Mali-T628", { 0, 16, 2 } }, + { "default", { 0, 16, 2 } }, + } + }, + { // Intel CPUs + kDeviceTypeCPU, "Intel", { + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 1, 8, 4 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 0, 64, 1 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 1, 32, 1 } }, + { "default", { 1, 8, 4 } }, + } + }, + { // Intel accelerators + kDeviceTypeAccelerator, "Intel", { + { "Intel(R) Many Integrated Core Acceleration Card", { 0, 16, 1 } }, + { "default", { 0, 16, 1 } }, + } + }, + { // NVIDIA GPUs + kDeviceTypeGPU, "NVIDIA", { + { "GRID K520", { 1, 16, 1 } }, + { "GeForce GTX 1070", { 1, 16, 1 } }, + { "GeForce GTX 1080", { 0, 8, 1 } }, + { "GeForce GTX 480", { 1, 16, 1 } }, + { "GeForce GTX 670", { 1, 16, 1 } }, + { "GeForce GTX 680", { 1, 16, 1 } }, + { "GeForce GTX 750", { 1, 16, 2 } }, + { "GeForce GTX 750 Ti", { 1, 32, 2 } }, + { "GeForce GTX 980", { 1, 32, 1 } }, + { "GeForce GTX TITAN", { 0, 16, 1 } }, + { "GeForce GTX TITAN Black", { 0, 16, 1 } }, + { "GeForce GTX TITAN X", { 1, 32, 1 } }, + { "TITAN X (Pascal)", { 0, 8, 1 } }, + { "Tesla K20m", { 0, 16, 1 } }, + { "Tesla K40m", { 1, 16, 1 } }, + { "default", { 1, 16, 1 } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { 1, 16, 2 } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/padtranspose/padtranspose_6464.hpp b/src/database/kernels/padtranspose/padtranspose_6464.hpp new file mode 100644 index 00000000..c839ab2c --- /dev/null +++ b/src/database/kernels/padtranspose/padtranspose_6464.hpp @@ -0,0 +1,80 @@ + +// ================================================================================================= +// 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 'Padtranspose6464' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry PadtransposeComplexDouble = { + "Padtranspose", Precision::kComplexDouble, {"PADTRA_PAD", "PADTRA_TILE", "PADTRA_WPT"}, { + { // AMD GPUs + kDeviceTypeGPU, "AMD", { + { "AMD Radeon R9 M370X Compute Engine", { 0, 8, 4 } }, + { "Ellesmere", { 0, 8, 4 } }, + { "Fiji", { 0, 8, 2 } }, + { "Hawaii", { 0, 8, 4 } }, + { "Oland", { 0, 8, 4 } }, + { "Pitcairn", { 0, 8, 4 } }, + { "Tahiti", { 0, 8, 2 } }, + { "Tonga", { 0, 8, 2 } }, + { "default", { 0, 8, 4 } }, + } + }, + { // ARM GPUs + kDeviceTypeGPU, "ARM", { + { "Mali-T628", { 0, 8, 1 } }, + { "default", { 0, 8, 1 } }, + } + }, + { // Intel CPUs + kDeviceTypeCPU, "Intel", { + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 0, 8, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 1, 8, 2 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 1, 16, 2 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 1, 8, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 0, 8, 4 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 1, 8, 4 } }, + { "default", { 0, 8, 4 } }, + } + }, + { // Intel accelerators + kDeviceTypeAccelerator, "Intel", { + { "Intel(R) Many Integrated Core Acceleration Card", { 0, 16, 1 } }, + { "default", { 0, 16, 1 } }, + } + }, + { // NVIDIA GPUs + kDeviceTypeGPU, "NVIDIA", { + { "GRID K520", { 1, 16, 1 } }, + { "GeForce GTX 1070", { 1, 16, 1 } }, + { "GeForce GTX 1080", { 1, 8, 1 } }, + { "GeForce GTX 480", { 1, 16, 1 } }, + { "GeForce GTX 670", { 1, 16, 1 } }, + { "GeForce GTX 680", { 1, 32, 1 } }, + { "GeForce GTX 750", { 1, 16, 1 } }, + { "GeForce GTX 750 Ti", { 1, 8, 2 } }, + { "GeForce GTX 980", { 0, 16, 1 } }, + { "GeForce GTX TITAN", { 1, 16, 1 } }, + { "GeForce GTX TITAN Black", { 0, 16, 1 } }, + { "GeForce GTX TITAN X", { 1, 32, 1 } }, + { "TITAN X (Pascal)", { 1, 8, 1 } }, + { "Tesla K20m", { 1, 16, 1 } }, + { "Tesla K40m", { 1, 16, 1 } }, + { "default", { 1, 16, 1 } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { 0, 8, 2 } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast -- cgit v1.2.3