[HOTFIX] Robustness buffer pool empty GPU object handling

Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/52891d28
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/52891d28
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/52891d28

Branch: refs/heads/master
Commit: 52891d28e4928300bca585e397601c8b8da93c5c
Parents: 27fff38
Author: Matthias Boehm <[email protected]>
Authored: Sun Jun 10 13:27:41 2018 -0700
Committer: Matthias Boehm <[email protected]>
Committed: Sun Jun 10 13:27:41 2018 -0700

----------------------------------------------------------------------
 .../sysml/runtime/controlprogram/caching/CacheableData.java      | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/52891d28/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
index 27e84d5..54d8e14 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
@@ -343,10 +343,14 @@ public abstract class CacheableData<T extends CacheBlock> 
extends Data
        }
 
        public synchronized GPUObject getGPUObject(GPUContext gCtx) {
+               if( _gpuObjects == null )
+                       return null;
                return _gpuObjects.get(gCtx);
        }
 
        public synchronized void setGPUObject(GPUContext gCtx, GPUObject gObj) {
+               if( _gpuObjects == null )
+                       _gpuObjects = new HashMap<>();
                GPUObject old = _gpuObjects.put(gCtx, gObj);
                if (old != null)
                                throw new DMLRuntimeException("GPU : 
Inconsistent internal state - this CacheableData already has a GPUObject 
assigned to the current GPUContext (" + gCtx + ")");

Reply via email to