diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2018-06-01 20:59:27 +0200 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2018-06-01 20:59:44 +0200 |
commit | 7c3431a72ae091703a7f36999f2b5a0cd8189220 (patch) | |
tree | 1890e22761db0660cad3960412f5c9851bcc6fd2 /src/routines/levelx/xinvert.cpp | |
parent | 5702bff5ad579466397f6537dc8925ebd64e3ba3 (diff) |
Fixes for Apple OpenCL CPU implementation which requires a LWGS of 1 when barriers are present
Diffstat (limited to 'src/routines/levelx/xinvert.cpp')
-rw-r--r-- | src/routines/levelx/xinvert.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/routines/levelx/xinvert.cpp b/src/routines/levelx/xinvert.cpp index 99f196ec..eea8527a 100644 --- a/src/routines/levelx/xinvert.cpp +++ b/src/routines/levelx/xinvert.cpp @@ -56,7 +56,9 @@ void Xinvert<T>::InvertMatrixDiagonalBlocks(const Layout layout, const Triangle // Helper variables const auto internal_block_size = static_cast<size_t>(db_["INTERNAL_BLOCK_SIZE"]); - assert(internal_block_size == 16); + if (internal_block_size != 16) { + throw RuntimeErrorCode(StatusCode::kNotImplemented); // e.g. Apple CPU OpenCL with a WGS of 1 + } // when barriers are present const auto num_blocks = CeilDiv(n, block_size); const auto num_internal_blocks = CeilDiv(n, internal_block_size); const auto unit_diagonal = (diag == Diagonal::kUnit) ? true : false; |