Repository: systemml
Updated Branches:
  refs/heads/master 8e3c6f8b8 -> 269aef35f


[MINOR] Limit the size of intermediate im2col matrix to
MAX_WORKSPACE_LIMIT_BYTES

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

Branch: refs/heads/master
Commit: 269aef35f12273b6a82a7a0c24fc63c0a9c9e071
Parents: 8e3c6f8
Author: Niketan Pansare <[email protected]>
Authored: Fri Jan 19 11:29:15 2018 -0800
Committer: Niketan Pansare <[email protected]>
Committed: Fri Jan 19 11:29:15 2018 -0800

----------------------------------------------------------------------
 .../java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNN.java | 3 ++-
 .../runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.java   | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/269aef35/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNN.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNN.java 
b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNN.java
index d07c2b2..122304e 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNN.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNN.java
@@ -207,7 +207,8 @@ public class LibMatrixCuDNN extends LibMatrixCUDA {
                
                if(NCHW < maxNumElementsOfCuDNNTensor && NKPQ < 
maxNumElementsOfCuDNNTensor && KCRS < maxNumElementsOfCuDNNTensor) {
                        if(isSparseFilter && 
-                               (OptimizerUtils.estimateSizeExactSparsity(CRS, 
NPQ, 1.0) + OptimizerUtils.estimateSizeExactSparsity(K, NPQ, 1.0)) < 
intermediateMemoryBudget) {
+                               (OptimizerUtils.estimateSizeExactSparsity(CRS, 
NPQ, 1.0) + OptimizerUtils.estimateSizeExactSparsity(K, NPQ, 1.0)) < 
+                                       
Math.min(LibMatrixCuDNNConvolutionAlgorithm.MAX_WORKSPACE_LIMIT_BYTES, 
intermediateMemoryBudget)) {
                                // Sparse filter conv2d
                                // Perform dense im2col
                                Pointer im2colPointer = denseIm2col(gCtx, 
instName, image, isSparseImage,

http://git-wip-us.apache.org/repos/asf/systemml/blob/269aef35/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.java
 
b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.java
index 17cd610..6673e60 100644
--- 
a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.java
+++ 
b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.java
@@ -57,7 +57,7 @@ import static 
jcuda.jcudnn.cudnnTensorFormat.CUDNN_TENSOR_NCHW;
  */
 public class LibMatrixCuDNNConvolutionAlgorithm implements 
java.lang.AutoCloseable {
        // Limit the workspace available to cudnn convolution operation to 1 GB
-       private static long MAX_WORKSPACE_LIMIT_BYTES = (long) 1e+9;
+       static long MAX_WORKSPACE_LIMIT_BYTES = (long) 1e+9;
        
        public int algo = -1;
        public Pointer workSpace = new Pointer();

Reply via email to