summaryrefslogtreecommitdiff
path: root/src/routines/levelx
diff options
context:
space:
mode:
Diffstat (limited to 'src/routines/levelx')
-rw-r--r--src/routines/levelx/xinvert.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/routines/levelx/xinvert.cpp b/src/routines/levelx/xinvert.cpp
index d851e0b9..65a28d73 100644
--- a/src/routines/levelx/xinvert.cpp
+++ b/src/routines/levelx/xinvert.cpp
@@ -49,6 +49,11 @@ void Xinvert<T>::InvertMatrixDiagonalBlocks(const Layout layout, const Triangle
throw BLASError(StatusCode::kInvalidDimension);
}
+ // Some parts of this kernel are not tunable and thus require some minimal OpenCL properties
+ if (device_.MaxWorkGroupSize() < 16) { // minimum of total local work size of 16
+ throw RuntimeErrorCode(StatusCode::kNotImplemented);
+ }
+
// Helper variables
const auto internal_block_size = static_cast<size_t>(db_["INTERNAL_BLOCK_SIZE"]);
assert(internal_block_size == 16);