diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2017-06-20 21:19:26 +0200 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2017-06-20 21:19:26 +0200 |
commit | e44feb85763c5dbae66beb51892d8dda2126e04c (patch) | |
tree | 965ed12eee66d34069a700c1310ddf8d298709f9 /src/database | |
parent | 48f2682eb7ee72b0f9e6f2922569fcf352f8ce5f (diff) |
Changed the structure of the database to reduce compilation time and save memory
Diffstat (limited to 'src/database')
-rw-r--r-- | src/database/apple_cpu_fallback.hpp | 28 | ||||
-rw-r--r-- | src/database/database.cpp | 30 | ||||
-rw-r--r-- | src/database/database.hpp | 14 | ||||
-rw-r--r-- | src/database/kernel_selection.hpp | 40 | ||||
-rw-r--r-- | src/database/kernels/copy.hpp | 352 | ||||
-rw-r--r-- | src/database/kernels/invert.hpp | 20 | ||||
-rw-r--r-- | src/database/kernels/pad.hpp | 360 | ||||
-rw-r--r-- | src/database/kernels/padtranspose.hpp | 358 | ||||
-rw-r--r-- | src/database/kernels/transpose.hpp | 352 | ||||
-rw-r--r-- | src/database/kernels/xaxpy.hpp | 360 | ||||
-rw-r--r-- | src/database/kernels/xdot.hpp | 284 | ||||
-rw-r--r-- | src/database/kernels/xgemm.hpp | 356 | ||||
-rw-r--r-- | src/database/kernels/xgemm_direct.hpp | 160 | ||||
-rw-r--r-- | src/database/kernels/xgemv.hpp | 304 | ||||
-rw-r--r-- | src/database/kernels/xgemv_fast.hpp | 292 | ||||
-rw-r--r-- | src/database/kernels/xgemv_fast_rot.hpp | 166 | ||||
-rw-r--r-- | src/database/kernels/xger.hpp | 300 | ||||
-rw-r--r-- | src/database/kernels/xtrsv.hpp | 20 |
18 files changed, 1901 insertions, 1895 deletions
diff --git a/src/database/apple_cpu_fallback.hpp b/src/database/apple_cpu_fallback.hpp index 89ac8f71..ae42749d 100644 --- a/src/database/apple_cpu_fallback.hpp +++ b/src/database/apple_cpu_fallback.hpp @@ -23,46 +23,46 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry XaxpyApple = { - "Xaxpy", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"VW",8}, {"WGS",1}, {"WPT",4} } } } } } + "Xaxpy", Precision::kAny, {"VW", "WGS", "WPT"}, { { kDeviceTypeAll, "default", { { "default", { 8, 1, 4 } } } } } }; const Database::DatabaseEntry XdotApple = { - "Xdot", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"WGS1",1}, {"WGS2",1} } } } } } + "Xdot", Precision::kAny, {"WGS1", "WGS2"}, { { kDeviceTypeAll, "default", { { "default", { 1, 1 } } } } } }; const Database::DatabaseEntry XgemvApple = { - "Xgemv", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"WGS1",1}, {"WPT1",4}, {"UNROLL1", 1} } } } } } + "Xgemv", Precision::kAny, {"WGS1", "WPT1", "UNROLL1"}, { { kDeviceTypeAll, "default", { { "default", { 1, 4, 1 } } } } } }; const Database::DatabaseEntry XgemvFastApple = { - "XgemvFast", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"VW2",1}, {"WGS2",1}, {"WPT2",1} } } } } } + "XgemvFast", Precision::kAny, {"VW2", "WGS2", "WPT2"}, { { kDeviceTypeAll, "default", { { "default", { 1, 1, 1 } } } } } }; const Database::DatabaseEntry XgemvFastRotApple = { - "XgemvFastRot", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"VW3",1}, {"WGS3",1}, {"WPT3",1} } } } } } + "XgemvFastRot", Precision::kAny, {"VW3", "WGS3", "WPT3"}, { { kDeviceTypeAll, "default", { { "default", { 1, 1, 1 } } } } } }; const Database::DatabaseEntry XgerApple = { - "Xger", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"WGS1",64}, {"WGS2",1}, {"WPT",2} } } } } } + "Xger", Precision::kAny, {"WGS1", "WGS2", "WPT"}, { { kDeviceTypeAll, "default", { { "default", { 64, 1, 2 } } } } } }; const Database::DatabaseEntry XtrsvApple = { - "Xtrsv", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"TRSV_BLOCK_SIZE",32} } } } } } + "Xtrsv", Precision::kAny, {"TRSV_BLOCK_SIZE"}, { { kDeviceTypeAll, "default", { { "default", { 32 } } } } } }; const Database::DatabaseEntry XgemmApple = { - "Xgemm", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"KWG",1}, {"KWI",1}, {"MDIMA",1}, {"MDIMC",1}, {"MWG",1}, {"NDIMB",1}, {"NDIMC",1}, {"NWG",1}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",1} } } } } } + "Xgemm", Precision::kAny, {"KWG", "KWI", "MDIMA", "MDIMC", "MWG", "NDIMB", "NDIMC", "NWG", "SA", "SB", "STRM", "STRN", "VWM", "VWN"}, { { kDeviceTypeAll, "default", { { "default", { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1 } } } } } }; const Database::DatabaseEntry XgemmDirectApple = { - "XgemmDirect", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"KWID",1}, {"MDIMAD",1}, {"MDIMCD",1}, {"NDIMBD",1}, {"NDIMCD",1}, {"PADA",0}, {"PADB",0}, {"VWMD",1}, {"VWND",1}, {"WGD",1} } } } } } + "XgemmDirect", Precision::kAny, {"KWID", "MDIMAD", "MDIMCD", "NDIMBD", "NDIMCD", "PADA", "PADB", "VWMD", "VWND", "WGD"}, { { kDeviceTypeAll, "default", { { "default", { 1, 1, 1, 1, 1, 0, 0, 1, 1, 1 } } } } } }; const Database::DatabaseEntry CopyApple = { - "Copy", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"COPY_DIMX",1}, {"COPY_DIMY",1}, {"COPY_VW",1}, {"COPY_WPT",1} } } } } } + "Copy", Precision::kAny, {"COPY_DIMX", "COPY_DIMY", "COPY_VW", "COPY_WPT"}, { { kDeviceTypeAll, "default", { { "default", { 1, 1, 1, 1 } } } } } }; const Database::DatabaseEntry PadApple = { - "Pad", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"PAD_DIMX",1}, {"PAD_DIMY",1}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } } } } } + "Pad", Precision::kAny, {"PAD_DIMX", "PAD_DIMY", "PAD_WPTX", "PAD_WPTY"}, { { kDeviceTypeAll, "default", { { "default", { 1, 1, 1, 1 } } } } } }; const Database::DatabaseEntry TransposeApple = { - "Transpose", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"TRA_DIM",1}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } } } } } + "Transpose", Precision::kAny, {"TRA_DIM", "TRA_PAD", "TRA_SHUFFLE", "TRA_WPT"}, { { kDeviceTypeAll, "default", { { "default", { 1, 0, 0, 1 } } } } } }; const Database::DatabaseEntry PadtransposeApple = { - "Padtranspose", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",1}, {"PADTRA_WPT",1} } } } } } + "Padtranspose", Precision::kAny, {"PADTRA_PAD", "PADTRA_TILE", "PADTRA_WPT"}, { { kDeviceTypeAll, "default", { { "default", { 0, 1, 1 } } } } } }; const Database::DatabaseEntry InvertApple = { - "Invert", Precision::kAny, { { kDeviceTypeAll, "default", { { "default", { {"INTERNAL_BLOCK_SIZE",16} } } } } } + "Invert", Precision::kAny, {"INTERNAL_BLOCK_SIZE"}, { { kDeviceTypeAll, "default", { { "default", { 16 } } } } } }; // ================================================================================================= diff --git a/src/database/database.cpp b/src/database/database.cpp index 404be804..fe543122 100644 --- a/src/database/database.cpp +++ b/src/database/database.cpp @@ -108,16 +108,16 @@ Database::Database(const Device &device, const std::string &kernel_name, #endif // Searches potentially multiple databases - auto search_result = ParametersPtr{}; + auto search_result = Parameters(); for (auto &db: databases) { search_result = Search(kernel_name, device_type, device_vendor, device_name, precision, db); - if (search_result) { - parameters_->insert(search_result->begin(), search_result->end()); + if (search_result.size() != 0) { + parameters_->insert(search_result.begin(), search_result.end()); break; } } - if (!search_result) { throw RuntimeErrorCode(StatusCode::kDatabaseError); } + if (search_result.size() == 0) { throw RuntimeErrorCode(StatusCode::kDatabaseError); } } // ================================================================================================= @@ -143,17 +143,18 @@ std::vector<std::string> Database::GetParameterNames() const { // ================================================================================================= // Searches a particular database for the right kernel and precision -Database::ParametersPtr Database::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<DatabaseEntry> &this_database) const { +Database::Parameters Database::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<DatabaseEntry> &this_database) const { // Selects the right kernel for (auto &db: this_database) { if ((db.kernel == this_kernel) && (db.precision == this_precision || db.precision == Precision::kAny)) { + const auto parameter_names = db.parameter_names; // Searches for the right vendor and device type, or selects the default if unavailable. This // assumes that the default vendor / device type is last in the database. @@ -168,7 +169,12 @@ Database::ParametersPtr Database::Search(const std::string &this_kernel, if (device.name == this_device || device.name == "default") { // Sets the parameters accordingly - return &device.parameters; + auto parameters = Parameters(); + if (parameter_names.size() != device.parameters.size()) { return Parameters(); } // ERROR + for (auto i = size_t{0}; i < parameter_names.size(); ++i) { + parameters[parameter_names[i]] = device.parameters[i]; + } + return parameters; } } } @@ -177,7 +183,7 @@ Database::ParametersPtr Database::Search(const std::string &this_kernel, } // If we reached this point, the entry was not found in this database - return nullptr; + return Parameters(); } // ================================================================================================= diff --git a/src/database/database.hpp b/src/database/database.hpp index 82fbc252..3f984439 100644 --- a/src/database/database.hpp +++ b/src/database/database.hpp @@ -44,13 +44,12 @@ class Database { public: // Type alias for the database parameters - using Parameters = std::unordered_map<std::string,size_t>; - using ParametersPtr = const Parameters*; + using Parameters = std::unordered_map<std::string, size_t>; // Structures for content inside the database struct DatabaseDevice { std::string name; - Parameters parameters; + std::vector<size_t> parameters; // parameter values }; struct DatabaseVendor { std::string type; @@ -60,6 +59,7 @@ class Database { struct DatabaseEntry { std::string kernel; Precision precision; + std::vector<std::string> parameter_names; std::vector<DatabaseVendor> vendors; }; @@ -93,10 +93,10 @@ class Database { private: // Search method for a specified database, returning pointer (possibly a nullptr) - ParametersPtr 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<DatabaseEntry> &db) const; + 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<DatabaseEntry> &db) const; // Found parameters suitable for this device/kernel std::shared_ptr<Parameters> parameters_; diff --git a/src/database/kernel_selection.hpp b/src/database/kernel_selection.hpp index 0ef6d9a0..44ef0d32 100644 --- a/src/database/kernel_selection.hpp +++ b/src/database/kernel_selection.hpp @@ -19,20 +19,20 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry KernelSelectionHalf = { - "KernelSelection", Precision::kHalf, { + "KernelSelection", Precision::kHalf, {"XGEMM_MIN_INDIRECT_SIZE"}, { { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",1*1*1} } }, + { "default", { 1*1*1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",1280*1280*1280} } }, + { "default", { 1280*1280*1280 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",512*512*512} } }, + { "default", { 512*512*512 } }, } }, } @@ -41,20 +41,20 @@ const Database::DatabaseEntry KernelSelectionHalf = { // ================================================================================================= const Database::DatabaseEntry KernelSelectionSingle = { - "KernelSelection", Precision::kSingle, { + "KernelSelection", Precision::kSingle, {"XGEMM_MIN_INDIRECT_SIZE"}, { { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",1*1*1} } }, + { "default", { 1*1*1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",1280*1280*1280} } }, + { "default", { 1280*1280*1280 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",512*512*512} } }, + { "default", { 512*512*512 } }, } }, } @@ -63,20 +63,20 @@ const Database::DatabaseEntry KernelSelectionSingle = { // ================================================================================================= const Database::DatabaseEntry KernelSelectionComplexSingle = { - "KernelSelection", Precision::kComplexSingle, { + "KernelSelection", Precision::kComplexSingle, {"XGEMM_MIN_INDIRECT_SIZE"}, { { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",1*1*1} } }, + { "default", { 1*1*1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",1280*1280*1280} } }, + { "default", { 1280*1280*1280 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",512*512*512} } }, + { "default", { 512*512*512 } }, } }, } @@ -85,20 +85,20 @@ const Database::DatabaseEntry KernelSelectionComplexSingle = { // ================================================================================================= const Database::DatabaseEntry KernelSelectionDouble = { - "KernelSelection", Precision::kDouble, { + "KernelSelection", Precision::kDouble, {"XGEMM_MIN_INDIRECT_SIZE"}, { { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",1*1*1} } }, + { "default", { 1*1*1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",1280*1280*1280} } }, + { "default", { 1280*1280*1280 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",512*512*512} } }, + { "default", { 512*512*512 } }, } }, } @@ -107,20 +107,20 @@ const Database::DatabaseEntry KernelSelectionDouble = { // ================================================================================================= const Database::DatabaseEntry KernelSelectionComplexDouble = { - "KernelSelection", Precision::kComplexDouble, { + "KernelSelection", Precision::kComplexDouble, {"XGEMM_MIN_INDIRECT_SIZE"}, { { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",1*1*1} } }, + { "default", { 1*1*1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",1280*1280*1280} } }, + { "default", { 1280*1280*1280 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"XGEMM_MIN_INDIRECT_SIZE",512*512*512} } }, + { "default", { 512*512*512 } }, } }, } diff --git a/src/database/kernels/copy.hpp b/src/database/kernels/copy.hpp index 8963c9ef..a79918ea 100644 --- a/src/database/kernels/copy.hpp +++ b/src/database/kernels/copy.hpp @@ -16,23 +16,23 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry CopyHalf = { - "Copy", Precision::kHalf, { + "Copy", Precision::kHalf, {"COPY_DIMX" "COPY_DIMY" "COPY_VW" "COPY_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "Ellesmere", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",4} } }, - { "default", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",4} } }, + { "Ellesmere", { 16, 8, 4, 4 } }, + { "default", { 16, 8, 4, 4 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"COPY_DIMX",8}, {"COPY_DIMY",16}, {"COPY_VW",8}, {"COPY_WPT",4} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"COPY_DIMX",8}, {"COPY_DIMY",32}, {"COPY_VW",4}, {"COPY_WPT",8} } }, - { "default", { {"COPY_DIMX",8}, {"COPY_DIMY",32}, {"COPY_VW",4}, {"COPY_WPT",8} } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 8, 16, 8, 4 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 8, 32, 4, 8 } }, + { "default", { 8, 32, 4, 8 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",4} } }, + { "default", { 16, 8, 4, 4 } }, } }, } @@ -41,81 +41,81 @@ const Database::DatabaseEntry CopyHalf = { // ================================================================================================= const Database::DatabaseEntry CopySingle = { - "Copy", Precision::kSingle, { + "Copy", Precision::kSingle, {"COPY_DIMX" "COPY_DIMY" "COPY_VW" "COPY_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "ATI Radeon HD 6750M", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "Ellesmere", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",8} } }, - { "Fiji", { {"COPY_DIMX",16}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "Hawaii", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",2} } }, - { "Oland", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",2} } }, - { "Pitcairn", { {"COPY_DIMX",8}, {"COPY_DIMY",16}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "Tahiti", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",2} } }, - { "Tonga", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",4} } }, - { "Turks", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",2} } }, - { "default", { {"COPY_DIMX",8}, {"COPY_DIMY",16}, {"COPY_VW",4}, {"COPY_WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 32, 8, 4, 1 } }, + { "ATI Radeon HD 6750M", { 16, 8, 2, 1 } }, + { "Ellesmere", { 8, 8, 4, 8 } }, + { "Fiji", { 16, 16, 1, 2 } }, + { "Hawaii", { 32, 8, 2, 2 } }, + { "Oland", { 32, 8, 4, 2 } }, + { "Pitcairn", { 8, 16, 4, 1 } }, + { "Tahiti", { 32, 8, 2, 2 } }, + { "Tonga", { 32, 8, 4, 4 } }, + { "Turks", { 8, 8, 4, 2 } }, + { "default", { 8, 16, 4, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",4} } }, - { "default", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",4} } }, + { "Mali-T628", { 32, 8, 2, 4 } }, + { "default", { 32, 8, 2, 4 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",8}, {"COPY_WPT",2} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",4} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",8}, {"COPY_WPT",2} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "default", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",8}, {"COPY_WPT",2} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 32, 16, 8, 1 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 32, 16, 8, 2 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 32, 8, 4, 4 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 32, 16, 8, 1 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 32, 16, 8, 2 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 32, 8, 8, 1 } }, + { "default", { 32, 16, 8, 2 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",8} } }, - { "Iris", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "Iris Pro", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",4} } }, - { "default", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, + { "Intel(R) HD Graphics 530", { 8, 8, 2, 1 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 32, 16, 4, 1 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 32, 16, 4, 1 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 16, 8, 2, 1 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 16, 8, 4, 8 } }, + { "Iris", { 16, 8, 1, 2 } }, + { "Iris Pro", { 32, 8, 4, 4 } }, + { "default", { 8, 8, 2, 1 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "default", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 32, 8, 8, 1 } }, + { "default", { 32, 8, 8, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "GeForce GT 650M", { {"COPY_DIMX",16}, {"COPY_DIMY",16}, {"COPY_VW",4}, {"COPY_WPT",2} } }, - { "GeForce GTX 1070", { {"COPY_DIMX",8}, {"COPY_DIMY",16}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "GeForce GTX 1080", { {"COPY_DIMX",8}, {"COPY_DIMY",32}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "GeForce GTX 480", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "GeForce GTX 670", { {"COPY_DIMX",16}, {"COPY_DIMY",32}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "GeForce GTX 680", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "GeForce GTX 750", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",2} } }, - { "GeForce GTX 750 Ti", { {"COPY_DIMX",16}, {"COPY_DIMY",32}, {"COPY_VW",2}, {"COPY_WPT",2} } }, - { "GeForce GTX 980", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX TITAN", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",4} } }, - { "GeForce GTX TITAN Black", { {"COPY_DIMX",8}, {"COPY_DIMY",32}, {"COPY_VW",4}, {"COPY_WPT",8} } }, - { "GeForce GTX TITAN X", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "TITAN X (Pascal)", { {"COPY_DIMX",8}, {"COPY_DIMY",32}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "Tesla K20m", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",4} } }, - { "Tesla K40m", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",2} } }, - { "default", { {"COPY_DIMX",8}, {"COPY_DIMY",32}, {"COPY_VW",4}, {"COPY_WPT",1} } }, + { "GRID K520", { 16, 8, 4, 1 } }, + { "GeForce GT 650M", { 16, 16, 4, 2 } }, + { "GeForce GTX 1070", { 8, 16, 4, 1 } }, + { "GeForce GTX 1080", { 8, 32, 4, 1 } }, + { "GeForce GTX 480", { 8, 8, 4, 1 } }, + { "GeForce GTX 670", { 16, 32, 4, 1 } }, + { "GeForce GTX 680", { 32, 16, 4, 1 } }, + { "GeForce GTX 750", { 32, 8, 2, 2 } }, + { "GeForce GTX 750 Ti", { 16, 32, 2, 2 } }, + { "GeForce GTX 980", { 32, 16, 1, 1 } }, + { "GeForce GTX TITAN", { 32, 8, 2, 4 } }, + { "GeForce GTX TITAN Black", { 8, 32, 4, 8 } }, + { "GeForce GTX TITAN X", { 32, 8, 1, 2 } }, + { "TITAN X (Pascal)", { 8, 32, 4, 1 } }, + { "Tesla K20m", { 8, 8, 4, 4 } }, + { "Tesla K40m", { 8, 8, 4, 2 } }, + { "default", { 8, 32, 4, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",4} } }, + { "default", { 32, 8, 4, 4 } }, } }, } @@ -124,72 +124,72 @@ const Database::DatabaseEntry CopySingle = { // ================================================================================================= const Database::DatabaseEntry CopyComplexSingle = { - "Copy", Precision::kComplexSingle, { + "Copy", Precision::kComplexSingle, {"COPY_DIMX" "COPY_DIMY" "COPY_VW" "COPY_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "ATI Radeon HD 6750M", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "Ellesmere", { {"COPY_DIMX",16}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",4} } }, - { "Fiji", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "Hawaii", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "Oland", { {"COPY_DIMX",8}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "Pitcairn", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "Tahiti", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",2} } }, - { "Tonga", { {"COPY_DIMX",8}, {"COPY_DIMY",32}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "Turks", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "default", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 32, 8, 1, 1 } }, + { "ATI Radeon HD 6750M", { 8, 8, 1, 1 } }, + { "Ellesmere", { 16, 16, 1, 4 } }, + { "Fiji", { 16, 8, 1, 2 } }, + { "Hawaii", { 32, 8, 1, 2 } }, + { "Oland", { 8, 16, 1, 1 } }, + { "Pitcairn", { 8, 8, 1, 2 } }, + { "Tahiti", { 8, 8, 2, 2 } }, + { "Tonga", { 8, 32, 1, 2 } }, + { "Turks", { 32, 8, 4, 1 } }, + { "default", { 16, 8, 1, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",4}, {"COPY_WPT",2} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"COPY_DIMX",16}, {"COPY_DIMY",16}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",2} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",2} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",32}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "default", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 32, 16, 4, 2 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 16, 16, 8, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 32, 8, 4, 2 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 32, 8, 2, 2 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 32, 32, 4, 1 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 16, 8, 8, 1 } }, + { "default", { 32, 8, 8, 1 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"COPY_DIMX",16}, {"COPY_DIMY",16}, {"COPY_VW",2}, {"COPY_WPT",2} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"COPY_DIMX",8}, {"COPY_DIMY",32}, {"COPY_VW",2}, {"COPY_WPT",4} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "Iris", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "Iris Pro", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",4} } }, - { "default", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, + { "Intel(R) HD Graphics 530", { 16, 8, 2, 1 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 16, 16, 2, 2 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 8, 8, 1, 1 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 8, 32, 2, 4 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 8, 8, 2, 1 } }, + { "Iris", { 16, 8, 1, 2 } }, + { "Iris Pro", { 32, 16, 1, 4 } }, + { "default", { 16, 8, 1, 2 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "default", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 32, 8, 4, 1 } }, + { "default", { 32, 8, 4, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX 1070", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX 1080", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "GeForce GTX 480", { {"COPY_DIMX",16}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX 670", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX 750", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "GeForce GTX 750 Ti", { {"COPY_DIMX",16}, {"COPY_DIMY",32}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX 980", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX TITAN Black", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX TITAN X", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "TITAN X (Pascal)", { {"COPY_DIMX",8}, {"COPY_DIMY",16}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "Tesla K20m", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",4} } }, - { "Tesla K40m", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "default", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, + { "GRID K520", { 16, 8, 1, 1 } }, + { "GeForce GTX 1070", { 16, 8, 1, 1 } }, + { "GeForce GTX 1080", { 32, 8, 1, 2 } }, + { "GeForce GTX 480", { 16, 16, 1, 1 } }, + { "GeForce GTX 670", { 16, 8, 1, 1 } }, + { "GeForce GTX 750", { 16, 8, 1, 2 } }, + { "GeForce GTX 750 Ti", { 16, 32, 1, 1 } }, + { "GeForce GTX 980", { 8, 8, 1, 1 } }, + { "GeForce GTX TITAN Black", { 16, 8, 1, 1 } }, + { "GeForce GTX TITAN X", { 16, 8, 1, 1 } }, + { "TITAN X (Pascal)", { 8, 16, 2, 1 } }, + { "Tesla K20m", { 8, 8, 1, 4 } }, + { "Tesla K40m", { 16, 8, 1, 1 } }, + { "default", { 32, 8, 1, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, + { "default", { 16, 8, 1, 2 } }, } }, } @@ -198,66 +198,66 @@ const Database::DatabaseEntry CopyComplexSingle = { // ================================================================================================= const Database::DatabaseEntry CopyDouble = { - "Copy", Precision::kDouble, { + "Copy", Precision::kDouble, {"COPY_DIMX" "COPY_DIMY" "COPY_VW" "COPY_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "Ellesmere", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",4} } }, - { "Fiji", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "Hawaii", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "Oland", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",8} } }, - { "Pitcairn", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "Tahiti", { {"COPY_DIMX",8}, {"COPY_DIMY",32}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "Tonga", { {"COPY_DIMX",8}, {"COPY_DIMY",32}, {"COPY_VW",2}, {"COPY_WPT",4} } }, - { "default", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 32, 8, 1, 1 } }, + { "Ellesmere", { 32, 8, 1, 4 } }, + { "Fiji", { 16, 8, 1, 2 } }, + { "Hawaii", { 32, 8, 1, 2 } }, + { "Oland", { 32, 8, 2, 8 } }, + { "Pitcairn", { 32, 8, 1, 1 } }, + { "Tahiti", { 8, 32, 2, 1 } }, + { "Tonga", { 8, 32, 2, 4 } }, + { "default", { 16, 8, 2, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",2} } }, - { "default", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",2} } }, + { "Mali-T628", { 16, 8, 8, 2 } }, + { "default", { 16, 8, 8, 2 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"COPY_DIMX",16}, {"COPY_DIMY",32}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"COPY_DIMX",16}, {"COPY_DIMY",32}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"COPY_DIMX",16}, {"COPY_DIMY",32}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"COPY_DIMX",16}, {"COPY_DIMY",16}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "default", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 16, 32, 8, 1 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 16, 8, 8, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 32, 16, 8, 1 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 16, 32, 2, 1 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 16, 32, 8, 1 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 16, 16, 8, 1 } }, + { "default", { 16, 8, 8, 1 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "default", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 8, 8, 8, 1 } }, + { "default", { 8, 8, 8, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "GeForce GTX 1070", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "GeForce GTX 1080", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",4}, {"COPY_WPT",1} } }, - { "GeForce GTX 480", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "GeForce GTX 670", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "GeForce GTX 680", { {"COPY_DIMX",16}, {"COPY_DIMY",32}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "GeForce GTX 750", { {"COPY_DIMX",8}, {"COPY_DIMY",16}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "GeForce GTX 750 Ti", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "GeForce GTX 980", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "GeForce GTX TITAN", { {"COPY_DIMX",16}, {"COPY_DIMY",32}, {"COPY_VW",2}, {"COPY_WPT",2} } }, - { "GeForce GTX TITAN Black", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",8} } }, - { "GeForce GTX TITAN X", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "TITAN X (Pascal)", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",2} } }, - { "Tesla K20m", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "Tesla K40m", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",2} } }, - { "default", { {"COPY_DIMX",32}, {"COPY_DIMY",32}, {"COPY_VW",2}, {"COPY_WPT",1} } }, + { "GRID K520", { 32, 16, 2, 1 } }, + { "GeForce GTX 1070", { 8, 8, 4, 1 } }, + { "GeForce GTX 1080", { 8, 8, 4, 1 } }, + { "GeForce GTX 480", { 8, 8, 2, 1 } }, + { "GeForce GTX 670", { 8, 8, 2, 1 } }, + { "GeForce GTX 680", { 16, 32, 2, 1 } }, + { "GeForce GTX 750", { 8, 16, 2, 1 } }, + { "GeForce GTX 750 Ti", { 16, 8, 2, 1 } }, + { "GeForce GTX 980", { 32, 8, 2, 1 } }, + { "GeForce GTX TITAN", { 16, 32, 2, 2 } }, + { "GeForce GTX TITAN Black", { 16, 8, 2, 8 } }, + { "GeForce GTX TITAN X", { 32, 16, 1, 1 } }, + { "TITAN X (Pascal)", { 8, 8, 2, 2 } }, + { "Tesla K20m", { 8, 8, 2, 1 } }, + { "Tesla K40m", { 8, 8, 2, 2 } }, + { "default", { 32, 32, 2, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, + { "default", { 16, 8, 2, 1 } }, } }, } @@ -266,66 +266,66 @@ const Database::DatabaseEntry CopyDouble = { // ================================================================================================= const Database::DatabaseEntry CopyComplexDouble = { - "Copy", Precision::kComplexDouble, { + "Copy", Precision::kComplexDouble, {"COPY_DIMX" "COPY_DIMY" "COPY_VW" "COPY_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"COPY_DIMX",8}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "Ellesmere", { {"COPY_DIMX",8}, {"COPY_DIMY",32}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "Fiji", { {"COPY_DIMX",8}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "Hawaii", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",8} } }, - { "Oland", { {"COPY_DIMX",8}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "Pitcairn", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "Tahiti", { {"COPY_DIMX",8}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "Tonga", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "default", { {"COPY_DIMX",8}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 8, 16, 1, 1 } }, + { "Ellesmere", { 8, 32, 1, 2 } }, + { "Fiji", { 8, 16, 1, 1 } }, + { "Hawaii", { 32, 8, 2, 8 } }, + { "Oland", { 8, 16, 1, 1 } }, + { "Pitcairn", { 16, 8, 1, 1 } }, + { "Tahiti", { 8, 16, 1, 1 } }, + { "Tonga", { 16, 8, 2, 1 } }, + { "default", { 8, 16, 1, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "default", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, + { "Mali-T628", { 32, 8, 1, 2 } }, + { "default", { 32, 8, 1, 2 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",2}, {"COPY_WPT",1} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",32}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"COPY_DIMX",32}, {"COPY_DIMY",16}, {"COPY_VW",8}, {"COPY_WPT",4} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "default", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 8, 8, 8, 1 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 32, 8, 8, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 32, 16, 2, 1 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 32, 32, 8, 1 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 32, 16, 8, 4 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 8, 8, 8, 1 } }, + { "default", { 16, 8, 8, 1 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, - { "default", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",8}, {"COPY_WPT",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 32, 8, 8, 1 } }, + { "default", { 32, 8, 8, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX 1070", { {"COPY_DIMX",8}, {"COPY_DIMY",32}, {"COPY_VW",1}, {"COPY_WPT",4} } }, - { "GeForce GTX 1080", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX 480", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX 670", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX 680", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX 750", { {"COPY_DIMX",32}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX 750 Ti", { {"COPY_DIMX",16}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX 980", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX TITAN", { {"COPY_DIMX",16}, {"COPY_DIMY",16}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "GeForce GTX TITAN Black", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "GeForce GTX TITAN X", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "TITAN X (Pascal)", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "Tesla K20m", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",2} } }, - { "Tesla K40m", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, - { "default", { {"COPY_DIMX",8}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, + { "GRID K520", { 8, 8, 1, 1 } }, + { "GeForce GTX 1070", { 8, 32, 1, 4 } }, + { "GeForce GTX 1080", { 8, 8, 1, 1 } }, + { "GeForce GTX 480", { 16, 8, 1, 1 } }, + { "GeForce GTX 670", { 16, 8, 1, 1 } }, + { "GeForce GTX 680", { 8, 8, 1, 1 } }, + { "GeForce GTX 750", { 32, 8, 1, 1 } }, + { "GeForce GTX 750 Ti", { 16, 16, 1, 1 } }, + { "GeForce GTX 980", { 8, 8, 1, 1 } }, + { "GeForce GTX TITAN", { 16, 16, 1, 1 } }, + { "GeForce GTX TITAN Black", { 8, 8, 1, 2 } }, + { "GeForce GTX TITAN X", { 16, 8, 1, 1 } }, + { "TITAN X (Pascal)", { 8, 8, 1, 2 } }, + { "Tesla K20m", { 8, 8, 1, 2 } }, + { "Tesla K40m", { 8, 8, 1, 1 } }, + { "default", { 8, 8, 1, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"COPY_DIMX",16}, {"COPY_DIMY",8}, {"COPY_VW",1}, {"COPY_WPT",1} } }, + { "default", { 16, 8, 1, 1 } }, } }, } diff --git a/src/database/kernels/invert.hpp b/src/database/kernels/invert.hpp index 2717f182..193d1ab4 100644 --- a/src/database/kernels/invert.hpp +++ b/src/database/kernels/invert.hpp @@ -16,10 +16,10 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry InvertHalf = { - "Invert", Precision::kHalf, { + "Invert", Precision::kHalf, {"INTERNAL_BLOCK_SIZE"}, { { // Default kDeviceTypeAll, "default", { - { "default", { {"INTERNAL_BLOCK_SIZE",16} } }, + { "default", { 16 } }, } }, } @@ -28,10 +28,10 @@ const Database::DatabaseEntry InvertHalf = { // ================================================================================================= const Database::DatabaseEntry InvertSingle = { - "Invert", Precision::kSingle, { + "Invert", Precision::kSingle, {"INTERNAL_BLOCK_SIZE"}, { { // Default kDeviceTypeAll, "default", { - { "default", { {"INTERNAL_BLOCK_SIZE",16} } }, + { "default", { 16 } }, } }, } @@ -40,10 +40,10 @@ const Database::DatabaseEntry InvertSingle = { // ================================================================================================= const Database::DatabaseEntry InvertComplexSingle = { - "Invert", Precision::kComplexSingle, { + "Invert", Precision::kComplexSingle, {"INTERNAL_BLOCK_SIZE"}, { { // Default kDeviceTypeAll, "default", { - { "default", { {"INTERNAL_BLOCK_SIZE",16} } }, + { "default", { 16 } }, } }, } @@ -52,10 +52,10 @@ const Database::DatabaseEntry InvertComplexSingle = { // ================================================================================================= const Database::DatabaseEntry InvertDouble = { - "Invert", Precision::kDouble, { + "Invert", Precision::kDouble, {"INTERNAL_BLOCK_SIZE"}, { { // Default kDeviceTypeAll, "default", { - { "default", { {"INTERNAL_BLOCK_SIZE",16} } }, + { "default", { 16 } }, } }, } @@ -64,10 +64,10 @@ const Database::DatabaseEntry InvertDouble = { // ================================================================================================= const Database::DatabaseEntry InvertComplexDouble = { - "Invert", Precision::kComplexDouble, { + "Invert", Precision::kComplexDouble, {"INTERNAL_BLOCK_SIZE"}, { { // Default kDeviceTypeAll, "default", { - { "default", { {"INTERNAL_BLOCK_SIZE",16} } }, + { "default", { 16 } }, } }, } diff --git a/src/database/kernels/pad.hpp b/src/database/kernels/pad.hpp index 5606d80e..4c996e5c 100644 --- a/src/database/kernels/pad.hpp +++ b/src/database/kernels/pad.hpp @@ -16,23 +16,23 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry PadHalf = { - "Pad", Precision::kHalf, { + "Pad", Precision::kHalf, {"PAD_DIMX" "PAD_DIMY" "PAD_WPTX" "PAD_WPTY"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "Ellesmere", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "default", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, + { "Ellesmere", { 16, 8, 1, 2 } }, + { "default", { 16, 8, 1, 2 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"PAD_DIMX",8}, {"PAD_DIMY",32}, {"PAD_WPTX",2}, {"PAD_WPTY",2} } }, - { "default", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 8, 8, 4, 1 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 8, 32, 2, 2 } }, + { "default", { 8, 8, 2, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, + { "default", { 8, 8, 2, 1 } }, } }, } @@ -41,81 +41,81 @@ const Database::DatabaseEntry PadHalf = { // ================================================================================================= const Database::DatabaseEntry PadSingle = { - "Pad", Precision::kSingle, { + "Pad", Precision::kSingle, {"PAD_DIMX" "PAD_DIMY" "PAD_WPTX" "PAD_WPTY"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "ATI Radeon HD 6750M", { {"PAD_DIMX",8}, {"PAD_DIMY",16}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "Ellesmere", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",2} } }, - { "Fiji", { {"PAD_DIMX",16}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Hawaii", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",4} } }, - { "Oland", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Pitcairn", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Tahiti", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Tonga", { {"PAD_DIMX",16}, {"PAD_DIMY",16}, {"PAD_WPTX",2}, {"PAD_WPTY",2} } }, - { "Turks", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",8}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, + { "AMD Radeon R9 M370X Compute Engine", { 32, 8, 1, 1 } }, + { "ATI Radeon HD 6750M", { 8, 16, 2, 1 } }, + { "Ellesmere", { 32, 8, 2, 2 } }, + { "Fiji", { 16, 16, 1, 2 } }, + { "Hawaii", { 32, 8, 1, 4 } }, + { "Oland", { 8, 8, 1, 2 } }, + { "Pitcairn", { 32, 8, 1, 2 } }, + { "Tahiti", { 32, 8, 1, 2 } }, + { "Tonga", { 16, 16, 2, 2 } }, + { "Turks", { 32, 8, 2, 1 } }, + { "default", { 8, 16, 1, 2 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",4} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",4} } }, + { "Mali-T628", { 32, 8, 1, 4 } }, + { "default", { 32, 8, 1, 4 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",32}, {"PAD_WPTX",4}, {"PAD_WPTY",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",16}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",4} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"PAD_DIMX",16}, {"PAD_DIMY",32}, {"PAD_WPTX",4}, {"PAD_WPTY",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",16}, {"PAD_WPTX",4}, {"PAD_WPTY",4} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",2} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 32, 32, 4, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 32, 16, 4, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 32, 8, 2, 4 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 16, 32, 4, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 32, 16, 4, 4 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 32, 8, 4, 1 } }, + { "default", { 32, 8, 4, 2 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",4} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",4} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",2} } }, - { "Iris", { {"PAD_DIMX",32}, {"PAD_DIMY",16}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "Iris Pro", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",2} } }, + { "Intel(R) HD Graphics 530", { 32, 8, 2, 4 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 32, 8, 2, 4 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 16, 8, 1, 2 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 16, 8, 4, 1 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 32, 8, 4, 2 } }, + { "Iris", { 32, 16, 2, 1 } }, + { "Iris Pro", { 16, 8, 2, 1 } }, + { "default", { 32, 8, 4, 2 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"PAD_DIMX",32}, {"PAD_DIMY",16}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",16}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 32, 16, 2, 1 } }, + { "default", { 32, 16, 2, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "GeForce GT 650M", { {"PAD_DIMX",32}, {"PAD_DIMY",16}, {"PAD_WPTX",2}, {"PAD_WPTY",2} } }, - { "GeForce GTX 1070", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 1080", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 480", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",4} } }, - { "GeForce GTX 670", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",2} } }, - { "GeForce GTX 680", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "GeForce GTX 750", { {"PAD_DIMX",32}, {"PAD_DIMY",16}, {"PAD_WPTX",4}, {"PAD_WPTY",2} } }, - { "GeForce GTX 750 Ti", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "GeForce GTX 980", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX TITAN", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "GeForce GTX TITAN Black", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "GeForce GTX TITAN X", { {"PAD_DIMX",16}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "TITAN X (Pascal)", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Tesla K20m", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "Tesla K40m", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, + { "GRID K520", { 32, 8, 2, 1 } }, + { "GeForce GT 650M", { 32, 16, 2, 2 } }, + { "GeForce GTX 1070", { 16, 8, 1, 1 } }, + { "GeForce GTX 1080", { 16, 8, 1, 1 } }, + { "GeForce GTX 480", { 32, 8, 1, 4 } }, + { "GeForce GTX 670", { 32, 8, 2, 2 } }, + { "GeForce GTX 680", { 16, 8, 4, 1 } }, + { "GeForce GTX 750", { 32, 16, 4, 2 } }, + { "GeForce GTX 750 Ti", { 16, 8, 4, 1 } }, + { "GeForce GTX 980", { 16, 8, 1, 1 } }, + { "GeForce GTX TITAN", { 32, 8, 2, 1 } }, + { "GeForce GTX TITAN Black", { 32, 8, 1, 2 } }, + { "GeForce GTX TITAN X", { 16, 16, 1, 1 } }, + { "TITAN X (Pascal)", { 16, 8, 1, 2 } }, + { "Tesla K20m", { 32, 8, 2, 1 } }, + { "Tesla K40m", { 32, 8, 1, 1 } }, + { "default", { 32, 8, 4, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, + { "default", { 32, 8, 2, 1 } }, } }, } @@ -124,80 +124,80 @@ const Database::DatabaseEntry PadSingle = { // ================================================================================================= const Database::DatabaseEntry PadComplexSingle = { - "Pad", Precision::kComplexSingle, { + "Pad", Precision::kComplexSingle, {"PAD_DIMX" "PAD_DIMY" "PAD_WPTX" "PAD_WPTY"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "ATI Radeon HD 6750M", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "Ellesmere", { {"PAD_DIMX",16}, {"PAD_DIMY",16}, {"PAD_WPTX",2}, {"PAD_WPTY",4} } }, - { "Fiji", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Hawaii", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Oland", { {"PAD_DIMX",8}, {"PAD_DIMY",32}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Pitcairn", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Tahiti", { {"PAD_DIMX",16}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Tonga", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Turks", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",4} } }, - { "default", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, + { "AMD Radeon R9 M370X Compute Engine", { 32, 8, 1, 1 } }, + { "ATI Radeon HD 6750M", { 16, 8, 2, 1 } }, + { "Ellesmere", { 16, 16, 2, 4 } }, + { "Fiji", { 16, 8, 1, 2 } }, + { "Hawaii", { 32, 8, 1, 2 } }, + { "Oland", { 8, 32, 1, 1 } }, + { "Pitcairn", { 8, 8, 1, 2 } }, + { "Tahiti", { 16, 16, 1, 1 } }, + { "Tonga", { 16, 8, 1, 2 } }, + { "Turks", { 16, 8, 4, 4 } }, + { "default", { 16, 8, 1, 2 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",4} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",4} } }, + { "Mali-T628", { 32, 8, 1, 4 } }, + { "default", { 32, 8, 1, 4 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",2} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",2} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",32}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",4} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",16}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",2} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 32, 8, 4, 2 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 32, 8, 2, 2 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 32, 8, 1, 2 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 32, 32, 4, 1 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 32, 8, 2, 4 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 32, 16, 4, 1 } }, + { "default", { 32, 8, 4, 2 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Iris", { {"PAD_DIMX",32}, {"PAD_DIMY",16}, {"PAD_WPTX",2}, {"PAD_WPTY",4} } }, - { "Iris Pro", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",4} } }, + { "Intel(R) HD Graphics 530", { 8, 8, 1, 2 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 8, 8, 1, 1 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 8, 8, 1, 1 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 32, 8, 1, 1 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 32, 8, 1, 1 } }, + { "Iris", { 32, 16, 2, 4 } }, + { "Iris Pro", { 32, 8, 2, 1 } }, + { "default", { 32, 8, 1, 4 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 32, 8, 1, 1 } }, + { "default", { 32, 8, 1, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"PAD_DIMX",16}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 1070", { {"PAD_DIMX",8}, {"PAD_DIMY",32}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 1080", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 480", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "GeForce GTX 670", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "GeForce GTX 680", { {"PAD_DIMX",16}, {"PAD_DIMY",32}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "GeForce GTX 750", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "GeForce GTX 750 Ti", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 980", { {"PAD_DIMX",16}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX TITAN", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "GeForce GTX TITAN Black", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "GeForce GTX TITAN X", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "TITAN X (Pascal)", { {"PAD_DIMX",32}, {"PAD_DIMY",32}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Tesla K20m", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Tesla K40m", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, + { "GRID K520", { 16, 16, 1, 1 } }, + { "GeForce GTX 1070", { 8, 32, 1, 1 } }, + { "GeForce GTX 1080", { 32, 8, 1, 1 } }, + { "GeForce GTX 480", { 16, 8, 2, 1 } }, + { "GeForce GTX 670", { 16, 8, 1, 2 } }, + { "GeForce GTX 680", { 16, 32, 1, 2 } }, + { "GeForce GTX 750", { 32, 8, 2, 1 } }, + { "GeForce GTX 750 Ti", { 16, 8, 1, 1 } }, + { "GeForce GTX 980", { 16, 16, 1, 1 } }, + { "GeForce GTX TITAN", { 16, 8, 2, 1 } }, + { "GeForce GTX TITAN Black", { 16, 8, 1, 2 } }, + { "GeForce GTX TITAN X", { 16, 8, 1, 1 } }, + { "TITAN X (Pascal)", { 32, 32, 1, 2 } }, + { "Tesla K20m", { 32, 8, 1, 2 } }, + { "Tesla K40m", { 16, 8, 1, 1 } }, + { "default", { 32, 8, 1, 2 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, + { "default", { 32, 8, 1, 2 } }, } }, } @@ -206,66 +206,66 @@ const Database::DatabaseEntry PadComplexSingle = { // ================================================================================================= const Database::DatabaseEntry PadDouble = { - "Pad", Precision::kDouble, { + "Pad", Precision::kDouble, {"PAD_DIMX" "PAD_DIMY" "PAD_WPTX" "PAD_WPTY"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Ellesmere", { {"PAD_DIMX",8}, {"PAD_DIMY",32}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "Fiji", { {"PAD_DIMX",8}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Hawaii", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Oland", { {"PAD_DIMX",8}, {"PAD_DIMY",32}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Pitcairn", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Tahiti", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Tonga", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",16}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 32, 8, 1, 1 } }, + { "Ellesmere", { 8, 32, 2, 1 } }, + { "Fiji", { 8, 16, 1, 2 } }, + { "Hawaii", { 32, 8, 1, 2 } }, + { "Oland", { 8, 32, 1, 1 } }, + { "Pitcairn", { 8, 8, 1, 2 } }, + { "Tahiti", { 32, 8, 1, 1 } }, + { "Tonga", { 32, 8, 4, 1 } }, + { "default", { 16, 16, 1, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",2} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",2} } }, + { "Mali-T628", { 32, 8, 4, 2 } }, + { "default", { 32, 8, 4, 2 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",2} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",16}, {"PAD_WPTX",2}, {"PAD_WPTY",2} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",32}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",32}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",16}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 32, 8, 4, 2 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 32, 8, 4, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 32, 16, 2, 2 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 32, 32, 4, 1 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 32, 32, 4, 1 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 32, 8, 2, 1 } }, + { "default", { 32, 16, 4, 1 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 32, 8, 1, 1 } }, + { "default", { 32, 8, 1, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 1070", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 1080", { {"PAD_DIMX",32}, {"PAD_DIMY",32}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "GeForce GTX 480", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 670", { {"PAD_DIMX",16}, {"PAD_DIMY",16}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "GeForce GTX 680", { {"PAD_DIMX",32}, {"PAD_DIMY",32}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "GeForce GTX 750", { {"PAD_DIMX",32}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 750 Ti", { {"PAD_DIMX",8}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 980", { {"PAD_DIMX",8}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX TITAN", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX TITAN Black", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX TITAN X", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "TITAN X (Pascal)", { {"PAD_DIMX",8}, {"PAD_DIMY",32}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "Tesla K20m", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Tesla K40m", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, + { "GRID K520", { 32, 8, 1, 1 } }, + { "GeForce GTX 1070", { 8, 8, 1, 1 } }, + { "GeForce GTX 1080", { 32, 32, 2, 1 } }, + { "GeForce GTX 480", { 16, 8, 1, 1 } }, + { "GeForce GTX 670", { 16, 16, 2, 1 } }, + { "GeForce GTX 680", { 32, 32, 1, 2 } }, + { "GeForce GTX 750", { 32, 16, 1, 1 } }, + { "GeForce GTX 750 Ti", { 8, 16, 1, 1 } }, + { "GeForce GTX 980", { 8, 16, 1, 1 } }, + { "GeForce GTX TITAN", { 32, 8, 1, 1 } }, + { "GeForce GTX TITAN Black", { 16, 8, 1, 1 } }, + { "GeForce GTX TITAN X", { 16, 8, 1, 1 } }, + { "TITAN X (Pascal)", { 8, 32, 4, 1 } }, + { "Tesla K20m", { 32, 8, 1, 1 } }, + { "Tesla K40m", { 16, 8, 1, 2 } }, + { "default", { 32, 8, 1, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, + { "default", { 32, 8, 1, 1 } }, } }, } @@ -274,66 +274,66 @@ const Database::DatabaseEntry PadDouble = { // ================================================================================================= const Database::DatabaseEntry PadComplexDouble = { - "Pad", Precision::kComplexDouble, { + "Pad", Precision::kComplexDouble, {"PAD_DIMX" "PAD_DIMY" "PAD_WPTX" "PAD_WPTY"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Ellesmere", { {"PAD_DIMX",8}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Fiji", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "Hawaii", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Oland", { {"PAD_DIMX",8}, {"PAD_DIMY",16}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "Pitcairn", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Tahiti", { {"PAD_DIMX",8}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Tonga", { {"PAD_DIMX",8}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",8}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 16, 8, 1, 1 } }, + { "Ellesmere", { 8, 16, 1, 2 } }, + { "Fiji", { 32, 8, 2, 1 } }, + { "Hawaii", { 32, 8, 1, 1 } }, + { "Oland", { 8, 16, 2, 1 } }, + { "Pitcairn", { 16, 8, 1, 1 } }, + { "Tahiti", { 8, 16, 1, 1 } }, + { "Tonga", { 8, 16, 1, 1 } }, + { "default", { 8, 16, 1, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, + { "Mali-T628", { 16, 8, 4, 1 } }, + { "default", { 16, 8, 4, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"PAD_DIMX",16}, {"PAD_DIMY",16}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",2} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"PAD_DIMX",16}, {"PAD_DIMY",32}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",32}, {"PAD_WPTX",2}, {"PAD_WPTY",2} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",2} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 16, 16, 4, 1 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 32, 8, 2, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 32, 8, 2, 2 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 16, 32, 4, 1 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 32, 32, 2, 2 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 32, 8, 2, 1 } }, + { "default", { 32, 8, 2, 2 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",4}, {"PAD_WPTY",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 32, 8, 4, 1 } }, + { "default", { 32, 8, 4, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 1070", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",2}, {"PAD_WPTY",2} } }, - { "GeForce GTX 1080", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 480", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 670", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 680", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 750", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 750 Ti", { {"PAD_DIMX",16}, {"PAD_DIMY",32}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX 980", { {"PAD_DIMX",16}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "GeForce GTX TITAN", { {"PAD_DIMX",8}, {"PAD_DIMY",32}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "GeForce GTX TITAN Black", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",4} } }, - { "GeForce GTX TITAN X", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "TITAN X (Pascal)", { {"PAD_DIMX",8}, {"PAD_DIMY",16}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "Tesla K20m", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",2} } }, - { "Tesla K40m", { {"PAD_DIMX",8}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, - { "default", { {"PAD_DIMX",16}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, + { "GRID K520", { 8, 8, 1, 1 } }, + { "GeForce GTX 1070", { 8, 8, 2, 2 } }, + { "GeForce GTX 1080", { 8, 8, 1, 1 } }, + { "GeForce GTX 480", { 16, 8, 1, 1 } }, + { "GeForce GTX 670", { 32, 8, 1, 1 } }, + { "GeForce GTX 680", { 8, 8, 1, 1 } }, + { "GeForce GTX 750", { 8, 8, 1, 1 } }, + { "GeForce GTX 750 Ti", { 16, 32, 1, 1 } }, + { "GeForce GTX 980", { 16, 16, 1, 1 } }, + { "GeForce GTX TITAN", { 8, 32, 1, 2 } }, + { "GeForce GTX TITAN Black", { 16, 8, 1, 4 } }, + { "GeForce GTX TITAN X", { 16, 8, 1, 1 } }, + { "TITAN X (Pascal)", { 8, 16, 1, 1 } }, + { "Tesla K20m", { 8, 8, 1, 2 } }, + { "Tesla K40m", { 8, 8, 1, 1 } }, + { "default", { 16, 8, 1, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"PAD_DIMX",32}, {"PAD_DIMY",8}, {"PAD_WPTX",1}, {"PAD_WPTY",1} } }, + { "default", { 32, 8, 1, 1 } }, } }, } diff --git a/src/database/kernels/padtranspose.hpp b/src/database/kernels/padtranspose.hpp index a5953559..a7fc50e4 100644 --- a/src/database/kernels/padtranspose.hpp +++ b/src/database/kernels/padtranspose.hpp @@ -16,23 +16,23 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry PadtransposeHalf = { - "Padtranspose", Precision::kHalf, { + "Padtranspose", Precision::kHalf, {"PADTRA_PAD" "PADTRA_TILE" "PADTRA_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "Ellesmere", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, + { "Ellesmere", { 0, 16, 4 } }, + { "default", { 0, 16, 4 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",1} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"PADTRA_PAD",1}, {"PADTRA_TILE",8}, {"PADTRA_WPT",2} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",1} } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 0, 8, 1 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 1, 8, 2 } }, + { "default", { 0, 8, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",1} } }, + { "default", { 0, 8, 1 } }, } }, } @@ -41,80 +41,80 @@ const Database::DatabaseEntry PadtransposeHalf = { // ================================================================================================= const Database::DatabaseEntry PadtransposeSingle = { - "Padtranspose", Precision::kSingle, { + "Padtranspose", Precision::kSingle, {"PADTRA_PAD" "PADTRA_TILE" "PADTRA_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "ATI Radeon HD 6750M", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "Ellesmere", { {"PADTRA_PAD",1}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Fiji", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Hawaii", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "Oland", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "Pitcairn", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "Tahiti", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "Tonga", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Turks", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, + { "AMD Radeon R9 M370X Compute Engine", { 0, 16, 4 } }, + { "ATI Radeon HD 6750M", { 1, 16, 1 } }, + { "Ellesmere", { 1, 8, 4 } }, + { "Fiji", { 0, 16, 2 } }, + { "Hawaii", { 1, 16, 4 } }, + { "Oland", { 0, 16, 4 } }, + { "Pitcairn", { 0, 16, 4 } }, + { "Tahiti", { 0, 16, 4 } }, + { "Tonga", { 0, 16, 2 } }, + { "Turks", { 1, 16, 1 } }, + { "default", { 0, 16, 4 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",2} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",2} } }, + { "Mali-T628", { 0, 8, 2 } }, + { "default", { 0, 8, 2 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",8} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",32}, {"PADTRA_WPT",1} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",8} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",8} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",32}, {"PADTRA_WPT",1} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",8} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 0, 16, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 0, 32, 1 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 0, 32, 1 } }, + { "default", { 0, 8, 8 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Iris", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Iris Pro", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "default", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, + { "Intel(R) HD Graphics 530", { 1, 16, 2 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 0, 16, 4 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 1, 16, 2 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 0, 16, 4 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 1, 16, 2 } }, + { "Iris", { 1, 16, 2 } }, + { "Iris Pro", { 1, 16, 2 } }, + { "default", { 1, 16, 2 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 0, 16, 2 } }, + { "default", { 0, 16, 2 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",2} } }, - { "GeForce GTX 1070", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 1080", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "GeForce GTX 480", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "GeForce GTX 670", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",2} } }, - { "GeForce GTX 680", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "GeForce GTX 750", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",2} } }, - { "GeForce GTX 750 Ti", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",2} } }, - { "GeForce GTX 980", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX TITAN", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "GeForce GTX TITAN Black", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",2} } }, - { "GeForce GTX TITAN X", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",1} } }, - { "TITAN X (Pascal)", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Tesla K20m", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Tesla K40m", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",2} } }, - { "default", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",2} } }, + { "GRID K520", { 1, 32, 2 } }, + { "GeForce GTX 1070", { 0, 16, 1 } }, + { "GeForce GTX 1080", { 1, 16, 2 } }, + { "GeForce GTX 480", { 1, 16, 2 } }, + { "GeForce GTX 670", { 1, 32, 2 } }, + { "GeForce GTX 680", { 1, 16, 2 } }, + { "GeForce GTX 750", { 1, 32, 2 } }, + { "GeForce GTX 750 Ti", { 1, 32, 2 } }, + { "GeForce GTX 980", { 0, 16, 1 } }, + { "GeForce GTX TITAN", { 1, 16, 2 } }, + { "GeForce GTX TITAN Black", { 1, 32, 2 } }, + { "GeForce GTX TITAN X", { 1, 32, 1 } }, + { "TITAN X (Pascal)", { 1, 16, 2 } }, + { "Tesla K20m", { 1, 16, 2 } }, + { "Tesla K40m", { 1, 32, 2 } }, + { "default", { 1, 32, 2 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, + { "default", { 1, 16, 2 } }, } }, } @@ -123,80 +123,80 @@ const Database::DatabaseEntry PadtransposeSingle = { // ================================================================================================= const Database::DatabaseEntry PadtransposeComplexSingle = { - "Padtranspose", Precision::kComplexSingle, { + "Padtranspose", Precision::kComplexSingle, {"PADTRA_PAD" "PADTRA_TILE" "PADTRA_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "ATI Radeon HD 6750M", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "Ellesmere", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Fiji", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Hawaii", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Oland", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Pitcairn", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Tahiti", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Tonga", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Turks", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, + { "AMD Radeon R9 M370X Compute Engine", { 0, 16, 4 } }, + { "ATI Radeon HD 6750M", { 1, 16, 1 } }, + { "Ellesmere", { 0, 8, 4 } }, + { "Fiji", { 1, 16, 2 } }, + { "Hawaii", { 0, 16, 2 } }, + { "Oland", { 0, 8, 4 } }, + { "Pitcairn", { 0, 8, 4 } }, + { "Tahiti", { 0, 16, 2 } }, + { "Tonga", { 0, 16, 2 } }, + { "Turks", { 0, 16, 4 } }, + { "default", { 0, 8, 4 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "default", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, + { "Mali-T628", { 1, 16, 2 } }, + { "default", { 1, 16, 2 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",8} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"PADTRA_PAD",1}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",8} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",8} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",8} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 1, 8, 4 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 0, 8, 4 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 0, 8, 4 } }, + { "default", { 0, 8, 8 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "Iris", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Iris Pro", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "default", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, + { "Intel(R) HD Graphics 530", { 1, 16, 2 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 0, 16, 2 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 1, 16, 2 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 0, 16, 2 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 0, 16, 4 } }, + { "Iris", { 0, 16, 2 } }, + { "Iris Pro", { 1, 16, 2 } }, + { "default", { 1, 16, 2 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "default", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 1, 16, 1 } }, + { "default", { 1, 16, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 1070", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 1080", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 480", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 670", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 680", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 750", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "GeForce GTX 750 Ti", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 980", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX TITAN", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX TITAN Black", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX TITAN X", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",1} } }, - { "TITAN X (Pascal)", { {"PADTRA_PAD",1}, {"PADTRA_TILE",8}, {"PADTRA_WPT",1} } }, - { "Tesla K20m", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "Tesla K40m", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "default", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, + { "GRID K520", { 1, 16, 1 } }, + { "GeForce GTX 1070", { 1, 16, 1 } }, + { "GeForce GTX 1080", { 0, 8, 1 } }, + { "GeForce GTX 480", { 1, 16, 1 } }, + { "GeForce GTX 670", { 1, 16, 1 } }, + { "GeForce GTX 680", { 1, 16, 1 } }, + { "GeForce GTX 750", { 1, 16, 2 } }, + { "GeForce GTX 750 Ti", { 1, 16, 1 } }, + { "GeForce GTX 980", { 0, 16, 1 } }, + { "GeForce GTX TITAN", { 1, 16, 1 } }, + { "GeForce GTX TITAN Black", { 0, 16, 1 } }, + { "GeForce GTX TITAN X", { 1, 32, 1 } }, + { "TITAN X (Pascal)", { 1, 8, 1 } }, + { "Tesla K20m", { 0, 16, 1 } }, + { "Tesla K40m", { 1, 16, 1 } }, + { "default", { 1, 16, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, + { "default", { 1, 16, 2 } }, } }, } @@ -205,66 +205,66 @@ const Database::DatabaseEntry PadtransposeComplexSingle = { // ================================================================================================= const Database::DatabaseEntry PadtransposeDouble = { - "Padtranspose", Precision::kDouble, { + "Padtranspose", Precision::kDouble, {"PADTRA_PAD" "PADTRA_TILE" "PADTRA_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "Ellesmere", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "Fiji", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Hawaii", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Oland", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, - { "Pitcairn", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Tahiti", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Tonga", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",2} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",4} } }, + { "AMD Radeon R9 M370X Compute Engine", { 0, 16, 4 } }, + { "Ellesmere", { 0, 16, 4 } }, + { "Fiji", { 0, 16, 2 } }, + { "Hawaii", { 0, 16, 2 } }, + { "Oland", { 0, 16, 4 } }, + { "Pitcairn", { 0, 8, 4 } }, + { "Tahiti", { 1, 16, 2 } }, + { "Tonga", { 0, 8, 2 } }, + { "default", { 0, 16, 4 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, + { "Mali-T628", { 0, 16, 2 } }, + { "default", { 0, 16, 2 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",8} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"PADTRA_PAD",1}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",64}, {"PADTRA_WPT",1} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",8} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",8} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",1} } }, - { "default", { {"PADTRA_PAD",1}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 1, 8, 4 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 0, 64, 1 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 0, 8, 8 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 1, 32, 1 } }, + { "default", { 1, 8, 4 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 0, 16, 1 } }, + { "default", { 0, 16, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 1070", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 1080", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 480", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 670", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 680", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 750", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "GeForce GTX 750 Ti", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",2} } }, - { "GeForce GTX 980", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",1} } }, - { "GeForce GTX TITAN", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX TITAN Black", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX TITAN X", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",1} } }, - { "TITAN X (Pascal)", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",1} } }, - { "Tesla K20m", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "Tesla K40m", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "default", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, + { "GRID K520", { 1, 16, 1 } }, + { "GeForce GTX 1070", { 1, 16, 1 } }, + { "GeForce GTX 1080", { 0, 8, 1 } }, + { "GeForce GTX 480", { 1, 16, 1 } }, + { "GeForce GTX 670", { 1, 16, 1 } }, + { "GeForce GTX 680", { 1, 16, 1 } }, + { "GeForce GTX 750", { 1, 16, 2 } }, + { "GeForce GTX 750 Ti", { 1, 32, 2 } }, + { "GeForce GTX 980", { 1, 32, 1 } }, + { "GeForce GTX TITAN", { 0, 16, 1 } }, + { "GeForce GTX TITAN Black", { 0, 16, 1 } }, + { "GeForce GTX TITAN X", { 1, 32, 1 } }, + { "TITAN X (Pascal)", { 0, 8, 1 } }, + { "Tesla K20m", { 0, 16, 1 } }, + { "Tesla K40m", { 1, 16, 1 } }, + { "default", { 1, 16, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, + { "default", { 1, 16, 2 } }, } }, } @@ -273,66 +273,66 @@ const Database::DatabaseEntry PadtransposeDouble = { // ================================================================================================= const Database::DatabaseEntry PadtransposeComplexDouble = { - "Padtranspose", Precision::kComplexDouble, { + "Padtranspose", Precision::kComplexDouble, {"PADTRA_PAD" "PADTRA_TILE" "PADTRA_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Ellesmere", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Fiji", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",2} } }, - { "Hawaii", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Oland", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Pitcairn", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Tahiti", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",2} } }, - { "Tonga", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",2} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, + { "AMD Radeon R9 M370X Compute Engine", { 0, 8, 4 } }, + { "Ellesmere", { 0, 8, 4 } }, + { "Fiji", { 0, 8, 2 } }, + { "Hawaii", { 0, 8, 4 } }, + { "Oland", { 0, 8, 4 } }, + { "Pitcairn", { 0, 8, 4 } }, + { "Tahiti", { 0, 8, 2 } }, + { "Tonga", { 0, 8, 2 } }, + { "default", { 0, 8, 4 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",1} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",1} } }, + { "Mali-T628", { 0, 8, 1 } }, + { "default", { 0, 8, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"PADTRA_PAD",1}, {"PADTRA_TILE",8}, {"PADTRA_WPT",2} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",2} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"PADTRA_PAD",1}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"PADTRA_PAD",1}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",4} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 0, 8, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 1, 8, 2 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 1, 16, 2 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 1, 8, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 0, 8, 4 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 1, 8, 4 } }, + { "default", { 0, 8, 4 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 0, 16, 1 } }, + { "default", { 0, 16, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 1070", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 1080", { {"PADTRA_PAD",1}, {"PADTRA_TILE",8}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 480", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 670", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 680", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 750", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX 750 Ti", { {"PADTRA_PAD",1}, {"PADTRA_TILE",8}, {"PADTRA_WPT",2} } }, - { "GeForce GTX 980", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX TITAN", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX TITAN Black", { {"PADTRA_PAD",0}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "GeForce GTX TITAN X", { {"PADTRA_PAD",1}, {"PADTRA_TILE",32}, {"PADTRA_WPT",1} } }, - { "TITAN X (Pascal)", { {"PADTRA_PAD",1}, {"PADTRA_TILE",8}, {"PADTRA_WPT",1} } }, - { "Tesla K20m", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "Tesla K40m", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, - { "default", { {"PADTRA_PAD",1}, {"PADTRA_TILE",16}, {"PADTRA_WPT",1} } }, + { "GRID K520", { 1, 16, 1 } }, + { "GeForce GTX 1070", { 1, 16, 1 } }, + { "GeForce GTX 1080", { 1, 8, 1 } }, + { "GeForce GTX 480", { 1, 16, 1 } }, + { "GeForce GTX 670", { 1, 16, 1 } }, + { "GeForce GTX 680", { 1, 32, 1 } }, + { "GeForce GTX 750", { 1, 16, 1 } }, + { "GeForce GTX 750 Ti", { 1, 8, 2 } }, + { "GeForce GTX 980", { 0, 16, 1 } }, + { "GeForce GTX TITAN", { 1, 16, 1 } }, + { "GeForce GTX TITAN Black", { 0, 16, 1 } }, + { "GeForce GTX TITAN X", { 1, 32, 1 } }, + { "TITAN X (Pascal)", { 1, 8, 1 } }, + { "Tesla K20m", { 1, 16, 1 } }, + { "Tesla K40m", { 1, 16, 1 } }, + { "default", { 1, 16, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"PADTRA_PAD",0}, {"PADTRA_TILE",8}, {"PADTRA_WPT",2} } }, + { "default", { 0, 8, 2 } }, } }, } diff --git a/src/database/kernels/transpose.hpp b/src/database/kernels/transpose.hpp index 7b9c3c6d..30d4dacd 100644 --- a/src/database/kernels/transpose.hpp +++ b/src/database/kernels/transpose.hpp @@ -16,23 +16,23 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry TransposeHalf = { - "Transpose", Precision::kHalf, { + "Transpose", Precision::kHalf, {"TRA_DIM" "TRA_PAD" "TRA_SHUFFLE" "TRA_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "Ellesmere", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",8} } }, - { "default", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",8} } }, + { "Ellesmere", { 4, 0, 1, 8 } }, + { "default", { 4, 0, 1, 8 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",8} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "default", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 8, 1, 1, 8 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 16, 0, 0, 4 } }, + { "default", { 8, 1, 0, 8 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, + { "default", { 16, 0, 1, 4 } }, } }, } @@ -41,81 +41,81 @@ const Database::DatabaseEntry TransposeHalf = { // ================================================================================================= const Database::DatabaseEntry TransposeSingle = { - "Transpose", Precision::kSingle, { + "Transpose", Precision::kSingle, {"TRA_DIM" "TRA_PAD" "TRA_SHUFFLE" "TRA_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",8} } }, - { "ATI Radeon HD 6750M", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "Ellesmere", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "Fiji", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "Hawaii", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",8} } }, - { "Oland", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "Pitcairn", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "Tahiti", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "Tonga", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "Turks", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "default", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, + { "AMD Radeon R9 M370X Compute Engine", { 4, 0, 1, 8 } }, + { "ATI Radeon HD 6750M", { 8, 0, 1, 2 } }, + { "Ellesmere", { 16, 0, 1, 4 } }, + { "Fiji", { 16, 0, 1, 2 } }, + { "Hawaii", { 4, 0, 1, 8 } }, + { "Oland", { 8, 0, 1, 4 } }, + { "Pitcairn", { 16, 0, 1, 1 } }, + { "Tahiti", { 4, 0, 1, 4 } }, + { "Tonga", { 8, 1, 1, 2 } }, + { "Turks", { 8, 0, 1, 2 } }, + { "default", { 8, 0, 1, 2 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "default", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, + { "Mali-T628", { 8, 0, 1, 4 } }, + { "default", { 8, 0, 1, 4 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"TRA_DIM",4}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",16} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",8} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"TRA_DIM",4}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",16} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, - { "default", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 4, 1, 0, 16 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 4, 0, 0, 8 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 4, 0, 1, 8 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 4, 0, 0, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 4, 1, 0, 16 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 4, 0, 0, 8 } }, + { "default", { 4, 0, 0, 8 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "Iris", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "Iris Pro", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "default", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, + { "Intel(R) HD Graphics 530", { 16, 0, 1, 4 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 16, 0, 0, 4 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 16, 0, 0, 4 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 8, 0, 1, 4 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 16, 0, 1, 2 } }, + { "Iris", { 8, 1, 0, 4 } }, + { "Iris Pro", { 16, 1, 0, 4 } }, + { "default", { 16, 0, 0, 4 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "default", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 16, 1, 1, 1 } }, + { "default", { 16, 1, 1, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"TRA_DIM",32}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "GeForce GT 650M", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "GeForce GTX 1070", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "GeForce GTX 1080", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "GeForce GTX 480", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "GeForce GTX 670", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "GeForce GTX 680", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "GeForce GTX 750", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, - { "GeForce GTX 750 Ti", { {"TRA_DIM",32}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "GeForce GTX 980", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX TITAN", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "GeForce GTX TITAN Black", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "GeForce GTX TITAN X", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "TITAN X (Pascal)", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "Tesla K20m", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "Tesla K40m", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "default", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, + { "GRID K520", { 32, 1, 1, 2 } }, + { "GeForce GT 650M", { 8, 1, 0, 4 } }, + { "GeForce GTX 1070", { 8, 0, 1, 4 } }, + { "GeForce GTX 1080", { 4, 0, 0, 4 } }, + { "GeForce GTX 480", { 16, 1, 0, 2 } }, + { "GeForce GTX 670", { 16, 1, 1, 2 } }, + { "GeForce GTX 680", { 16, 1, 1, 2 } }, + { "GeForce GTX 750", { 4, 0, 0, 8 } }, + { "GeForce GTX 750 Ti", { 32, 1, 0, 2 } }, + { "GeForce GTX 980", { 16, 0, 0, 1 } }, + { "GeForce GTX TITAN", { 8, 1, 0, 4 } }, + { "GeForce GTX TITAN Black", { 8, 1, 0, 4 } }, + { "GeForce GTX TITAN X", { 16, 0, 0, 4 } }, + { "TITAN X (Pascal)", { 8, 0, 0, 4 } }, + { "Tesla K20m", { 8, 0, 0, 4 } }, + { "Tesla K40m", { 8, 1, 0, 4 } }, + { "default", { 8, 1, 0, 4 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, + { "default", { 8, 0, 1, 4 } }, } }, } @@ -124,74 +124,74 @@ const Database::DatabaseEntry TransposeSingle = { // ================================================================================================= const Database::DatabaseEntry TransposeComplexSingle = { - "Transpose", Precision::kComplexSingle, { + "Transpose", Precision::kComplexSingle, {"TRA_DIM" "TRA_PAD" "TRA_SHUFFLE" "TRA_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"TRA_DIM",4}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "ATI Radeon HD 6750M", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "Ellesmere", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "Fiji", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "Hawaii", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "Oland", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "Pitcairn", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "Tahiti", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "Tonga", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "Turks", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "default", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 4, 1, 1, 4 } }, + { "ATI Radeon HD 6750M", { 16, 1, 1, 1 } }, + { "Ellesmere", { 4, 0, 1, 4 } }, + { "Fiji", { 8, 1, 1, 2 } }, + { "Hawaii", { 16, 0, 1, 1 } }, + { "Oland", { 4, 0, 1, 2 } }, + { "Pitcairn", { 8, 0, 1, 1 } }, + { "Tahiti", { 16, 0, 1, 1 } }, + { "Tonga", { 16, 0, 1, 1 } }, + { "Turks", { 8, 1, 1, 4 } }, + { "default", { 8, 0, 1, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "default", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, + { "Mali-T628", { 16, 0, 0, 2 } }, + { "default", { 16, 0, 0, 2 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",8} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"TRA_DIM",4}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"TRA_DIM",4}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "default", { {"TRA_DIM",4}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 4, 0, 1, 8 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 8, 0, 0, 2 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 4, 0, 0, 4 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 4, 1, 0, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 4, 1, 0, 8 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 16, 0, 0, 4 } }, + { "default", { 4, 1, 0, 8 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "Iris", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "Iris Pro", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "default", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, + { "Intel(R) HD Graphics 530", { 16, 1, 1, 2 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 8, 0, 0, 2 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 8, 0, 0, 2 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 16, 1, 1, 2 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 16, 1, 0, 2 } }, + { "Iris", { 8, 0, 0, 2 } }, + { "Iris Pro", { 16, 1, 0, 2 } }, + { "default", { 16, 1, 0, 2 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "GeForce GTX 1070", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "GeForce GTX 1080", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX 480", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX 670", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "GeForce GTX 680", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "GeForce GTX 750", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX 750 Ti", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX 980", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX TITAN", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX TITAN Black", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX TITAN X", { {"TRA_DIM",32}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "TITAN X (Pascal)", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "Tesla K20m", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "Tesla K40m", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "default", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, + { "GRID K520", { 16, 1, 1, 1 } }, + { "GeForce GTX 1070", { 16, 1, 1, 1 } }, + { "GeForce GTX 1080", { 16, 1, 0, 1 } }, + { "GeForce GTX 480", { 16, 1, 0, 1 } }, + { "GeForce GTX 670", { 16, 1, 1, 1 } }, + { "GeForce GTX 680", { 16, 1, 1, 1 } }, + { "GeForce GTX 750", { 16, 1, 0, 1 } }, + { "GeForce GTX 750 Ti", { 16, 1, 0, 1 } }, + { "GeForce GTX 980", { 16, 1, 0, 1 } }, + { "GeForce GTX TITAN", { 16, 0, 0, 1 } }, + { "GeForce GTX TITAN Black", { 16, 1, 0, 1 } }, + { "GeForce GTX TITAN X", { 32, 1, 0, 1 } }, + { "TITAN X (Pascal)", { 8, 1, 0, 2 } }, + { "Tesla K20m", { 16, 0, 0, 1 } }, + { "Tesla K40m", { 16, 1, 0, 1 } }, + { "default", { 16, 1, 0, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, + { "default", { 8, 1, 1, 2 } }, } }, } @@ -200,66 +200,66 @@ const Database::DatabaseEntry TransposeComplexSingle = { // ================================================================================================= const Database::DatabaseEntry TransposeDouble = { - "Transpose", Precision::kDouble, { + "Transpose", Precision::kDouble, {"TRA_DIM" "TRA_PAD" "TRA_SHUFFLE" "TRA_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "Ellesmere", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "Fiji", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "Hawaii", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "Oland", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "Pitcairn", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "Tahiti", { {"TRA_DIM",4}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "Tonga", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, - { "default", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",4} } }, + { "AMD Radeon R9 M370X Compute Engine", { 4, 0, 1, 4 } }, + { "Ellesmere", { 4, 0, 1, 4 } }, + { "Fiji", { 8, 1, 1, 2 } }, + { "Hawaii", { 16, 0, 1, 1 } }, + { "Oland", { 8, 1, 1, 2 } }, + { "Pitcairn", { 4, 0, 1, 2 } }, + { "Tahiti", { 4, 1, 1, 4 } }, + { "Tonga", { 4, 0, 1, 4 } }, + { "default", { 4, 0, 1, 4 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "default", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, + { "Mali-T628", { 8, 0, 0, 1 } }, + { "default", { 8, 0, 0, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"TRA_DIM",4}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"TRA_DIM",4}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"TRA_DIM",4}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",16} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, - { "default", { {"TRA_DIM",4}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 4, 1, 0, 8 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 4, 0, 0, 4 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 4, 1, 0, 4 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 4, 1, 0, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 4, 0, 0, 16 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 4, 0, 0, 8 } }, + { "default", { 4, 1, 0, 8 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"TRA_DIM",32}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "default", { {"TRA_DIM",32}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 32, 1, 0, 1 } }, + { "default", { 32, 1, 0, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "GeForce GTX 1070", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "GeForce GTX 1080", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "GeForce GTX 480", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "GeForce GTX 670", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "GeForce GTX 680", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "GeForce GTX 750", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX 750 Ti", { {"TRA_DIM",32}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "GeForce GTX 980", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "GeForce GTX TITAN", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "GeForce GTX TITAN Black", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "GeForce GTX TITAN X", { {"TRA_DIM",32}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "TITAN X (Pascal)", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "Tesla K20m", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "Tesla K40m", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "default", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, + { "GRID K520", { 16, 1, 1, 2 } }, + { "GeForce GTX 1070", { 8, 0, 1, 2 } }, + { "GeForce GTX 1080", { 8, 0, 0, 2 } }, + { "GeForce GTX 480", { 8, 1, 0, 2 } }, + { "GeForce GTX 670", { 16, 1, 1, 2 } }, + { "GeForce GTX 680", { 16, 1, 1, 2 } }, + { "GeForce GTX 750", { 16, 1, 0, 1 } }, + { "GeForce GTX 750 Ti", { 32, 1, 0, 2 } }, + { "GeForce GTX 980", { 16, 0, 0, 2 } }, + { "GeForce GTX TITAN", { 8, 0, 0, 2 } }, + { "GeForce GTX TITAN Black", { 16, 1, 0, 2 } }, + { "GeForce GTX TITAN X", { 32, 1, 0, 1 } }, + { "TITAN X (Pascal)", { 16, 1, 0, 2 } }, + { "Tesla K20m", { 16, 1, 0, 2 } }, + { "Tesla K40m", { 16, 1, 1, 2 } }, + { "default", { 16, 1, 1, 2 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, + { "default", { 16, 1, 1, 2 } }, } }, } @@ -268,60 +268,60 @@ const Database::DatabaseEntry TransposeDouble = { // ================================================================================================= const Database::DatabaseEntry TransposeComplexDouble = { - "Transpose", Precision::kComplexDouble, { + "Transpose", Precision::kComplexDouble, {"TRA_DIM" "TRA_PAD" "TRA_SHUFFLE" "TRA_WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"TRA_DIM",4}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "Ellesmere", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "Fiji", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "Hawaii", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "Oland", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "Pitcairn", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "Tahiti", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "Tonga", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",2} } }, - { "default", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 4, 1, 1, 2 } }, + { "Ellesmere", { 16, 0, 1, 1 } }, + { "Fiji", { 16, 0, 1, 1 } }, + { "Hawaii", { 4, 0, 1, 2 } }, + { "Oland", { 16, 0, 1, 1 } }, + { "Pitcairn", { 4, 0, 1, 1 } }, + { "Tahiti", { 16, 0, 1, 1 } }, + { "Tonga", { 8, 1, 1, 2 } }, + { "default", { 16, 0, 1, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "default", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, + { "Mali-T628", { 8, 0, 0, 1 } }, + { "default", { 8, 0, 0, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",8} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"TRA_DIM",4}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",1}, {"TRA_WPT",8} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",2} } }, - { "default", { {"TRA_DIM",4}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",8} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 4, 0, 1, 8 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 4, 0, 0, 4 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 4, 0, 0, 4 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 4, 1, 0, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 4, 0, 1, 8 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 16, 1, 0, 2 } }, + { "default", { 4, 0, 0, 8 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "GeForce GTX 1070", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX 1080", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX 480", { {"TRA_DIM",8}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX 670", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "GeForce GTX 680", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, - { "GeForce GTX 750", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX 750 Ti", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX 980", { {"TRA_DIM",32}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX TITAN", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX TITAN Black", { {"TRA_DIM",16}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "GeForce GTX TITAN X", { {"TRA_DIM",32}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "TITAN X (Pascal)", { {"TRA_DIM",8}, {"TRA_PAD",0}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "Tesla K20m", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "Tesla K40m", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, - { "default", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",0}, {"TRA_WPT",1} } }, + { "GRID K520", { 16, 1, 1, 1 } }, + { "GeForce GTX 1070", { 8, 0, 0, 1 } }, + { "GeForce GTX 1080", { 8, 0, 0, 1 } }, + { "GeForce GTX 480", { 8, 1, 0, 1 } }, + { "GeForce GTX 670", { 16, 1, 1, 1 } }, + { "GeForce GTX 680", { 16, 1, 1, 1 } }, + { "GeForce GTX 750", { 16, 1, 0, 1 } }, + { "GeForce GTX 750 Ti", { 16, 1, 0, 1 } }, + { "GeForce GTX 980", { 32, 1, 0, 1 } }, + { "GeForce GTX TITAN", { 16, 1, 0, 1 } }, + { "GeForce GTX TITAN Black", { 16, 0, 0, 1 } }, + { "GeForce GTX TITAN X", { 32, 1, 0, 1 } }, + { "TITAN X (Pascal)", { 8, 0, 0, 1 } }, + { "Tesla K20m", { 16, 1, 0, 1 } }, + { "Tesla K40m", { 16, 1, 0, 1 } }, + { "default", { 16, 1, 0, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"TRA_DIM",16}, {"TRA_PAD",1}, {"TRA_SHUFFLE",1}, {"TRA_WPT",1} } }, + { "default", { 16, 1, 1, 1 } }, } }, } diff --git a/src/database/kernels/xaxpy.hpp b/src/database/kernels/xaxpy.hpp index c9da40e1..1a7ec766 100644 --- a/src/database/kernels/xaxpy.hpp +++ b/src/database/kernels/xaxpy.hpp @@ -16,23 +16,23 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry XaxpyHalf = { - "Xaxpy", Precision::kHalf, { + "Xaxpy", Precision::kHalf, {"VW" "WGS" "WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "Ellesmere", { {"VW",4}, {"WGS",128}, {"WPT",4} } }, - { "default", { {"VW",4}, {"WGS",128}, {"WPT",4} } }, + { "Ellesmere", { 4, 128, 4 } }, + { "default", { 4, 128, 4 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"VW",8}, {"WGS",64}, {"WPT",1} } }, - { "default", { {"VW",8}, {"WGS",64}, {"WPT",1} } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 1, 64, 1 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 8, 64, 1 } }, + { "default", { 8, 64, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW",8}, {"WGS",256}, {"WPT",4} } }, + { "default", { 8, 256, 4 } }, } }, } @@ -41,81 +41,81 @@ const Database::DatabaseEntry XaxpyHalf = { // ================================================================================================= const Database::DatabaseEntry XaxpySingle = { - "Xaxpy", Precision::kSingle, { + "Xaxpy", Precision::kSingle, {"VW" "WGS" "WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "ATI Radeon HD 6750M", { {"VW",1}, {"WGS",256}, {"WPT",2} } }, - { "Ellesmere", { {"VW",1}, {"WGS",64}, {"WPT",4} } }, - { "Fiji", { {"VW",4}, {"WGS",64}, {"WPT",1} } }, - { "Hawaii", { {"VW",2}, {"WGS",64}, {"WPT",2} } }, - { "Oland", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "Pitcairn", { {"VW",2}, {"WGS",128}, {"WPT",1} } }, - { "Tahiti", { {"VW",2}, {"WGS",64}, {"WPT",1} } }, - { "Tonga", { {"VW",1}, {"WGS",256}, {"WPT",8} } }, - { "Turks", { {"VW",2}, {"WGS",256}, {"WPT",1} } }, - { "default", { {"VW",2}, {"WGS",256}, {"WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 1, 128, 1 } }, + { "ATI Radeon HD 6750M", { 1, 256, 2 } }, + { "Ellesmere", { 1, 64, 4 } }, + { "Fiji", { 4, 64, 1 } }, + { "Hawaii", { 2, 64, 2 } }, + { "Oland", { 1, 128, 1 } }, + { "Pitcairn", { 2, 128, 1 } }, + { "Tahiti", { 2, 64, 1 } }, + { "Tonga", { 1, 256, 8 } }, + { "Turks", { 2, 256, 1 } }, + { "default", { 2, 256, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"VW",4}, {"WGS",256}, {"WPT",1} } }, - { "default", { {"VW",4}, {"WGS",256}, {"WPT",1} } }, + { "Mali-T628", { 4, 256, 1 } }, + { "default", { 4, 256, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"VW",8}, {"WGS",512}, {"WPT",1} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"VW",1}, {"WGS",512}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"VW",1}, {"WGS",128}, {"WPT",2} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"VW",4}, {"WGS",256}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"VW",2}, {"WGS",1024}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "default", { {"VW",8}, {"WGS",512}, {"WPT",1} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 8, 512, 1 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 1, 512, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 1, 128, 2 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 4, 256, 1 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 2, 1024, 1 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 1, 128, 1 } }, + { "default", { 8, 512, 1 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"VW",8}, {"WGS",512}, {"WPT",1} } }, - { "Iris", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Iris Pro", { {"VW",1}, {"WGS",128}, {"WPT",2} } }, - { "default", { {"VW",4}, {"WGS",256}, {"WPT",1} } }, + { "Intel(R) HD Graphics 530", { 1, 128, 1 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 1, 256, 1 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 1, 64, 1 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 1, 64, 1 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 8, 512, 1 } }, + { "Iris", { 1, 64, 1 } }, + { "Iris Pro", { 1, 128, 2 } }, + { "default", { 4, 256, 1 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"VW",2}, {"WGS",1024}, {"WPT",2} } }, - { "default", { {"VW",2}, {"WGS",1024}, {"WPT",2} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 2, 1024, 2 } }, + { "default", { 2, 1024, 2 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"VW",2}, {"WGS",64}, {"WPT",1} } }, - { "GeForce GT 650M", { {"VW",2}, {"WGS",1024}, {"WPT",1} } }, - { "GeForce GTX 1070", { {"VW",1}, {"WGS",64}, {"WPT",4} } }, - { "GeForce GTX 1080", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, - { "GeForce GTX 480", { {"VW",2}, {"WGS",128}, {"WPT",1} } }, - { "GeForce GTX 670", { {"VW",2}, {"WGS",64}, {"WPT",1} } }, - { "GeForce GTX 680", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "GeForce GTX 750", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "GeForce GTX 750 Ti", { {"VW",2}, {"WGS",64}, {"WPT",1} } }, - { "GeForce GTX 980", { {"VW",1}, {"WGS",1024}, {"WPT",1} } }, - { "GeForce GTX TITAN", { {"VW",4}, {"WGS",256}, {"WPT",1} } }, - { "GeForce GTX TITAN Black", { {"VW",4}, {"WGS",128}, {"WPT",4} } }, - { "GeForce GTX TITAN X", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "TITAN X (Pascal)", { {"VW",4}, {"WGS",128}, {"WPT",1} } }, - { "Tesla K20m", { {"VW",4}, {"WGS",128}, {"WPT",1} } }, - { "Tesla K40m", { {"VW",4}, {"WGS",128}, {"WPT",1} } }, - { "default", { {"VW",4}, {"WGS",1024}, {"WPT",1} } }, + { "GRID K520", { 2, 64, 1 } }, + { "GeForce GT 650M", { 2, 1024, 1 } }, + { "GeForce GTX 1070", { 1, 64, 4 } }, + { "GeForce GTX 1080", { 1, 256, 1 } }, + { "GeForce GTX 480", { 2, 128, 1 } }, + { "GeForce GTX 670", { 2, 64, 1 } }, + { "GeForce GTX 680", { 1, 128, 1 } }, + { "GeForce GTX 750", { 1, 64, 1 } }, + { "GeForce GTX 750 Ti", { 2, 64, 1 } }, + { "GeForce GTX 980", { 1, 1024, 1 } }, + { "GeForce GTX TITAN", { 4, 256, 1 } }, + { "GeForce GTX TITAN Black", { 4, 128, 4 } }, + { "GeForce GTX TITAN X", { 1, 64, 1 } }, + { "TITAN X (Pascal)", { 4, 128, 1 } }, + { "Tesla K20m", { 4, 128, 1 } }, + { "Tesla K40m", { 4, 128, 1 } }, + { "default", { 4, 1024, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW",4}, {"WGS",256}, {"WPT",1} } }, + { "default", { 4, 256, 1 } }, } }, } @@ -124,80 +124,80 @@ const Database::DatabaseEntry XaxpySingle = { // ================================================================================================= const Database::DatabaseEntry XaxpyComplexSingle = { - "Xaxpy", Precision::kComplexSingle, { + "Xaxpy", Precision::kComplexSingle, {"VW" "WGS" "WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"VW",2}, {"WGS",64}, {"WPT",8} } }, - { "ATI Radeon HD 6750M", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Ellesmere", { {"VW",2}, {"WGS",256}, {"WPT",1} } }, - { "Fiji", { {"VW",1}, {"WGS",128}, {"WPT",2} } }, - { "Hawaii", { {"VW",1}, {"WGS",128}, {"WPT",2} } }, - { "Oland", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "Pitcairn", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Tahiti", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Tonga", { {"VW",1}, {"WGS",256}, {"WPT",8} } }, - { "Turks", { {"VW",2}, {"WGS",256}, {"WPT",1} } }, - { "default", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 2, 64, 8 } }, + { "ATI Radeon HD 6750M", { 1, 64, 1 } }, + { "Ellesmere", { 2, 256, 1 } }, + { "Fiji", { 1, 128, 2 } }, + { "Hawaii", { 1, 128, 2 } }, + { "Oland", { 1, 128, 1 } }, + { "Pitcairn", { 1, 64, 1 } }, + { "Tahiti", { 1, 64, 1 } }, + { "Tonga", { 1, 256, 8 } }, + { "Turks", { 2, 256, 1 } }, + { "default", { 1, 128, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, - { "default", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, + { "Mali-T628", { 1, 256, 1 } }, + { "default", { 1, 256, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"VW",4}, {"WGS",1024}, {"WPT",1} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"VW",4}, {"WGS",256}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"VW",4}, {"WGS",1024}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"VW",1}, {"WGS",1024}, {"WPT",2} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"VW",4}, {"WGS",1024}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"VW",2}, {"WGS",1024}, {"WPT",1} } }, - { "default", { {"VW",8}, {"WGS",1024}, {"WPT",1} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 4, 1024, 1 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 4, 256, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 4, 1024, 1 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 1, 1024, 2 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 4, 1024, 1 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 2, 1024, 1 } }, + { "default", { 8, 1024, 1 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"VW",4}, {"WGS",64}, {"WPT",2} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"VW",4}, {"WGS",64}, {"WPT",1} } }, - { "Iris", { {"VW",2}, {"WGS",128}, {"WPT",1} } }, - { "Iris Pro", { {"VW",1}, {"WGS",256}, {"WPT",8} } }, - { "default", { {"VW",4}, {"WGS",64}, {"WPT",1} } }, + { "Intel(R) HD Graphics 530", { 4, 64, 2 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 1, 64, 1 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 1, 64, 1 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 1, 64, 1 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 4, 64, 1 } }, + { "Iris", { 2, 128, 1 } }, + { "Iris Pro", { 1, 256, 8 } }, + { "default", { 4, 64, 1 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"VW",1}, {"WGS",1024}, {"WPT",1} } }, - { "default", { {"VW",1}, {"WGS",1024}, {"WPT",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 1, 1024, 1 } }, + { "default", { 1, 1024, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"VW",1}, {"WGS",512}, {"WPT",1} } }, - { "GeForce GTX 1070", { {"VW",1}, {"WGS",64}, {"WPT",2} } }, - { "GeForce GTX 1080", { {"VW",2}, {"WGS",64}, {"WPT",1} } }, - { "GeForce GTX 480", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, - { "GeForce GTX 670", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, - { "GeForce GTX 680", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, - { "GeForce GTX 750", { {"VW",1}, {"WGS",512}, {"WPT",1} } }, - { "GeForce GTX 750 Ti", { {"VW",1}, {"WGS",512}, {"WPT",1} } }, - { "GeForce GTX 980", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "GeForce GTX TITAN", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, - { "GeForce GTX TITAN Black", { {"VW",1}, {"WGS",128}, {"WPT",2} } }, - { "GeForce GTX TITAN X", { {"VW",1}, {"WGS",512}, {"WPT",1} } }, - { "TITAN X (Pascal)", { {"VW",2}, {"WGS",512}, {"WPT",1} } }, - { "Tesla K20m", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "Tesla K40m", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "default", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, + { "GRID K520", { 1, 512, 1 } }, + { "GeForce GTX 1070", { 1, 64, 2 } }, + { "GeForce GTX 1080", { 2, 64, 1 } }, + { "GeForce GTX 480", { 1, 256, 1 } }, + { "GeForce GTX 670", { 1, 256, 1 } }, + { "GeForce GTX 680", { 1, 256, 1 } }, + { "GeForce GTX 750", { 1, 512, 1 } }, + { "GeForce GTX 750 Ti", { 1, 512, 1 } }, + { "GeForce GTX 980", { 1, 64, 1 } }, + { "GeForce GTX TITAN", { 1, 256, 1 } }, + { "GeForce GTX TITAN Black", { 1, 128, 2 } }, + { "GeForce GTX TITAN X", { 1, 512, 1 } }, + { "TITAN X (Pascal)", { 2, 512, 1 } }, + { "Tesla K20m", { 1, 128, 1 } }, + { "Tesla K40m", { 1, 128, 1 } }, + { "default", { 1, 256, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, + { "default", { 1, 128, 1 } }, } }, } @@ -206,66 +206,66 @@ const Database::DatabaseEntry XaxpyComplexSingle = { // ================================================================================================= const Database::DatabaseEntry XaxpyDouble = { - "Xaxpy", Precision::kDouble, { + "Xaxpy", Precision::kDouble, {"VW" "WGS" "WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, - { "Ellesmere", { {"VW",2}, {"WGS",64}, {"WPT",4} } }, - { "Fiji", { {"VW",2}, {"WGS",64}, {"WPT",4} } }, - { "Hawaii", { {"VW",1}, {"WGS",64}, {"WPT",2} } }, - { "Oland", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Pitcairn", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "Tahiti", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Tonga", { {"VW",1}, {"WGS",128}, {"WPT",4} } }, - { "default", { {"VW",2}, {"WGS",64}, {"WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 1, 256, 1 } }, + { "Ellesmere", { 2, 64, 4 } }, + { "Fiji", { 2, 64, 4 } }, + { "Hawaii", { 1, 64, 2 } }, + { "Oland", { 1, 64, 1 } }, + { "Pitcairn", { 1, 128, 1 } }, + { "Tahiti", { 1, 64, 1 } }, + { "Tonga", { 1, 128, 4 } }, + { "default", { 2, 64, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"VW",2}, {"WGS",128}, {"WPT",2} } }, - { "default", { {"VW",2}, {"WGS",128}, {"WPT",2} } }, + { "Mali-T628", { 2, 128, 2 } }, + { "default", { 2, 128, 2 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"VW",4}, {"WGS",64}, {"WPT",1} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"VW",1}, {"WGS",1024}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"VW",2}, {"WGS",1024}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"VW",8}, {"WGS",64}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"VW",8}, {"WGS",256}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"VW",8}, {"WGS",2048}, {"WPT",1} } }, - { "default", { {"VW",8}, {"WGS",64}, {"WPT",1} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 4, 64, 1 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 1, 1024, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 2, 1024, 1 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 8, 64, 1 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 8, 256, 1 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 8, 2048, 1 } }, + { "default", { 8, 64, 1 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"VW",2}, {"WGS",512}, {"WPT",1} } }, - { "default", { {"VW",2}, {"WGS",512}, {"WPT",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 2, 512, 1 } }, + { "default", { 2, 512, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "GeForce GTX 1070", { {"VW",1}, {"WGS",64}, {"WPT",8} } }, - { "GeForce GTX 1080", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "GeForce GTX 480", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "GeForce GTX 670", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "GeForce GTX 680", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "GeForce GTX 750", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "GeForce GTX 750 Ti", { {"VW",1}, {"WGS",256}, {"WPT",2} } }, - { "GeForce GTX 980", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, - { "GeForce GTX TITAN", { {"VW",2}, {"WGS",1024}, {"WPT",1} } }, - { "GeForce GTX TITAN Black", { {"VW",2}, {"WGS",128}, {"WPT",1} } }, - { "GeForce GTX TITAN X", { {"VW",1}, {"WGS",512}, {"WPT",1} } }, - { "TITAN X (Pascal)", { {"VW",2}, {"WGS",512}, {"WPT",1} } }, - { "Tesla K20m", { {"VW",2}, {"WGS",128}, {"WPT",1} } }, - { "Tesla K40m", { {"VW",2}, {"WGS",128}, {"WPT",1} } }, - { "default", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, + { "GRID K520", { 1, 64, 1 } }, + { "GeForce GTX 1070", { 1, 64, 8 } }, + { "GeForce GTX 1080", { 1, 128, 1 } }, + { "GeForce GTX 480", { 1, 128, 1 } }, + { "GeForce GTX 670", { 1, 64, 1 } }, + { "GeForce GTX 680", { 1, 64, 1 } }, + { "GeForce GTX 750", { 1, 128, 1 } }, + { "GeForce GTX 750 Ti", { 1, 256, 2 } }, + { "GeForce GTX 980", { 1, 256, 1 } }, + { "GeForce GTX TITAN", { 2, 1024, 1 } }, + { "GeForce GTX TITAN Black", { 2, 128, 1 } }, + { "GeForce GTX TITAN X", { 1, 512, 1 } }, + { "TITAN X (Pascal)", { 2, 512, 1 } }, + { "Tesla K20m", { 2, 128, 1 } }, + { "Tesla K40m", { 2, 128, 1 } }, + { "default", { 1, 128, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW",2}, {"WGS",256}, {"WPT",1} } }, + { "default", { 2, 256, 1 } }, } }, } @@ -274,66 +274,66 @@ const Database::DatabaseEntry XaxpyDouble = { // ================================================================================================= const Database::DatabaseEntry XaxpyComplexDouble = { - "Xaxpy", Precision::kComplexDouble, { + "Xaxpy", Precision::kComplexDouble, {"VW" "WGS" "WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "Ellesmere", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "Fiji", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Hawaii", { {"VW",2}, {"WGS",64}, {"WPT",1} } }, - { "Oland", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, - { "Pitcairn", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "Tahiti", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "Tonga", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "default", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 1, 128, 1 } }, + { "Ellesmere", { 1, 128, 1 } }, + { "Fiji", { 1, 64, 1 } }, + { "Hawaii", { 2, 64, 1 } }, + { "Oland", { 1, 256, 1 } }, + { "Pitcairn", { 1, 128, 1 } }, + { "Tahiti", { 1, 128, 1 } }, + { "Tonga", { 1, 64, 1 } }, + { "default", { 1, 128, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"VW",1}, {"WGS",64}, {"WPT",8} } }, - { "default", { {"VW",1}, {"WGS",64}, {"WPT",8} } }, + { "Mali-T628", { 1, 64, 8 } }, + { "default", { 1, 64, 8 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"VW",4}, {"WGS",1024}, {"WPT",1} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"VW",8}, {"WGS",128}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"VW",8}, {"WGS",128}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"VW",8}, {"WGS",512}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"VW",8}, {"WGS",1024}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, - { "default", { {"VW",8}, {"WGS",256}, {"WPT",1} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 4, 1024, 1 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 8, 128, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 8, 128, 1 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 8, 512, 1 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 8, 1024, 1 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 1, 256, 1 } }, + { "default", { 8, 256, 1 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"VW",1}, {"WGS",1024}, {"WPT",1} } }, - { "default", { {"VW",1}, {"WGS",1024}, {"WPT",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 1, 1024, 1 } }, + { "default", { 1, 1024, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "GeForce GTX 1070", { {"VW",1}, {"WGS",64}, {"WPT",2} } }, - { "GeForce GTX 1080", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, - { "GeForce GTX 480", { {"VW",1}, {"WGS",128}, {"WPT",1} } }, - { "GeForce GTX 670", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, - { "GeForce GTX 680", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "GeForce GTX 750", { {"VW",1}, {"WGS",1024}, {"WPT",1} } }, - { "GeForce GTX 750 Ti", { {"VW",1}, {"WGS",64}, {"WPT",2} } }, - { "GeForce GTX 980", { {"VW",1}, {"WGS",1024}, {"WPT",1} } }, - { "GeForce GTX TITAN", { {"VW",1}, {"WGS",64}, {"WPT",4} } }, - { "GeForce GTX TITAN Black", { {"VW",1}, {"WGS",128}, {"WPT",4} } }, - { "GeForce GTX TITAN X", { {"VW",1}, {"WGS",1024}, {"WPT",1} } }, - { "TITAN X (Pascal)", { {"VW",1}, {"WGS",256}, {"WPT",2} } }, - { "Tesla K20m", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "Tesla K40m", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, - { "default", { {"VW",1}, {"WGS",64}, {"WPT",1} } }, + { "GRID K520", { 1, 64, 1 } }, + { "GeForce GTX 1070", { 1, 64, 2 } }, + { "GeForce GTX 1080", { 1, 256, 1 } }, + { "GeForce GTX 480", { 1, 128, 1 } }, + { "GeForce GTX 670", { 1, 256, 1 } }, + { "GeForce GTX 680", { 1, 64, 1 } }, + { "GeForce GTX 750", { 1, 1024, 1 } }, + { "GeForce GTX 750 Ti", { 1, 64, 2 } }, + { "GeForce GTX 980", { 1, 1024, 1 } }, + { "GeForce GTX TITAN", { 1, 64, 4 } }, + { "GeForce GTX TITAN Black", { 1, 128, 4 } }, + { "GeForce GTX TITAN X", { 1, 1024, 1 } }, + { "TITAN X (Pascal)", { 1, 256, 2 } }, + { "Tesla K20m", { 1, 64, 1 } }, + { "Tesla K40m", { 1, 64, 1 } }, + { "default", { 1, 64, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW",1}, {"WGS",256}, {"WPT",1} } }, + { "default", { 1, 256, 1 } }, } }, } diff --git a/src/database/kernels/xdot.hpp b/src/database/kernels/xdot.hpp index d8cc716c..1ceec4e8 100644 --- a/src/database/kernels/xdot.hpp +++ b/src/database/kernels/xdot.hpp @@ -16,23 +16,23 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry XdotHalf = { - "Xdot", Precision::kHalf, { + "Xdot", Precision::kHalf, {"WGS1" "WGS2"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "Ellesmere", { {"WGS1",256}, {"WGS2",64} } }, - { "default", { {"WGS1",256}, {"WGS2",64} } }, + { "Ellesmere", { 256, 64 } }, + { "default", { 256, 64 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"WGS1",256}, {"WGS2",32} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"WGS1",128}, {"WGS2",32} } }, - { "default", { {"WGS1",128}, {"WGS2",32} } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 256, 32 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 128, 32 } }, + { "default", { 128, 32 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",128}, {"WGS2",32} } }, + { "default", { 128, 32 } }, } }, } @@ -41,63 +41,63 @@ const Database::DatabaseEntry XdotHalf = { // ================================================================================================= const Database::DatabaseEntry XdotSingle = { - "Xdot", Precision::kSingle, { + "Xdot", Precision::kSingle, {"WGS1" "WGS2"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"WGS1",128}, {"WGS2",32} } }, - { "ATI Radeon HD 6750M", { {"WGS1",256}, {"WGS2",32} } }, - { "Ellesmere", { {"WGS1",128}, {"WGS2",32} } }, - { "Fiji", { {"WGS1",256}, {"WGS2",32} } }, - { "Oland", { {"WGS1",256}, {"WGS2",32} } }, - { "Pitcairn", { {"WGS1",128}, {"WGS2",32} } }, - { "Tahiti", { {"WGS1",128}, {"WGS2",32} } }, - { "Tonga", { {"WGS1",64}, {"WGS2",32} } }, - { "Turks", { {"WGS1",128}, {"WGS2",64} } }, - { "default", { {"WGS1",256}, {"WGS2",32} } }, + { "AMD Radeon R9 M370X Compute Engine", { 128, 32 } }, + { "ATI Radeon HD 6750M", { 256, 32 } }, + { "Ellesmere", { 128, 32 } }, + { "Fiji", { 256, 32 } }, + { "Oland", { 256, 32 } }, + { "Pitcairn", { 128, 32 } }, + { "Tahiti", { 128, 32 } }, + { "Tonga", { 64, 32 } }, + { "Turks", { 128, 64 } }, + { "default", { 256, 32 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"WGS1",32}, {"WGS2",32} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"WGS1",1024}, {"WGS2",32} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"WGS1",64}, {"WGS2",128} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"WGS1",64}, {"WGS2",32} } }, - { "default", { {"WGS1",64}, {"WGS2",64} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 32, 32 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 1024, 32 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 64, 128 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 64, 32 } }, + { "default", { 64, 64 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"WGS1",64}, {"WGS2",32} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"WGS1",256}, {"WGS2",32} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"WGS1",64}, {"WGS2",32} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"WGS1",512}, {"WGS2",128} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"WGS1",32}, {"WGS2",32} } }, - { "Iris Pro", { {"WGS1",512}, {"WGS2",64} } }, - { "default", { {"WGS1",64}, {"WGS2",32} } }, + { "Intel(R) HD Graphics 530", { 64, 32 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 256, 32 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 64, 32 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 512, 128 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 32, 32 } }, + { "Iris Pro", { 512, 64 } }, + { "default", { 64, 32 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"WGS1",128}, {"WGS2",32} } }, - { "GeForce GT 650M", { {"WGS1",128}, {"WGS2",64} } }, - { "GeForce GTX 1070", { {"WGS1",128}, {"WGS2",1024} } }, - { "GeForce GTX 1080", { {"WGS1",512}, {"WGS2",64} } }, - { "GeForce GTX 480", { {"WGS1",512}, {"WGS2",32} } }, - { "GeForce GTX 670", { {"WGS1",512}, {"WGS2",1024} } }, - { "GeForce GTX 680", { {"WGS1",128}, {"WGS2",128} } }, - { "GeForce GTX 750", { {"WGS1",128}, {"WGS2",32} } }, - { "GeForce GTX 750 Ti", { {"WGS1",64}, {"WGS2",32} } }, - { "GeForce GTX 980", { {"WGS1",256}, {"WGS2",32} } }, - { "GeForce GTX TITAN Black", { {"WGS1",512}, {"WGS2",64} } }, - { "GeForce GTX TITAN X", { {"WGS1",256}, {"WGS2",32} } }, - { "TITAN X (Pascal)", { {"WGS1",1024}, {"WGS2",32} } }, - { "Tesla K20m", { {"WGS1",1024}, {"WGS2",32} } }, - { "default", { {"WGS1",256}, {"WGS2",64} } }, + { "GRID K520", { 128, 32 } }, + { "GeForce GT 650M", { 128, 64 } }, + { "GeForce GTX 1070", { 128, 1024 } }, + { "GeForce GTX 1080", { 512, 64 } }, + { "GeForce GTX 480", { 512, 32 } }, + { "GeForce GTX 670", { 512, 1024 } }, + { "GeForce GTX 680", { 128, 128 } }, + { "GeForce GTX 750", { 128, 32 } }, + { "GeForce GTX 750 Ti", { 64, 32 } }, + { "GeForce GTX 980", { 256, 32 } }, + { "GeForce GTX TITAN Black", { 512, 64 } }, + { "GeForce GTX TITAN X", { 256, 32 } }, + { "TITAN X (Pascal)", { 1024, 32 } }, + { "Tesla K20m", { 1024, 32 } }, + { "default", { 256, 64 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",128}, {"WGS2",32} } }, + { "default", { 128, 32 } }, } }, } @@ -106,62 +106,62 @@ const Database::DatabaseEntry XdotSingle = { // ================================================================================================= const Database::DatabaseEntry XdotComplexSingle = { - "Xdot", Precision::kComplexSingle, { + "Xdot", Precision::kComplexSingle, {"WGS1" "WGS2"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"WGS1",64}, {"WGS2",32} } }, - { "ATI Radeon HD 6750M", { {"WGS1",256}, {"WGS2",256} } }, - { "Ellesmere", { {"WGS1",256}, {"WGS2",32} } }, - { "Fiji", { {"WGS1",256}, {"WGS2",64} } }, - { "Oland", { {"WGS1",128}, {"WGS2",32} } }, - { "Pitcairn", { {"WGS1",256}, {"WGS2",32} } }, - { "Tahiti", { {"WGS1",64}, {"WGS2",32} } }, - { "Tonga", { {"WGS1",256}, {"WGS2",64} } }, - { "Turks", { {"WGS1",128}, {"WGS2",32} } }, - { "default", { {"WGS1",256}, {"WGS2",32} } }, + { "AMD Radeon R9 M370X Compute Engine", { 64, 32 } }, + { "ATI Radeon HD 6750M", { 256, 256 } }, + { "Ellesmere", { 256, 32 } }, + { "Fiji", { 256, 64 } }, + { "Oland", { 128, 32 } }, + { "Pitcairn", { 256, 32 } }, + { "Tahiti", { 64, 32 } }, + { "Tonga", { 256, 64 } }, + { "Turks", { 128, 32 } }, + { "default", { 256, 32 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"WGS1",128}, {"WGS2",64} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"WGS1",1024}, {"WGS2",32} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"WGS1",64}, {"WGS2",32} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"WGS1",256}, {"WGS2",32} } }, - { "default", { {"WGS1",256}, {"WGS2",32} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 128, 64 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 1024, 32 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 64, 32 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 256, 32 } }, + { "default", { 256, 32 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"WGS1",256}, {"WGS2",32} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"WGS1",256}, {"WGS2",32} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"WGS1",32}, {"WGS2",32} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"WGS1",512}, {"WGS2",32} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"WGS1",32}, {"WGS2",256} } }, - { "Iris Pro", { {"WGS1",32}, {"WGS2",32} } }, - { "default", { {"WGS1",32}, {"WGS2",32} } }, + { "Intel(R) HD Graphics 530", { 256, 32 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 256, 32 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 32, 32 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 512, 32 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 32, 256 } }, + { "Iris Pro", { 32, 32 } }, + { "default", { 32, 32 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"WGS1",64}, {"WGS2",32} } }, - { "GeForce GTX 1070", { {"WGS1",128}, {"WGS2",32} } }, - { "GeForce GTX 1080", { {"WGS1",128}, {"WGS2",64} } }, - { "GeForce GTX 480", { {"WGS1",512}, {"WGS2",32} } }, - { "GeForce GTX 670", { {"WGS1",256}, {"WGS2",32} } }, - { "GeForce GTX 680", { {"WGS1",128}, {"WGS2",64} } }, - { "GeForce GTX 750", { {"WGS1",64}, {"WGS2",32} } }, - { "GeForce GTX 750 Ti", { {"WGS1",64}, {"WGS2",32} } }, - { "GeForce GTX 980", { {"WGS1",256}, {"WGS2",64} } }, - { "GeForce GTX TITAN Black", { {"WGS1",128}, {"WGS2",64} } }, - { "GeForce GTX TITAN X", { {"WGS1",256}, {"WGS2",32} } }, - { "TITAN X (Pascal)", { {"WGS1",256}, {"WGS2",32} } }, - { "Tesla K20m", { {"WGS1",512}, {"WGS2",32} } }, - { "default", { {"WGS1",512}, {"WGS2",64} } }, + { "GRID K520", { 64, 32 } }, + { "GeForce GTX 1070", { 128, 32 } }, + { "GeForce GTX 1080", { 128, 64 } }, + { "GeForce GTX 480", { 512, 32 } }, + { "GeForce GTX 670", { 256, 32 } }, + { "GeForce GTX 680", { 128, 64 } }, + { "GeForce GTX 750", { 64, 32 } }, + { "GeForce GTX 750 Ti", { 64, 32 } }, + { "GeForce GTX 980", { 256, 64 } }, + { "GeForce GTX TITAN Black", { 128, 64 } }, + { "GeForce GTX TITAN X", { 256, 32 } }, + { "TITAN X (Pascal)", { 256, 32 } }, + { "Tesla K20m", { 512, 32 } }, + { "default", { 512, 64 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",256}, {"WGS2",32} } }, + { "default", { 256, 32 } }, } }, } @@ -170,49 +170,49 @@ const Database::DatabaseEntry XdotComplexSingle = { // ================================================================================================= const Database::DatabaseEntry XdotDouble = { - "Xdot", Precision::kDouble, { + "Xdot", Precision::kDouble, {"WGS1" "WGS2"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"WGS1",64}, {"WGS2",128} } }, - { "Ellesmere", { {"WGS1",128}, {"WGS2",64} } }, - { "Fiji", { {"WGS1",256}, {"WGS2",32} } }, - { "Oland", { {"WGS1",256}, {"WGS2",32} } }, - { "Pitcairn", { {"WGS1",128}, {"WGS2",32} } }, - { "Tahiti", { {"WGS1",256}, {"WGS2",32} } }, - { "Tonga", { {"WGS1",128}, {"WGS2",64} } }, - { "default", { {"WGS1",128}, {"WGS2",64} } }, + { "AMD Radeon R9 M370X Compute Engine", { 64, 128 } }, + { "Ellesmere", { 128, 64 } }, + { "Fiji", { 256, 32 } }, + { "Oland", { 256, 32 } }, + { "Pitcairn", { 128, 32 } }, + { "Tahiti", { 256, 32 } }, + { "Tonga", { 128, 64 } }, + { "default", { 128, 64 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"WGS1",64}, {"WGS2",128} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"WGS1",512}, {"WGS2",64} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"WGS1",64}, {"WGS2",64} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"WGS1",256}, {"WGS2",32} } }, - { "default", { {"WGS1",256}, {"WGS2",64} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 64, 128 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 512, 64 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 64, 64 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 256, 32 } }, + { "default", { 256, 64 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"WGS1",128}, {"WGS2",32} } }, - { "GeForce GTX 1070", { {"WGS1",128}, {"WGS2",512} } }, - { "GeForce GTX 1080", { {"WGS1",128}, {"WGS2",128} } }, - { "GeForce GTX 480", { {"WGS1",512}, {"WGS2",32} } }, - { "GeForce GTX 670", { {"WGS1",256}, {"WGS2",32} } }, - { "GeForce GTX 680", { {"WGS1",128}, {"WGS2",64} } }, - { "GeForce GTX 750", { {"WGS1",64}, {"WGS2",256} } }, - { "GeForce GTX 750 Ti", { {"WGS1",128}, {"WGS2",64} } }, - { "GeForce GTX 980", { {"WGS1",128}, {"WGS2",32} } }, - { "GeForce GTX TITAN Black", { {"WGS1",128}, {"WGS2",64} } }, - { "GeForce GTX TITAN X", { {"WGS1",256}, {"WGS2",32} } }, - { "TITAN X (Pascal)", { {"WGS1",128}, {"WGS2",32} } }, - { "Tesla K20m", { {"WGS1",512}, {"WGS2",32} } }, - { "default", { {"WGS1",128}, {"WGS2",128} } }, + { "GRID K520", { 128, 32 } }, + { "GeForce GTX 1070", { 128, 512 } }, + { "GeForce GTX 1080", { 128, 128 } }, + { "GeForce GTX 480", { 512, 32 } }, + { "GeForce GTX 670", { 256, 32 } }, + { "GeForce GTX 680", { 128, 64 } }, + { "GeForce GTX 750", { 64, 256 } }, + { "GeForce GTX 750 Ti", { 128, 64 } }, + { "GeForce GTX 980", { 128, 32 } }, + { "GeForce GTX TITAN Black", { 128, 64 } }, + { "GeForce GTX TITAN X", { 256, 32 } }, + { "TITAN X (Pascal)", { 128, 32 } }, + { "Tesla K20m", { 512, 32 } }, + { "default", { 128, 128 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",128}, {"WGS2",64} } }, + { "default", { 128, 64 } }, } }, } @@ -221,49 +221,49 @@ const Database::DatabaseEntry XdotDouble = { // ================================================================================================= const Database::DatabaseEntry XdotComplexDouble = { - "Xdot", Precision::kComplexDouble, { + "Xdot", Precision::kComplexDouble, {"WGS1" "WGS2"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"WGS1",64}, {"WGS2",32} } }, - { "Ellesmere", { {"WGS1",256}, {"WGS2",32} } }, - { "Fiji", { {"WGS1",256}, {"WGS2",32} } }, - { "Oland", { {"WGS1",256}, {"WGS2",32} } }, - { "Pitcairn", { {"WGS1",256}, {"WGS2",32} } }, - { "Tahiti", { {"WGS1",256}, {"WGS2",32} } }, - { "Tonga", { {"WGS1",128}, {"WGS2",64} } }, - { "default", { {"WGS1",256}, {"WGS2",32} } }, + { "AMD Radeon R9 M370X Compute Engine", { 64, 32 } }, + { "Ellesmere", { 256, 32 } }, + { "Fiji", { 256, 32 } }, + { "Oland", { 256, 32 } }, + { "Pitcairn", { 256, 32 } }, + { "Tahiti", { 256, 32 } }, + { "Tonga", { 128, 64 } }, + { "default", { 256, 32 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"WGS1",32}, {"WGS2",128} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"WGS1",1024}, {"WGS2",32} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"WGS1",1024}, {"WGS2",32} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"WGS1",32}, {"WGS2",32} } }, - { "default", { {"WGS1",128}, {"WGS2",32} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 32, 128 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 1024, 32 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 1024, 32 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 32, 32 } }, + { "default", { 128, 32 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"WGS1",64}, {"WGS2",32} } }, - { "GeForce GTX 1070", { {"WGS1",128}, {"WGS2",64} } }, - { "GeForce GTX 1080", { {"WGS1",128}, {"WGS2",32} } }, - { "GeForce GTX 480", { {"WGS1",512}, {"WGS2",32} } }, - { "GeForce GTX 670", { {"WGS1",512}, {"WGS2",128} } }, - { "GeForce GTX 680", { {"WGS1",256}, {"WGS2",64} } }, - { "GeForce GTX 750", { {"WGS1",256}, {"WGS2",32} } }, - { "GeForce GTX 750 Ti", { {"WGS1",64}, {"WGS2",32} } }, - { "GeForce GTX 980", { {"WGS1",64}, {"WGS2",32} } }, - { "GeForce GTX TITAN Black", { {"WGS1",128}, {"WGS2",32} } }, - { "GeForce GTX TITAN X", { {"WGS1",128}, {"WGS2",32} } }, - { "TITAN X (Pascal)", { {"WGS1",128}, {"WGS2",64} } }, - { "Tesla K20m", { {"WGS1",128}, {"WGS2",32} } }, - { "default", { {"WGS1",128}, {"WGS2",64} } }, + { "GRID K520", { 64, 32 } }, + { "GeForce GTX 1070", { 128, 64 } }, + { "GeForce GTX 1080", { 128, 32 } }, + { "GeForce GTX 480", { 512, 32 } }, + { "GeForce GTX 670", { 512, 128 } }, + { "GeForce GTX 680", { 256, 64 } }, + { "GeForce GTX 750", { 256, 32 } }, + { "GeForce GTX 750 Ti", { 64, 32 } }, + { "GeForce GTX 980", { 64, 32 } }, + { "GeForce GTX TITAN Black", { 128, 32 } }, + { "GeForce GTX TITAN X", { 128, 32 } }, + { "TITAN X (Pascal)", { 128, 64 } }, + { "Tesla K20m", { 128, 32 } }, + { "default", { 128, 64 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",256}, {"WGS2",32} } }, + { "default", { 256, 32 } }, } }, } diff --git a/src/database/kernels/xgemm.hpp b/src/database/kernels/xgemm.hpp index dd7c3865..6fca7e7e 100644 --- a/src/database/kernels/xgemm.hpp +++ b/src/database/kernels/xgemm.hpp @@ -16,22 +16,22 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry XgemmHalf = { - "Xgemm", Precision::kHalf, { + "Xgemm", Precision::kHalf, {"KWG" "KWI" "MDIMA" "MDIMC" "MWG" "NDIMB" "NDIMC" "NWG" "SA" "SB" "STRM" "STRN" "VWM" "VWN"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "Ellesmere", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, + { "Ellesmere", { 32, 2, 8, 8, 64, 16, 16, 64, 1, 1, 0, 0, 4, 4 } }, + { "default", { 32, 2, 8, 8, 64, 16, 16, 64, 1, 1, 0, 0, 4, 4 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics Skylake ULT GT2", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 32, 2, 8, 8, 64, 16, 16, 64, 1, 1, 0, 0, 4, 4 } }, + { "default", { 32, 2, 8, 8, 64, 16, 16, 64, 1, 1, 0, 0, 4, 4 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, + { "default", { 32, 2, 8, 8, 64, 16, 16, 64, 1, 1, 0, 0, 4, 4 } }, } }, } @@ -40,81 +40,81 @@ const Database::DatabaseEntry XgemmHalf = { // ================================================================================================= const Database::DatabaseEntry XgemmSingle = { - "Xgemm", Precision::kSingle, { + "Xgemm", Precision::kSingle, {"KWG" "KWI" "MDIMA" "MDIMC" "MWG" "NDIMB" "NDIMC" "NWG" "SA" "SB" "STRM" "STRN" "VWM" "VWN"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",8} } }, - { "ATI Radeon HD 6750M", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",128}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",1}, {"VWM",8}, {"VWN",8} } }, - { "Ellesmere", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "Fiji", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, - { "Hawaii", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",32}, {"MWG",128}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",4}, {"VWN",2} } }, - { "Oland", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",2}, {"VWN",4} } }, - { "Pitcairn", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "Tahiti", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",32}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",1} } }, - { "Tonga", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",32}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",8} } }, - { "Turks", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, + { "AMD Radeon R9 M370X Compute Engine", { 32, 2, 16, 16, 64, 8, 16, 128, 0, 0, 0, 0, 2, 8 } }, + { "ATI Radeon HD 6750M", { 32, 2, 8, 16, 128, 8, 8, 128, 0, 0, 1, 1, 8, 8 } }, + { "Ellesmere", { 32, 2, 8, 8, 16, 16, 16, 64, 1, 1, 0, 0, 1, 2 } }, + { "Fiji", { 32, 2, 16, 16, 64, 16, 16, 64, 1, 1, 0, 0, 4, 4 } }, + { "Hawaii", { 16, 2, 16, 32, 128, 32, 8, 64, 1, 1, 1, 1, 4, 2 } }, + { "Oland", { 16, 2, 32, 16, 64, 32, 16, 128, 1, 1, 1, 0, 2, 4 } }, + { "Pitcairn", { 16, 2, 16, 8, 32, 16, 16, 128, 0, 0, 1, 0, 1, 1 } }, + { "Tahiti", { 32, 2, 16, 32, 128, 16, 8, 64, 0, 0, 0, 0, 4, 1 } }, + { "Tonga", { 16, 2, 16, 32, 64, 16, 8, 128, 1, 1, 0, 0, 2, 8 } }, + { "Turks", { 32, 2, 8, 8, 64, 8, 8, 64, 0, 0, 0, 0, 4, 4 } }, + { "default", { 32, 2, 8, 8, 32, 8, 8, 64, 0, 0, 0, 0, 4, 4 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",16}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",1}, {"VWM",8}, {"VWN",1} } }, - { "default", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",16}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",1}, {"VWM",8}, {"VWN",1} } }, + { "Mali-T628", { 16, 2, 8, 8, 64, 8, 16, 16, 0, 0, 1, 1, 8, 1 } }, + { "default", { 16, 2, 8, 8, 64, 8, 16, 16, 0, 0, 1, 1, 8, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",128}, {"SA",0}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",1}, {"VWN",8} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"KWG",32}, {"KWI",8}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",2}, {"VWN",2} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",8} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",8} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"KWG",32}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",32}, {"NWG",64}, {"SA",0}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 16, 2, 8, 8, 128, 16, 8, 128, 0, 1, 1, 1, 1, 8 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 32, 8, 32, 32, 64, 32, 16, 64, 1, 1, 1, 0, 2, 2 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 32, 2, 16, 8, 128, 16, 8, 64, 0, 0, 1, 0, 1, 2 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 32, 2, 32, 8, 128, 8, 8, 128, 1, 1, 1, 1, 2, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 16, 2, 8, 8, 128, 8, 8, 128, 1, 1, 1, 0, 1, 8 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 32, 8, 16, 16, 64, 32, 32, 64, 0, 1, 1, 0, 1, 2 } }, + { "default", { 32, 2, 8, 8, 32, 8, 8, 64, 1, 1, 0, 0, 4, 4 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",4}, {"VWN",2} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"KWG",32}, {"KWI",8}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",4}, {"VWN",2} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",4} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",2}, {"VWN",4} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, - { "Iris", { {"KWG",16}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",4}, {"VWN",1} } }, - { "Iris Pro", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",32}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, + { "Intel(R) HD Graphics 530", { 32, 2, 8, 8, 128, 32, 16, 64, 0, 0, 1, 0, 4, 2 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 32, 8, 8, 8, 64, 32, 16, 64, 1, 1, 1, 1, 4, 2 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 16, 2, 16, 8, 32, 8, 16, 128, 1, 1, 1, 1, 2, 4 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 32, 2, 16, 16, 64, 16, 8, 64, 1, 1, 1, 0, 2, 4 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 32, 2, 16, 16, 64, 8, 8, 64, 1, 1, 0, 0, 4, 4 } }, + { "Iris", { 16, 8, 16, 8, 128, 32, 16, 64, 1, 1, 1, 1, 4, 1 } }, + { "Iris Pro", { 16, 2, 16, 8, 64, 32, 32, 128, 1, 1, 1, 0, 4, 4 } }, + { "default", { 32, 2, 16, 16, 64, 8, 8, 64, 1, 1, 0, 0, 4, 4 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 32, 2, 32, 32, 32, 32, 8, 128, 0, 0, 1, 0, 1, 4 } }, + { "default", { 32, 2, 32, 32, 32, 32, 8, 128, 0, 0, 1, 0, 1, 4 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",4} } }, - { "GeForce GT 650M", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",32}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",2} } }, - { "GeForce GTX 1070", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",16}, {"MWG",128}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",4}, {"VWN",1} } }, - { "GeForce GTX 1080", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",4}, {"VWN",8} } }, - { "GeForce GTX 480", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",2} } }, - { "GeForce GTX 670", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",2}, {"VWN",4} } }, - { "GeForce GTX 680", { {"KWG",32}, {"KWI",8}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",2} } }, - { "GeForce GTX 750", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",1}, {"VWN",2} } }, - { "GeForce GTX 750 Ti", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",128}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",1}, {"VWM",8}, {"VWN",2} } }, - { "GeForce GTX 980", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",4}, {"VWN",8} } }, - { "GeForce GTX TITAN", { {"KWG",16}, {"KWI",8}, {"MDIMA",32}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",2}, {"VWN",2} } }, - { "GeForce GTX TITAN Black", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",4}, {"VWN",1} } }, - { "GeForce GTX TITAN X", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",128}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",4}, {"VWN",8} } }, - { "TITAN X (Pascal)", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",1} } }, - { "Tesla K20m", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",2}, {"VWN",4} } }, - { "Tesla K40m", { {"KWG",16}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",2}, {"VWN",4} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",2} } }, + { "GRID K520", { 16, 2, 16, 8, 32, 8, 16, 64, 1, 1, 1, 1, 2, 4 } }, + { "GeForce GT 650M", { 32, 2, 8, 8, 32, 32, 32, 64, 1, 1, 0, 0, 4, 2 } }, + { "GeForce GTX 1070", { 16, 2, 32, 16, 128, 32, 8, 128, 1, 1, 1, 0, 4, 1 } }, + { "GeForce GTX 1080", { 32, 2, 16, 8, 64, 8, 8, 64, 1, 1, 1, 1, 4, 8 } }, + { "GeForce GTX 480", { 16, 2, 16, 8, 64, 32, 16, 64, 1, 1, 1, 1, 2, 2 } }, + { "GeForce GTX 670", { 16, 2, 8, 8, 64, 16, 16, 64, 1, 1, 1, 0, 2, 4 } }, + { "GeForce GTX 680", { 32, 8, 8, 16, 64, 32, 16, 128, 1, 1, 0, 0, 4, 2 } }, + { "GeForce GTX 750", { 16, 2, 16, 16, 64, 32, 8, 128, 1, 1, 1, 1, 1, 2 } }, + { "GeForce GTX 750 Ti", { 16, 2, 16, 16, 128, 32, 8, 64, 1, 1, 0, 1, 8, 2 } }, + { "GeForce GTX 980", { 16, 2, 16, 16, 64, 16, 8, 128, 1, 1, 1, 0, 4, 8 } }, + { "GeForce GTX TITAN", { 16, 8, 32, 16, 64, 8, 8, 64, 1, 1, 1, 0, 2, 2 } }, + { "GeForce GTX TITAN Black", { 16, 2, 16, 8, 64, 16, 16, 64, 1, 1, 1, 0, 4, 1 } }, + { "GeForce GTX TITAN X", { 16, 2, 8, 16, 128, 8, 8, 128, 1, 1, 1, 1, 4, 8 } }, + { "TITAN X (Pascal)", { 32, 2, 16, 16, 64, 8, 8, 64, 1, 1, 0, 0, 4, 1 } }, + { "Tesla K20m", { 16, 2, 32, 16, 64, 16, 8, 64, 1, 1, 1, 0, 2, 4 } }, + { "Tesla K40m", { 16, 8, 16, 8, 64, 16, 16, 128, 1, 1, 1, 0, 2, 4 } }, + { "default", { 32, 2, 16, 16, 64, 8, 8, 64, 1, 1, 0, 0, 4, 2 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, + { "default", { 32, 2, 16, 16, 64, 8, 8, 64, 1, 1, 0, 0, 4, 4 } }, } }, } @@ -123,80 +123,80 @@ const Database::DatabaseEntry XgemmSingle = { // ================================================================================================= const Database::DatabaseEntry XgemmComplexSingle = { - "Xgemm", Precision::kComplexSingle, { + "Xgemm", Precision::kComplexSingle, {"KWG" "KWI" "MDIMA" "MDIMC" "MWG" "NDIMB" "NDIMC" "NWG" "SA" "SB" "STRM" "STRN" "VWM" "VWN"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",8} } }, - { "ATI Radeon HD 6750M", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, - { "Ellesmere", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, - { "Fiji", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",32}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "Hawaii", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",32}, {"SA",1}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "Oland", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",32}, {"NWG",128}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",1}, {"VWM",2}, {"VWN",4} } }, - { "Pitcairn", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",4}, {"VWN",2} } }, - { "Tahiti", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",32}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",1}, {"VWM",2}, {"VWN",1} } }, - { "Tonga", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",32}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",2}, {"VWN",1} } }, - { "Turks", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",1} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",32}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, + { "AMD Radeon R9 M370X Compute Engine", { 32, 2, 32, 32, 64, 8, 8, 64, 0, 0, 1, 1, 2, 8 } }, + { "ATI Radeon HD 6750M", { 32, 2, 8, 8, 32, 16, 16, 64, 1, 1, 0, 0, 4, 4 } }, + { "Ellesmere", { 32, 2, 16, 16, 32, 8, 8, 32, 1, 1, 0, 0, 1, 4 } }, + { "Fiji", { 32, 2, 16, 16, 32, 16, 16, 32, 1, 1, 0, 0, 1, 2 } }, + { "Hawaii", { 32, 2, 32, 8, 32, 8, 16, 32, 1, 0, 1, 0, 1, 1 } }, + { "Oland", { 32, 2, 16, 8, 32, 32, 32, 128, 1, 0, 0, 1, 2, 4 } }, + { "Pitcairn", { 16, 2, 8, 8, 32, 8, 8, 32, 0, 1, 1, 1, 4, 2 } }, + { "Tahiti", { 16, 2, 8, 8, 32, 8, 16, 32, 1, 0, 0, 1, 2, 1 } }, + { "Tonga", { 16, 2, 32, 8, 64, 16, 32, 64, 1, 1, 1, 0, 2, 1 } }, + { "Turks", { 16, 2, 8, 8, 32, 32, 8, 32, 0, 1, 0, 0, 2, 1 } }, + { "default", { 32, 2, 16, 16, 32, 16, 16, 32, 1, 1, 0, 0, 1, 2 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",1}, {"VWM",8}, {"VWN",1} } }, - { "default", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",1}, {"VWM",8}, {"VWN",1} } }, + { "Mali-T628", { 16, 2, 8, 16, 128, 16, 8, 128, 0, 0, 0, 1, 8, 1 } }, + { "default", { 16, 2, 8, 16, 128, 16, 8, 128, 0, 0, 0, 1, 8, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",1}, {"VWM",1}, {"VWN",2} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",0}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",64}, {"SA",0}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",32}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",1}, {"VWM",1}, {"VWN",4} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",2} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 16, 2, 32, 8, 128, 16, 16, 128, 1, 1, 0, 1, 1, 2 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 32, 2, 32, 16, 32, 16, 16, 64, 0, 1, 1, 0, 1, 2 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 32, 2, 16, 16, 64, 8, 16, 64, 0, 1, 0, 0, 4, 4 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 32, 2, 8, 8, 128, 16, 32, 128, 0, 0, 0, 0, 1, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 32, 2, 8, 8, 128, 32, 8, 128, 0, 0, 0, 0, 1, 4 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 32, 2, 8, 16, 16, 16, 16, 128, 0, 0, 1, 1, 1, 4 } }, + { "default", { 32, 2, 16, 16, 64, 8, 8, 32, 0, 0, 0, 0, 4, 2 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"KWG",16}, {"KWI",8}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",1} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"KWG",16}, {"KWI",8}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"KWG",32}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",1} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",2} } }, - { "Iris", { {"KWG",32}, {"KWI",8}, {"MDIMA",32}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "Iris Pro", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",32}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",1}, {"VWN",1} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",2} } }, + { "Intel(R) HD Graphics 530", { 16, 8, 8, 16, 64, 32, 8, 32, 0, 0, 0, 0, 2, 1 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 16, 8, 8, 8, 32, 16, 16, 64, 1, 0, 0, 0, 4, 4 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 32, 8, 16, 16, 64, 16, 16, 64, 1, 1, 1, 1, 2, 1 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 32, 2, 16, 16, 64, 16, 16, 64, 1, 1, 0, 0, 4, 4 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 32, 2, 16, 16, 64, 16, 16, 64, 0, 0, 0, 0, 4, 2 } }, + { "Iris", { 32, 8, 32, 16, 64, 8, 16, 64, 1, 0, 1, 0, 1, 1 } }, + { "Iris Pro", { 16, 2, 8, 8, 32, 32, 8, 32, 1, 1, 1, 1, 1, 1 } }, + { "default", { 32, 2, 8, 8, 32, 8, 8, 32, 1, 1, 0, 0, 4, 2 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",128}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",128}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 32, 2, 32, 32, 32, 32, 16, 128, 1, 0, 0, 0, 1, 4 } }, + { "default", { 32, 2, 32, 32, 32, 32, 16, 128, 1, 0, 0, 0, 1, 4 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"KWG",16}, {"KWI",8}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",128}, {"SA",1}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, - { "GeForce GTX 1070", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",4} } }, - { "GeForce GTX 1080", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "GeForce GTX 480", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",128}, {"SA",0}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",2} } }, - { "GeForce GTX 670", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",32}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",1}, {"VWN",1} } }, - { "GeForce GTX 680", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",32}, {"NWG",128}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",2} } }, - { "GeForce GTX 750", { {"KWG",16}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",2}, {"VWN",2} } }, - { "GeForce GTX 750 Ti", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "GeForce GTX 980", { {"KWG",32}, {"KWI",8}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",2}, {"VWN",1} } }, - { "GeForce GTX TITAN", { {"KWG",16}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "GeForce GTX TITAN Black", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "GeForce GTX TITAN X", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",1}, {"SB",0}, {"STRM",1}, {"STRN",1}, {"VWM",1}, {"VWN",4} } }, - { "TITAN X (Pascal)", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",4} } }, - { "Tesla K20m", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, - { "Tesla K40m", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",64}, {"SA",0}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",16}, {"NDIMB",32}, {"NDIMC",32}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, + { "GRID K520", { 16, 8, 32, 32, 64, 32, 16, 128, 1, 0, 1, 0, 1, 4 } }, + { "GeForce GTX 1070", { 16, 2, 16, 16, 128, 16, 16, 64, 1, 1, 1, 1, 2, 4 } }, + { "GeForce GTX 1080", { 16, 2, 32, 16, 64, 32, 8, 64, 1, 1, 0, 0, 1, 2 } }, + { "GeForce GTX 480", { 16, 2, 16, 16, 32, 32, 16, 128, 0, 1, 1, 1, 2, 2 } }, + { "GeForce GTX 670", { 16, 2, 32, 32, 64, 32, 8, 32, 1, 1, 1, 1, 1, 1 } }, + { "GeForce GTX 680", { 16, 2, 32, 16, 64, 32, 32, 128, 1, 0, 0, 0, 2, 2 } }, + { "GeForce GTX 750", { 16, 8, 16, 16, 64, 16, 16, 64, 1, 1, 1, 0, 2, 2 } }, + { "GeForce GTX 750 Ti", { 16, 2, 16, 8, 32, 32, 16, 64, 1, 1, 1, 0, 1, 2 } }, + { "GeForce GTX 980", { 32, 8, 32, 32, 64, 16, 16, 64, 1, 1, 1, 0, 2, 1 } }, + { "GeForce GTX TITAN", { 16, 8, 16, 16, 64, 32, 16, 64, 1, 1, 1, 0, 1, 1 } }, + { "GeForce GTX TITAN Black", { 16, 2, 8, 16, 64, 8, 8, 32, 0, 1, 1, 0, 1, 2 } }, + { "GeForce GTX TITAN X", { 16, 2, 8, 8, 64, 8, 8, 32, 1, 0, 1, 1, 1, 4 } }, + { "TITAN X (Pascal)", { 32, 2, 32, 32, 64, 8, 8, 32, 1, 1, 0, 0, 2, 4 } }, + { "Tesla K20m", { 32, 2, 8, 16, 64, 8, 16, 64, 1, 0, 0, 0, 1, 4 } }, + { "Tesla K40m", { 16, 2, 32, 32, 32, 32, 8, 64, 0, 1, 0, 0, 1, 1 } }, + { "default", { 32, 2, 8, 8, 16, 32, 32, 64, 1, 1, 0, 0, 1, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",1} } }, + { "default", { 32, 2, 16, 16, 32, 8, 8, 32, 1, 1, 0, 0, 2, 1 } }, } }, } @@ -205,66 +205,66 @@ const Database::DatabaseEntry XgemmComplexSingle = { // ================================================================================================= const Database::DatabaseEntry XgemmDouble = { - "Xgemm", Precision::kDouble, { + "Xgemm", Precision::kDouble, {"KWG" "KWI" "MDIMA" "MDIMC" "MWG" "NDIMB" "NDIMC" "NWG" "SA" "SB" "STRM" "STRN" "VWM" "VWN"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, - { "Ellesmere", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",2} } }, - { "Fiji", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",32}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",2} } }, - { "Hawaii", { {"KWG",16}, {"KWI",8}, {"MDIMA",32}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, - { "Oland", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",16}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",1}, {"VWM",1}, {"VWN",1} } }, - { "Pitcairn", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "Tahiti", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",16}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",1}, {"VWM",1}, {"VWN",4} } }, - { "Tonga", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",32}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",2} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",32}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",2} } }, + { "AMD Radeon R9 M370X Compute Engine", { 32, 2, 16, 16, 64, 8, 8, 32, 0, 0, 0, 0, 4, 4 } }, + { "Ellesmere", { 32, 2, 16, 16, 32, 16, 16, 64, 1, 1, 0, 0, 2, 2 } }, + { "Fiji", { 32, 2, 16, 16, 32, 16, 16, 32, 1, 1, 0, 0, 2, 2 } }, + { "Hawaii", { 16, 8, 32, 8, 128, 8, 8, 32, 0, 1, 0, 0, 1, 4 } }, + { "Oland", { 16, 2, 8, 16, 64, 16, 8, 16, 0, 0, 1, 1, 1, 1 } }, + { "Pitcairn", { 32, 2, 32, 16, 64, 8, 16, 32, 0, 0, 0, 0, 1, 2 } }, + { "Tahiti", { 32, 2, 16, 8, 16, 8, 8, 32, 0, 0, 0, 1, 1, 4 } }, + { "Tonga", { 32, 2, 16, 16, 32, 16, 16, 32, 1, 1, 0, 0, 2, 2 } }, + { "default", { 32, 2, 16, 16, 32, 16, 16, 32, 1, 1, 0, 0, 2, 2 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",16}, {"SA",0}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",8}, {"VWN",2} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",16}, {"SA",0}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",8}, {"VWN",2} } }, + { "Mali-T628", { 32, 2, 8, 8, 64, 8, 8, 16, 0, 1, 1, 0, 8, 2 } }, + { "default", { 32, 2, 8, 8, 64, 8, 8, 16, 0, 1, 1, 0, 8, 2 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",8} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",16}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",0}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",16}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",1}, {"VWM",2}, {"VWN",8} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",128}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",8} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",1}, {"VWM",1}, {"VWN",8} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",64}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 16, 2, 32, 8, 128, 16, 16, 128, 1, 1, 1, 1, 2, 8 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 32, 2, 32, 16, 128, 16, 16, 64, 0, 1, 1, 0, 1, 2 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 32, 2, 32, 16, 128, 16, 16, 128, 0, 0, 1, 0, 1, 2 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 32, 2, 16, 8, 128, 8, 8, 64, 1, 0, 0, 1, 2, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 32, 2, 16, 8, 128, 8, 8, 128, 1, 0, 0, 0, 2, 8 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 32, 2, 8, 16, 128, 16, 8, 128, 0, 0, 1, 1, 1, 8 } }, + { "default", { 32, 2, 16, 16, 64, 8, 8, 64, 1, 1, 0, 0, 1, 4 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"KWG",32}, {"KWI",8}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, - { "default", { {"KWG",32}, {"KWI",8}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 32, 8, 8, 16, 16, 16, 16, 128, 0, 0, 1, 0, 1, 4 } }, + { "default", { 32, 8, 8, 16, 16, 16, 16, 128, 0, 0, 1, 0, 1, 4 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",16}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",1}, {"VWM",2}, {"VWN",2} } }, - { "GeForce GTX 1070", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",8} } }, - { "GeForce GTX 1080", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",4} } }, - { "GeForce GTX 480", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",64}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "GeForce GTX 670", { {"KWG",32}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",32}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "GeForce GTX 680", { {"KWG",32}, {"KWI",8}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",32}, {"NWG",128}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",1}, {"VWM",2}, {"VWN",4} } }, - { "GeForce GTX 750", { {"KWG",32}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",32}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",1}, {"VWM",2}, {"VWN",1} } }, - { "GeForce GTX 750 Ti", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",2} } }, - { "GeForce GTX 980", { {"KWG",32}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",32}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",2}, {"VWN",4} } }, - { "GeForce GTX TITAN", { {"KWG",16}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",32}, {"NWG",128}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",2} } }, - { "GeForce GTX TITAN Black", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",16}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "GeForce GTX TITAN X", { {"KWG",16}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",16}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "TITAN X (Pascal)", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "Tesla K20m", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "Tesla K40m", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",32}, {"NWG",128}, {"SA",1}, {"SB",0}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",4} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",4} } }, + { "GRID K520", { 16, 2, 8, 8, 16, 8, 8, 32, 1, 0, 0, 1, 2, 2 } }, + { "GeForce GTX 1070", { 16, 2, 8, 16, 32, 8, 8, 64, 0, 0, 1, 1, 2, 8 } }, + { "GeForce GTX 1080", { 32, 2, 16, 16, 32, 16, 16, 64, 0, 0, 0, 0, 2, 4 } }, + { "GeForce GTX 480", { 16, 2, 8, 16, 32, 32, 8, 64, 1, 1, 1, 0, 1, 2 } }, + { "GeForce GTX 670", { 32, 8, 16, 32, 128, 16, 8, 32, 0, 1, 1, 0, 1, 1 } }, + { "GeForce GTX 680", { 32, 8, 8, 8, 32, 16, 32, 128, 1, 0, 0, 1, 2, 4 } }, + { "GeForce GTX 750", { 32, 8, 16, 32, 64, 16, 8, 128, 0, 0, 0, 1, 2, 1 } }, + { "GeForce GTX 750 Ti", { 32, 2, 8, 8, 32, 16, 16, 32, 0, 0, 0, 0, 4, 2 } }, + { "GeForce GTX 980", { 32, 8, 16, 8, 64, 32, 32, 128, 0, 0, 1, 0, 2, 4 } }, + { "GeForce GTX TITAN", { 16, 8, 16, 8, 32, 16, 32, 128, 1, 1, 1, 1, 2, 2 } }, + { "GeForce GTX TITAN Black", { 16, 2, 16, 8, 16, 16, 8, 16, 1, 1, 1, 0, 1, 1 } }, + { "GeForce GTX TITAN X", { 16, 8, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 1, 1 } }, + { "TITAN X (Pascal)", { 32, 2, 32, 32, 32, 16, 16, 32, 0, 0, 0, 0, 1, 2 } }, + { "Tesla K20m", { 16, 2, 32, 8, 32, 16, 16, 64, 1, 0, 0, 0, 1, 1 } }, + { "Tesla K40m", { 32, 2, 16, 8, 64, 16, 32, 128, 1, 0, 1, 1, 2, 4 } }, + { "default", { 32, 2, 16, 16, 32, 16, 16, 64, 0, 0, 0, 0, 2, 4 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",4} } }, + { "default", { 32, 2, 8, 8, 32, 8, 8, 64, 0, 0, 0, 0, 4, 4 } }, } }, } @@ -273,65 +273,65 @@ const Database::DatabaseEntry XgemmDouble = { // ================================================================================================= const Database::DatabaseEntry XgemmComplexDouble = { - "Xgemm", Precision::kComplexDouble, { + "Xgemm", Precision::kComplexDouble, {"KWG" "KWI" "MDIMA" "MDIMC" "MWG" "NDIMB" "NDIMC" "NWG" "SA" "SB" "STRM" "STRN" "VWM" "VWN"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"KWG",32}, {"KWI",8}, {"MDIMA",8}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",2} } }, - { "Ellesmere", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",16}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "Fiji", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",16}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "Hawaii", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",32}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "Oland", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",32}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, - { "Pitcairn", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",32}, {"NWG",32}, {"SA",0}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "Tahiti", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",16}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",16}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "Tonga", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",16}, {"SA",1}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",1}, {"VWN",1} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",16}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 32, 8, 8, 16, 32, 16, 16, 32, 0, 0, 1, 1, 2, 2 } }, + { "Ellesmere", { 32, 2, 16, 16, 16, 16, 16, 16, 1, 1, 0, 0, 1, 1 } }, + { "Fiji", { 32, 2, 16, 16, 16, 16, 16, 16, 1, 1, 0, 0, 1, 1 } }, + { "Hawaii", { 16, 2, 16, 16, 16, 16, 16, 32, 1, 0, 0, 0, 1, 2 } }, + { "Oland", { 16, 2, 16, 8, 16, 16, 32, 128, 0, 0, 0, 0, 1, 4 } }, + { "Pitcairn", { 32, 2, 16, 8, 32, 8, 32, 32, 0, 1, 1, 0, 1, 1 } }, + { "Tahiti", { 16, 2, 16, 8, 16, 8, 8, 16, 0, 0, 1, 0, 1, 1 } }, + { "Tonga", { 16, 2, 32, 16, 32, 16, 16, 16, 1, 1, 1, 1, 1, 1 } }, + { "default", { 32, 2, 16, 16, 16, 16, 16, 16, 1, 1, 0, 0, 1, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",8}, {"VWN",1} } }, - { "default", { {"KWG",16}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",8}, {"VWN",1} } }, + { "Mali-T628", { 16, 2, 8, 8, 64, 32, 8, 64, 0, 0, 1, 0, 8, 1 } }, + { "default", { 16, 2, 8, 8, 64, 32, 8, 64, 0, 0, 1, 0, 8, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",128}, {"SA",0}, {"SB",1}, {"STRM",0}, {"STRN",1}, {"VWM",2}, {"VWN",1} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",32}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",0}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",2}, {"VWN",4} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",32}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",4}, {"VWN",1} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",1}, {"VWM",1}, {"VWN",8} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",128}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"KWG",32}, {"KWI",8}, {"MDIMA",8}, {"MDIMC",32}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",16}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 16, 2, 32, 8, 64, 16, 8, 128, 0, 1, 0, 1, 2, 1 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 32, 2, 16, 32, 128, 16, 16, 64, 0, 1, 0, 0, 2, 4 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 32, 2, 16, 32, 128, 16, 8, 32, 0, 1, 0, 0, 4, 1 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 32, 2, 8, 8, 128, 8, 16, 128, 0, 0, 0, 1, 1, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 32, 2, 8, 8, 128, 32, 8, 128, 0, 0, 0, 0, 1, 4 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 32, 8, 8, 32, 32, 8, 8, 32, 0, 1, 0, 0, 1, 2 } }, + { "default", { 32, 2, 8, 8, 16, 8, 8, 32, 1, 1, 0, 0, 1, 2 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 32, 2, 16, 16, 16, 16, 8, 32, 0, 0, 1, 0, 1, 1 } }, + { "default", { 32, 2, 16, 16, 16, 16, 8, 32, 0, 0, 1, 0, 1, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"KWG",32}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",16}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",64}, {"SA",1}, {"SB",0}, {"STRM",1}, {"STRN",1}, {"VWM",1}, {"VWN",1} } }, - { "GeForce GTX 1070", { {"KWG",32}, {"KWI",8}, {"MDIMA",32}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",1}, {"VWM",1}, {"VWN",4} } }, - { "GeForce GTX 1080", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",16}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",16}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",2} } }, - { "GeForce GTX 480", { {"KWG",16}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "GeForce GTX 670", { {"KWG",32}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",32}, {"NWG",64}, {"SA",1}, {"SB",0}, {"STRM",0}, {"STRN",1}, {"VWM",1}, {"VWN",2} } }, - { "GeForce GTX 680", { {"KWG",16}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",64}, {"NDIMB",16}, {"NDIMC",32}, {"NWG",32}, {"SA",0}, {"SB",1}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "GeForce GTX 750", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",32}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",4} } }, - { "GeForce GTX 750 Ti", { {"KWG",32}, {"KWI",2}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",16}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "GeForce GTX 980", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",16}, {"NWG",128}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",1}, {"VWM",2}, {"VWN",2} } }, - { "GeForce GTX TITAN Black", { {"KWG",16}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",8}, {"NWG",32}, {"SA",0}, {"SB",1}, {"STRM",1}, {"STRN",1}, {"VWM",1}, {"VWN",1} } }, - { "GeForce GTX TITAN X", { {"KWG",32}, {"KWI",8}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",128}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "TITAN X (Pascal)", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",16}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",16}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "Tesla K20m", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",64}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "Tesla K40m", { {"KWG",16}, {"KWI",8}, {"MDIMA",8}, {"MDIMC",8}, {"MWG",32}, {"NDIMB",32}, {"NDIMC",16}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",1}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",16}, {"MDIMC",16}, {"MWG",32}, {"NDIMB",16}, {"NDIMC",16}, {"NWG",32}, {"SA",0}, {"SB",0}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, + { "GRID K520", { 32, 8, 16, 16, 16, 8, 16, 64, 1, 0, 1, 1, 1, 1 } }, + { "GeForce GTX 1070", { 32, 8, 32, 16, 32, 8, 8, 32, 0, 0, 0, 1, 1, 4 } }, + { "GeForce GTX 1080", { 32, 2, 16, 16, 16, 8, 8, 16, 0, 0, 0, 0, 1, 2 } }, + { "GeForce GTX 480", { 16, 2, 32, 32, 32, 32, 8, 32, 0, 0, 1, 0, 1, 1 } }, + { "GeForce GTX 670", { 32, 8, 16, 8, 16, 16, 32, 64, 1, 0, 0, 1, 1, 2 } }, + { "GeForce GTX 680", { 16, 8, 16, 8, 64, 16, 32, 32, 0, 1, 1, 0, 1, 1 } }, + { "GeForce GTX 750", { 32, 2, 8, 32, 32, 8, 8, 64, 0, 0, 1, 0, 1, 4 } }, + { "GeForce GTX 750 Ti", { 32, 2, 8, 8, 16, 8, 8, 32, 0, 0, 0, 0, 1, 1 } }, + { "GeForce GTX 980", { 16, 2, 16, 8, 32, 8, 16, 128, 0, 0, 1, 1, 2, 2 } }, + { "GeForce GTX TITAN Black", { 16, 2, 16, 16, 32, 16, 8, 32, 0, 1, 1, 1, 1, 1 } }, + { "GeForce GTX TITAN X", { 32, 8, 16, 16, 128, 16, 16, 32, 0, 0, 1, 0, 1, 1 } }, + { "TITAN X (Pascal)", { 32, 2, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 1, 1 } }, + { "Tesla K20m", { 32, 2, 32, 8, 32, 16, 16, 64, 0, 0, 1, 0, 1, 1 } }, + { "Tesla K40m", { 16, 8, 8, 8, 32, 32, 16, 32, 0, 0, 1, 0, 1, 1 } }, + { "default", { 32, 2, 16, 16, 32, 16, 16, 32, 0, 0, 0, 0, 1, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"KWG",32}, {"KWI",2}, {"MDIMA",32}, {"MDIMC",32}, {"MWG",32}, {"NDIMB",8}, {"NDIMC",8}, {"NWG",32}, {"SA",1}, {"SB",1}, {"STRM",0}, {"STRN",0}, {"VWM",1}, {"VWN",1} } }, + { "default", { 32, 2, 32, 32, 32, 8, 8, 32, 1, 1, 0, 0, 1, 1 } }, } }, } diff --git a/src/database/kernels/xgemm_direct.hpp b/src/database/kernels/xgemm_direct.hpp index f3e1bbe0..a2e45e07 100644 --- a/src/database/kernels/xgemm_direct.hpp +++ b/src/database/kernels/xgemm_direct.hpp @@ -16,22 +16,22 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry XgemmDirectHalf = { - "XgemmDirect", Precision::kHalf, { + "XgemmDirect", Precision::kHalf, {"KWID" "MDIMAD" "MDIMCD" "NDIMBD" "NDIMCD" "PADA" "PADB" "VWMD" "VWND" "WGD"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "Ellesmere", { {"KWID",8}, {"MDIMAD",32}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",32}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",32} } }, - { "default", { {"KWID",8}, {"MDIMAD",32}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",32}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",32} } }, + { "Ellesmere", { 8, 32, 8, 8, 32, 1, 1, 1, 1, 32 } }, + { "default", { 8, 32, 8, 8, 32, 1, 1, 1, 1, 32 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics Skylake ULT GT2", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",8} } }, - { "default", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",8} } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, + { "default", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, } }, } @@ -40,46 +40,46 @@ const Database::DatabaseEntry XgemmDirectHalf = { // ================================================================================================= const Database::DatabaseEntry XgemmDirectSingle = { - "XgemmDirect", Precision::kSingle, { + "XgemmDirect", Precision::kSingle, {"KWID" "MDIMAD" "MDIMCD" "NDIMBD" "NDIMCD" "PADA" "PADB" "VWMD" "VWND" "WGD"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",2}, {"WGD",32} } }, - { "ATI Radeon HD 6750M", { {"KWID",8}, {"MDIMAD",8}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",0}, {"VWMD",2}, {"VWND",2}, {"WGD",32} } }, - { "Ellesmere", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",32}, {"NDIMCD",32}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",1}, {"WGD",32} } }, - { "Fiji", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "Tonga", { {"KWID",16}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",32}, {"NDIMCD",8}, {"PADA",0}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",32} } }, - { "Turks", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "default", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, + { "AMD Radeon R9 M370X Compute Engine", { 2, 8, 8, 8, 8, 1, 1, 2, 2, 32 } }, + { "ATI Radeon HD 6750M", { 8, 8, 16, 8, 8, 1, 0, 2, 2, 32 } }, + { "Ellesmere", { 2, 8, 8, 32, 32, 1, 1, 2, 1, 32 } }, + { "Fiji", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, + { "Tonga", { 16, 16, 16, 32, 8, 0, 1, 1, 1, 32 } }, + { "Turks", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 16 } }, + { "default", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",0}, {"PADB",0}, {"VWMD",1}, {"VWND",8}, {"WGD",64} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"KWID",16}, {"MDIMAD",16}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",0}, {"PADB",0}, {"VWMD",2}, {"VWND",4}, {"WGD",32} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",0}, {"PADB",0}, {"VWMD",2}, {"VWND",2}, {"WGD",64} } }, - { "default", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",4}, {"VWND",2}, {"WGD",32} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 2, 8, 8, 8, 8, 0, 0, 1, 8, 64 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 16, 16, 8, 8, 8, 0, 0, 2, 4, 32 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 2, 8, 8, 8, 8, 0, 0, 2, 2, 64 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 4, 2, 32 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics Skylake ULT GT2", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",8} } }, - { "Iris Pro", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",4}, {"WGD",32} } }, - { "default", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",8} } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, + { "Iris Pro", { 2, 16, 16, 8, 8, 1, 1, 2, 4, 32 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GeForce GT 650M", { {"KWID",16}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",16}, {"PADA",1}, {"PADB",0}, {"VWMD",2}, {"VWND",2}, {"WGD",32} } }, - { "GeForce GTX 1080", { {"KWID",16}, {"MDIMAD",16}, {"MDIMCD",8}, {"NDIMBD",16}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",32} } }, - { "GeForce GTX 750 Ti", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",4}, {"VWND",2}, {"WGD",32} } }, - { "GeForce GTX TITAN Black", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",4}, {"VWND",2}, {"WGD",32} } }, - { "TITAN X (Pascal)", { {"KWID",8}, {"MDIMAD",32}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",32} } }, - { "default", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",4}, {"VWND",2}, {"WGD",32} } }, + { "GeForce GT 650M", { 16, 16, 16, 8, 16, 1, 0, 2, 2, 32 } }, + { "GeForce GTX 1080", { 16, 16, 8, 16, 8, 1, 1, 1, 1, 32 } }, + { "GeForce GTX 750 Ti", { 2, 8, 8, 8, 8, 1, 1, 4, 2, 32 } }, + { "GeForce GTX TITAN Black", { 2, 8, 8, 16, 16, 1, 1, 4, 2, 32 } }, + { "TITAN X (Pascal)", { 8, 32, 8, 8, 16, 1, 1, 1, 1, 32 } }, + { "default", { 2, 8, 8, 16, 16, 1, 1, 4, 2, 32 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",4}, {"VWND",2}, {"WGD",32} } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 4, 2, 32 } }, } }, } @@ -88,44 +88,44 @@ const Database::DatabaseEntry XgemmDirectSingle = { // ================================================================================================= const Database::DatabaseEntry XgemmDirectComplexSingle = { - "XgemmDirect", Precision::kComplexSingle, { + "XgemmDirect", Precision::kComplexSingle, {"KWID" "MDIMAD" "MDIMCD" "NDIMBD" "NDIMCD" "PADA" "PADB" "VWMD" "VWND" "WGD"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "ATI Radeon HD 6750M", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",8} } }, - { "Fiji", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "Tonga", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",2}, {"WGD",32} } }, - { "Turks", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",2}, {"WGD",16} } }, - { "default", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",2}, {"WGD",32} } }, + { "AMD Radeon R9 M370X Compute Engine", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + { "ATI Radeon HD 6750M", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, + { "Fiji", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + { "Tonga", { 2, 16, 16, 16, 16, 1, 1, 2, 2, 32 } }, + { "Turks", { 2, 8, 8, 8, 8, 1, 1, 2, 2, 16 } }, + { "default", { 2, 16, 16, 16, 16, 1, 1, 2, 2, 32 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",0}, {"PADB",0}, {"VWMD",4}, {"VWND",4}, {"WGD",32} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",4}, {"WGD",32} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",16}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",1}, {"WGD",32} } }, - { "default", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",4}, {"VWND",4}, {"WGD",32} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 2, 8, 8, 8, 8, 0, 0, 4, 4, 32 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 2, 16, 16, 8, 8, 1, 1, 1, 4, 32 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 2, 8, 8, 16, 8, 1, 1, 2, 1, 32 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 4, 4, 32 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics Skylake ULT GT2", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "Iris Pro", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",2}, {"WGD",32} } }, - { "default", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + { "Iris Pro", { 2, 16, 16, 8, 8, 1, 1, 2, 2, 32 } }, + { "default", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GeForce GTX 1080", { {"KWID",8}, {"MDIMAD",8}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",2}, {"WGD",32} } }, - { "GeForce GTX 750 Ti", { {"KWID",16}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",16}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",1}, {"WGD",16} } }, - { "GeForce GTX TITAN Black", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "TITAN X (Pascal)", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "default", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",2}, {"WGD",16} } }, + { "GeForce GTX 1080", { 8, 8, 16, 16, 8, 1, 1, 2, 2, 32 } }, + { "GeForce GTX 750 Ti", { 16, 8, 8, 16, 8, 1, 1, 2, 1, 16 } }, + { "GeForce GTX TITAN Black", { 2, 8, 8, 16, 16, 1, 1, 1, 1, 16 } }, + { "TITAN X (Pascal)", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 2, 16 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"KWID",2}, {"MDIMAD",32}, {"MDIMCD",32}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",32} } }, + { "default", { 2, 32, 32, 8, 8, 1, 1, 1, 1, 32 } }, } }, } @@ -134,36 +134,36 @@ const Database::DatabaseEntry XgemmDirectComplexSingle = { // ================================================================================================= const Database::DatabaseEntry XgemmDirectDouble = { - "XgemmDirect", Precision::kDouble, { + "XgemmDirect", Precision::kDouble, {"KWID" "MDIMAD" "MDIMCD" "NDIMBD" "NDIMCD" "PADA" "PADB" "VWMD" "VWND" "WGD"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "Ellesmere", { {"KWID",8}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",1}, {"WGD",32} } }, - { "Fiji", { {"KWID",16}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "Tonga", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",32} } }, - { "default", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, + { "AMD Radeon R9 M370X Compute Engine", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, + { "Ellesmere", { 8, 16, 16, 8, 16, 1, 1, 2, 1, 32 } }, + { "Fiji", { 16, 8, 8, 8, 16, 1, 1, 1, 1, 16 } }, + { "Tonga", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 32 } }, + { "default", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",4}, {"VWND",4}, {"WGD",32} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"KWID",8}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",0}, {"PADB",0}, {"VWMD",1}, {"VWND",4}, {"WGD",32} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",4}, {"VWND",4}, {"WGD",32} } }, - { "default", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",4}, {"VWND",2}, {"WGD",32} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 2, 8, 8, 8, 8, 1, 1, 4, 4, 32 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 8, 8, 8, 8, 8, 0, 0, 1, 4, 32 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 2, 8, 8, 8, 8, 1, 1, 4, 4, 32 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 4, 2, 32 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GeForce GTX 1080", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",2}, {"WGD",16} } }, - { "GeForce GTX 750 Ti", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",4}, {"WGD",32} } }, - { "GeForce GTX TITAN Black", { {"KWID",8}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",8}, {"PADA",1}, {"PADB",0}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "TITAN X (Pascal)", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "default", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",2}, {"WGD",16} } }, + { "GeForce GTX 1080", { 2, 16, 16, 8, 8, 1, 1, 1, 2, 16 } }, + { "GeForce GTX 750 Ti", { 2, 8, 8, 8, 8, 1, 1, 2, 4, 32 } }, + { "GeForce GTX TITAN Black", { 8, 16, 16, 16, 8, 1, 0, 1, 1, 16 } }, + { "TITAN X (Pascal)", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 16 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 2, 16 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",2}, {"WGD",16} } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 2, 2, 16 } }, } }, } @@ -172,36 +172,36 @@ const Database::DatabaseEntry XgemmDirectDouble = { // ================================================================================================= const Database::DatabaseEntry XgemmDirectComplexDouble = { - "XgemmDirect", Precision::kComplexDouble, { + "XgemmDirect", Precision::kComplexDouble, {"KWID" "MDIMAD" "MDIMCD" "NDIMBD" "NDIMCD" "PADA" "PADB" "VWMD" "VWND" "WGD"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "Ellesmere", { {"KWID",16}, {"MDIMAD",32}, {"MDIMCD",32}, {"NDIMBD",16}, {"NDIMCD",8}, {"PADA",0}, {"PADB",0}, {"VWMD",1}, {"VWND",1}, {"WGD",32} } }, - { "Fiji", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "Tonga", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "default", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",16}, {"NDIMCD",16}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, + { "AMD Radeon R9 M370X Compute Engine", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + { "Ellesmere", { 16, 32, 32, 16, 8, 0, 0, 1, 1, 32 } }, + { "Fiji", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + { "Tonga", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, + { "default", { 2, 16, 16, 16, 16, 1, 1, 1, 1, 16 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",32}, {"NDIMCD",8}, {"PADA",0}, {"PADB",0}, {"VWMD",1}, {"VWND",1}, {"WGD",32} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"KWID",8}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",0}, {"PADB",0}, {"VWMD",2}, {"VWND",1}, {"WGD",32} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"KWID",8}, {"MDIMAD",16}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",0}, {"PADB",0}, {"VWMD",2}, {"VWND",2}, {"WGD",32} } }, - { "default", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",2}, {"VWND",2}, {"WGD",16} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 2, 8, 8, 32, 8, 0, 0, 1, 1, 32 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 8, 16, 16, 8, 8, 0, 0, 2, 1, 32 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 8, 16, 8, 8, 8, 0, 0, 2, 2, 32 } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 2, 2, 16 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GeForce GTX 1080", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, - { "GeForce GTX 750 Ti", { {"KWID",2}, {"MDIMAD",32}, {"MDIMCD",32}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",32} } }, - { "GeForce GTX TITAN Black", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",8} } }, - { "TITAN X (Pascal)", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",2}, {"WGD",16} } }, - { "default", { {"KWID",2}, {"MDIMAD",16}, {"MDIMCD",16}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",1}, {"WGD",16} } }, + { "GeForce GTX 1080", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, + { "GeForce GTX 750 Ti", { 2, 32, 32, 8, 8, 1, 1, 1, 1, 32 } }, + { "GeForce GTX TITAN Black", { 2, 8, 8, 8, 8, 1, 1, 1, 1, 8 } }, + { "TITAN X (Pascal)", { 2, 16, 16, 8, 8, 1, 1, 1, 2, 16 } }, + { "default", { 2, 16, 16, 8, 8, 1, 1, 1, 1, 16 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"KWID",2}, {"MDIMAD",8}, {"MDIMCD",8}, {"NDIMBD",8}, {"NDIMCD",8}, {"PADA",1}, {"PADB",1}, {"VWMD",1}, {"VWND",2}, {"WGD",16} } }, + { "default", { 2, 8, 8, 8, 8, 1, 1, 1, 2, 16 } }, } }, } diff --git a/src/database/kernels/xgemv.hpp b/src/database/kernels/xgemv.hpp index ccb151aa..093af6e3 100644 --- a/src/database/kernels/xgemv.hpp +++ b/src/database/kernels/xgemv.hpp @@ -16,23 +16,23 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry XgemvHalf = { - "Xgemv", Precision::kHalf, { + "Xgemv", Precision::kHalf, {"WGS1" "WPT1"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "Ellesmere", { {"WGS1",256}, {"WPT1",1} } }, - { "default", { {"WGS1",256}, {"WPT1",1} } }, + { "Ellesmere", { 256, 1 } }, + { "default", { 256, 1 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"WGS1",64}, {"WPT1",1} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"WGS1",256}, {"WPT1",1} } }, - { "default", { {"WGS1",64}, {"WPT1",1} } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 64, 1 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 256, 1 } }, + { "default", { 64, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",64}, {"WPT1",1} } }, + { "default", { 64, 1 } }, } }, } @@ -41,74 +41,74 @@ const Database::DatabaseEntry XgemvHalf = { // ================================================================================================= const Database::DatabaseEntry XgemvSingle = { - "Xgemv", Precision::kSingle, { + "Xgemv", Precision::kSingle, {"WGS1" "WPT1"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"WGS1",128}, {"WPT1",1} } }, - { "ATI Radeon HD 6750M", { {"WGS1",32}, {"WPT1",1} } }, - { "Ellesmere", { {"WGS1",256}, {"WPT1",1} } }, - { "Fiji", { {"WGS1",128}, {"WPT1",1} } }, - { "Hawaii", { {"WGS1",128}, {"WPT1",1} } }, - { "Oland", { {"WGS1",128}, {"WPT1",1} } }, - { "Pitcairn", { {"WGS1",256}, {"WPT1",1} } }, - { "Tahiti", { {"WGS1",256}, {"WPT1",1} } }, - { "Tonga", { {"WGS1",128}, {"WPT1",2} } }, - { "Turks", { {"WGS1",32}, {"WPT1",1} } }, - { "default", { {"WGS1",128}, {"WPT1",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 128, 1 } }, + { "ATI Radeon HD 6750M", { 32, 1 } }, + { "Ellesmere", { 256, 1 } }, + { "Fiji", { 128, 1 } }, + { "Hawaii", { 128, 1 } }, + { "Oland", { 128, 1 } }, + { "Pitcairn", { 256, 1 } }, + { "Tahiti", { 256, 1 } }, + { "Tonga", { 128, 2 } }, + { "Turks", { 32, 1 } }, + { "default", { 128, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"WGS1",128}, {"WPT1",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"WGS1",64}, {"WPT1",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"WGS1",32}, {"WPT1",4} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"WGS1",64}, {"WPT1",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"WGS1",64}, {"WPT1",4} } }, - { "default", { {"WGS1",64}, {"WPT1",4} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 128, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 64, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 32, 4 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 64, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 64, 4 } }, + { "default", { 64, 4 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"WGS1",256}, {"WPT1",1} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"WGS1",64}, {"WPT1",1} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"WGS1",64}, {"WPT1",1} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"WGS1",256}, {"WPT1",1} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"WGS1",32}, {"WPT1",1} } }, - { "Iris", { {"WGS1",64}, {"WPT1",2} } }, - { "Iris Pro", { {"WGS1",128}, {"WPT1",1} } }, - { "default", { {"WGS1",128}, {"WPT1",1} } }, + { "Intel(R) HD Graphics 530", { 256, 1 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 64, 1 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 64, 1 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 256, 1 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 32, 1 } }, + { "Iris", { 64, 2 } }, + { "Iris Pro", { 128, 1 } }, + { "default", { 128, 1 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"WGS1",64}, {"WPT1",1} } }, - { "default", { {"WGS1",64}, {"WPT1",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 64, 1 } }, + { "default", { 64, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"WGS1",256}, {"WPT1",1} } }, - { "GeForce GT 650M", { {"WGS1",256}, {"WPT1",1} } }, - { "GeForce GTX 1070", { {"WGS1",128}, {"WPT1",1} } }, - { "GeForce GTX 1080", { {"WGS1",32}, {"WPT1",1} } }, - { "GeForce GTX 480", { {"WGS1",64}, {"WPT1",1} } }, - { "GeForce GTX 670", { {"WGS1",64}, {"WPT1",1} } }, - { "GeForce GTX 680", { {"WGS1",256}, {"WPT1",1} } }, - { "GeForce GTX 750", { {"WGS1",256}, {"WPT1",1} } }, - { "GeForce GTX 750 Ti", { {"WGS1",32}, {"WPT1",1} } }, - { "GeForce GTX 980", { {"WGS1",128}, {"WPT1",1} } }, - { "GeForce GTX TITAN", { {"WGS1",256}, {"WPT1",1} } }, - { "GeForce GTX TITAN Black", { {"WGS1",256}, {"WPT1",1} } }, - { "GeForce GTX TITAN X", { {"WGS1",256}, {"WPT1",1} } }, - { "TITAN X (Pascal)", { {"WGS1",32}, {"WPT1",1} } }, - { "Tesla K20m", { {"WGS1",128}, {"WPT1",1} } }, - { "Tesla K40m", { {"WGS1",256}, {"WPT1",1} } }, - { "default", { {"WGS1",256}, {"WPT1",1} } }, + { "GRID K520", { 256, 1 } }, + { "GeForce GT 650M", { 256, 1 } }, + { "GeForce GTX 1070", { 128, 1 } }, + { "GeForce GTX 1080", { 32, 1 } }, + { "GeForce GTX 480", { 64, 1 } }, + { "GeForce GTX 670", { 64, 1 } }, + { "GeForce GTX 680", { 256, 1 } }, + { "GeForce GTX 750", { 256, 1 } }, + { "GeForce GTX 750 Ti", { 32, 1 } }, + { "GeForce GTX 980", { 128, 1 } }, + { "GeForce GTX TITAN", { 256, 1 } }, + { "GeForce GTX TITAN Black", { 256, 1 } }, + { "GeForce GTX TITAN X", { 256, 1 } }, + { "TITAN X (Pascal)", { 32, 1 } }, + { "Tesla K20m", { 128, 1 } }, + { "Tesla K40m", { 256, 1 } }, + { "default", { 256, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",128}, {"WPT1",1} } }, + { "default", { 128, 1 } }, } }, } @@ -117,69 +117,69 @@ const Database::DatabaseEntry XgemvSingle = { // ================================================================================================= const Database::DatabaseEntry XgemvComplexSingle = { - "Xgemv", Precision::kComplexSingle, { + "Xgemv", Precision::kComplexSingle, {"WGS1" "WPT1"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"WGS1",64}, {"WPT1",1} } }, - { "ATI Radeon HD 6750M", { {"WGS1",64}, {"WPT1",1} } }, - { "Ellesmere", { {"WGS1",32}, {"WPT1",1} } }, - { "Fiji", { {"WGS1",32}, {"WPT1",1} } }, - { "Hawaii", { {"WGS1",64}, {"WPT1",1} } }, - { "Oland", { {"WGS1",64}, {"WPT1",1} } }, - { "Pitcairn", { {"WGS1",64}, {"WPT1",1} } }, - { "Tahiti", { {"WGS1",64}, {"WPT1",1} } }, - { "Tonga", { {"WGS1",32}, {"WPT1",1} } }, - { "Turks", { {"WGS1",64}, {"WPT1",1} } }, - { "default", { {"WGS1",64}, {"WPT1",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 64, 1 } }, + { "ATI Radeon HD 6750M", { 64, 1 } }, + { "Ellesmere", { 32, 1 } }, + { "Fiji", { 32, 1 } }, + { "Hawaii", { 64, 1 } }, + { "Oland", { 64, 1 } }, + { "Pitcairn", { 64, 1 } }, + { "Tahiti", { 64, 1 } }, + { "Tonga", { 32, 1 } }, + { "Turks", { 64, 1 } }, + { "default", { 64, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"WGS1",32}, {"WPT1",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"WGS1",128}, {"WPT1",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"WGS1",128}, {"WPT1",2} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"WGS1",64}, {"WPT1",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"WGS1",64}, {"WPT1",4} } }, - { "default", { {"WGS1",64}, {"WPT1",2} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 32, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 128, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 128, 2 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 64, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 64, 4 } }, + { "default", { 64, 2 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"WGS1",64}, {"WPT1",1} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"WGS1",64}, {"WPT1",1} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"WGS1",128}, {"WPT1",1} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"WGS1",256}, {"WPT1",1} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"WGS1",64}, {"WPT1",1} } }, - { "Iris", { {"WGS1",256}, {"WPT1",1} } }, - { "Iris Pro", { {"WGS1",64}, {"WPT1",1} } }, - { "default", { {"WGS1",64}, {"WPT1",1} } }, + { "Intel(R) HD Graphics 530", { 64, 1 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 64, 1 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 128, 1 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 256, 1 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 64, 1 } }, + { "Iris", { 256, 1 } }, + { "Iris Pro", { 64, 1 } }, + { "default", { 64, 1 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"WGS1",64}, {"WPT1",1} } }, - { "default", { {"WGS1",64}, {"WPT1",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 64, 1 } }, + { "default", { 64, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"WGS1",256}, {"WPT1",1} } }, - { "GeForce GTX 1070", { {"WGS1",64}, {"WPT1",1} } }, - { "GeForce GTX 1080", { {"WGS1",32}, {"WPT1",1} } }, - { "GeForce GTX 480", { {"WGS1",64}, {"WPT1",1} } }, - { "GeForce GTX 670", { {"WGS1",64}, {"WPT1",1} } }, - { "GeForce GTX 680", { {"WGS1",64}, {"WPT1",1} } }, - { "GeForce GTX 750", { {"WGS1",128}, {"WPT1",1} } }, - { "GeForce GTX 750 Ti", { {"WGS1",32}, {"WPT1",1} } }, - { "GeForce GTX TITAN", { {"WGS1",256}, {"WPT1",1} } }, - { "GeForce GTX TITAN Black", { {"WGS1",32}, {"WPT1",1} } }, - { "TITAN X (Pascal)", { {"WGS1",32}, {"WPT1",1} } }, - { "default", { {"WGS1",64}, {"WPT1",1} } }, + { "GRID K520", { 256, 1 } }, + { "GeForce GTX 1070", { 64, 1 } }, + { "GeForce GTX 1080", { 32, 1 } }, + { "GeForce GTX 480", { 64, 1 } }, + { "GeForce GTX 670", { 64, 1 } }, + { "GeForce GTX 680", { 64, 1 } }, + { "GeForce GTX 750", { 128, 1 } }, + { "GeForce GTX 750 Ti", { 32, 1 } }, + { "GeForce GTX TITAN", { 256, 1 } }, + { "GeForce GTX TITAN Black", { 32, 1 } }, + { "TITAN X (Pascal)", { 32, 1 } }, + { "default", { 64, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",64}, {"WPT1",1} } }, + { "default", { 64, 1 } }, } }, } @@ -188,59 +188,59 @@ const Database::DatabaseEntry XgemvComplexSingle = { // ================================================================================================= const Database::DatabaseEntry XgemvDouble = { - "Xgemv", Precision::kDouble, { + "Xgemv", Precision::kDouble, {"WGS1" "WPT1"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"WGS1",64}, {"WPT1",1} } }, - { "Ellesmere", { {"WGS1",32}, {"WPT1",1} } }, - { "Fiji", { {"WGS1",32}, {"WPT1",1} } }, - { "Hawaii", { {"WGS1",128}, {"WPT1",1} } }, - { "Oland", { {"WGS1",256}, {"WPT1",1} } }, - { "Pitcairn", { {"WGS1",256}, {"WPT1",1} } }, - { "Tahiti", { {"WGS1",256}, {"WPT1",1} } }, - { "Tonga", { {"WGS1",32}, {"WPT1",1} } }, - { "default", { {"WGS1",256}, {"WPT1",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 64, 1 } }, + { "Ellesmere", { 32, 1 } }, + { "Fiji", { 32, 1 } }, + { "Hawaii", { 128, 1 } }, + { "Oland", { 256, 1 } }, + { "Pitcairn", { 256, 1 } }, + { "Tahiti", { 256, 1 } }, + { "Tonga", { 32, 1 } }, + { "default", { 256, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"WGS1",64}, {"WPT1",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"WGS1",64}, {"WPT1",2} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"WGS1",128}, {"WPT1",1} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"WGS1",64}, {"WPT1",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"WGS1",64}, {"WPT1",4} } }, - { "default", { {"WGS1",64}, {"WPT1",4} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 64, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 64, 2 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 128, 1 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 64, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 64, 4 } }, + { "default", { 64, 4 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"WGS1",64}, {"WPT1",1} } }, - { "default", { {"WGS1",64}, {"WPT1",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 64, 1 } }, + { "default", { 64, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"WGS1",128}, {"WPT1",1} } }, - { "GeForce GTX 1070", { {"WGS1",64}, {"WPT1",1} } }, - { "GeForce GTX 1080", { {"WGS1",32}, {"WPT1",1} } }, - { "GeForce GTX 480", { {"WGS1",256}, {"WPT1",1} } }, - { "GeForce GTX 670", { {"WGS1",128}, {"WPT1",1} } }, - { "GeForce GTX 680", { {"WGS1",128}, {"WPT1",1} } }, - { "GeForce GTX 750", { {"WGS1",64}, {"WPT1",1} } }, - { "GeForce GTX 750 Ti", { {"WGS1",32}, {"WPT1",1} } }, - { "GeForce GTX 980", { {"WGS1",64}, {"WPT1",1} } }, - { "GeForce GTX TITAN", { {"WGS1",256}, {"WPT1",1} } }, - { "GeForce GTX TITAN Black", { {"WGS1",32}, {"WPT1",1} } }, - { "GeForce GTX TITAN X", { {"WGS1",64}, {"WPT1",1} } }, - { "TITAN X (Pascal)", { {"WGS1",32}, {"WPT1",1} } }, - { "Tesla K20m", { {"WGS1",256}, {"WPT1",1} } }, - { "Tesla K40m", { {"WGS1",256}, {"WPT1",1} } }, - { "default", { {"WGS1",128}, {"WPT1",1} } }, + { "GRID K520", { 128, 1 } }, + { "GeForce GTX 1070", { 64, 1 } }, + { "GeForce GTX 1080", { 32, 1 } }, + { "GeForce GTX 480", { 256, 1 } }, + { "GeForce GTX 670", { 128, 1 } }, + { "GeForce GTX 680", { 128, 1 } }, + { "GeForce GTX 750", { 64, 1 } }, + { "GeForce GTX 750 Ti", { 32, 1 } }, + { "GeForce GTX 980", { 64, 1 } }, + { "GeForce GTX TITAN", { 256, 1 } }, + { "GeForce GTX TITAN Black", { 32, 1 } }, + { "GeForce GTX TITAN X", { 64, 1 } }, + { "TITAN X (Pascal)", { 32, 1 } }, + { "Tesla K20m", { 256, 1 } }, + { "Tesla K40m", { 256, 1 } }, + { "default", { 128, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",128}, {"WPT1",1} } }, + { "default", { 128, 1 } }, } }, } @@ -249,47 +249,47 @@ const Database::DatabaseEntry XgemvDouble = { // ================================================================================================= const Database::DatabaseEntry XgemvComplexDouble = { - "Xgemv", Precision::kComplexDouble, { + "Xgemv", Precision::kComplexDouble, {"WGS1" "WPT1"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"WGS1",64}, {"WPT1",1} } }, - { "Ellesmere", { {"WGS1",32}, {"WPT1",1} } }, - { "Fiji", { {"WGS1",64}, {"WPT1",1} } }, - { "Hawaii", { {"WGS1",64}, {"WPT1",1} } }, - { "Oland", { {"WGS1",256}, {"WPT1",1} } }, - { "Pitcairn", { {"WGS1",256}, {"WPT1",1} } }, - { "Tahiti", { {"WGS1",256}, {"WPT1",1} } }, - { "Tonga", { {"WGS1",64}, {"WPT1",1} } }, - { "default", { {"WGS1",64}, {"WPT1",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 64, 1 } }, + { "Ellesmere", { 32, 1 } }, + { "Fiji", { 64, 1 } }, + { "Hawaii", { 64, 1 } }, + { "Oland", { 256, 1 } }, + { "Pitcairn", { 256, 1 } }, + { "Tahiti", { 256, 1 } }, + { "Tonga", { 64, 1 } }, + { "default", { 64, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"WGS1",64}, {"WPT1",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"WGS1",64}, {"WPT1",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"WGS1",128}, {"WPT1",2} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"WGS1",64}, {"WPT1",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"WGS1",32}, {"WPT1",4} } }, - { "default", { {"WGS1",64}, {"WPT1",4} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 64, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 64, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 128, 2 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 64, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 32, 4 } }, + { "default", { 64, 4 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"WGS1",64}, {"WPT1",1} } }, - { "default", { {"WGS1",64}, {"WPT1",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 64, 1 } }, + { "default", { 64, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"WGS1",128}, {"WPT1",1} } }, - { "GeForce GTX 480", { {"WGS1",64}, {"WPT1",1} } }, - { "GeForce GTX 670", { {"WGS1",128}, {"WPT1",1} } }, - { "default", { {"WGS1",128}, {"WPT1",1} } }, + { "GRID K520", { 128, 1 } }, + { "GeForce GTX 480", { 64, 1 } }, + { "GeForce GTX 670", { 128, 1 } }, + { "default", { 128, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",64}, {"WPT1",1} } }, + { "default", { 64, 1 } }, } }, } diff --git a/src/database/kernels/xgemv_fast.hpp b/src/database/kernels/xgemv_fast.hpp index 37508e33..08183936 100644 --- a/src/database/kernels/xgemv_fast.hpp +++ b/src/database/kernels/xgemv_fast.hpp @@ -16,23 +16,23 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry XgemvFastHalf = { - "XgemvFast", Precision::kHalf, { + "XgemvFast", Precision::kHalf, {"VW2" "WGS2" "WPT2"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "Ellesmere", { {"VW2",1}, {"WGS2",32}, {"WPT2",1} } }, - { "default", { {"VW2",1}, {"WGS2",32}, {"WPT2",1} } }, + { "Ellesmere", { 1, 32, 1 } }, + { "default", { 1, 32, 1 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"VW2",1}, {"WGS2",16}, {"WPT2",1} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"VW2",4}, {"WGS2",64}, {"WPT2",4} } }, - { "default", { {"VW2",1}, {"WGS2",16}, {"WPT2",1} } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 1, 16, 1 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 4, 64, 4 } }, + { "default", { 1, 16, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW2",1}, {"WGS2",16}, {"WPT2",1} } }, + { "default", { 1, 16, 1 } }, } }, } @@ -41,74 +41,74 @@ const Database::DatabaseEntry XgemvFastHalf = { // ================================================================================================= const Database::DatabaseEntry XgemvFastSingle = { - "XgemvFast", Precision::kSingle, { + "XgemvFast", Precision::kSingle, {"VW2" "WGS2" "WPT2"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"VW2",1}, {"WGS2",128}, {"WPT2",1} } }, - { "ATI Radeon HD 6750M", { {"VW2",2}, {"WGS2",64}, {"WPT2",2} } }, - { "Ellesmere", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Fiji", { {"VW2",1}, {"WGS2",64}, {"WPT2",2} } }, - { "Hawaii", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Oland", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Pitcairn", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Tahiti", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Tonga", { {"VW2",1}, {"WGS2",16}, {"WPT2",4} } }, - { "Turks", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 1, 128, 1 } }, + { "ATI Radeon HD 6750M", { 2, 64, 2 } }, + { "Ellesmere", { 1, 64, 1 } }, + { "Fiji", { 1, 64, 2 } }, + { "Hawaii", { 1, 64, 1 } }, + { "Oland", { 1, 64, 1 } }, + { "Pitcairn", { 1, 64, 1 } }, + { "Tahiti", { 1, 64, 1 } }, + { "Tonga", { 1, 16, 4 } }, + { "Turks", { 1, 256, 1 } }, + { "default", { 1, 64, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"VW2",1}, {"WGS2",32}, {"WPT2",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"VW2",4}, {"WGS2",128}, {"WPT2",4} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"VW2",4}, {"WGS2",32}, {"WPT2",4} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"VW2",1}, {"WGS2",64}, {"WPT2",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"VW2",2}, {"WGS2",16}, {"WPT2",4} } }, - { "default", { {"VW2",4}, {"WGS2",128}, {"WPT2",4} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 1, 32, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 4, 128, 4 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 4, 32, 4 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 1, 64, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 2, 16, 4 } }, + { "default", { 4, 128, 4 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"VW2",2}, {"WGS2",32}, {"WPT2",2} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"VW2",4}, {"WGS2",128}, {"WPT2",4} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"VW2",1}, {"WGS2",64}, {"WPT2",2} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"VW2",2}, {"WGS2",32}, {"WPT2",2} } }, - { "Iris", { {"VW2",1}, {"WGS2",128}, {"WPT2",2} } }, - { "Iris Pro", { {"VW2",4}, {"WGS2",64}, {"WPT2",4} } }, - { "default", { {"VW2",2}, {"WGS2",256}, {"WPT2",2} } }, + { "Intel(R) HD Graphics 530", { 1, 256, 1 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 2, 32, 2 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 4, 128, 4 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 1, 64, 2 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 2, 32, 2 } }, + { "Iris", { 1, 128, 2 } }, + { "Iris Pro", { 4, 64, 4 } }, + { "default", { 2, 256, 2 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 1, 64, 1 } }, + { "default", { 1, 64, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"VW2",2}, {"WGS2",256}, {"WPT2",2} } }, - { "GeForce GT 650M", { {"VW2",2}, {"WGS2",32}, {"WPT2",2} } }, - { "GeForce GTX 1070", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "GeForce GTX 1080", { {"VW2",1}, {"WGS2",128}, {"WPT2",1} } }, - { "GeForce GTX 480", { {"VW2",1}, {"WGS2",128}, {"WPT2",1} } }, - { "GeForce GTX 670", { {"VW2",2}, {"WGS2",256}, {"WPT2",2} } }, - { "GeForce GTX 680", { {"VW2",1}, {"WGS2",128}, {"WPT2",1} } }, - { "GeForce GTX 750", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "GeForce GTX 750 Ti", { {"VW2",2}, {"WGS2",32}, {"WPT2",2} } }, - { "GeForce GTX 980", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "GeForce GTX TITAN", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "GeForce GTX TITAN Black", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "GeForce GTX TITAN X", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "TITAN X (Pascal)", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Tesla K20m", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "Tesla K40m", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "default", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, + { "GRID K520", { 2, 256, 2 } }, + { "GeForce GT 650M", { 2, 32, 2 } }, + { "GeForce GTX 1070", { 1, 256, 1 } }, + { "GeForce GTX 1080", { 1, 128, 1 } }, + { "GeForce GTX 480", { 1, 128, 1 } }, + { "GeForce GTX 670", { 2, 256, 2 } }, + { "GeForce GTX 680", { 1, 128, 1 } }, + { "GeForce GTX 750", { 1, 256, 1 } }, + { "GeForce GTX 750 Ti", { 2, 32, 2 } }, + { "GeForce GTX 980", { 1, 256, 1 } }, + { "GeForce GTX TITAN", { 1, 256, 1 } }, + { "GeForce GTX TITAN Black", { 1, 256, 1 } }, + { "GeForce GTX TITAN X", { 1, 64, 1 } }, + { "TITAN X (Pascal)", { 1, 64, 1 } }, + { "Tesla K20m", { 1, 256, 1 } }, + { "Tesla K40m", { 1, 256, 1 } }, + { "default", { 1, 256, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "default", { 1, 64, 1 } }, } }, } @@ -117,63 +117,63 @@ const Database::DatabaseEntry XgemvFastSingle = { // ================================================================================================= const Database::DatabaseEntry XgemvFastComplexSingle = { - "XgemvFast", Precision::kComplexSingle, { + "XgemvFast", Precision::kComplexSingle, {"VW2" "WGS2" "WPT2"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"VW2",2}, {"WGS2",256}, {"WPT2",2} } }, - { "ATI Radeon HD 6750M", { {"VW2",1}, {"WGS2",128}, {"WPT2",1} } }, - { "Ellesmere", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Fiji", { {"VW2",1}, {"WGS2",16}, {"WPT2",1} } }, - { "Hawaii", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Oland", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Pitcairn", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Tahiti", { {"VW2",1}, {"WGS2",128}, {"WPT2",1} } }, - { "Tonga", { {"VW2",2}, {"WGS2",32}, {"WPT2",2} } }, - { "Turks", { {"VW2",1}, {"WGS2",16}, {"WPT2",1} } }, - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 2, 256, 2 } }, + { "ATI Radeon HD 6750M", { 1, 128, 1 } }, + { "Ellesmere", { 1, 64, 1 } }, + { "Fiji", { 1, 16, 1 } }, + { "Hawaii", { 1, 64, 1 } }, + { "Oland", { 1, 64, 1 } }, + { "Pitcairn", { 1, 64, 1 } }, + { "Tahiti", { 1, 128, 1 } }, + { "Tonga", { 2, 32, 2 } }, + { "Turks", { 1, 16, 1 } }, + { "default", { 1, 64, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"VW2",2}, {"WGS2",64}, {"WPT2",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"VW2",1}, {"WGS2",128}, {"WPT2",2} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"VW2",2}, {"WGS2",128}, {"WPT2",2} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"VW2",4}, {"WGS2",64}, {"WPT2",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"VW2",4}, {"WGS2",16}, {"WPT2",4} } }, - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",2} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 2, 64, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 1, 128, 2 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 2, 128, 2 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 4, 64, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 4, 16, 4 } }, + { "default", { 1, 64, 2 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"VW2",2}, {"WGS2",128}, {"WPT2",2} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"VW2",1}, {"WGS2",32}, {"WPT2",2} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"VW2",2}, {"WGS2",128}, {"WPT2",2} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"VW2",1}, {"WGS2",32}, {"WPT2",4} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"VW2",1}, {"WGS2",32}, {"WPT2",1} } }, - { "Iris", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Iris Pro", { {"VW2",4}, {"WGS2",128}, {"WPT2",4} } }, - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "Intel(R) HD Graphics 530", { 2, 128, 2 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 1, 32, 2 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 2, 128, 2 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 1, 32, 4 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 1, 32, 1 } }, + { "Iris", { 1, 64, 1 } }, + { "Iris Pro", { 4, 128, 4 } }, + { "default", { 1, 64, 1 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 1, 64, 1 } }, + { "default", { 1, 64, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "GeForce GTX 1070", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "GeForce GTX 480", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "GeForce GTX 670", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "GeForce GTX 680", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "GRID K520", { 1, 256, 1 } }, + { "GeForce GTX 1070", { 1, 64, 1 } }, + { "GeForce GTX 480", { 1, 64, 1 } }, + { "GeForce GTX 670", { 1, 64, 1 } }, + { "GeForce GTX 680", { 1, 64, 1 } }, + { "default", { 1, 64, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "default", { 1, 64, 1 } }, } }, } @@ -182,59 +182,59 @@ const Database::DatabaseEntry XgemvFastComplexSingle = { // ================================================================================================= const Database::DatabaseEntry XgemvFastDouble = { - "XgemvFast", Precision::kDouble, { + "XgemvFast", Precision::kDouble, {"VW2" "WGS2" "WPT2"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "Ellesmere", { {"VW2",1}, {"WGS2",128}, {"WPT2",1} } }, - { "Fiji", { {"VW2",1}, {"WGS2",32}, {"WPT2",1} } }, - { "Hawaii", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Oland", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Pitcairn", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Tahiti", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Tonga", { {"VW2",2}, {"WGS2",32}, {"WPT2",2} } }, - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 1, 256, 1 } }, + { "Ellesmere", { 1, 128, 1 } }, + { "Fiji", { 1, 32, 1 } }, + { "Hawaii", { 1, 64, 1 } }, + { "Oland", { 1, 64, 1 } }, + { "Pitcairn", { 1, 64, 1 } }, + { "Tahiti", { 1, 64, 1 } }, + { "Tonga", { 2, 32, 2 } }, + { "default", { 1, 64, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"VW2",1}, {"WGS2",64}, {"WPT2",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"VW2",4}, {"WGS2",128}, {"WPT2",4} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"VW2",1}, {"WGS2",16}, {"WPT2",1} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"VW2",1}, {"WGS2",64}, {"WPT2",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"VW2",1}, {"WGS2",16}, {"WPT2",4} } }, - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",4} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 1, 64, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 4, 128, 4 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 1, 16, 1 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 1, 64, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 1, 16, 4 } }, + { "default", { 1, 64, 4 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 1, 64, 1 } }, + { "default", { 1, 64, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "GeForce GTX 1070", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "GeForce GTX 1080", { {"VW2",1}, {"WGS2",32}, {"WPT2",2} } }, - { "GeForce GTX 480", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "GeForce GTX 670", { {"VW2",1}, {"WGS2",128}, {"WPT2",1} } }, - { "GeForce GTX 680", { {"VW2",1}, {"WGS2",128}, {"WPT2",1} } }, - { "GeForce GTX 750", { {"VW2",2}, {"WGS2",256}, {"WPT2",2} } }, - { "GeForce GTX 750 Ti", { {"VW2",1}, {"WGS2",32}, {"WPT2",2} } }, - { "GeForce GTX 980", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "GeForce GTX TITAN", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "GeForce GTX TITAN Black", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "GeForce GTX TITAN X", { {"VW2",1}, {"WGS2",128}, {"WPT2",1} } }, - { "TITAN X (Pascal)", { {"VW2",1}, {"WGS2",32}, {"WPT2",1} } }, - { "Tesla K20m", { {"VW2",1}, {"WGS2",128}, {"WPT2",1} } }, - { "Tesla K40m", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "default", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, + { "GRID K520", { 1, 256, 1 } }, + { "GeForce GTX 1070", { 1, 256, 1 } }, + { "GeForce GTX 1080", { 1, 32, 2 } }, + { "GeForce GTX 480", { 1, 64, 1 } }, + { "GeForce GTX 670", { 1, 128, 1 } }, + { "GeForce GTX 680", { 1, 128, 1 } }, + { "GeForce GTX 750", { 2, 256, 2 } }, + { "GeForce GTX 750 Ti", { 1, 32, 2 } }, + { "GeForce GTX 980", { 1, 64, 1 } }, + { "GeForce GTX TITAN", { 1, 256, 1 } }, + { "GeForce GTX TITAN Black", { 1, 256, 1 } }, + { "GeForce GTX TITAN X", { 1, 128, 1 } }, + { "TITAN X (Pascal)", { 1, 32, 1 } }, + { "Tesla K20m", { 1, 128, 1 } }, + { "Tesla K40m", { 1, 256, 1 } }, + { "default", { 1, 256, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "default", { 1, 64, 1 } }, } }, } @@ -243,47 +243,47 @@ const Database::DatabaseEntry XgemvFastDouble = { // ================================================================================================= const Database::DatabaseEntry XgemvFastComplexDouble = { - "XgemvFast", Precision::kComplexDouble, { + "XgemvFast", Precision::kComplexDouble, {"VW2" "WGS2" "WPT2"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "Ellesmere", { {"VW2",1}, {"WGS2",16}, {"WPT2",1} } }, - { "Fiji", { {"VW2",1}, {"WGS2",16}, {"WPT2",1} } }, - { "Hawaii", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Oland", { {"VW2",1}, {"WGS2",256}, {"WPT2",1} } }, - { "Pitcairn", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Tahiti", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "Tonga", { {"VW2",1}, {"WGS2",32}, {"WPT2",1} } }, - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 1, 256, 1 } }, + { "Ellesmere", { 1, 16, 1 } }, + { "Fiji", { 1, 16, 1 } }, + { "Hawaii", { 1, 64, 1 } }, + { "Oland", { 1, 256, 1 } }, + { "Pitcairn", { 1, 64, 1 } }, + { "Tahiti", { 1, 64, 1 } }, + { "Tonga", { 1, 32, 1 } }, + { "default", { 1, 64, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"VW2",4}, {"WGS2",32}, {"WPT2",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"VW2",2}, {"WGS2",64}, {"WPT2",4} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"VW2",1}, {"WGS2",64}, {"WPT2",4} } }, - { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { {"VW2",4}, {"WGS2",64}, {"WPT2",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"VW2",1}, {"WGS2",16}, {"WPT2",2} } }, - { "default", { {"VW2",4}, {"WGS2",64}, {"WPT2",4} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 4, 32, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 2, 64, 4 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 1, 64, 4 } }, + { "Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", { 4, 64, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 1, 16, 2 } }, + { "default", { 4, 64, 4 } }, } }, { // Intel accelerators kDeviceTypeAccelerator, "Intel", { - { "Intel(R) Many Integrated Core Acceleration Card", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "Intel(R) Many Integrated Core Acceleration Card", { 1, 64, 1 } }, + { "default", { 1, 64, 1 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"VW2",1}, {"WGS2",128}, {"WPT2",1} } }, - { "GeForce GTX 480", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "GeForce GTX 670", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "GRID K520", { 1, 128, 1 } }, + { "GeForce GTX 480", { 1, 64, 1 } }, + { "GeForce GTX 670", { 1, 64, 1 } }, + { "default", { 1, 64, 1 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW2",1}, {"WGS2",64}, {"WPT2",1} } }, + { "default", { 1, 64, 1 } }, } }, } diff --git a/src/database/kernels/xgemv_fast_rot.hpp b/src/database/kernels/xgemv_fast_rot.hpp index 2bd46eb1..b7befa2b 100644 --- a/src/database/kernels/xgemv_fast_rot.hpp +++ b/src/database/kernels/xgemv_fast_rot.hpp @@ -16,22 +16,22 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry XgemvFastRotHalf = { - "XgemvFastRot", Precision::kHalf, { + "XgemvFastRot", Precision::kHalf, {"VW3" "WGS3" "WPT3"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "Ellesmere", { {"VW3",8}, {"WGS3",32}, {"WPT3",32} } }, - { "default", { {"VW3",8}, {"WGS3",32}, {"WPT3",32} } }, + { "Ellesmere", { 8, 32, 32 } }, + { "default", { 8, 32, 32 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics Skylake ULT GT2", { {"VW3",8}, {"WGS3",128}, {"WPT3",32} } }, - { "default", { {"VW3",8}, {"WGS3",128}, {"WPT3",32} } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 8, 128, 32 } }, + { "default", { 8, 128, 32 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW3",8}, {"WGS3",128}, {"WPT3",32} } }, + { "default", { 8, 128, 32 } }, } }, } @@ -40,51 +40,51 @@ const Database::DatabaseEntry XgemvFastRotHalf = { // ================================================================================================= const Database::DatabaseEntry XgemvFastRotSingle = { - "XgemvFastRot", Precision::kSingle, { + "XgemvFastRot", Precision::kSingle, {"VW3" "WGS3" "WPT3"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"VW3",8}, {"WGS3",64}, {"WPT3",32} } }, - { "ATI Radeon HD 6750M", { {"VW3",8}, {"WGS3",128}, {"WPT3",16} } }, - { "Ellesmere", { {"VW3",8}, {"WGS3",32}, {"WPT3",32} } }, - { "Fiji", { {"VW3",4}, {"WGS3",32}, {"WPT3",16} } }, - { "Tonga", { {"VW3",8}, {"WGS3",128}, {"WPT3",32} } }, - { "Turks", { {"VW3",8}, {"WGS3",128}, {"WPT3",16} } }, - { "default", { {"VW3",8}, {"WGS3",32}, {"WPT3",32} } }, + { "AMD Radeon R9 M370X Compute Engine", { 8, 64, 32 } }, + { "ATI Radeon HD 6750M", { 8, 128, 16 } }, + { "Ellesmere", { 8, 32, 32 } }, + { "Fiji", { 4, 32, 16 } }, + { "Tonga", { 8, 128, 32 } }, + { "Turks", { 8, 128, 16 } }, + { "default", { 8, 32, 32 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"VW3",4}, {"WGS3",32}, {"WPT3",32} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"VW3",8}, {"WGS3",128}, {"WPT3",8} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"VW3",4}, {"WGS3",32}, {"WPT3",32} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"VW3",8}, {"WGS3",16}, {"WPT3",8} } }, - { "default", { {"VW3",8}, {"WGS3",32}, {"WPT3",32} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 4, 32, 32 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 8, 128, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 4, 32, 32 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 8, 16, 8 } }, + { "default", { 8, 32, 32 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"VW3",8}, {"WGS3",64}, {"WPT3",32} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"VW3",4}, {"WGS3",64}, {"WPT3",16} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"VW3",2}, {"WGS3",32}, {"WPT3",16} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"VW3",4}, {"WGS3",64}, {"WPT3",16} } }, - { "Iris Pro", { {"VW3",4}, {"WGS3",16}, {"WPT3",16} } }, - { "default", { {"VW3",4}, {"WGS3",64}, {"WPT3",16} } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 8, 64, 32 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 4, 64, 16 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 2, 32, 16 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 4, 64, 16 } }, + { "Iris Pro", { 4, 16, 16 } }, + { "default", { 4, 64, 16 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GeForce GT 650M", { {"VW3",8}, {"WGS3",32}, {"WPT3",16} } }, - { "GeForce GTX 1080", { {"VW3",8}, {"WGS3",32}, {"WPT3",32} } }, - { "GeForce GTX 750 Ti", { {"VW3",8}, {"WGS3",32}, {"WPT3",32} } }, - { "GeForce GTX TITAN", { {"VW3",1}, {"WGS3",16}, {"WPT3",16} } }, - { "GeForce GTX TITAN Black", { {"VW3",4}, {"WGS3",128}, {"WPT3",16} } }, - { "TITAN X (Pascal)", { {"VW3",8}, {"WGS3",64}, {"WPT3",32} } }, - { "default", { {"VW3",8}, {"WGS3",32}, {"WPT3",32} } }, + { "GeForce GT 650M", { 8, 32, 16 } }, + { "GeForce GTX 1080", { 8, 32, 32 } }, + { "GeForce GTX 750 Ti", { 8, 32, 32 } }, + { "GeForce GTX TITAN", { 1, 16, 16 } }, + { "GeForce GTX TITAN Black", { 4, 128, 16 } }, + { "TITAN X (Pascal)", { 8, 64, 32 } }, + { "default", { 8, 32, 32 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW3",8}, {"WGS3",32}, {"WPT3",32} } }, + { "default", { 8, 32, 32 } }, } }, } @@ -93,40 +93,40 @@ const Database::DatabaseEntry XgemvFastRotSingle = { // ================================================================================================= const Database::DatabaseEntry XgemvFastRotComplexSingle = { - "XgemvFastRot", Precision::kComplexSingle, { + "XgemvFastRot", Precision::kComplexSingle, {"VW3" "WGS3" "WPT3"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"VW3",8}, {"WGS3",16}, {"WPT3",16} } }, - { "ATI Radeon HD 6750M", { {"VW3",8}, {"WGS3",32}, {"WPT3",8} } }, - { "Ellesmere", { {"VW3",2}, {"WGS3",32}, {"WPT3",16} } }, - { "Fiji", { {"VW3",4}, {"WGS3",32}, {"WPT3",32} } }, - { "Tonga", { {"VW3",4}, {"WGS3",32}, {"WPT3",32} } }, - { "Turks", { {"VW3",4}, {"WGS3",32}, {"WPT3",8} } }, - { "default", { {"VW3",8}, {"WGS3",16}, {"WPT3",16} } }, + { "AMD Radeon R9 M370X Compute Engine", { 8, 16, 16 } }, + { "ATI Radeon HD 6750M", { 8, 32, 8 } }, + { "Ellesmere", { 2, 32, 16 } }, + { "Fiji", { 4, 32, 32 } }, + { "Tonga", { 4, 32, 32 } }, + { "Turks", { 4, 32, 8 } }, + { "default", { 8, 16, 16 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"VW3",4}, {"WGS3",32}, {"WPT3",32} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"VW3",8}, {"WGS3",32}, {"WPT3",8} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"VW3",4}, {"WGS3",32}, {"WPT3",32} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"VW3",4}, {"WGS3",16}, {"WPT3",16} } }, - { "default", { {"VW3",4}, {"WGS3",32}, {"WPT3",32} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 4, 32, 32 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 8, 32, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 4, 32, 32 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 4, 16, 16 } }, + { "default", { 4, 32, 32 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"VW3",2}, {"WGS3",16}, {"WPT3",16} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"VW3",4}, {"WGS3",128}, {"WPT3",8} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"VW3",4}, {"WGS3",32}, {"WPT3",8} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"VW3",4}, {"WGS3",64}, {"WPT3",16} } }, - { "Iris Pro", { {"VW3",4}, {"WGS3",16}, {"WPT3",16} } }, - { "default", { {"VW3",2}, {"WGS3",32}, {"WPT3",8} } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 2, 16, 16 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 4, 128, 8 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 4, 32, 8 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 4, 64, 16 } }, + { "Iris Pro", { 4, 16, 16 } }, + { "default", { 2, 32, 8 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW3",4}, {"WGS3",16}, {"WPT3",16} } }, + { "default", { 4, 16, 16 } }, } }, } @@ -135,38 +135,38 @@ const Database::DatabaseEntry XgemvFastRotComplexSingle = { // ================================================================================================= const Database::DatabaseEntry XgemvFastRotDouble = { - "XgemvFastRot", Precision::kDouble, { + "XgemvFastRot", Precision::kDouble, {"VW3" "WGS3" "WPT3"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"VW3",4}, {"WGS3",16}, {"WPT3",16} } }, - { "Ellesmere", { {"VW3",4}, {"WGS3",16}, {"WPT3",16} } }, - { "Fiji", { {"VW3",4}, {"WGS3",32}, {"WPT3",32} } }, - { "Tonga", { {"VW3",4}, {"WGS3",16}, {"WPT3",16} } }, - { "default", { {"VW3",4}, {"WGS3",16}, {"WPT3",16} } }, + { "AMD Radeon R9 M370X Compute Engine", { 4, 16, 16 } }, + { "Ellesmere", { 4, 16, 16 } }, + { "Fiji", { 4, 32, 32 } }, + { "Tonga", { 4, 16, 16 } }, + { "default", { 4, 16, 16 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"VW3",4}, {"WGS3",32}, {"WPT3",32} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"VW3",8}, {"WGS3",16}, {"WPT3",8} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"VW3",4}, {"WGS3",32}, {"WPT3",32} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"VW3",8}, {"WGS3",16}, {"WPT3",8} } }, - { "default", { {"VW3",8}, {"WGS3",32}, {"WPT3",32} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 4, 32, 32 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 8, 16, 8 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 4, 32, 32 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 8, 16, 8 } }, + { "default", { 8, 32, 32 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GeForce GTX 1080", { {"VW3",8}, {"WGS3",32}, {"WPT3",32} } }, - { "GeForce GTX 750 Ti", { {"VW3",4}, {"WGS3",32}, {"WPT3",16} } }, - { "GeForce GTX TITAN", { {"VW3",1}, {"WGS3",16}, {"WPT3",16} } }, - { "GeForce GTX TITAN Black", { {"VW3",1}, {"WGS3",16}, {"WPT3",16} } }, - { "TITAN X (Pascal)", { {"VW3",8}, {"WGS3",32}, {"WPT3",32} } }, - { "default", { {"VW3",4}, {"WGS3",32}, {"WPT3",16} } }, + { "GeForce GTX 1080", { 8, 32, 32 } }, + { "GeForce GTX 750 Ti", { 4, 32, 16 } }, + { "GeForce GTX TITAN", { 1, 16, 16 } }, + { "GeForce GTX TITAN Black", { 1, 16, 16 } }, + { "TITAN X (Pascal)", { 8, 32, 32 } }, + { "default", { 4, 32, 16 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW3",4}, {"WGS3",16}, {"WPT3",16} } }, + { "default", { 4, 16, 16 } }, } }, } @@ -175,28 +175,28 @@ const Database::DatabaseEntry XgemvFastRotDouble = { // ================================================================================================= const Database::DatabaseEntry XgemvFastRotComplexDouble = { - "XgemvFastRot", Precision::kComplexDouble, { + "XgemvFastRot", Precision::kComplexDouble, {"VW3" "WGS3" "WPT3"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"VW3",4}, {"WGS3",32}, {"WPT3",16} } }, - { "Ellesmere", { {"VW3",4}, {"WGS3",16}, {"WPT3",16} } }, - { "Fiji", { {"VW3",4}, {"WGS3",32}, {"WPT3",8} } }, - { "Tonga", { {"VW3",4}, {"WGS3",16}, {"WPT3",8} } }, - { "default", { {"VW3",8}, {"WGS3",32}, {"WPT3",16} } }, + { "AMD Radeon R9 M370X Compute Engine", { 4, 32, 16 } }, + { "Ellesmere", { 4, 16, 16 } }, + { "Fiji", { 4, 32, 8 } }, + { "Tonga", { 4, 16, 8 } }, + { "default", { 8, 32, 16 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"VW3",2}, {"WGS3",16}, {"WPT3",16} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"VW3",4}, {"WGS3",64}, {"WPT3",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"VW3",2}, {"WGS3",16}, {"WPT3",16} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"VW3",8}, {"WGS3",16}, {"WPT3",16} } }, - { "default", { {"VW3",8}, {"WGS3",16}, {"WPT3",16} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 2, 16, 16 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 4, 64, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 2, 16, 16 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 8, 16, 16 } }, + { "default", { 8, 16, 16 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"VW3",4}, {"WGS3",16}, {"WPT3",16} } }, + { "default", { 4, 16, 16 } }, } }, } diff --git a/src/database/kernels/xger.hpp b/src/database/kernels/xger.hpp index 9d3187d9..c04120f1 100644 --- a/src/database/kernels/xger.hpp +++ b/src/database/kernels/xger.hpp @@ -16,23 +16,23 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry XgerHalf = { - "Xger", Precision::kHalf, { + "Xger", Precision::kHalf, {"WGS1" "WGS2" "WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "Ellesmere", { {"WGS1",64}, {"WGS2",1}, {"WPT",2} } }, - { "default", { {"WGS1",64}, {"WGS2",1}, {"WPT",2} } }, + { "Ellesmere", { 64, 1, 2 } }, + { "default", { 64, 1, 2 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"WGS1",256}, {"WGS2",1}, {"WPT",2} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"WGS1",64}, {"WGS2",1}, {"WPT",4} } }, - { "default", { {"WGS1",4}, {"WGS2",8}, {"WPT",2} } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 256, 1, 2 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 64, 1, 4 } }, + { "default", { 4, 8, 2 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",64}, {"WGS2",1}, {"WPT",2} } }, + { "default", { 64, 1, 2 } }, } }, } @@ -41,69 +41,69 @@ const Database::DatabaseEntry XgerHalf = { // ================================================================================================= const Database::DatabaseEntry XgerSingle = { - "Xger", Precision::kSingle, { + "Xger", Precision::kSingle, {"WGS1" "WGS2" "WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"WGS1",256}, {"WGS2",1}, {"WPT",1} } }, - { "ATI Radeon HD 6750M", { {"WGS1",16}, {"WGS2",16}, {"WPT",4} } }, - { "Ellesmere", { {"WGS1",64}, {"WGS2",4}, {"WPT",2} } }, - { "Fiji", { {"WGS1",256}, {"WGS2",1}, {"WPT",1} } }, - { "Hawaii", { {"WGS1",64}, {"WGS2",2}, {"WPT",1} } }, - { "Oland", { {"WGS1",32}, {"WGS2",4}, {"WPT",2} } }, - { "Pitcairn", { {"WGS1",64}, {"WGS2",1}, {"WPT",1} } }, - { "Tahiti", { {"WGS1",256}, {"WGS2",1}, {"WPT",1} } }, - { "Tonga", { {"WGS1",256}, {"WGS2",1}, {"WPT",2} } }, - { "Turks", { {"WGS1",64}, {"WGS2",4}, {"WPT",2} } }, - { "default", { {"WGS1",16}, {"WGS2",16}, {"WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 256, 1, 1 } }, + { "ATI Radeon HD 6750M", { 16, 16, 4 } }, + { "Ellesmere", { 64, 4, 2 } }, + { "Fiji", { 256, 1, 1 } }, + { "Hawaii", { 64, 2, 1 } }, + { "Oland", { 32, 4, 2 } }, + { "Pitcairn", { 64, 1, 1 } }, + { "Tahiti", { 256, 1, 1 } }, + { "Tonga", { 256, 1, 2 } }, + { "Turks", { 64, 4, 2 } }, + { "default", { 16, 16, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"WGS1",64}, {"WGS2",4}, {"WPT",4} } }, - { "default", { {"WGS1",64}, {"WGS2",4}, {"WPT",4} } }, + { "Mali-T628", { 64, 4, 4 } }, + { "default", { 64, 4, 4 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"WGS1",32}, {"WGS2",4}, {"WPT",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"WGS1",128}, {"WGS2",2}, {"WPT",4} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"WGS1",256}, {"WGS2",16}, {"WPT",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"WGS1",256}, {"WGS2",4}, {"WPT",4} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"WGS1",128}, {"WGS2",1}, {"WPT",4} } }, - { "default", { {"WGS1",128}, {"WGS2",8}, {"WPT",4} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 32, 4, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 128, 2, 4 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 256, 16, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 256, 4, 4 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 128, 1, 4 } }, + { "default", { 128, 8, 4 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"WGS1",32}, {"WGS2",1}, {"WPT",2} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"WGS1",256}, {"WGS2",2}, {"WPT",2} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"WGS1",128}, {"WGS2",1}, {"WPT",2} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"WGS1",64}, {"WGS2",1}, {"WPT",4} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"WGS1",32}, {"WGS2",4}, {"WPT",4} } }, - { "Iris Pro", { {"WGS1",64}, {"WGS2",1}, {"WPT",4} } }, - { "default", { {"WGS1",32}, {"WGS2",4}, {"WPT",2} } }, + { "Intel(R) HD Graphics 530", { 32, 1, 2 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 256, 2, 2 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 128, 1, 2 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 64, 1, 4 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 32, 4, 4 } }, + { "Iris Pro", { 64, 1, 4 } }, + { "default", { 32, 4, 2 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"WGS1",128}, {"WGS2",1}, {"WPT",2} } }, - { "GeForce GT 650M", { {"WGS1",32}, {"WGS2",16}, {"WPT",4} } }, - { "GeForce GTX 1070", { {"WGS1",512}, {"WGS2",1}, {"WPT",1} } }, - { "GeForce GTX 1080", { {"WGS1",16}, {"WGS2",4}, {"WPT",1} } }, - { "GeForce GTX 480", { {"WGS1",256}, {"WGS2",1}, {"WPT",4} } }, - { "GeForce GTX 670", { {"WGS1",32}, {"WGS2",8}, {"WPT",2} } }, - { "GeForce GTX 680", { {"WGS1",128}, {"WGS2",1}, {"WPT",4} } }, - { "GeForce GTX 750", { {"WGS1",64}, {"WGS2",16}, {"WPT",4} } }, - { "GeForce GTX 750 Ti", { {"WGS1",64}, {"WGS2",1}, {"WPT",2} } }, - { "GeForce GTX TITAN", { {"WGS1",32}, {"WGS2",4}, {"WPT",2} } }, - { "GeForce GTX TITAN Black", { {"WGS1",32}, {"WGS2",4}, {"WPT",2} } }, - { "TITAN X (Pascal)", { {"WGS1",512}, {"WGS2",2}, {"WPT",1} } }, - { "default", { {"WGS1",128}, {"WGS2",1}, {"WPT",2} } }, + { "GRID K520", { 128, 1, 2 } }, + { "GeForce GT 650M", { 32, 16, 4 } }, + { "GeForce GTX 1070", { 512, 1, 1 } }, + { "GeForce GTX 1080", { 16, 4, 1 } }, + { "GeForce GTX 480", { 256, 1, 4 } }, + { "GeForce GTX 670", { 32, 8, 2 } }, + { "GeForce GTX 680", { 128, 1, 4 } }, + { "GeForce GTX 750", { 64, 16, 4 } }, + { "GeForce GTX 750 Ti", { 64, 1, 2 } }, + { "GeForce GTX TITAN", { 32, 4, 2 } }, + { "GeForce GTX TITAN Black", { 32, 4, 2 } }, + { "TITAN X (Pascal)", { 512, 2, 1 } }, + { "default", { 128, 1, 2 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",32}, {"WGS2",4}, {"WPT",2} } }, + { "default", { 32, 4, 2 } }, } }, } @@ -112,68 +112,68 @@ const Database::DatabaseEntry XgerSingle = { // ================================================================================================= const Database::DatabaseEntry XgerComplexSingle = { - "Xger", Precision::kComplexSingle, { + "Xger", Precision::kComplexSingle, {"WGS1" "WGS2" "WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"WGS1",64}, {"WGS2",4}, {"WPT",1} } }, - { "ATI Radeon HD 6750M", { {"WGS1",16}, {"WGS2",16}, {"WPT",1} } }, - { "Ellesmere", { {"WGS1",16}, {"WGS2",8}, {"WPT",2} } }, - { "Fiji", { {"WGS1",128}, {"WGS2",2}, {"WPT",1} } }, - { "Hawaii", { {"WGS1",64}, {"WGS2",1}, {"WPT",2} } }, - { "Oland", { {"WGS1",4}, {"WGS2",8}, {"WPT",1} } }, - { "Pitcairn", { {"WGS1",128}, {"WGS2",2}, {"WPT",1} } }, - { "Tahiti", { {"WGS1",64}, {"WGS2",2}, {"WPT",1} } }, - { "Tonga", { {"WGS1",64}, {"WGS2",1}, {"WPT",1} } }, - { "Turks", { {"WGS1",128}, {"WGS2",2}, {"WPT",1} } }, - { "default", { {"WGS1",128}, {"WGS2",2}, {"WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 64, 4, 1 } }, + { "ATI Radeon HD 6750M", { 16, 16, 1 } }, + { "Ellesmere", { 16, 8, 2 } }, + { "Fiji", { 128, 2, 1 } }, + { "Hawaii", { 64, 1, 2 } }, + { "Oland", { 4, 8, 1 } }, + { "Pitcairn", { 128, 2, 1 } }, + { "Tahiti", { 64, 2, 1 } }, + { "Tonga", { 64, 1, 1 } }, + { "Turks", { 128, 2, 1 } }, + { "default", { 128, 2, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"WGS1",128}, {"WGS2",1}, {"WPT",1} } }, - { "default", { {"WGS1",128}, {"WGS2",1}, {"WPT",1} } }, + { "Mali-T628", { 128, 1, 1 } }, + { "default", { 128, 1, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"WGS1",128}, {"WGS2",2}, {"WPT",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"WGS1",256}, {"WGS2",1}, {"WPT",4} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"WGS1",256}, {"WGS2",8}, {"WPT",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"WGS1",256}, {"WGS2",2}, {"WPT",4} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"WGS1",512}, {"WGS2",4}, {"WPT",2} } }, - { "default", { {"WGS1",256}, {"WGS2",2}, {"WPT",4} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 128, 2, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 256, 1, 4 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 256, 8, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 256, 2, 4 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 512, 4, 2 } }, + { "default", { 256, 2, 4 } }, } }, { // Intel GPUs kDeviceTypeGPU, "Intel", { - { "Intel(R) HD Graphics 530", { {"WGS1",32}, {"WGS2",1}, {"WPT",2} } }, - { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { {"WGS1",128}, {"WGS2",2}, {"WPT",1} } }, - { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { {"WGS1",512}, {"WGS2",1}, {"WPT",1} } }, - { "Intel(R) HD Graphics IvyBridge M GT2", { {"WGS1",256}, {"WGS2",1}, {"WPT",2} } }, - { "Intel(R) HD Graphics Skylake ULT GT2", { {"WGS1",16}, {"WGS2",1}, {"WPT",1} } }, - { "Iris Pro", { {"WGS1",16}, {"WGS2",2}, {"WPT",4} } }, - { "default", { {"WGS1",128}, {"WGS2",2}, {"WPT",2} } }, + { "Intel(R) HD Graphics 530", { 32, 1, 2 } }, + { "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2", { 128, 2, 1 } }, + { "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile", { 512, 1, 1 } }, + { "Intel(R) HD Graphics IvyBridge M GT2", { 256, 1, 2 } }, + { "Intel(R) HD Graphics Skylake ULT GT2", { 16, 1, 1 } }, + { "Iris Pro", { 16, 2, 4 } }, + { "default", { 128, 2, 2 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"WGS1",64}, {"WGS2",4}, {"WPT",2} } }, - { "GeForce GTX 1070", { {"WGS1",16}, {"WGS2",64}, {"WPT",2} } }, - { "GeForce GTX 1080", { {"WGS1",32}, {"WGS2",2}, {"WPT",1} } }, - { "GeForce GTX 480", { {"WGS1",128}, {"WGS2",2}, {"WPT",2} } }, - { "GeForce GTX 670", { {"WGS1",16}, {"WGS2",32}, {"WPT",2} } }, - { "GeForce GTX 680", { {"WGS1",32}, {"WGS2",4}, {"WPT",2} } }, - { "GeForce GTX 750", { {"WGS1",32}, {"WGS2",16}, {"WPT",4} } }, - { "GeForce GTX 750 Ti", { {"WGS1",32}, {"WGS2",8}, {"WPT",2} } }, - { "GeForce GTX TITAN", { {"WGS1",16}, {"WGS2",16}, {"WPT",2} } }, - { "GeForce GTX TITAN Black", { {"WGS1",16}, {"WGS2",16}, {"WPT",2} } }, - { "TITAN X (Pascal)", { {"WGS1",32}, {"WGS2",2}, {"WPT",1} } }, - { "default", { {"WGS1",128}, {"WGS2",2}, {"WPT",2} } }, + { "GRID K520", { 64, 4, 2 } }, + { "GeForce GTX 1070", { 16, 64, 2 } }, + { "GeForce GTX 1080", { 32, 2, 1 } }, + { "GeForce GTX 480", { 128, 2, 2 } }, + { "GeForce GTX 670", { 16, 32, 2 } }, + { "GeForce GTX 680", { 32, 4, 2 } }, + { "GeForce GTX 750", { 32, 16, 4 } }, + { "GeForce GTX 750 Ti", { 32, 8, 2 } }, + { "GeForce GTX TITAN", { 16, 16, 2 } }, + { "GeForce GTX TITAN Black", { 16, 16, 2 } }, + { "TITAN X (Pascal)", { 32, 2, 1 } }, + { "default", { 128, 2, 2 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",64}, {"WGS2",2}, {"WPT",2} } }, + { "default", { 64, 2, 2 } }, } }, } @@ -182,55 +182,55 @@ const Database::DatabaseEntry XgerComplexSingle = { // ================================================================================================= const Database::DatabaseEntry XgerDouble = { - "Xger", Precision::kDouble, { + "Xger", Precision::kDouble, {"WGS1" "WGS2" "WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"WGS1",32}, {"WGS2",4}, {"WPT",1} } }, - { "Ellesmere", { {"WGS1",64}, {"WGS2",1}, {"WPT",4} } }, - { "Fiji", { {"WGS1",256}, {"WGS2",1}, {"WPT",2} } }, - { "Hawaii", { {"WGS1",32}, {"WGS2",4}, {"WPT",2} } }, - { "Oland", { {"WGS1",128}, {"WGS2",1}, {"WPT",2} } }, - { "Pitcairn", { {"WGS1",64}, {"WGS2",1}, {"WPT",1} } }, - { "Tahiti", { {"WGS1",64}, {"WGS2",2}, {"WPT",1} } }, - { "Tonga", { {"WGS1",8}, {"WGS2",16}, {"WPT",2} } }, - { "default", { {"WGS1",128}, {"WGS2",2}, {"WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 32, 4, 1 } }, + { "Ellesmere", { 64, 1, 4 } }, + { "Fiji", { 256, 1, 2 } }, + { "Hawaii", { 32, 4, 2 } }, + { "Oland", { 128, 1, 2 } }, + { "Pitcairn", { 64, 1, 1 } }, + { "Tahiti", { 64, 2, 1 } }, + { "Tonga", { 8, 16, 2 } }, + { "default", { 128, 2, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"WGS1",64}, {"WGS2",4}, {"WPT",1} } }, - { "default", { {"WGS1",64}, {"WGS2",4}, {"WPT",1} } }, + { "Mali-T628", { 64, 4, 1 } }, + { "default", { 64, 4, 1 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"WGS1",256}, {"WGS2",1}, {"WPT",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"WGS1",512}, {"WGS2",16}, {"WPT",1} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"WGS1",256}, {"WGS2",1}, {"WPT",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"WGS1",256}, {"WGS2",4}, {"WPT",4} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"WGS1",512}, {"WGS2",8}, {"WPT",2} } }, - { "default", { {"WGS1",256}, {"WGS2",1}, {"WPT",4} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 256, 1, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 512, 16, 1 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 256, 1, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 256, 4, 4 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 512, 8, 2 } }, + { "default", { 256, 1, 4 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"WGS1",128}, {"WGS2",8}, {"WPT",2} } }, - { "GeForce GTX 1070", { {"WGS1",32}, {"WGS2",8}, {"WPT",1} } }, - { "GeForce GTX 1080", { {"WGS1",32}, {"WGS2",2}, {"WPT",1} } }, - { "GeForce GTX 480", { {"WGS1",32}, {"WGS2",4}, {"WPT",2} } }, - { "GeForce GTX 670", { {"WGS1",32}, {"WGS2",32}, {"WPT",2} } }, - { "GeForce GTX 680", { {"WGS1",128}, {"WGS2",4}, {"WPT",2} } }, - { "GeForce GTX 750", { {"WGS1",256}, {"WGS2",2}, {"WPT",2} } }, - { "GeForce GTX 750 Ti", { {"WGS1",32}, {"WGS2",16}, {"WPT",1} } }, - { "GeForce GTX TITAN", { {"WGS1",16}, {"WGS2",8}, {"WPT",2} } }, - { "GeForce GTX TITAN Black", { {"WGS1",32}, {"WGS2",4}, {"WPT",2} } }, - { "TITAN X (Pascal)", { {"WGS1",32}, {"WGS2",2}, {"WPT",1} } }, - { "default", { {"WGS1",128}, {"WGS2",1}, {"WPT",2} } }, + { "GRID K520", { 128, 8, 2 } }, + { "GeForce GTX 1070", { 32, 8, 1 } }, + { "GeForce GTX 1080", { 32, 2, 1 } }, + { "GeForce GTX 480", { 32, 4, 2 } }, + { "GeForce GTX 670", { 32, 32, 2 } }, + { "GeForce GTX 680", { 128, 4, 2 } }, + { "GeForce GTX 750", { 256, 2, 2 } }, + { "GeForce GTX 750 Ti", { 32, 16, 1 } }, + { "GeForce GTX TITAN", { 16, 8, 2 } }, + { "GeForce GTX TITAN Black", { 32, 4, 2 } }, + { "TITAN X (Pascal)", { 32, 2, 1 } }, + { "default", { 128, 1, 2 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",128}, {"WGS2",1}, {"WPT",2} } }, + { "default", { 128, 1, 2 } }, } }, } @@ -239,55 +239,55 @@ const Database::DatabaseEntry XgerDouble = { // ================================================================================================= const Database::DatabaseEntry XgerComplexDouble = { - "Xger", Precision::kComplexDouble, { + "Xger", Precision::kComplexDouble, {"WGS1" "WGS2" "WPT"}, { { // AMD GPUs kDeviceTypeGPU, "AMD", { - { "AMD Radeon R9 M370X Compute Engine", { {"WGS1",64}, {"WGS2",1}, {"WPT",1} } }, - { "Ellesmere", { {"WGS1",8}, {"WGS2",16}, {"WPT",1} } }, - { "Fiji", { {"WGS1",64}, {"WGS2",4}, {"WPT",2} } }, - { "Hawaii", { {"WGS1",128}, {"WGS2",1}, {"WPT",1} } }, - { "Oland", { {"WGS1",16}, {"WGS2",16}, {"WPT",2} } }, - { "Pitcairn", { {"WGS1",64}, {"WGS2",4}, {"WPT",1} } }, - { "Tahiti", { {"WGS1",32}, {"WGS2",4}, {"WPT",1} } }, - { "Tonga", { {"WGS1",16}, {"WGS2",4}, {"WPT",1} } }, - { "default", { {"WGS1",32}, {"WGS2",4}, {"WPT",1} } }, + { "AMD Radeon R9 M370X Compute Engine", { 64, 1, 1 } }, + { "Ellesmere", { 8, 16, 1 } }, + { "Fiji", { 64, 4, 2 } }, + { "Hawaii", { 128, 1, 1 } }, + { "Oland", { 16, 16, 2 } }, + { "Pitcairn", { 64, 4, 1 } }, + { "Tahiti", { 32, 4, 1 } }, + { "Tonga", { 16, 4, 1 } }, + { "default", { 32, 4, 1 } }, } }, { // ARM GPUs kDeviceTypeGPU, "ARM", { - { "Mali-T628", { {"WGS1",64}, {"WGS2",2}, {"WPT",4} } }, - { "default", { {"WGS1",64}, {"WGS2",2}, {"WPT",4} } }, + { "Mali-T628", { 64, 2, 4 } }, + { "default", { 64, 2, 4 } }, } }, { // Intel CPUs kDeviceTypeCPU, "Intel", { - { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { {"WGS1",128}, {"WGS2",4}, {"WPT",4} } }, - { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { {"WGS1",512}, {"WGS2",4}, {"WPT",2} } }, - { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { {"WGS1",256}, {"WGS2",8}, {"WPT",4} } }, - { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { {"WGS1",512}, {"WGS2",2}, {"WPT",2} } }, - { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { {"WGS1",256}, {"WGS2",1}, {"WPT",2} } }, - { "default", { {"WGS1",256}, {"WGS2",2}, {"WPT",2} } }, + { "Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz", { 128, 4, 4 } }, + { "Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz", { 512, 4, 2 } }, + { "Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz", { 256, 8, 4 } }, + { "Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz", { 512, 2, 2 } }, + { "Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz", { 256, 1, 2 } }, + { "default", { 256, 2, 2 } }, } }, { // NVIDIA GPUs kDeviceTypeGPU, "NVIDIA", { - { "GRID K520", { {"WGS1",16}, {"WGS2",8}, {"WPT",2} } }, - { "GeForce GTX 1070", { {"WGS1",8}, {"WGS2",128}, {"WPT",1} } }, - { "GeForce GTX 1080", { {"WGS1",8}, {"WGS2",4}, {"WPT",1} } }, - { "GeForce GTX 480", { {"WGS1",64}, {"WGS2",2}, {"WPT",2} } }, - { "GeForce GTX 670", { {"WGS1",8}, {"WGS2",16}, {"WPT",2} } }, - { "GeForce GTX 680", { {"WGS1",8}, {"WGS2",16}, {"WPT",1} } }, - { "GeForce GTX 750", { {"WGS1",8}, {"WGS2",32}, {"WPT",4} } }, - { "GeForce GTX 750 Ti", { {"WGS1",32}, {"WGS2",8}, {"WPT",2} } }, - { "GeForce GTX TITAN", { {"WGS1",32}, {"WGS2",4}, {"WPT",2} } }, - { "GeForce GTX TITAN Black", { {"WGS1",16}, {"WGS2",16}, {"WPT",2} } }, - { "TITAN X (Pascal)", { {"WGS1",4}, {"WGS2",8}, {"WPT",1} } }, - { "default", { {"WGS1",16}, {"WGS2",8}, {"WPT",2} } }, + { "GRID K520", { 16, 8, 2 } }, + { "GeForce GTX 1070", { 8, 128, 1 } }, + { "GeForce GTX 1080", { 8, 4, 1 } }, + { "GeForce GTX 480", { 64, 2, 2 } }, + { "GeForce GTX 670", { 8, 16, 2 } }, + { "GeForce GTX 680", { 8, 16, 1 } }, + { "GeForce GTX 750", { 8, 32, 4 } }, + { "GeForce GTX 750 Ti", { 32, 8, 2 } }, + { "GeForce GTX TITAN", { 32, 4, 2 } }, + { "GeForce GTX TITAN Black", { 16, 16, 2 } }, + { "TITAN X (Pascal)", { 4, 8, 1 } }, + { "default", { 16, 8, 2 } }, } }, { // Default kDeviceTypeAll, "default", { - { "default", { {"WGS1",64}, {"WGS2",2}, {"WPT",2} } }, + { "default", { 64, 2, 2 } }, } }, } diff --git a/src/database/kernels/xtrsv.hpp b/src/database/kernels/xtrsv.hpp index 0741569e..c6ebadba 100644 --- a/src/database/kernels/xtrsv.hpp +++ b/src/database/kernels/xtrsv.hpp @@ -16,10 +16,10 @@ namespace database { // ================================================================================================= const Database::DatabaseEntry XtrsvHalf = { - "Xtrsv", Precision::kHalf, { + "Xtrsv", Precision::kHalf, {"TRSV_BLOCK_SIZE"}, { { // Default kDeviceTypeAll, "default", { - { "default", { {"TRSV_BLOCK_SIZE",32} } }, + { "default", { { 32 } } }, } }, } @@ -28,10 +28,10 @@ const Database::DatabaseEntry XtrsvHalf = { // ================================================================================================= const Database::DatabaseEntry XtrsvSingle = { - "Xtrsv", Precision::kSingle, { + "Xtrsv", Precision::kSingle, {"TRSV_BLOCK_SIZE"}, { { // Default kDeviceTypeAll, "default", { - { "default", { {"TRSV_BLOCK_SIZE",32} } }, + { "default", { { 32 } } }, } }, } @@ -40,10 +40,10 @@ const Database::DatabaseEntry XtrsvSingle = { // ================================================================================================= const Database::DatabaseEntry XtrsvComplexSingle = { - "Xtrsv", Precision::kComplexSingle, { + "Xtrsv", Precision::kComplexSingle, {"TRSV_BLOCK_SIZE"}, { { // Default kDeviceTypeAll, "default", { - { "default", { {"TRSV_BLOCK_SIZE",32} } }, + { "default", { { 32 } } }, } }, } @@ -52,10 +52,10 @@ const Database::DatabaseEntry XtrsvComplexSingle = { // ================================================================================================= const Database::DatabaseEntry XtrsvDouble = { - "Xtrsv", Precision::kDouble, { + "Xtrsv", Precision::kDouble, {"TRSV_BLOCK_SIZE"}, { { // Default kDeviceTypeAll, "default", { - { "default", { {"TRSV_BLOCK_SIZE",32} } }, + { "default", { { 32 } } }, } }, } @@ -64,10 +64,10 @@ const Database::DatabaseEntry XtrsvDouble = { // ================================================================================================= const Database::DatabaseEntry XtrsvComplexDouble = { - "Xtrsv", Precision::kComplexDouble, { + "Xtrsv", Precision::kComplexDouble, {"TRSV_BLOCK_SIZE"}, { { // Default kDeviceTypeAll, "default", { - { "default", { {"TRSV_BLOCK_SIZE",32} } }, + { "default", { { 32 } } }, } }, } |