summaryrefslogtreecommitdiff
path: root/src/database/database.hpp
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2017-09-08 21:09:05 +0200
committerCedric Nugteren <web@cedricnugteren.nl>2017-09-08 21:09:05 +0200
commit91ea7fcde2ac274db50b35fbbdb7deb89fb65b51 (patch)
tree689b41f39b4af203e9d557526e8d3fe2ebfb556c /src/database/database.hpp
parent20da5e33a86eda746c17cbdb7bfd295d9f92f074 (diff)
Introduced the notion of a device-architecture for the database and added device and architecture name mappings
Diffstat (limited to 'src/database/database.hpp')
-rw-r--r--src/database/database.hpp21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/database/database.hpp b/src/database/database.hpp
index 66cf93d5..e7a79cf9 100644
--- a/src/database/database.hpp
+++ b/src/database/database.hpp
@@ -23,6 +23,7 @@
#include "utilities/utilities.hpp"
#include "database/database_structure.hpp"
+#include "database/device_mapping.hpp"
namespace clblast {
// =================================================================================================
@@ -34,9 +35,6 @@ class Database {
// The OpenCL device vendors
static const std::string kDeviceVendorAll;
- // Alternative names for some OpenCL vendors
- static const std::unordered_map<std::string, std::string> kVendorNames;
-
// The database consists of separate database entries, stored together in a vector
static const std::vector<database::DatabaseEntry> database;
@@ -61,18 +59,19 @@ class Database {
private:
// Search method functions, returning a set of parameters (possibly empty)
- database::Parameters Search(const std::string &this_kernel, const std::string &this_type,
- const std::string &this_vendor, const std::string &this_device,
- const Precision this_precision,
- const std::vector<database::DatabaseEntry> &db) const;
+ database::Parameters Search(const std::string &this_kernel,
+ const std::string &this_vendor, const std::string &this_type,
+ const std::string &this_device, const std::string &this_architecture,
+ const Precision this_precision,
+ const std::vector<database::DatabaseEntry> &db) const;
database::Parameters SearchDevice(const std::string &target_device,
const std::vector<database::DatabaseDevice> &devices,
const std::vector<std::string> &parameter_names) const;
database::Parameters SearchVendorAndType(const std::string &target_vendor,
- const std::string &target_type,
- const std::string &this_device,
- const std::vector<database::DatabaseVendor> &vendors,
- const std::vector<std::string> &parameter_names) const;
+ const std::string &target_type,
+ const std::string &this_device, const std::string &this_architecture,
+ const std::vector<database::DatabaseVendor> &vendors,
+ const std::vector<std::string> &parameter_names) const;
// Found parameters suitable for this device/kernel
std::shared_ptr<database::Parameters> parameters_;