Repository: incubator-systemml Updated Branches: refs/heads/master 4f9dcf9ad -> 6f4d8762d
[MINOR] Fix issues w/ gpu instructions (imports, unused vars/suppress) Project: http://git-wip-us.apache.org/repos/asf/incubator-systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-systemml/commit/6f4d8762 Tree: http://git-wip-us.apache.org/repos/asf/incubator-systemml/tree/6f4d8762 Diff: http://git-wip-us.apache.org/repos/asf/incubator-systemml/diff/6f4d8762 Branch: refs/heads/master Commit: 6f4d8762d97699b6a9c7ba479f284f0e029b5ee4 Parents: 4f9dcf9 Author: Matthias Boehm <mboe...@gmail.com> Authored: Tue Mar 7 11:31:53 2017 -0800 Committer: Matthias Boehm <mboe...@gmail.com> Committed: Tue Mar 7 11:31:53 2017 -0800 ---------------------------------------------------------------------- src/main/java/org/apache/sysml/api/DMLScript.java | 1 - .../instructions/gpu/context/GPUObject.java | 1 - .../instructions/gpu/context/JCudaContext.java | 1 - .../instructions/gpu/context/JCudaObject.java | 2 -- .../sysml/runtime/matrix/data/LibMatrixCUDA.java | 5 +---- .../sysml/runtime/matrix/data/LibMatrixDNN.java | 8 -------- .../org/apache/sysml/utils/GPUStatistics.java | 18 +++++++++++++----- .../java/org/apache/sysml/utils/Statistics.java | 6 +++++- 8 files changed, 19 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/6f4d8762/src/main/java/org/apache/sysml/api/DMLScript.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/api/DMLScript.java b/src/main/java/org/apache/sysml/api/DMLScript.java index 798e74e..d8db84c 100644 --- a/src/main/java/org/apache/sysml/api/DMLScript.java +++ b/src/main/java/org/apache/sysml/api/DMLScript.java @@ -78,7 +78,6 @@ import org.apache.sysml.runtime.controlprogram.parfor.ProgramConverter; import org.apache.sysml.runtime.controlprogram.parfor.stat.InfrastructureAnalyzer; import org.apache.sysml.runtime.controlprogram.parfor.util.IDHandler; import org.apache.sysml.runtime.matrix.CleanupMR; -import org.apache.sysml.runtime.matrix.data.LibMatrixCUDA; import org.apache.sysml.runtime.matrix.data.LibMatrixDNN; import org.apache.sysml.runtime.matrix.mapred.MRConfigurationNames; import org.apache.sysml.runtime.matrix.mapred.MRJobConfiguration; http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/6f4d8762/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/GPUObject.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/GPUObject.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/GPUObject.java index ba605bc..de1459e 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/GPUObject.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/GPUObject.java @@ -23,7 +23,6 @@ import org.apache.sysml.runtime.controlprogram.caching.CacheException; import org.apache.sysml.runtime.controlprogram.caching.MatrixObject; import org.apache.sysml.runtime.matrix.data.MatrixBlock; import org.apache.sysml.utils.GPUStatistics; -import org.apache.sysml.utils.Statistics; import java.util.Collections; import java.util.Comparator; http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/6f4d8762/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaContext.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaContext.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaContext.java index c58bfe7..6911cca 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaContext.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaContext.java @@ -27,7 +27,6 @@ import org.apache.sysml.conf.DMLConfig; import org.apache.sysml.runtime.DMLRuntimeException; import org.apache.sysml.runtime.matrix.data.LibMatrixCUDA; import org.apache.sysml.utils.GPUStatistics; -import org.apache.sysml.utils.Statistics; import jcuda.driver.JCudaDriver; import jcuda.jcublas.JCublas2; http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/6f4d8762/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaObject.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaObject.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaObject.java index d25d387..74b5050 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaObject.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaObject.java @@ -47,10 +47,8 @@ import org.apache.sysml.runtime.matrix.data.SparseBlockCOO; import org.apache.sysml.runtime.matrix.data.SparseBlockCSR; import org.apache.sysml.runtime.matrix.data.SparseBlockMCSR; import org.apache.sysml.utils.GPUStatistics; -import org.apache.sysml.utils.Statistics; import jcuda.Pointer; -// import jcuda.Sizeof; import jcuda.jcublas.JCublas2; import jcuda.jcublas.cublasHandle; import jcuda.jcusparse.JCusparse; http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/6f4d8762/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCUDA.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCUDA.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCUDA.java index 1511afc..bcbf3f3 100644 --- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCUDA.java +++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCUDA.java @@ -1115,7 +1115,7 @@ public class LibMatrixCUDA { // Convert right to dense and do a cuBlas matmul // BDenseTransposed is a column major matrix // Note the arguments to denseDenseMatmult to accommodate for this. - long t0=0, t1=0, t2=0; + long t0=0, t1=0; if (GPUStatistics.DISPLAY_STATISTICS) t0 = System.nanoTime(); Pointer BDenseTransposed = B.toColumnMajorDenseMatrix(cusparseHandle, cublasHandle, (int)right.getNumRows(), (int)right.getNumColumns()); if (GPUStatistics.DISPLAY_STATISTICS) GPUStatistics.maintainCPMiscTimes(instName, GPUInstruction.MISC_TIMER_SPARSE_TO_DENSE, System.nanoTime() - t0); @@ -1585,7 +1585,6 @@ public class LibMatrixCUDA { Pointer in = ((JCudaObject)in1.getGPUObject()).jcudaDenseMatrixPtr; int size = rlen * clen; - long t0=0; // For scalars, set the scalar output in the Execution Context object switch (opIndex){ case OP_PLUS: { @@ -1610,7 +1609,6 @@ public class LibMatrixCUDA { } case OP_PLUS_SQ : { // Calculate the squares in a temporary object tmp - if (GPUStatistics.DISPLAY_STATISTICS) t0 = System.nanoTime(); Pointer tmp = JCudaObject.allocate(instName, size * Sizeof.DOUBLE); squareMatrix(instName, in, tmp, rlen, clen); @@ -1710,7 +1708,6 @@ public class LibMatrixCUDA { } case OP_VARIANCE : { // Temporary GPU array for - if (GPUStatistics.DISPLAY_STATISTICS) t0 = System.nanoTime(); Pointer tmp = JCudaObject.allocate(instName, size * Sizeof.DOUBLE); Pointer tmp2 = JCudaObject.allocate(instName, size * Sizeof.DOUBLE); http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/6f4d8762/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNN.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNN.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNN.java index b46985f..6b5c14b 100644 --- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNN.java +++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNN.java @@ -79,7 +79,6 @@ public class LibMatrixDNN { private static AtomicLong loopedConvBwdDataMatMultTime = new AtomicLong(0); private static AtomicLong loopedConvBwdDataCol2ImTime = new AtomicLong(0); - @SuppressWarnings("unused") public static void appendStatistics(StringBuilder sb) { if(DMLScript.STATISTICS && DISPLAY_STATISTICS && (conv2dDenseCount.get() != 0 || conv2dSparseCount.get() != 0)) { sb.append("LibMatrixDNN dense count (conv/bwdF/bwdD/im2col/maxBwd):\t" @@ -136,7 +135,6 @@ public class LibMatrixDNN { * @param params convolution parameters * @throws DMLRuntimeException if DMLRuntimeException occurs */ - @SuppressWarnings("unused") public static void conv2dBackwardData(MatrixBlock filter, MatrixBlock dout, MatrixBlock outputBlock, ConvolutionParameters params) throws DMLRuntimeException { params.input1 = filter; params.input2 = dout; @@ -173,7 +171,6 @@ public class LibMatrixDNN { * @param params convolution parameters * @throws DMLRuntimeException if DMLRuntimeException occurs */ - @SuppressWarnings("unused") public static void conv2dBackwardFilter(MatrixBlock input, MatrixBlock dout, MatrixBlock outputBlock, ConvolutionParameters params) throws DMLRuntimeException { params.input1 = input; params.input2 = dout; @@ -268,7 +265,6 @@ public class LibMatrixDNN { LibMatrixReorg.transpose(tmpAgg, ret); } - @SuppressWarnings("unused") private static void doLoopedIm2ColConv2dBwdData(int n, MatrixBlock dout_reshaped, ConvolutionParameters params) throws DMLRuntimeException { MatrixBlock filter = params.input1; MatrixBlock dout = params.input2; @@ -287,7 +283,6 @@ public class LibMatrixDNN { } } - @SuppressWarnings("unused") private static MatrixBlock doLoopedIm2ColConv2dBwdFilter(int n, MatrixBlock im2ColOutBlock, MatrixBlock dout_reshaped, MatrixBlock partialRetBlock, ConvolutionParameters params) throws DMLRuntimeException { long t1 = DMLScript.STATISTICS && DISPLAY_STATISTICS ? System.nanoTime() : 0; @@ -317,7 +312,6 @@ public class LibMatrixDNN { ret[2] = j % W; } - @SuppressWarnings("unused") public static void conv2d(MatrixBlock input, MatrixBlock filter, MatrixBlock outputBlock, ConvolutionParameters params) throws DMLRuntimeException { params.input1 = input; params.input2 = filter; @@ -350,7 +344,6 @@ public class LibMatrixDNN { outputBlock.recomputeNonZeros(); } - @SuppressWarnings("unused") private static void doLoopedIm2ColConv2d(int n, MatrixBlock im2ColOutBlock, ConvolutionParameters params) throws DMLRuntimeException { long t1 = DMLScript.STATISTICS && DISPLAY_STATISTICS ? System.nanoTime() : 0; doIm2col(n, im2ColOutBlock, params); @@ -403,7 +396,6 @@ public class LibMatrixDNN { * @param params convolution parameters * @throws DMLRuntimeException if DMLRuntimeException occurs */ - @SuppressWarnings("unused") public static void maxpoolingBackward(MatrixBlock input, MatrixBlock dout, MatrixBlock outputBlock, ConvolutionParameters params) throws DMLRuntimeException { params.input1 = input; params.input2 = dout; http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/6f4d8762/src/main/java/org/apache/sysml/utils/GPUStatistics.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/utils/GPUStatistics.java b/src/main/java/org/apache/sysml/utils/GPUStatistics.java index 044901b..122a7ea 100644 --- a/src/main/java/org/apache/sysml/utils/GPUStatistics.java +++ b/src/main/java/org/apache/sysml/utils/GPUStatistics.java @@ -19,9 +19,13 @@ package org.apache.sysml.utils; -import org.apache.sysml.api.DMLScript; - -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.concurrent.atomic.AtomicLong; /** @@ -29,7 +33,9 @@ import java.util.concurrent.atomic.AtomicLong; * Printed as part of {@link Statistics}. */ public class GPUStatistics { - + //TODO fix formatting + + // Whether or not extra per-instruction statistics will be recorded and shown for the GPU public static boolean DISPLAY_STATISTICS = false; @@ -149,7 +155,9 @@ public class GPUStatistics { StringBuffer sb = new StringBuffer(); HashMap<String, Long> miscTimerMap = _cpInstMiscTime.get(instructionName); if (miscTimerMap != null) { - List<Map.Entry<String, Long>> sortedList = new ArrayList<Map.Entry<String, Long>>(miscTimerMap.entrySet()); + List<Map.Entry<String, Long>> sortedList + = new ArrayList< + Map.Entry<String, Long>>(miscTimerMap.entrySet()); // Sort the times to display by the most expensive first Collections.sort(sortedList, new Comparator<Map.Entry<String, Long>>() { @Override http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/6f4d8762/src/main/java/org/apache/sysml/utils/Statistics.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/utils/Statistics.java b/src/main/java/org/apache/sysml/utils/Statistics.java index 262950f..f7f169f 100644 --- a/src/main/java/org/apache/sysml/utils/Statistics.java +++ b/src/main/java/org/apache/sysml/utils/Statistics.java @@ -22,8 +22,12 @@ package org.apache.sysml.utils; import java.lang.management.CompilationMXBean; import java.lang.management.GarbageCollectorMXBean; import java.lang.management.ManagementFactory; -import java.util.*; +import java.util.Arrays; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; import java.util.Map.Entry; +import java.util.Set; import java.util.concurrent.atomic.AtomicLong; import org.apache.sysml.api.DMLScript;