summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPradeep Garigipati <pradeep.garigipati@gmail.com>2020-06-07 21:13:33 +0530
committerPradeep Garigipati <pradeep.garigipati@gmail.com>2020-06-07 21:13:33 +0530
commitdff65e9217cdc56b21f89bef0e4e25cb47c421e3 (patch)
tree4ea48797d7ddaba6713c268ed7f336d853010fe0
parentaec71699f8278df31b16fa544138f3bd60940c8c (diff)
Add a cautionary note in Program::GetIR and mention the fix in CHANGELOG
-rw-r--r--CHANGELOG1
-rw-r--r--src/clpp11.hpp4
2 files changed, 5 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 9cedb779..9bdf6fa2 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -4,6 +4,7 @@ Development version (next version)
- Added batched routines to pyclblast
- Added CLBLAST_VERSION_MAJOR/MINOR/PATCH defines in headers to store version numbering
- Various minor fixes and enhancements
+- Fixed a bug in the caching when using a context with multiple devices
Version 1.5.1
- Implemented single-kernel version of convolution as GEMM
diff --git a/src/clpp11.hpp b/src/clpp11.hpp
index 7465fd94..2a25606c 100644
--- a/src/clpp11.hpp
+++ b/src/clpp11.hpp
@@ -519,6 +519,10 @@ class Program {
auto bytes = size_t{0};
auto binSizeIter = size_t{0};
+ // Loop over the program binary sizes to find a binary whose size is > 0.
+ // The current logic assumes that there ever is only one valid program binary
+ // in a given cl_program. This should be the case unless the cl_program
+ // is built for all or a subset of devices associated to a given cl_program
for (; binSizeIter < binSizesInBytes.size(); ++binSizeIter) {
if (binSizesInBytes[binSizeIter] > 0) {
bytes = binSizesInBytes[binSizeIter];