summaryrefslogtreecommitdiff
path: root/src/database
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2017-12-26 11:32:05 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2017-12-26 11:32:05 +0100
commit4a2fc4aa989ce84dc476cf9508adb676a042896b (patch)
treea7f966a5ce3391561a5d88cf18d96504fc420c71 /src/database
parentbd540829ea1954c3b367ec70aa8c5811b643422b (diff)
Made the database-vector a non-static member
Diffstat (limited to 'src/database')
-rw-r--r--src/database/database.cpp36
-rw-r--r--src/database/database.hpp2
2 files changed, 19 insertions, 19 deletions
diff --git a/src/database/database.cpp b/src/database/database.cpp
index 56c93f18..ed56c65d 100644
--- a/src/database/database.cpp
+++ b/src/database/database.cpp
@@ -39,24 +39,6 @@
namespace clblast {
// =================================================================================================
-// Initializes the databases
-const std::vector<database::DatabaseEntry> Database::database = std::vector<database::DatabaseEntry>{
- database::XaxpyHalf, database::XaxpySingle, database::XaxpyDouble, database::XaxpyComplexSingle, database::XaxpyComplexDouble,
- database::XdotHalf, database::XdotSingle, database::XdotDouble, database::XdotComplexSingle, database::XdotComplexDouble,
- database::XgemvHalf, database::XgemvSingle, database::XgemvDouble, database::XgemvComplexSingle, database::XgemvComplexDouble,
- database::XgemvFastHalf, database::XgemvFastSingle, database::XgemvFastDouble, database::XgemvFastComplexSingle, database::XgemvFastComplexDouble,
- database::XgemvFastRotHalf, database::XgemvFastRotSingle, database::XgemvFastRotDouble, database::XgemvFastRotComplexSingle, database::XgemvFastRotComplexDouble,
- database::XgerHalf, database::XgerSingle, database::XgerDouble, database::XgerComplexSingle, database::XgerComplexDouble,
- database::XgemmHalf, database::XgemmSingle, database::XgemmDouble, database::XgemmComplexSingle, database::XgemmComplexDouble,
- database::XgemmDirectHalf, database::XgemmDirectSingle, database::XgemmDirectDouble, database::XgemmDirectComplexSingle, database::XgemmDirectComplexDouble,
- database::CopyHalf, database::CopySingle, database::CopyDouble, database::CopyComplexSingle, database::CopyComplexDouble,
- database::PadHalf, database::PadSingle, database::PadDouble, database::PadComplexSingle, database::PadComplexDouble,
- database::TransposeHalf, database::TransposeSingle, database::TransposeDouble, database::TransposeComplexSingle, database::TransposeComplexDouble,
- database::PadtransposeHalf, database::PadtransposeSingle, database::PadtransposeDouble, database::PadtransposeComplexSingle, database::PadtransposeComplexDouble,
- database::InvertHalf, database::InvertSingle, database::InvertDouble, database::InvertComplexSingle, database::InvertComplexDouble,
- database::GemmRoutineHalf, database::GemmRoutineSingle, database::GemmRoutineDouble, database::GemmRoutineComplexSingle, database::GemmRoutineComplexDouble,
- database::TrsvRoutineHalf, database::TrsvRoutineSingle, database::TrsvRoutineDouble, database::TrsvRoutineComplexSingle, database::TrsvRoutineComplexDouble
-};
const std::vector<database::DatabaseEntry> Database::apple_cpu_fallback = std::vector<database::DatabaseEntry>{
database::XaxpyApple, database::XdotApple,
database::XgemvApple, database::XgemvFastApple, database::XgemvFastRotApple, database::XgerApple, database::XtrsvApple,
@@ -76,6 +58,24 @@ Database::Database(const Device &device, const std::string &kernel_name,
const Precision precision, const std::vector<database::DatabaseEntry> &overlay):
parameters_(std::make_shared<database::Parameters>()) {
+ database = std::vector<database::DatabaseEntry>{
+ database::XaxpyHalf, database::XaxpySingle, database::XaxpyDouble, database::XaxpyComplexSingle, database::XaxpyComplexDouble,
+ database::XdotHalf, database::XdotSingle, database::XdotDouble, database::XdotComplexSingle, database::XdotComplexDouble,
+ database::XgemvHalf, database::XgemvSingle, database::XgemvDouble, database::XgemvComplexSingle, database::XgemvComplexDouble,
+ database::XgemvFastHalf, database::XgemvFastSingle, database::XgemvFastDouble, database::XgemvFastComplexSingle, database::XgemvFastComplexDouble,
+ database::XgemvFastRotHalf, database::XgemvFastRotSingle, database::XgemvFastRotDouble, database::XgemvFastRotComplexSingle, database::XgemvFastRotComplexDouble,
+ database::XgerHalf, database::XgerSingle, database::XgerDouble, database::XgerComplexSingle, database::XgerComplexDouble,
+ database::XgemmHalf, database::XgemmSingle, database::XgemmDouble, database::XgemmComplexSingle, database::XgemmComplexDouble,
+ database::XgemmDirectHalf, database::XgemmDirectSingle, database::XgemmDirectDouble, database::XgemmDirectComplexSingle, database::XgemmDirectComplexDouble,
+ database::CopyHalf, database::CopySingle, database::CopyDouble, database::CopyComplexSingle, database::CopyComplexDouble,
+ database::PadHalf, database::PadSingle, database::PadDouble, database::PadComplexSingle, database::PadComplexDouble,
+ database::TransposeHalf, database::TransposeSingle, database::TransposeDouble, database::TransposeComplexSingle, database::TransposeComplexDouble,
+ database::PadtransposeHalf, database::PadtransposeSingle, database::PadtransposeDouble, database::PadtransposeComplexSingle, database::PadtransposeComplexDouble,
+ database::InvertHalf, database::InvertSingle, database::InvertDouble, database::InvertComplexSingle, database::InvertComplexDouble,
+ database::GemmRoutineHalf, database::GemmRoutineSingle, database::GemmRoutineDouble, database::GemmRoutineComplexSingle, database::GemmRoutineComplexDouble,
+ database::TrsvRoutineHalf, database::TrsvRoutineSingle, database::TrsvRoutineDouble, database::TrsvRoutineComplexSingle, database::TrsvRoutineComplexDouble
+ };
+
// Finds device information
const auto device_type = GetDeviceType(device);
const auto device_vendor = GetDeviceVendor(device);
diff --git a/src/database/database.hpp b/src/database/database.hpp
index 04e9f095..de4306bc 100644
--- a/src/database/database.hpp
+++ b/src/database/database.hpp
@@ -35,7 +35,7 @@ class Database {
static const std::string kDeviceVendorAll;
// The database consists of separate database entries, stored together in a vector
- static const std::vector<database::DatabaseEntry> database;
+ std::vector<database::DatabaseEntry> database;
// Database for a special case: Apple CPUs support limited number of threads
static const std::vector<database::DatabaseEntry> apple_cpu_fallback;