summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2016-01-30 11:43:21 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2016-01-30 11:43:21 +0100
commit276e772a2c672ad868ba57e06d55e4991c793207 (patch)
tree015c32f78022e65403dc207c80d2b52458363f68 /src
parent76c91480303dd398b4ff5953a833e493b1409630 (diff)
Added first auto-generated database headers from the Python database; only K40 and Iris supported now
Diffstat (limited to 'src')
-rw-r--r--src/database.cc8
-rw-r--r--src/routines/level3/xgemm.cc2
-rw-r--r--src/routines/level3/xher2k.cc2
-rw-r--r--src/routines/level3/xherk.cc2
-rw-r--r--src/routines/level3/xsyr2k.cc2
-rw-r--r--src/routines/level3/xsyrk.cc2
6 files changed, 10 insertions, 8 deletions
diff --git a/src/database.cc b/src/database.cc
index b7275dad..7f5ac6eb 100644
--- a/src/database.cc
+++ b/src/database.cc
@@ -34,8 +34,8 @@ const std::vector<Database::DatabaseEntry> Database::database = {
XgemmSingle, XgemmDouble, XgemmComplexSingle, XgemmComplexDouble,
CopySingle, CopyDouble, CopyComplexSingle, CopyComplexDouble,
PadSingle, PadDouble, PadComplexSingle, PadComplexDouble,
- TraSingle, TraDouble, TraComplexSingle, TraComplexDouble,
- PadTraSingle, PadTraDouble, PadTraComplexSingle, PadTraComplexDouble
+ TransposeSingle, TransposeDouble, TransposeComplexSingle, TransposeComplexDouble,
+ PadtransposeSingle, PadtransposeDouble, PadtransposeComplexSingle, PadtransposeComplexDouble
};
// =================================================================================================
@@ -78,6 +78,7 @@ Database::Parameters Database::Search(const std::string &this_kernel,
const std::string &this_device,
const Precision this_precision) const {
for (auto &db: database) {
+
if (db.kernel == this_kernel && db.precision == this_precision) {
// Searches for the right vendor and device type, or selects the default if unavailable. This
@@ -89,7 +90,8 @@ Database::Parameters Database::Search(const std::string &this_kernel,
// Searches for the right device. If the current device is unavailable, selects the vendor
// default parameters. This assumes the default is last in the database.
for (auto &device: vendor.devices) {
- if (device.name == this_device || device.name == kDefaultDevice) {
+
+ if (device.name == this_device || device.name == "default") {
// Sets the parameters accordingly
return device.parameters;
diff --git a/src/routines/level3/xgemm.cc b/src/routines/level3/xgemm.cc
index 94aadcad..3961a3fd 100644
--- a/src/routines/level3/xgemm.cc
+++ b/src/routines/level3/xgemm.cc
@@ -30,7 +30,7 @@ template <> const Precision Xgemm<double2>::precision_ = Precision::kComplexDoub
// Constructor: forwards to base class constructor
template <typename T>
Xgemm<T>::Xgemm(Queue &queue, Event &event, const std::string &name):
- Routine<T>(queue, event, name, {"Copy","Pad","Transpose","PadTranspose","Xgemm"}, precision_) {
+ Routine<T>(queue, event, name, {"Copy","Pad","Transpose","Padtranspose","Xgemm"}, precision_) {
source_string_ =
#include "../../kernels/level3/copy.opencl"
#include "../../kernels/level3/pad.opencl"
diff --git a/src/routines/level3/xher2k.cc b/src/routines/level3/xher2k.cc
index 5b84decb..e9970fd1 100644
--- a/src/routines/level3/xher2k.cc
+++ b/src/routines/level3/xher2k.cc
@@ -28,7 +28,7 @@ template <> const Precision Xher2k<double2,double>::precision_ = Precision::kCom
// Constructor: forwards to base class constructor
template <typename T, typename U>
Xher2k<T,U>::Xher2k(Queue &queue, Event &event, const std::string &name):
- Routine<T>(queue, event, name, {"Copy","Pad","Transpose","PadTranspose","Xgemm"}, precision_) {
+ Routine<T>(queue, event, name, {"Copy","Pad","Transpose","Padtranspose","Xgemm"}, precision_) {
source_string_ =
#include "../../kernels/level3/copy.opencl"
#include "../../kernels/level3/pad.opencl"
diff --git a/src/routines/level3/xherk.cc b/src/routines/level3/xherk.cc
index 6a915c0b..49fd12af 100644
--- a/src/routines/level3/xherk.cc
+++ b/src/routines/level3/xherk.cc
@@ -28,7 +28,7 @@ template <> const Precision Xherk<double2,double>::precision_ = Precision::kComp
// Constructor: forwards to base class constructor
template <typename T, typename U>
Xherk<T,U>::Xherk(Queue &queue, Event &event, const std::string &name):
- Routine<T>(queue, event, name, {"Copy","Pad","Transpose","PadTranspose","Xgemm"}, precision_) {
+ Routine<T>(queue, event, name, {"Copy","Pad","Transpose","Padtranspose","Xgemm"}, precision_) {
source_string_ =
#include "../../kernels/level3/copy.opencl"
#include "../../kernels/level3/pad.opencl"
diff --git a/src/routines/level3/xsyr2k.cc b/src/routines/level3/xsyr2k.cc
index de5f1afc..966a000f 100644
--- a/src/routines/level3/xsyr2k.cc
+++ b/src/routines/level3/xsyr2k.cc
@@ -30,7 +30,7 @@ template <> const Precision Xsyr2k<double2>::precision_ = Precision::kComplexDou
// Constructor: forwards to base class constructor
template <typename T>
Xsyr2k<T>::Xsyr2k(Queue &queue, Event &event, const std::string &name):
- Routine<T>(queue, event, name, {"Copy","Pad","Transpose","PadTranspose","Xgemm"}, precision_) {
+ Routine<T>(queue, event, name, {"Copy","Pad","Transpose","Padtranspose","Xgemm"}, precision_) {
source_string_ =
#include "../../kernels/level3/copy.opencl"
#include "../../kernels/level3/pad.opencl"
diff --git a/src/routines/level3/xsyrk.cc b/src/routines/level3/xsyrk.cc
index d8fc6357..630cb731 100644
--- a/src/routines/level3/xsyrk.cc
+++ b/src/routines/level3/xsyrk.cc
@@ -30,7 +30,7 @@ template <> const Precision Xsyrk<double2>::precision_ = Precision::kComplexDoub
// Constructor: forwards to base class constructor
template <typename T>
Xsyrk<T>::Xsyrk(Queue &queue, Event &event, const std::string &name):
- Routine<T>(queue, event, name, {"Copy","Pad","Transpose","PadTranspose","Xgemm"}, precision_) {
+ Routine<T>(queue, event, name, {"Copy","Pad","Transpose","Padtranspose","Xgemm"}, precision_) {
source_string_ =
#include "../../kernels/level3/copy.opencl"
#include "../../kernels/level3/pad.opencl"