diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2017-09-16 18:02:37 +0200 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2017-09-16 18:02:37 +0200 |
commit | 4e317f5e85916a275ff3d22225f7cd42cea03d9b (patch) | |
tree | 5e87f7a3750e51cd5e8225a04fa09470c949b97d /src/database/database_structure.hpp | |
parent | c21878eccee068a039f6c9567f8286c18751c69a (diff) |
Improved compilation time of the tuner database
Diffstat (limited to 'src/database/database_structure.hpp')
-rw-r--r-- | src/database/database_structure.hpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/database/database_structure.hpp b/src/database/database_structure.hpp index 35d73ffe..d592d7ac 100644 --- a/src/database/database_structure.hpp +++ b/src/database/database_structure.hpp @@ -15,6 +15,7 @@ #define CLBLAST_DATABASE_DATABASE_STRUCTURE_H_ #include <string> +#include <array> #include <vector> #include <unordered_map> @@ -24,19 +25,23 @@ namespace database { // ================================================================================================= +// Type alias for the database storage (arrays for fast compilation/efficiency) +using Name = std::array<char, 51>; // name as stored in database (50 chars + string terminator) +using Params = std::array<size_t, 14>; // parameters as stored in database + +// Type alias after extracting from the database (map for improved code readability) +using Parameters = std::unordered_map<std::string, size_t>; // parameters after reading from DB + // The OpenCL device types const std::string kDeviceTypeCPU = "CPU"; const std::string kDeviceTypeGPU = "GPU"; const std::string kDeviceTypeAccelerator = "accelerator"; const std::string kDeviceTypeAll = "default"; +const Name kDeviceNameDefault = {"default "}; -// Type alias for the database parameters -using Parameters = std::unordered_map<std::string, size_t>; - -// Structures for content inside the database struct DatabaseDevice { - const std::string name; - const std::vector<size_t> parameters; // parameter values + const Name name; + const Params parameters; // parameter values }; struct DatabaseArchitecture { const std::string name; |