summaryrefslogtreecommitdiff
path: root/src/cache.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cache.hpp')
-rw-r--r--src/cache.hpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/cache.hpp b/src/cache.hpp
index 25d6f076..c3675f07 100644
--- a/src/cache.hpp
+++ b/src/cache.hpp
@@ -86,6 +86,20 @@ extern template class Cache<ProgramKey, Program>;
extern template Program ProgramCache::Get(const ProgramKeyRef &, bool *) const;
// =================================================================================================
+
+class Database;
+
+// The key struct for the cache of database maps.
+// Order of fields: precision, device_name, routines (smaller fields first)
+typedef std::tuple<Precision, std::string, std::vector<std::string>> DatabaseKey;
+typedef std::tuple<const Precision &, const std::string &, const std::vector<std::string> &> DatabaseKeyRef;
+
+typedef Cache<DatabaseKey, Database> DatabaseCache;
+
+extern template class Cache<DatabaseKey, Database>;
+extern template Database DatabaseCache::Get(const DatabaseKeyRef &, bool *) const;
+
+// =================================================================================================
} // namespace clblast
// CLBLAST_CACHE_H_