Skip to content

Commit

Permalink
Added tuning parameters for various devices
Browse files Browse the repository at this point in the history
  • Loading branch information
CNugteren committed Nov 7, 2024
1 parent 2a08197 commit fbfbc8c
Show file tree
Hide file tree
Showing 75 changed files with 633 additions and 319 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Development version (next version)
- (no changes yet since last release)
- Added tuned parameters for many devices (see doc/tuning.md)

Version 1.6.3
- Fixed a bug in the GEMMK=1 kernel (with 2D register tiling) when MWG!=NWG
Expand Down
5 changes: 5 additions & 0 deletions doc/tuning.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ The CLBlast library is already tuned for the most commonly used OpenCL devices a
- Tesla P100 16GB
- SM 6.1:
- GeForce MX 150
- GeForce GTX 1050 Ti
- GeForce GTX 1060 6GB
- GeForce GTX 1070
- GeForce GTX 1070 Ti
Expand All @@ -65,6 +66,8 @@ The CLBlast library is already tuned for the most commonly used OpenCL devices a
- SM 8.0:
- Tesla A100 40GB
- SM 8.6:
- GeForce GTX 2050
- GeForce GTX 3050 Laptop
- GeForce GTX 3050 Ti Laptop
- GeForce GTX 3060 Laptop
- GeForce GTX 3070
Expand All @@ -77,6 +80,7 @@ The CLBlast library is already tuned for the most commonly used OpenCL devices a
- SM 8.9:
- GeForce GTX 4050 Laptop
- GeForce RTX 4060
- GeForce GTX 4060 Laptop
- GeForce GTX 4060 Ti
- GeForce GTX 4070 Laptop
- GeForce GTX 4070 Ti
Expand Down Expand Up @@ -159,6 +163,7 @@ The CLBlast library is already tuned for the most commonly used OpenCL devices a
- Arc A750
- Arc A770
* Intel CPUs:
- Core2Duo T6670
- Core i5-4570
- Core i5-4590S
- Core i5-6200U
Expand Down
9 changes: 5 additions & 4 deletions src/database/kernels/copy/copy_16.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ const DatabaseEntry CopyHalf = {
{ kDeviceNameDefault , Params{ 8, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
{ "default", {
{ kDeviceNameDefault , Params{ 8, 16, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 16, 16, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
{ "gfx1010:xnack-", {
{ Name{"AMD Radeon RX 5700 "}, Params{ 8, 16, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
Expand All @@ -55,6 +55,7 @@ const DatabaseEntry CopyHalf = {
} },
{ "gfx1035", {
{ Name{"AMD Radeon Graphics "}, Params{ 32, 8, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"AMD Radeon(TM) Graphics "}, Params{ 16, 16, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 32, 8, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
{ "gfx1100", {
Expand All @@ -70,8 +71,8 @@ const DatabaseEntry CopyHalf = {
{ kDeviceNameDefault , Params{ 8, 32, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
{ "gfx1103", {
{ Name{"AMD Radeon 780M Graphics "}, Params{ 16, 8, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 16, 8, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"AMD Radeon 780M Graphics "}, Params{ 32, 8, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 32, 8, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
{ "gfx902", {
{ Name{"AMD Radeon(TM) Graphics "}, Params{ 16, 16, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
Expand All @@ -84,7 +85,7 @@ const DatabaseEntry CopyHalf = {
} },
{ "gfx90c", {
{ Name{"AMD Radeon(TM) Graphics "}, Params{ 16, 8, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 32, 8, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 16, 8, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
}
},
Expand Down
24 changes: 15 additions & 9 deletions src/database/kernels/copy/copy_32.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,8 @@ const DatabaseEntry CopySingle = {
} },
{ "gfx1035", {
{ Name{"AMD Radeon Graphics "}, Params{ 16, 8, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 16, 8, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"AMD Radeon(TM) Graphics "}, Params{ 8, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 32, 8, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
{ "gfx1100", {
{ Name{"Radeon RX 7900 XTX "}, Params{ 8, 16, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
Expand All @@ -103,8 +104,8 @@ const DatabaseEntry CopySingle = {
{ kDeviceNameDefault , Params{ 32, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
{ "gfx1103", {
{ Name{"AMD Radeon 780M Graphics "}, Params{ 16, 16, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 16, 16, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"AMD Radeon 780M Graphics "}, Params{ 8, 8, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 8, 8, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
{ "gfx902", {
{ Name{"AMD Radeon(TM) Graphics "}, Params{ 32, 8, 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
Expand All @@ -117,7 +118,7 @@ const DatabaseEntry CopySingle = {
} },
{ "gfx90c", {
{ Name{"AMD Radeon(TM) Graphics "}, Params{ 8, 16, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 8, 16, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 16, 8, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
}
},
Expand Down Expand Up @@ -163,6 +164,7 @@ const DatabaseEntry CopySingle = {
{ Name{"Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz "}, Params{ 32, 8, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz "}, Params{ 32, 16, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz "}, Params{ 32, 16, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"cpu-penryn-Intel(R) Core(TM)2 Duo CPU T6670 @"}, Params{ 16, 16, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 32, 16, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
}
Expand All @@ -186,7 +188,7 @@ const DatabaseEntry CopySingle = {
{ Name{"Intel(R) UHD Graphics 770 "}, Params{ 32, 8, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"Iris "}, Params{ 16, 8, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"Iris Pro "}, Params{ 32, 8, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 8, 8, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 8, 8, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
}
},
Expand Down Expand Up @@ -241,6 +243,7 @@ const DatabaseEntry CopySingle = {
{ kDeviceNameDefault , Params{ 16, 8, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
{ "SM6.1", {
{ Name{"GeForce GTX 1050 Ti "}, Params{ 16, 8, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"GeForce GTX 1070 "}, Params{ 8, 16, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"GeForce GTX 1070 Ti "}, Params{ 8, 8, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"GeForce GTX 1080 "}, Params{ 8, 32, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
Expand All @@ -249,7 +252,7 @@ const DatabaseEntry CopySingle = {
{ Name{"NVIDIA GeForce MX150 "}, Params{ 8, 8, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"TITAN X (Pascal) "}, Params{ 8, 32, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"Tesla P4 "}, Params{ 8, 8, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 8, 32, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 16, 8, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
{ "SM7.0", {
{ Name{"Quadro GV100 "}, Params{ 16, 8, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
Expand All @@ -270,27 +273,30 @@ const DatabaseEntry CopySingle = {
{ Name{"Quadro T2000 "}, Params{ 8, 8, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"TITAN RTX "}, Params{ 8, 8, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"Tesla T4 "}, Params{ 8, 8, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 8, 8, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 8, 8, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
{ "SM8.0", {
{ Name{"A100-PCIE-40GB "}, Params{ 8, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 8, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
{ "SM8.6", {
{ Name{"NVIDIA GeForce RTX 2050 "}, Params{ 8, 8, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 3050 Laptop GPU "}, Params{ 8, 16, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 3050 Ti Laptop GPU "}, Params{ 8, 8, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 3060 Laptop GPU "}, Params{ 8, 8, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 3060 Laptop GPU "}, Params{ 16, 8, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 3070 "}, Params{ 8, 32, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 3070 Ti Laptop GPU "}, Params{ 16, 8, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 3080 "}, Params{ 8, 8, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 3080 Laptop GPU "}, Params{ 8, 8, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 3080 Ti "}, Params{ 8, 8, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 3090 "}, Params{ 8, 8, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA RTX A6000 "}, Params{ 8, 8, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 8, 8, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ kDeviceNameDefault , Params{ 8, 8, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
} },
{ "SM8.9", {
{ Name{"NVIDIA GeForce RTX 4050 Laptop GPU "}, Params{ 32, 8, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 4060 "}, Params{ 8, 8, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 4060 Laptop GPU "}, Params{ 8, 8, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 4060 Ti "}, Params{ 8, 16, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 4070 Laptop GPU "}, Params{ 8, 16, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ Name{"NVIDIA GeForce RTX 4070 Ti "}, Params{ 8, 8, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
Expand Down
Loading

0 comments on commit fbfbc8c

Please sign in to comment.