diff options
-rw-r--r-- | include/internal/database.h | 8 | ||||
-rw-r--r-- | include/internal/database/copy.h | 18 | ||||
-rw-r--r-- | include/internal/database/pad.h | 18 | ||||
-rw-r--r-- | include/internal/database/padtranspose.h | 18 | ||||
-rw-r--r-- | include/internal/database/transpose.h | 18 | ||||
-rw-r--r-- | src/database.cc | 8 |
6 files changed, 80 insertions, 8 deletions
diff --git a/include/internal/database.h b/include/internal/database.h index 5bf69358..f66edcac 100644 --- a/include/internal/database.h +++ b/include/internal/database.h @@ -72,10 +72,10 @@ class Database { static const DatabaseEntry XgemvSingle, XgemvDouble, XgemvComplexSingle, XgemvComplexDouble; static const DatabaseEntry XgerSingle, XgerDouble, XgerComplexSingle, XgerComplexDouble; static const DatabaseEntry XgemmSingle, XgemmDouble, XgemmComplexSingle, XgemmComplexDouble; - static const DatabaseEntry CopySingle, CopyDouble, CopyComplexSingle, CopyComplexDouble; - static const DatabaseEntry PadSingle, PadDouble, PadComplexSingle, PadComplexDouble; - static const DatabaseEntry TransposeSingle, TransposeDouble, TransposeComplexSingle, TransposeComplexDouble; - static const DatabaseEntry PadtransposeSingle, PadtransposeDouble, PadtransposeComplexSingle, PadtransposeComplexDouble; + static const DatabaseEntry CopyHalf, CopySingle, CopyDouble, CopyComplexSingle, CopyComplexDouble; + static const DatabaseEntry PadHalf, PadSingle, PadDouble, PadComplexSingle, PadComplexDouble; + static const DatabaseEntry TransposeHalf, TransposeSingle, TransposeDouble, TransposeComplexSingle, TransposeComplexDouble; + static const DatabaseEntry PadtransposeHalf, PadtransposeSingle, PadtransposeDouble, PadtransposeComplexSingle, PadtransposeComplexDouble; static const std::vector<DatabaseEntry> database; // The constructor diff --git a/include/internal/database/copy.h b/include/internal/database/copy.h index 59a9e03a..b4695868 100644 --- a/include/internal/database/copy.h +++ b/include/internal/database/copy.h @@ -14,6 +14,24 @@ namespace clblast { // ================================================================================================= +const Database::DatabaseEntry Database::CopyHalf = { + "Copy", Precision::kHalf, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "Intel(R) HD Graphics Skylake ULT GT2", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",4} } }, + { "default", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",4} } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",4} } }, + } + }, + } +}; + +// ================================================================================================= + const Database::DatabaseEntry Database::CopySingle = { "Copy", Precision::kSingle, { { // AMD GPUs diff --git a/include/internal/database/pad.h b/include/internal/database/pad.h index d2de19e4..aae7631b 100644 --- a/include/internal/database/pad.h +++ b/include/internal/database/pad.h @@ -14,6 +14,24 @@ namespace clblast { // ================================================================================================= +const Database::DatabaseEntry Database::PadHalf = { + "Pad", Precision::kHalf, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "Intel(R) HD Graphics Skylake ULT GT2", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",4} } }, + { "default", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",4} } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",4} } }, + } + }, + } +}; + +// ================================================================================================= + const Database::DatabaseEntry Database::PadSingle = { "Pad", Precision::kSingle, { { // AMD GPUs diff --git a/include/internal/database/padtranspose.h b/include/internal/database/padtranspose.h index b1db1b21..2d8d47f2 100644 --- a/include/internal/database/padtranspose.h +++ b/include/internal/database/padtranspose.h @@ -14,6 +14,24 @@ namespace clblast { // ================================================================================================= +const Database::DatabaseEntry Database::PadtransposeHalf = { + "Padtranspose", Precision::kHalf, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "Intel(R) HD Graphics Skylake ULT GT2", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",2} } }, + { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",2} } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",2} } }, + } + }, + } +}; + +// ================================================================================================= + const Database::DatabaseEntry Database::PadtransposeSingle = { "Padtranspose", Precision::kSingle, { { // AMD GPUs diff --git a/include/internal/database/transpose.h b/include/internal/database/transpose.h index d87f79a6..8e5ace67 100644 --- a/include/internal/database/transpose.h +++ b/include/internal/database/transpose.h @@ -14,6 +14,24 @@ namespace clblast { // ================================================================================================= +const Database::DatabaseEntry Database::TransposeHalf = { + "Transpose", Precision::kHalf, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "Intel(R) HD Graphics Skylake ULT GT2", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",8} } }, + { "default", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",8} } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",8} } }, + } + }, + } +}; + +// ================================================================================================= + const Database::DatabaseEntry Database::TransposeSingle = { "Transpose", Precision::kSingle, { { // AMD GPUs diff --git a/src/database.cc b/src/database.cc index 74d69c8b..ee9d6ddd 100644 --- a/src/database.cc +++ b/src/database.cc @@ -34,10 +34,10 @@ const std::vector<Database::DatabaseEntry> Database::database = { XgemvSingle, XgemvDouble, XgemvComplexSingle, XgemvComplexDouble, XgerSingle, XgerDouble, XgerComplexSingle, XgerComplexDouble, XgemmSingle, XgemmDouble, XgemmComplexSingle, XgemmComplexDouble, - CopySingle, CopyDouble, CopyComplexSingle, CopyComplexDouble, - PadSingle, PadDouble, PadComplexSingle, PadComplexDouble, - TransposeSingle, TransposeDouble, TransposeComplexSingle, TransposeComplexDouble, - PadtransposeSingle, PadtransposeDouble, PadtransposeComplexSingle, PadtransposeComplexDouble + CopyHalf, CopySingle, CopyDouble, CopyComplexSingle, CopyComplexDouble, + PadHalf, PadSingle, PadDouble, PadComplexSingle, PadComplexDouble, + TransposeHalf, TransposeSingle, TransposeDouble, TransposeComplexSingle, TransposeComplexDouble, + PadtransposeHalf, PadtransposeSingle, PadtransposeDouble, PadtransposeComplexSingle, PadtransposeComplexDouble }; // ================================================================================================= |