summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rw-r--r--src/database/kernels/copy.hpp18
-rw-r--r--src/database/kernels/pad.hpp22
-rw-r--r--src/database/kernels/padtranspose.hpp20
-rw-r--r--src/database/kernels/transpose.hpp20
-rw-r--r--src/database/kernels/xaxpy.hpp22
-rw-r--r--src/database/kernels/xdot.hpp20
-rw-r--r--src/database/kernels/xgemm.hpp8
-rw-r--r--src/database/kernels/xgemm_direct.hpp8
-rw-r--r--src/database/kernels/xgemv.hpp6
-rw-r--r--src/database/kernels/xgemv_fast.hpp6
-rw-r--r--src/database/kernels/xgemv_fast_rot.hpp6
-rw-r--r--src/database/kernels/xger.hpp18
13 files changed, 166 insertions, 9 deletions
diff --git a/README.md b/README.md
index 7d2d8a9f..2386cc88 100644
--- a/README.md
+++ b/README.md
@@ -156,6 +156,7 @@ The CLBlast library is already tuned for the most commonly used OpenCL devices a
- Core i7-5930K
* Other devices:
- ARM Mali-T628 GPU
+ - Qualcomm Adreno 330 GPU
- Intel MIC
If your device is not (yet) among this list or if you want to tune CLBlast for specific parameters (e.g. rectangular matrix sizes), you should compile the library with the optional tuners by specifing `-DTUNERS=ON`, for example as follows:
diff --git a/src/database/kernels/copy.hpp b/src/database/kernels/copy.hpp
index 259f95c3..e5defb32 100644
--- a/src/database/kernels/copy.hpp
+++ b/src/database/kernels/copy.hpp
@@ -30,6 +30,12 @@ const Database::DatabaseEntry CopyHalf = {
{ "default", { 8, 32, 4, 8 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 32, 8, 8, 1 } },
+ { "default", { 32, 8, 8, 1 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 16, 8, 4, 4 } },
@@ -113,6 +119,12 @@ const Database::DatabaseEntry CopySingle = {
{ "default", { 8, 32, 4, 1 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 32, 8, 8, 1 } },
+ { "default", { 32, 8, 8, 1 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 32, 8, 4, 4 } },
@@ -187,6 +199,12 @@ const Database::DatabaseEntry CopyComplexSingle = {
{ "default", { 32, 8, 1, 1 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 32, 8, 1, 1 } },
+ { "default", { 32, 8, 1, 1 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 16, 8, 1, 2 } },
diff --git a/src/database/kernels/pad.hpp b/src/database/kernels/pad.hpp
index f925d07d..b6ebde43 100644
--- a/src/database/kernels/pad.hpp
+++ b/src/database/kernels/pad.hpp
@@ -30,9 +30,15 @@ const Database::DatabaseEntry PadHalf = {
{ "default", { 8, 8, 2, 1 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 16, 8, 4, 2 } },
+ { "default", { 16, 8, 4, 2 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
- { "default", { 8, 8, 2, 1 } },
+ { "default", { 8, 8, 4, 1 } },
}
},
}
@@ -113,6 +119,12 @@ const Database::DatabaseEntry PadSingle = {
{ "default", { 32, 8, 4, 1 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 32, 8, 2, 1 } },
+ { "default", { 32, 8, 2, 1 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 32, 8, 2, 1 } },
@@ -195,9 +207,15 @@ const Database::DatabaseEntry PadComplexSingle = {
{ "default", { 32, 8, 1, 2 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 32, 8, 4, 1 } },
+ { "default", { 32, 8, 4, 1 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
- { "default", { 32, 8, 1, 2 } },
+ { "default", { 32, 8, 1, 1 } },
}
},
}
diff --git a/src/database/kernels/padtranspose.hpp b/src/database/kernels/padtranspose.hpp
index b80a1666..bbda5c65 100644
--- a/src/database/kernels/padtranspose.hpp
+++ b/src/database/kernels/padtranspose.hpp
@@ -30,6 +30,12 @@ const Database::DatabaseEntry PadtransposeHalf = {
{ "default", { 0, 8, 1 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 0, 8, 8 } },
+ { "default", { 0, 8, 8 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 0, 8, 1 } },
@@ -112,6 +118,12 @@ const Database::DatabaseEntry PadtransposeSingle = {
{ "default", { 1, 32, 2 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 0, 8, 2 } },
+ { "default", { 0, 8, 2 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 1, 16, 2 } },
@@ -194,9 +206,15 @@ const Database::DatabaseEntry PadtransposeComplexSingle = {
{ "default", { 1, 16, 1 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 0, 8, 4 } },
+ { "default", { 0, 8, 4 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
- { "default", { 1, 16, 2 } },
+ { "default", { 1, 8, 2 } },
}
},
}
diff --git a/src/database/kernels/transpose.hpp b/src/database/kernels/transpose.hpp
index 446b632c..b00a23dc 100644
--- a/src/database/kernels/transpose.hpp
+++ b/src/database/kernels/transpose.hpp
@@ -30,9 +30,15 @@ const Database::DatabaseEntry TransposeHalf = {
{ "default", { 8, 1, 0, 8 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 8, 0, 0, 4 } },
+ { "default", { 8, 0, 0, 4 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
- { "default", { 16, 0, 1, 4 } },
+ { "default", { 8, 0, 1, 8 } },
}
},
}
@@ -113,6 +119,12 @@ const Database::DatabaseEntry TransposeSingle = {
{ "default", { 8, 1, 0, 4 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 8, 1, 1, 4 } },
+ { "default", { 8, 1, 1, 4 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 8, 0, 1, 4 } },
@@ -189,6 +201,12 @@ const Database::DatabaseEntry TransposeComplexSingle = {
{ "default", { 16, 1, 0, 1 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 16, 1, 0, 1 } },
+ { "default", { 16, 1, 0, 1 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 8, 1, 1, 2 } },
diff --git a/src/database/kernels/xaxpy.hpp b/src/database/kernels/xaxpy.hpp
index 58cde9d3..5cb225d1 100644
--- a/src/database/kernels/xaxpy.hpp
+++ b/src/database/kernels/xaxpy.hpp
@@ -30,9 +30,15 @@ const Database::DatabaseEntry XaxpyHalf = {
{ "default", { 8, 64, 1 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 8, 64, 1 } },
+ { "default", { 8, 64, 1 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
- { "default", { 8, 256, 4 } },
+ { "default", { 8, 64, 1 } },
}
},
}
@@ -113,9 +119,15 @@ const Database::DatabaseEntry XaxpySingle = {
{ "default", { 4, 1024, 1 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 4, 128, 2 } },
+ { "default", { 4, 128, 2 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
- { "default", { 4, 256, 1 } },
+ { "default", { 4, 64, 1 } },
}
},
}
@@ -195,6 +207,12 @@ const Database::DatabaseEntry XaxpyComplexSingle = {
{ "default", { 1, 256, 1 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 1, 64, 1 } },
+ { "default", { 1, 64, 1 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 1, 128, 1 } },
diff --git a/src/database/kernels/xdot.hpp b/src/database/kernels/xdot.hpp
index d234c558..986c32b2 100644
--- a/src/database/kernels/xdot.hpp
+++ b/src/database/kernels/xdot.hpp
@@ -30,9 +30,15 @@ const Database::DatabaseEntry XdotHalf = {
{ "default", { 128, 32 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 64, 64 } },
+ { "default", { 64, 64 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
- { "default", { 128, 32 } },
+ { "default", { 128, 64 } },
}
},
}
@@ -95,6 +101,12 @@ const Database::DatabaseEntry XdotSingle = {
{ "default", { 256, 64 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 128, 64 } },
+ { "default", { 128, 64 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 128, 32 } },
@@ -159,6 +171,12 @@ const Database::DatabaseEntry XdotComplexSingle = {
{ "default", { 512, 64 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 64, 256 } },
+ { "default", { 64, 256 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 256, 32 } },
diff --git a/src/database/kernels/xgemm.hpp b/src/database/kernels/xgemm.hpp
index 2270dd44..43854afb 100644
--- a/src/database/kernels/xgemm.hpp
+++ b/src/database/kernels/xgemm.hpp
@@ -112,9 +112,15 @@ const Database::DatabaseEntry XgemmSingle = {
{ "default", { 32, 2, 16, 16, 64, 8, 8, 64, 1, 1, 0, 0, 4, 2 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 32, 2, 8, 8, 32, 8, 8, 32, 1, 1, 0, 0, 4, 1 } },
+ { "default", { 32, 2, 8, 8, 32, 8, 8, 32, 1, 1, 0, 0, 4, 1 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
- { "default", { 32, 2, 16, 16, 64, 8, 8, 64, 1, 1, 0, 0, 4, 4 } },
+ { "default", { 32, 2, 8, 8, 32, 8, 8, 32, 1, 1, 0, 0, 4, 2 } },
}
},
}
diff --git a/src/database/kernels/xgemm_direct.hpp b/src/database/kernels/xgemm_direct.hpp
index 7a1cd983..acace63f 100644
--- a/src/database/kernels/xgemm_direct.hpp
+++ b/src/database/kernels/xgemm_direct.hpp
@@ -77,9 +77,15 @@ const Database::DatabaseEntry XgemmDirectSingle = {
{ "default", { 2, 8, 8, 16, 16, 1, 1, 4, 2, 32 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 2, 8, 8, 8, 8, 1, 1, 2, 1, 16 } },
+ { "default", { 2, 8, 8, 8, 8, 1, 1, 2, 1, 16 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
- { "default", { 2, 8, 8, 8, 8, 1, 1, 4, 2, 32 } },
+ { "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 7adb6f10..c537294a 100644
--- a/src/database/kernels/xgemv.hpp
+++ b/src/database/kernels/xgemv.hpp
@@ -106,6 +106,12 @@ const Database::DatabaseEntry XgemvSingle = {
{ "default", { 256, 1 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 64, 1 } },
+ { "default", { 64, 1 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 128, 1 } },
diff --git a/src/database/kernels/xgemv_fast.hpp b/src/database/kernels/xgemv_fast.hpp
index 8c42aa0e..c3b9103a 100644
--- a/src/database/kernels/xgemv_fast.hpp
+++ b/src/database/kernels/xgemv_fast.hpp
@@ -106,6 +106,12 @@ const Database::DatabaseEntry XgemvFastSingle = {
{ "default", { 1, 256, 1 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 1, 64, 4 } },
+ { "default", { 1, 64, 4 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 1, 64, 1 } },
diff --git a/src/database/kernels/xgemv_fast_rot.hpp b/src/database/kernels/xgemv_fast_rot.hpp
index 644498e2..7e5905e4 100644
--- a/src/database/kernels/xgemv_fast_rot.hpp
+++ b/src/database/kernels/xgemv_fast_rot.hpp
@@ -82,6 +82,12 @@ const Database::DatabaseEntry XgemvFastRotSingle = {
{ "default", { 8, 32, 32 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 4, 64, 16 } },
+ { "default", { 4, 64, 16 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 8, 32, 32 } },
diff --git a/src/database/kernels/xger.hpp b/src/database/kernels/xger.hpp
index d294ab43..e17396f6 100644
--- a/src/database/kernels/xger.hpp
+++ b/src/database/kernels/xger.hpp
@@ -30,6 +30,12 @@ const Database::DatabaseEntry XgerHalf = {
{ "default", { 4, 8, 2 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 64, 4, 2 } },
+ { "default", { 64, 4, 2 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 64, 1, 2 } },
@@ -101,6 +107,12 @@ const Database::DatabaseEntry XgerSingle = {
{ "default", { 128, 1, 2 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 128, 1, 2 } },
+ { "default", { 128, 1, 2 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 32, 4, 2 } },
@@ -171,6 +183,12 @@ const Database::DatabaseEntry XgerComplexSingle = {
{ "default", { 128, 2, 2 } },
}
},
+ { // QUALCOMM GPUs
+ kDeviceTypeGPU, "QUALCOMM", {
+ { "QUALCOMM Adreno(TM)", { 64, 1, 4 } },
+ { "default", { 64, 1, 4 } },
+ }
+ },
{ // Default
kDeviceTypeAll, "default", {
{ "default", { 64, 2, 2 } },