summaryrefslogtreecommitdiff
path: root/src/database/kernels
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2017-12-23 13:55:22 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2017-12-23 13:55:22 +0100
commitb1f52f130c4f9e4346579003b2786aa2e082f234 (patch)
tree1c0807409adf163e8abe1cba52509873a6c65f48 /src/database/kernels
parentaa7db4f987360fe1956add9391c6e81aa61b75f3 (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.hpp78
-rw-r--r--src/database/kernels/invert/invert.hpp14
-rw-r--r--src/database/kernels/invert/invert_16.hpp34
-rw-r--r--src/database/kernels/invert/invert_32.hpp34
-rw-r--r--src/database/kernels/invert/invert_3232.hpp34
-rw-r--r--src/database/kernels/invert/invert_64.hpp26
-rw-r--r--src/database/kernels/invert/invert_6464.hpp26
-rw-r--r--src/database/kernels/trsv_routine/trsv_routine.hpp14
-rw-r--r--src/database/kernels/trsv_routine/trsv_routine_16.hpp26
-rw-r--r--src/database/kernels/trsv_routine/trsv_routine_32.hpp34
-rw-r--r--src/database/kernels/trsv_routine/trsv_routine_3232.hpp34
-rw-r--r--src/database/kernels/trsv_routine/trsv_routine_64.hpp26
-rw-r--r--src/database/kernels/trsv_routine/trsv_routine_6464.hpp26
-rw-r--r--src/database/kernels/xtrsv.hpp78
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