You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by mb...@apache.org on 2018/08/03 05:52:33 UTC

[3/3] systemml git commit: [MINOR] Performance / cleanup conv2d R test script (vectorized biasadd)

[MINOR] Performance / cleanup conv2d R test script (vectorized biasadd)

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

Branch: refs/heads/master
Commit: 8fbeca142c1fbb8f2786a1097fb9840be5ca8005
Parents: fce9d97
Author: Matthias Boehm <mb...@gmail.com>
Authored: Thu Aug 2 22:53:30 2018 -0700
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Thu Aug 2 22:54:13 2018 -0700

----------------------------------------------------------------------
 src/test/scripts/functions/tensor/Conv2DTest.R | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/8fbeca14/src/test/scripts/functions/tensor/Conv2DTest.R
----------------------------------------------------------------------
diff --git a/src/test/scripts/functions/tensor/Conv2DTest.R b/src/test/scripts/functions/tensor/Conv2DTest.R
index dbe9ea4..41ae7ed 100644
--- a/src/test/scripts/functions/tensor/Conv2DTest.R
+++ b/src/test/scripts/functions/tensor/Conv2DTest.R
@@ -105,19 +105,14 @@ conv2d <- function(X, W, C, Hin, Win, Hf, Wf, strideh, stridew, padh, padw) {
   out
 }
 
-output = conv2d(x, w, numChannels,  imgSize, imgSize, filterSize, filterSize, stride, stride, pad, pad);
+R = conv2d(x, w, numChannels,  imgSize, imgSize, filterSize, filterSize, stride, stride, pad, pad);
 Hout = as.integer((imgSize + 2 * pad - filterSize) / stride + 1)
 Wout = Hout
 
-b=matrix(seq(1, numFilters), numFilters, 1, byrow=TRUE) 
+b = matrix(seq(1, numFilters), numFilters, 1, byrow=TRUE) 
 for(k in 0:(numFilters-1)) {
-	for(i in 1:nrow(output)) {
-		start = k*Hout*Hout;
-		for(j in 1:(Hout*Hout)) {
-			output[i,start+j] = output[i,start+j] + b[k+1,1]
-		}
-	}
+  start = k*Hout^2;
+  R[,(start+1):(start+Hout^2)] = R[,(start+1):(start+Hout^2)] + b[k+1,1]
 }
 
-
-writeMM(as(output,"CsparseMatrix"), paste(args[8], "B", sep=""))
+writeMM(as(R,"CsparseMatrix"), paste(args[8], "B", sep=""))