diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2017-02-05 22:18:59 +0100 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2017-02-05 22:18:59 +0100 |
commit | c248f900c036e1d1644e2cc744c45c94f61c5835 (patch) | |
tree | 9667cb393e82e8ed964ecc2ed5ae6296becf8511 /src/database/database.cpp | |
parent | e7cbb5915aef16f3a64566292459eaede5a600e5 (diff) | |
parent | fd471e380c54d5496ca1e2b7304408d27a9c7649 (diff) |
Merge branch 'development' into triangular_solvers
Diffstat (limited to 'src/database/database.cpp')
-rw-r--r-- | src/database/database.cpp | 9 |
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 ¶meter: parameters_) { + for (auto ¶meter: *parameters_) { defines += "#define "+parameter.first+" "+ToString(parameter.second)+"\n"; } return defines; |