summaryrefslogtreecommitdiff
path: root/src/database/database.cpp
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2017-02-05 22:18:59 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2017-02-05 22:18:59 +0100
commitc248f900c036e1d1644e2cc744c45c94f61c5835 (patch)
tree9667cb393e82e8ed964ecc2ed5ae6296becf8511 /src/database/database.cpp
parente7cbb5915aef16f3a64566292459eaede5a600e5 (diff)
parentfd471e380c54d5496ca1e2b7304408d27a9c7649 (diff)
Merge branch 'development' into triangular_solvers
Diffstat (limited to 'src/database/database.cpp')
-rw-r--r--src/database/database.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/database/database.cpp b/src/database/database.cpp
index c000b0b7..aff6490d 100644
--- a/src/database/database.cpp
+++ b/src/database/database.cpp
@@ -67,12 +67,11 @@ const std::unordered_map<std::string, std::string> Database::kVendorNames{
// Constructor, computing device properties and populating the parameter-vector from the database.
// This takes an optional overlay database in case of custom tuning or custom kernels.
-Database::Database(const Queue &queue, const std::vector<std::string> &kernels,
+Database::Database(const Device &device, const std::vector<std::string> &kernels,
const Precision precision, const std::vector<const DatabaseEntry*> &overlay):
- parameters_{} {
+ parameters_(std::make_shared<Parameters>()) {
// Finds information of the current device
- auto device = queue.GetDevice();
auto device_type = device.Type();
auto device_vendor = device.Vendor();
auto device_name = device.Name();
@@ -91,7 +90,7 @@ Database::Database(const Queue &queue, const std::vector<std::string> &kernels,
for (auto &db: { database, overlay}) {
search_result = Search(kernel, device_type, device_vendor, device_name, precision, db);
if (search_result) {
- parameters_.insert(search_result->begin(), search_result->end());
+ parameters_->insert(search_result->begin(), search_result->end());
break;
}
}
@@ -105,7 +104,7 @@ Database::Database(const Queue &queue, const std::vector<std::string> &kernels,
// Returns a list of OpenCL pre-processor defines in string form
std::string Database::GetDefines() const {
std::string defines{};
- for (auto &parameter: parameters_) {
+ for (auto &parameter: *parameters_) {
defines += "#define "+parameter.first+" "+ToString(parameter.second)+"\n";
}
return defines;