diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2017-12-23 13:55:22 +0100 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2017-12-23 13:55:22 +0100 |
commit | b1f52f130c4f9e4346579003b2786aa2e082f234 (patch) | |
tree | 1c0807409adf163e8abe1cba52509873a6c65f48 /src/database/kernels | |
parent | aa7db4f987360fe1956add9391c6e81aa61b75f3 (diff) |
Updated the database to use the new TRSV and Invert tuners
Diffstat (limited to 'src/database/kernels')
-rw-r--r-- | src/database/kernels/invert.hpp | 78 | ||||
-rw-r--r-- | src/database/kernels/invert/invert.hpp | 14 | ||||
-rw-r--r-- | src/database/kernels/invert/invert_16.hpp | 34 | ||||
-rw-r--r-- | src/database/kernels/invert/invert_32.hpp | 34 | ||||
-rw-r--r-- | src/database/kernels/invert/invert_3232.hpp | 34 | ||||
-rw-r--r-- | src/database/kernels/invert/invert_64.hpp | 26 | ||||
-rw-r--r-- | src/database/kernels/invert/invert_6464.hpp | 26 | ||||
-rw-r--r-- | src/database/kernels/trsv_routine/trsv_routine.hpp | 14 | ||||
-rw-r--r-- | src/database/kernels/trsv_routine/trsv_routine_16.hpp | 26 | ||||
-rw-r--r-- | src/database/kernels/trsv_routine/trsv_routine_32.hpp | 34 | ||||
-rw-r--r-- | src/database/kernels/trsv_routine/trsv_routine_3232.hpp | 34 | ||||
-rw-r--r-- | src/database/kernels/trsv_routine/trsv_routine_64.hpp | 26 | ||||
-rw-r--r-- | src/database/kernels/trsv_routine/trsv_routine_6464.hpp | 26 | ||||
-rw-r--r-- | src/database/kernels/xtrsv.hpp | 78 |
14 files changed, 328 insertions, 156 deletions
diff --git a/src/database/kernels/invert.hpp b/src/database/kernels/invert.hpp deleted file mode 100644 index b7464382..00000000 --- a/src/database/kernels/invert.hpp +++ /dev/null @@ -1,78 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// Tuning parameters for the diagonal matrix inversion kernels -// -// ================================================================================================= - -namespace clblast { -namespace database { -// ================================================================================================= - -const DatabaseEntry InvertHalf = { - "Invert", Precision::kHalf, {"INTERNAL_BLOCK_SIZE"}, { - { // Default - kDeviceTypeAll, "default", { - { "default", { { kDeviceNameDefault, Params{ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, - } - }, - } -}; - -// ================================================================================================= - -const DatabaseEntry InvertSingle = { - "Invert", Precision::kSingle, {"INTERNAL_BLOCK_SIZE"}, { - { // Default - kDeviceTypeAll, "default", { - { "default", { { kDeviceNameDefault, Params{ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, - } - }, - } -}; - -// ================================================================================================= - -const DatabaseEntry InvertComplexSingle = { - "Invert", Precision::kComplexSingle, {"INTERNAL_BLOCK_SIZE"}, { - { // Default - kDeviceTypeAll, "default", { - { "default", { { kDeviceNameDefault, Params{ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, - } - }, - } -}; - -// ================================================================================================= - -const DatabaseEntry InvertDouble = { - "Invert", Precision::kDouble, {"INTERNAL_BLOCK_SIZE"}, { - { // Default - kDeviceTypeAll, "default", { - { "default", { { kDeviceNameDefault, Params{ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, - } - }, - } -}; - -// ================================================================================================= - -const DatabaseEntry InvertComplexDouble = { - "Invert", Precision::kComplexDouble, {"INTERNAL_BLOCK_SIZE"}, { - { // Default - kDeviceTypeAll, "default", { - { "default", { { kDeviceNameDefault, Params{ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, - } - }, - } -}; - -// ================================================================================================= -} // namespace database -} // namespace clblast diff --git a/src/database/kernels/invert/invert.hpp b/src/database/kernels/invert/invert.hpp new file mode 100644 index 00000000..9b7c2d30 --- /dev/null +++ b/src/database/kernels/invert/invert.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 'Invert' kernels. +// +// ================================================================================================= + +#include "database/kernels/invert/invert_16.hpp" +#include "database/kernels/invert/invert_32.hpp" +#include "database/kernels/invert/invert_3232.hpp" +#include "database/kernels/invert/invert_64.hpp" +#include "database/kernels/invert/invert_6464.hpp" diff --git a/src/database/kernels/invert/invert_16.hpp b/src/database/kernels/invert/invert_16.hpp new file mode 100644 index 00000000..e3941370 --- /dev/null +++ b/src/database/kernels/invert/invert_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 'Invert16' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry InvertHalf = { + "Invert", Precision::kHalf, {"INTERNAL_BLOCK_SIZE", "LOCALPAD", "TMMWGSX", "TMMWGSY"}, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "default", { + { Name{"Intel(R) HD Graphics Skylake ULT GT2 "}, Params{ 16, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { kDeviceNameDefault , Params{ 16, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 16, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/invert/invert_32.hpp b/src/database/kernels/invert/invert_32.hpp new file mode 100644 index 00000000..ca07e947 --- /dev/null +++ b/src/database/kernels/invert/invert_32.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 'Invert32' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry InvertSingle = { + "Invert", Precision::kSingle, {"INTERNAL_BLOCK_SIZE", "LOCALPAD", "TMMWGSX", "TMMWGSY"}, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "default", { + { Name{"Intel(R) HD Graphics Skylake ULT GT2 "}, Params{ 16, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { kDeviceNameDefault , Params{ 16, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 16, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/invert/invert_3232.hpp b/src/database/kernels/invert/invert_3232.hpp new file mode 100644 index 00000000..f01b3c7f --- /dev/null +++ b/src/database/kernels/invert/invert_3232.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 'Invert3232' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry InvertComplexSingle = { + "Invert", Precision::kComplexSingle, {"INTERNAL_BLOCK_SIZE", "LOCALPAD", "TMMWGSX", "TMMWGSY"}, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "default", { + { Name{"Intel(R) HD Graphics Skylake ULT GT2 "}, Params{ 16, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { kDeviceNameDefault , Params{ 16, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 16, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/invert/invert_64.hpp b/src/database/kernels/invert/invert_64.hpp new file mode 100644 index 00000000..e73120ca --- /dev/null +++ b/src/database/kernels/invert/invert_64.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 'Invert64' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry InvertDouble = { + "Invert", Precision::kDouble, {"INTERNAL_BLOCK_SIZE", "LOCALPAD", "TMMWGSX", "TMMWGSY"}, { + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 16, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/invert/invert_6464.hpp b/src/database/kernels/invert/invert_6464.hpp new file mode 100644 index 00000000..184b956a --- /dev/null +++ b/src/database/kernels/invert/invert_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 'Invert6464' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry InvertComplexDouble = { + "Invert", Precision::kComplexDouble, {"INTERNAL_BLOCK_SIZE", "LOCALPAD", "TMMWGSX", "TMMWGSY"}, { + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 16, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/trsv_routine/trsv_routine.hpp b/src/database/kernels/trsv_routine/trsv_routine.hpp new file mode 100644 index 00000000..c4659ad1 --- /dev/null +++ b/src/database/kernels/trsv_routine/trsv_routine.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 'Trsv_Routine' kernels. +// +// ================================================================================================= + +#include "database/kernels/trsv_routine/trsv_routine_16.hpp" +#include "database/kernels/trsv_routine/trsv_routine_32.hpp" +#include "database/kernels/trsv_routine/trsv_routine_3232.hpp" +#include "database/kernels/trsv_routine/trsv_routine_64.hpp" +#include "database/kernels/trsv_routine/trsv_routine_6464.hpp" diff --git a/src/database/kernels/trsv_routine/trsv_routine_16.hpp b/src/database/kernels/trsv_routine/trsv_routine_16.hpp new file mode 100644 index 00000000..c6d5d876 --- /dev/null +++ b/src/database/kernels/trsv_routine/trsv_routine_16.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 'Trsv_Routine16' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry TrsvRoutineHalf = { + "TrsvRoutine", Precision::kHalf, {"TRSV_BLOCK_SIZE"}, { + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/trsv_routine/trsv_routine_32.hpp b/src/database/kernels/trsv_routine/trsv_routine_32.hpp new file mode 100644 index 00000000..7912faf4 --- /dev/null +++ b/src/database/kernels/trsv_routine/trsv_routine_32.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 'Trsv_Routine32' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry TrsvRoutineSingle = { + "TrsvRoutine", Precision::kSingle, {"TRSV_BLOCK_SIZE"}, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "default", { + { Name{"Intel(R) HD Graphics Skylake ULT GT2 "}, Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { kDeviceNameDefault , Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/trsv_routine/trsv_routine_3232.hpp b/src/database/kernels/trsv_routine/trsv_routine_3232.hpp new file mode 100644 index 00000000..4c7f4c88 --- /dev/null +++ b/src/database/kernels/trsv_routine/trsv_routine_3232.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 'Trsv_Routine3232' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry TrsvRoutineComplexSingle = { + "TrsvRoutine", Precision::kComplexSingle, {"TRSV_BLOCK_SIZE"}, { + { // Intel GPUs + kDeviceTypeGPU, "Intel", { + { "default", { + { Name{"Intel(R) HD Graphics Skylake ULT GT2 "}, Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { kDeviceNameDefault , Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/trsv_routine/trsv_routine_64.hpp b/src/database/kernels/trsv_routine/trsv_routine_64.hpp new file mode 100644 index 00000000..e1897b79 --- /dev/null +++ b/src/database/kernels/trsv_routine/trsv_routine_64.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 'Trsv_Routine64' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry TrsvRoutineDouble = { + "TrsvRoutine", Precision::kDouble, {"TRSV_BLOCK_SIZE"}, { + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/trsv_routine/trsv_routine_6464.hpp b/src/database/kernels/trsv_routine/trsv_routine_6464.hpp new file mode 100644 index 00000000..082d3a8e --- /dev/null +++ b/src/database/kernels/trsv_routine/trsv_routine_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 'Trsv_Routine6464' kernels. +// +// ================================================================================================= + +namespace clblast { +namespace database { + +const DatabaseEntry TrsvRoutineComplexDouble = { + "TrsvRoutine", Precision::kComplexDouble, {"TRSV_BLOCK_SIZE"}, { + { // Default + kDeviceTypeAll, "default", { + { "default", { + { kDeviceNameDefault , Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + } }, + } + }, + } +}; + +} // namespace database +} // namespace clblast diff --git a/src/database/kernels/xtrsv.hpp b/src/database/kernels/xtrsv.hpp deleted file mode 100644 index 2d6afbea..00000000 --- a/src/database/kernels/xtrsv.hpp +++ /dev/null @@ -1,78 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file populates the database with best-found tuning parameters for the 'Xtrsv' kernels. -// -// ================================================================================================= - -namespace clblast { -namespace database { -// ================================================================================================= - -const DatabaseEntry XtrsvHalf = { - "Xtrsv", Precision::kHalf, {"TRSV_BLOCK_SIZE"}, { - { // Default - kDeviceTypeAll, "default", { - { "default", { { kDeviceNameDefault, Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, - } - }, - } -}; - -// ================================================================================================= - -const DatabaseEntry XtrsvSingle = { - "Xtrsv", Precision::kSingle, {"TRSV_BLOCK_SIZE"}, { - { // Default - kDeviceTypeAll, "default", { - { "default", { { kDeviceNameDefault, Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, - } - }, - } -}; - -// ================================================================================================= - -const DatabaseEntry XtrsvComplexSingle = { - "Xtrsv", Precision::kComplexSingle, {"TRSV_BLOCK_SIZE"}, { - { // Default - kDeviceTypeAll, "default", { - { "default", { { kDeviceNameDefault, Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, - } - }, - } -}; - -// ================================================================================================= - -const DatabaseEntry XtrsvDouble = { - "Xtrsv", Precision::kDouble, {"TRSV_BLOCK_SIZE"}, { - { // Default - kDeviceTypeAll, "default", { - { "default", { { kDeviceNameDefault, Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, - } - }, - } -}; - -// ================================================================================================= - -const DatabaseEntry XtrsvComplexDouble = { - "Xtrsv", Precision::kComplexDouble, {"TRSV_BLOCK_SIZE"}, { - { // Default - kDeviceTypeAll, "default", { - { "default", { { kDeviceNameDefault, Params{ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }, - } - }, - } -}; - -// ================================================================================================= -} // namespace database -} // namespace clblast |