From 276e772a2c672ad868ba57e06d55e4991c793207 Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Sat, 30 Jan 2016 11:43:21 +0100 Subject: Added first auto-generated database headers from the Python database; only K40 and Iris supported now --- src/database.cc | 8 +++++--- src/routines/level3/xgemm.cc | 2 +- src/routines/level3/xher2k.cc | 2 +- src/routines/level3/xherk.cc | 2 +- src/routines/level3/xsyr2k.cc | 2 +- src/routines/level3/xsyrk.cc | 2 +- 6 files changed, 10 insertions(+), 8 deletions(-) (limited to 'src') 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::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::precision_ = Precision::kComplexDoub // Constructor: forwards to base class constructor template Xgemm::Xgemm(Queue &queue, Event &event, const std::string &name): - Routine(queue, event, name, {"Copy","Pad","Transpose","PadTranspose","Xgemm"}, precision_) { + Routine(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::precision_ = Precision::kCom // Constructor: forwards to base class constructor template Xher2k::Xher2k(Queue &queue, Event &event, const std::string &name): - Routine(queue, event, name, {"Copy","Pad","Transpose","PadTranspose","Xgemm"}, precision_) { + Routine(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::precision_ = Precision::kComp // Constructor: forwards to base class constructor template Xherk::Xherk(Queue &queue, Event &event, const std::string &name): - Routine(queue, event, name, {"Copy","Pad","Transpose","PadTranspose","Xgemm"}, precision_) { + Routine(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::precision_ = Precision::kComplexDou // Constructor: forwards to base class constructor template Xsyr2k::Xsyr2k(Queue &queue, Event &event, const std::string &name): - Routine(queue, event, name, {"Copy","Pad","Transpose","PadTranspose","Xgemm"}, precision_) { + Routine(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::precision_ = Precision::kComplexDoub // Constructor: forwards to base class constructor template Xsyrk::Xsyrk(Queue &queue, Event &event, const std::string &name): - Routine(queue, event, name, {"Copy","Pad","Transpose","PadTranspose","Xgemm"}, precision_) { + Routine(queue, event, name, {"Copy","Pad","Transpose","Padtranspose","Xgemm"}, precision_) { source_string_ = #include "../../kernels/level3/copy.opencl" #include "../../kernels/level3/pad.opencl" -- cgit v1.2.3