diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2019-01-19 17:56:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-19 17:56:05 +0100 |
commit | 9a9c24e811ddefb6e9d462288916ff64dbf47d63 (patch) | |
tree | 43504e80dc48a3230a497df83b9e15baf50928ea /src/database/kernels | |
parent | afcf5dc6ebc287b392edcb6bd3ac48966ba98e3c (diff) | |
parent | 11f4c7dd936146f9b4f165d8ef69bafa3a33ad26 (diff) |
Merge pull request #345 from CNugteren/convolution-fixes-and-tuner
Convolution with single kernel
Diffstat (limited to 'src/database/kernels')
-rw-r--r-- | src/database/kernels/xconvgemm/xconvgemm.cpp | 15 | ||||
-rw-r--r-- | src/database/kernels/xconvgemm/xconvgemm.hpp | 22 | ||||
-rw-r--r-- | src/database/kernels/xconvgemm/xconvgemm_16.hpp | 34 | ||||
-rw-r--r-- | src/database/kernels/xconvgemm/xconvgemm_32.hpp | 35 | ||||
-rw-r--r-- | src/database/kernels/xconvgemm/xconvgemm_3232.hpp | 26 | ||||
-rw-r--r-- | src/database/kernels/xconvgemm/xconvgemm_64.hpp | 34 | ||||
-rw-r--r-- | src/database/kernels/xconvgemm/xconvgemm_6464.hpp | 26 |
7 files changed, 192 insertions, 0 deletions
diff --git a/src/database/kernels/xconvgemm/xconvgemm.cpp b/src/database/kernels/xconvgemm/xconvgemm.cpp new file mode 100644 index 00000000..1138f8b8 --- /dev/null +++ b/src/database/kernels/xconvgemm/xconvgemm.cpp @@ -0,0 +1,15 @@ + +// ================================================================================================= +// 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 'Xconvgemm' kernels. +// +// ================================================================================================= + +#include "database/kernels/xconvgemm/xconvgemm.hpp" +#include "database/kernels/xconvgemm/xconvgemm_16.hpp" +#include "database/kernels/xconvgemm/xconvgemm_32.hpp" +#include "database/kernels/xconvgemm/xconvgemm_3232.hpp" +#include "database/kernels/xconvgemm/xconvgemm_64.hpp" +#include "database/kernels/xconvgemm/xconvgemm_6464.hpp" diff --git a/src/database/kernels/xconvgemm/xconvgemm.hpp b/src/database/kernels/xconvgemm/xconvgemm.hpp new file mode 100644 index 00000000..ac07dc42 --- /dev/null +++ b/src/database/kernels/xconvgemm/xconvgemm.hpp @@ -0,0 +1,22 @@ + +// ================================================================================================= +// 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 'Xconvgemm' kernels. +// +// ================================================================================================= + +#include "database/database_structure.hpp" + +namespace clblast { +namespace database { + +extern const DatabaseEntry XconvgemmHalf; +extern const DatabaseEntry XconvgemmSingle; +extern const DatabaseEntry XconvgemmComplexSingle; +extern const DatabaseEntry XconvgemmDouble; +extern const DatabaseEntry XconvgemmComplexDouble; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/xconvgemm/xconvgemm_16.hpp b/src/database/kernels/xconvgemm/xconvgemm_16.hpp new file mode 100644 index 00000000..cb3fb6e2 --- /dev/null +++ b/src/database/kernels/xconvgemm/xconvgemm_16.hpp @@ -0,0 +1,34 @@ + +// ================================================================================================= +// 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 'Xconvgemm16' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry XconvgemmHalf = { + "Xconvgemm", Precision::kHalf, {"KWID", "MDIMAD", "MDIMCD", "NDIMBD", "NDIMCD", "PADA", "PADB", "VWMD", "VWND", "WGD"}, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "default", { + { Name{"Intel(R) HD Graphics Skylake ULT GT2 "}, Params{ 1, 8, 16, 16, 8, 0, 0, 1, 1, 32, 0, 0, 0, 0, 0, 0 } }, + { kDeviceNameDefault , Params{ 1, 8, 16, 16, 8, 0, 0, 1, 1, 32, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 1, 8, 16, 16, 8, 0, 0, 1, 1, 32, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/xconvgemm/xconvgemm_32.hpp b/src/database/kernels/xconvgemm/xconvgemm_32.hpp new file mode 100644 index 00000000..216a9f42 --- /dev/null +++ b/src/database/kernels/xconvgemm/xconvgemm_32.hpp @@ -0,0 +1,35 @@ + +// ================================================================================================= +// 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 'Xconvgemm32' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry XconvgemmSingle = { + "Xconvgemm", Precision::kSingle, {"KWID", "MDIMAD", "MDIMCD", "NDIMBD", "NDIMCD", "PADA", "PADB", "VWMD", "VWND", "WGD"}, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "default", { + { Name{"Intel(R) Gen9 HD Graphics NEO "}, Params{ 1, 16, 32, 8, 8, 0, 0, 1, 4, 32, 0, 0, 0, 0, 0, 0 } }, + { Name{"Intel(R) HD Graphics Skylake ULT GT2 "}, Params{ 1, 16, 8, 8, 16, 0, 0, 1, 1, 32, 0, 0, 0, 0, 0, 0 } }, + { kDeviceNameDefault , Params{ 1, 8, 16, 16, 8, 0, 0, 1, 1, 32, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 1, 8, 16, 16, 8, 0, 0, 1, 1, 32, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/xconvgemm/xconvgemm_3232.hpp b/src/database/kernels/xconvgemm/xconvgemm_3232.hpp new file mode 100644 index 00000000..b6f8b9d9 --- /dev/null +++ b/src/database/kernels/xconvgemm/xconvgemm_3232.hpp @@ -0,0 +1,26 @@ + +// ================================================================================================= +// 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 'Xconvgemm3232' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry XconvgemmComplexSingle = { + "Xconvgemm", Precision::kComplexSingle, {"KWID", "MDIMAD", "MDIMCD", "NDIMBD", "NDIMCD", "PADA", "PADB", "VWMD", "VWND", "WGD"}, { + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 1, 8, 16, 16, 8, 0, 0, 1, 1, 32, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/xconvgemm/xconvgemm_64.hpp b/src/database/kernels/xconvgemm/xconvgemm_64.hpp new file mode 100644 index 00000000..00d81dd8 --- /dev/null +++ b/src/database/kernels/xconvgemm/xconvgemm_64.hpp @@ -0,0 +1,34 @@ + +// ================================================================================================= +// 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 'Xconvgemm64' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry XconvgemmDouble = { + "Xconvgemm", Precision::kDouble, {"KWID", "MDIMAD", "MDIMCD", "NDIMBD", "NDIMCD", "PADA", "PADB", "VWMD", "VWND", "WGD"}, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "default", { + { Name{"Intel(R) Gen9 HD Graphics NEO "}, Params{ 1, 8, 16, 16, 8, 0, 0, 1, 2, 32, 0, 0, 0, 0, 0, 0 } }, + { kDeviceNameDefault , Params{ 1, 8, 16, 16, 8, 0, 0, 1, 2, 32, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 1, 8, 16, 16, 8, 0, 0, 1, 2, 32, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/xconvgemm/xconvgemm_6464.hpp b/src/database/kernels/xconvgemm/xconvgemm_6464.hpp new file mode 100644 index 00000000..a60cf2cb --- /dev/null +++ b/src/database/kernels/xconvgemm/xconvgemm_6464.hpp @@ -0,0 +1,26 @@ + +// ================================================================================================= +// 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 'Xconvgemm6464' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry XconvgemmComplexDouble = { + "Xconvgemm", Precision::kComplexDouble, {"KWID", "MDIMAD", "MDIMCD", "NDIMBD", "NDIMCD", "PADA", "PADB", "VWMD", "VWND", "WGD"}, { + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 1, 8, 16, 16, 8, 0, 0, 1, 1, 32, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast |