[ 
https://issues.apache.org/jira/browse/SYSTEMML-1774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16090327#comment-16090327
 ] 

Fei Hu edited comment on SYSTEMML-1774 at 7/17/17 10:19 PM:
------------------------------------------------------------

The errors that running using the mode {{HYBRID_SPARK}} are different from that 
using the mode {{SPARK}}:

{code:java}
org.apache.sysml.api.mlcontext.MLContextException: Exception when executing 
script
  at org.apache.sysml.api.mlcontext.MLContext.execute(MLContext.java:320)
  at org.apache.sysml.api.mlcontext.MLContext.execute(MLContext.java:293)
  at org.apache.sysml.api.mlcontext.Script.execute(Script.java:717)
  at 
org.apache.sysml.scripts.nn.examples.Mnist_lenet_distrib_sgd.train(Mnist_lenet_distrib_sgd.java)
  ... 50 elided
Caused by: org.apache.sysml.api.mlcontext.MLContextException: Exception 
occurred while executing runtime program
  at 
org.apache.sysml.api.mlcontext.ScriptExecutor.executeRuntimeProgram(ScriptExecutor.java:397)
  at 
org.apache.sysml.api.mlcontext.ScriptExecutor.execute(ScriptExecutor.java:311)
  at org.apache.sysml.api.mlcontext.MLContext.execute(MLContext.java:316)
  ... 53 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: 
org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program 
block generated from statement block between lines 11 and 11 -- Error 
evaluating instruction: 
CP°extfunct°./scripts/nn/examples/mnist_lenet_distrib_sgd.dml°train°10°8°X·MATRIX·DOUBLE°Y·MATRIX·DOUBLE°X_val·MATRIX·DOUBLE°Y_val·MATRIX·DOUBLE°C·SCALAR·INT·false°Hin·SCALAR·INT·false°Win·SCALAR·INT·false°batch_size·SCALAR·INT·false°parallel_batches·SCALAR·INT·false°epochs·SCALAR·INT·false°W1°b1°W2°b2°W3°b3°W4°b4
  at org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:130)
  at 
org.apache.sysml.api.ScriptExecutorUtils.executeRuntimeProgram(ScriptExecutorUtils.java:95)
  at 
org.apache.sysml.api.ScriptExecutorUtils.executeRuntimeProgram(ScriptExecutorUtils.java:54)
  at 
org.apache.sysml.api.mlcontext.ScriptExecutor.executeRuntimeProgram(ScriptExecutor.java:395)
  ... 55 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in program block generated from statement block between lines 11 and 11 -- 
Error evaluating instruction: 
CP°extfunct°./scripts/nn/examples/mnist_lenet_distrib_sgd.dml°train°10°8°X·MATRIX·DOUBLE°Y·MATRIX·DOUBLE°X_val·MATRIX·DOUBLE°Y_val·MATRIX·DOUBLE°C·SCALAR·INT·false°Hin·SCALAR·INT·false°Win·SCALAR·INT·false°batch_size·SCALAR·INT·false°parallel_batches·SCALAR·INT·false°epochs·SCALAR·INT·false°W1°b1°W2°b2°W3°b3°W4°b4
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:316)
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:217)
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:163)
  at org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:123)
  ... 58 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: error executing 
function ./scripts/nn/examples/mnist_lenet_distrib_sgd.dml::train
  at 
org.apache.sysml.runtime.instructions.cp.FunctionCallCPInstruction.processInstruction(FunctionCallCPInstruction.java:187)
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:286)
  ... 61 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in function program block generated from function statement block between lines 
36 and 271 -- Error evaluating function program block
  at 
org.apache.sysml.runtime.controlprogram.FunctionProgramBlock.execute(FunctionProgramBlock.java:122)
  at 
org.apache.sysml.runtime.instructions.cp.FunctionCallCPInstruction.processInstruction(FunctionCallCPInstruction.java:180)
  ... 62 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in for program block generated from for statement block between lines 115 and 
270 -- Error evaluating for program block
  at 
org.apache.sysml.runtime.controlprogram.ForProgramBlock.execute(ForProgramBlock.java:157)
  at 
org.apache.sysml.runtime.controlprogram.FunctionProgramBlock.execute(FunctionProgramBlock.java:115)
  ... 63 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in for program block generated from for statement block between lines 117 and 
265 -- Error evaluating for program block
  at 
org.apache.sysml.runtime.controlprogram.ForProgramBlock.execute(ForProgramBlock.java:157)
  at 
org.apache.sysml.runtime.controlprogram.ForProgramBlock.execute(ForProgramBlock.java:145)
  ... 64 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: PARFOR: Failed to 
execute loop in parallel.
  at 
org.apache.sysml.runtime.controlprogram.ParForProgramBlock.execute(ParForProgramBlock.java:660)
  at 
org.apache.sysml.runtime.controlprogram.ForProgramBlock.execute(ForProgramBlock.java:145)
  ... 65 more
Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: 
Task 3 in stage 2.0 failed 4 times, most recent failure: Lost task 3.3 in stage 
2.0 (TID 20, rr-dense7.softlayer.com, executor 6): 
org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program 
block generated from statement block between lines 0 and 0 -- Error evaluating 
instruction: 
CP°relu_backward°outa3·MATRIX·DOUBLE°_mVar3925·MATRIX·DOUBLE°_mVar3928·MATRIX·DOUBLE°-1
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:316)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:217)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:163)
        at 
org.apache.sysml.runtime.controlprogram.parfor.ParWorker.executeSetTask(ParWorker.java:167)
        at 
org.apache.sysml.runtime.controlprogram.parfor.ParWorker.executeTask(ParWorker.java:136)
        at 
org.apache.sysml.runtime.controlprogram.parfor.RemoteParForSparkWorker.call(RemoteParForSparkWorker.java:75)
        at 
org.apache.sysml.runtime.controlprogram.parfor.RemoteParForSparkWorker.call(RemoteParForSparkWorker.java:40)
        at 
org.apache.spark.api.java.JavaRDDLike$$anonfun$fn$3$1.apply(JavaRDDLike.scala:143)
        at 
org.apache.spark.api.java.JavaRDDLike$$anonfun$fn$3$1.apply(JavaRDDLike.scala:143)
        at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:434)
        at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:440)
        at scala.collection.Iterator$class.foreach(Iterator.scala:893)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
        at 
scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:59)
        at 
scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:104)
        at 
scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:48)
        at scala.collection.TraversableOnce$class.to(TraversableOnce.scala:310)
        at scala.collection.AbstractIterator.to(Iterator.scala:1336)
        at 
scala.collection.TraversableOnce$class.toBuffer(TraversableOnce.scala:302)
        at scala.collection.AbstractIterator.toBuffer(Iterator.scala:1336)
        at 
scala.collection.TraversableOnce$class.toArray(TraversableOnce.scala:289)
        at scala.collection.AbstractIterator.toArray(Iterator.scala:1336)
        at 
org.apache.spark.rdd.RDD$$anonfun$collect$1$$anonfun$13.apply(RDD.scala:936)
        at 
org.apache.spark.rdd.RDD$$anonfun$collect$1$$anonfun$13.apply(RDD.scala:936)
        at 
org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1951)
        at 
org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1951)
        at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
        at org.apache.spark.scheduler.Task.run(Task.scala:99)
        at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:322)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.sysml.runtime.DMLRuntimeException: Error while executing 
multi-threaded tasks
        at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNN.execute(LibMatrixDNN.java:536)
        at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNN.reluBackward(LibMatrixDNN.java:391)
        at 
org.apache.sysml.runtime.instructions.cp.ConvolutionCPInstruction.processReluBackwardInstruction(ConvolutionCPInstruction.java:229)
        at 
org.apache.sysml.runtime.instructions.cp.ConvolutionCPInstruction.proc
essInstruction(ConvolutionCPInstruction.java:316)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:286)
        ... 31 more
Caused by: java.util.concurrent.ExecutionException: 
java.lang.NullPointerException
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNN.execute(LibMatrixDNN.java:532)
        ... 35 more
Caused by: java.lang.NullPointerException
        at 
org.apache.sysml.runtime.util.ConvolutionUtils.scalarOperations(ConvolutionUtils.java:150)
        at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNNHelper$ReluBackward.call(LibMatrixDNNHelper.java:231)
        at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNNHelper$ReluBackward.call(LibMatrixDNNHelper.java:208)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        ... 3 more
Driver stacktrace:
  at 
org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1435)
  at 
org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1423)
  at 
org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1422)
  at 
scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
  at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
  at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1422)
  at 
org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:802)
  at 
org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:802)
  at scala.Option.foreach(Option.scala:257)
  at 
org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:802)
  at 
org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:1650)
  at 
org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1605)
  at 
org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1594)
  at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48)
  at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:628)
  at org.apache.spark.SparkContext.runJob(SparkContext.scala:1925)
  at org.apache.spark.SparkContext.runJob(SparkContext.scala:1938)
  at org.apache.spark.SparkContext.runJob(SparkContext.scala:1951)
  at org.apache.spark.SparkContext.runJob(SparkContext.scala:1965)
  at org.apache.spark.rdd.RDD$$anonfun$collect$1.apply(RDD.scala:936)
  at 
org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
  at 
org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
  at org.apache.spark.rdd.RDD.withScope(RDD.scala:362)
  at org.apache.spark.rdd.RDD.collect(RDD.scala:935)
  at org.apache.spark.api.java.JavaRDDLike$class.collect(JavaRDDLike.scala:361)
  at org.apache.spark.api.java.AbstractJavaRDDLike.collect(JavaRDDLike.scala:45)
  at 
org.apache.sysml.runtime.controlprogram.parfor.RemoteParForSpark.runJob(RemoteParForSpark.java:77)
  at 
org.apache.sysml.runtime.controlprogram.ParForProgramBlock.executeRemoteSparkParFor(ParForProgramBlock.java:1055)
  at 
org.apache.sysml.runtime.controlprogram.ParForProgramBlock.execute(ParForProgramBlock.java:647)
  ... 66 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in program block generated from statement block between lines 0 and 0 -- Error 
evaluating instruction: 
CP°relu_backward°outa3·MATRIX·DOUBLE°_mVar3925·MATRIX·DOUBLE°_mVar3928·MATRIX·DOUBLE°-1
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:316)
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:217)
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:163)
  at 
org.apache.sysml.runtime.controlprogram.parfor.ParWorker.executeSetTask(ParWorker.java:167)
  at 
org.apache.sysml.runtime.controlprogram.parfor.ParWorker.executeTask(ParWorker.java:136)
  at 
org.apache.sysml.runtime.controlprogram.parfor.RemoteParForSparkWorker.call(RemoteParForSparkWorker.java:75)
  at 
org.apache.sysml.runtime.controlprogram.parfor.RemoteParForSparkWorker.call(RemoteParForSparkWorker.java:40)
  at 
org.apache.spark.api.java.JavaRDDLike$$anonfun$fn$3$1.apply(JavaRDDLike.scala:143)
  at 
org.apache.spark.api.java.JavaRDDLike$$anonfun$fn$3$1.apply(JavaRDDLike.scala:143)
  at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:434)
  at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:440)
  at scala.collection.Iterator$class.foreach(Iterator.scala:893)
  at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
  at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:59)
  at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:104)
  at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:48)
  at scala.collection.TraversableOnce$class.to(TraversableOnce.scala:310)
  at scala.collection.AbstractIterator.to(Iterator.scala:1336)
  at scala.collection.TraversableOnce$class.toBuffer(TraversableOnce.scala:302)
  at scala.collection.AbstractIterator.toBuffer(Iterator.scala:1336)
  at scala.collection.TraversableOnce$class.toArray(TraversableOnce.scala:289)
  at scala.collection.AbstractIterator.toArray(Iterator.scala:1336)
  at 
org.apache.spark.rdd.RDD$$anonfun$collect$1$$anonfun$13.apply(RDD.scala:936)
  at 
org.apache.spark.rdd.RDD$$anonfun$collect$1$$anonfun$13.apply(RDD.scala:936)
  at 
org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1951)
  at 
org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1951)
  at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
  at org.apache.spark.scheduler.Task.run(Task.scala:99)
  at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:322)
  ... 3 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: Error while executing 
multi-threaded tasks
  at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNN.execute(LibMatrixDNN.java:536)
  at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNN.reluBackward(LibMatrixDNN.java:391)
  at 
org.apache.sysml.runtime.instructions.cp.ConvolutionCPInstruction.processReluBackwardInstruction(ConvolutionCPInstruction.java:229)
  at 
org.apache.sysml.runtime.instructions.cp.ConvolutionCPInstruction.processInstruction(ConvolutionCPInstruction.java:316)
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:286)
  ... 31 more
Caused by: java.util.concurrent.ExecutionException: 
java.lang.NullPointerException
  at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNN.execute(LibMatrixDNN.java:532)
  ... 35 more
Caused by: java.lang.NullPointerException
  at 
org.apache.sysml.runtime.util.ConvolutionUtils.scalarOperations(ConvolutionUtils.java:150)
  at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNNHelper$ReluBackward.call(LibMatrixDNNHelper.java:231)
  at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNNHelper$ReluBackward.call(LibMatrixDNNHelper.java:208)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  ... 3 more
{code}

The explain information is as following:

{code:java}
# EXPLAIN (RUNTIME):
# Memory Budget local/remote = 2549MB/362MB/543MB/163MB
# Degree of Parallelism (vcores) local/remote = 8/4
PROGRAM ( size CP/SP = 16/6 )
--MAIN PROGRAM
----GENERIC (lines 1-8) [recompile=true]
------CP * C.SCALAR.INT.false Hin.SCALAR.INT.false _Var9.SCALAR.INT
------CP createvar _mVar10 scratch_space//_p16266_9.108.91.12//_t0/temp0 true 
MATRIX binaryblock -1 1 1000 1000 -1 copy
------SPARK seq -1 1 1000 1000 1 ¶N¶ 1 _mVar10.MATRIX.DOUBLE
------CP createvar _mVar11 scratch_space//_p16266_9.108.91.12//_t0/temp1 true 
MATRIX binaryblock -1 1 1000 1000 -1 copy
------SPARK rand ¶N¶ 1 1000 1000 1 ¶K¶ 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar11.MATRIX.DOUBLE
------CP * _Var9.SCALAR.INT.false Win.SCALAR.INT.false _Var12.SCALAR.INT
------CP rmvar _Var9
------CP createvar _mVar13 scratch_space//_p16266_9.108.91.12//_t0/temp2 true 
MATRIX binaryblock -1 1 1000 1000 -1 copy
------SPARK round _mVar11.MATRIX.DOUBLE _mVar13.MATRIX.DOUBLE
------CP rmvar _mVar11
------CP createvar _mVar14 scratch_space//_p16266_9.108.91.12//_t0/temp3 true 
MATRIX binaryblock -1 -1 1000 1000 -1 copy
------SPARK rand ¶N¶ ¶_Var12¶ 1000 1000 0.0 1.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ normal 1.0 _mVar14.MATRIX.DOUBLE
------CP rmvar _Var12
------CP createvar _mVar15 scratch_space//_p16266_9.108.91.12//_t0/temp4 true 
MATRIX binarycell -1 -1 -1 -1 -1 copy
------SPARK ctable _mVar10.MATRIX.DOUBLE _mVar13.MATRIX.DOUBLE 
1.0.SCALAR.DOUBLE.true N.false K.false _mVar15.MATRIX.DOUBLE false
------CP rmvar _mVar10 _mVar13
------CP createvar _mVar16 scratch_space//_p16266_9.108.91.12//_t0/temp5 true 
MATRIX binaryblock -1 -1 1000 1000 -1 copy
------SPARK rblk _mVar15.MATRIX.DOUBLE _mVar16.MATRIX.DOUBLE 1000 1000 true
------CP rmvar _mVar15
------CP cpvar _mVar14 X
------CP cpvar _mVar16 Y
------CP rmvar _mVar14 _mVar16


# EXPLAIN (RUNTIME):
# Memory Budget local/remote = 2549MB/362MB/543MB/163MB
# Degree of Parallelism (vcores) local/remote = 8/4
PROGRAM ( size CP/SP = 16/6 )
--MAIN PROGRAM
----GENERIC (lines 1-8) [recompile=true]
------CP * C.SCALAR.INT.false Hin.SCALAR.INT.false _Var30.SCALAR.INT
------CP createvar _mVar31 scratch_space//_p16266_9.108.91.12//_t0/temp10 true 
MATRIX binaryblock -1 1 1000 1000 -1 copy
------SPARK seq -1 1 1000 1000 1 ¶N¶ 1 _mVar31.MATRIX.DOUBLE
------CP createvar _mVar32 scratch_space//_p16266_9.108.91.12//_t0/temp11 true 
MATRIX binaryblock -1 1 1000 1000 -1 copy
------SPARK rand ¶N¶ 1 1000 1000 1 ¶K¶ 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar32.MATRIX.DOUBLE
------CP * _Var30.SCALAR.INT.false Win.SCALAR.INT.false _Var33.SCALAR.INT
------CP rmvar _Var30
------CP createvar _mVar34 scratch_space//_p16266_9.108.91.12//_t0/temp12 true 
MATRIX binaryblock -1 1 1000 1000 -1 copy
------SPARK round _mVar32.MATRIX.DOUBLE _mVar34.MATRIX.DOUBLE
------CP rmvar _mVar32
------CP createvar _mVar35 scratch_space//_p16266_9.108.91.12//_t0/temp13 true 
MATRIX binaryblock -1 -1 1000 1000 -1 copy
------SPARK rand ¶N¶ ¶_Var33¶ 1000 1000 0.0 1.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ normal 1.0 _mVar35.MATRIX.DOUBLE
------CP rmvar _Var33
------CP createvar _mVar36 scratch_space//_p16266_9.108.91.12//_t0/temp14 true 
MATRIX binarycell -1 -1 -1 -1 -1 copy
------SPARK ctable _mVar31.MATRIX.DOUBLE _mVar34.MATRIX.DOUBLE 
1.0.SCALAR.DOUBLE.true N.false K.false _mVar36.MATRIX.DOUBLE false
------CP rmvar _mVar31 _mVar34
------CP createvar _mVar37 scratch_space//_p16266_9.108.91.12//_t0/temp15 true 
MATRIX binaryblock -1 -1 1000 1000 -1 copy
------SPARK rblk _mVar36.MATRIX.DOUBLE _mVar37.MATRIX.DOUBLE 1000 1000 true
------CP rmvar _mVar36
------CP cpvar _mVar35 X
------CP cpvar _mVar37 Y
------CP rmvar _mVar35 _mVar37

# EXPLAIN (RUNTIME):
# Memory Budget local/remote = 2549MB/362MB/543MB/163MB
# Degree of Parallelism (vcores) local/remote = 8/4
PROGRAM ( size CP/SP = 16/6 )
--MAIN PROGRAM
----GENERIC (lines 1-8) [recompile=true]
------CP * C.SCALAR.INT.false Hin.SCALAR.INT.false _Var51.SCALAR.INT
------CP createvar _mVar52 scratch_space//_p16266_9.108.91.12//_t0/temp20 true 
MATRIX binaryblock -1 1 1000 1000 -1 copy
------SPARK seq -1 1 1000 1000 1 ¶N¶ 1 _mVar52.MATRIX.DOUBLE
------CP createvar _mVar53 scratch_space//_p16266_9.108.91.12//_t0/temp21 true 
MATRIX binaryblock -1 1 1000 1000 -1 copy
------SPARK rand ¶N¶ 1 1000 1000 1 ¶K¶ 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar53.MATRIX.DOUBLE
------CP * _Var51.SCALAR.INT.false Win.SCALAR.INT.false _Var54.SCALAR.INT
------CP rmvar _Var51
------CP createvar _mVar55 scratch_space//_p16266_9.108.91.12//_t0/temp22 true 
MATRIX binaryblock -1 1 1000 1000 -1 copy
------SPARK round _mVar53.MATRIX.DOUBLE _mVar55.MATRIX.DOUBLE
------CP rmvar _mVar53
------CP createvar _mVar56 scratch_space//_p16266_9.108.91.12//_t0/temp23 true 
MATRIX binaryblock -1 -1 1000 1000 -1 copy
------SPARK rand ¶N¶ ¶_Var54¶ 1000 1000 0.0 1.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ normal 1.0 _mVar56.MATRIX.DOUBLE
------CP rmvar _Var54
------CP createvar _mVar57 scratch_space//_p16266_9.108.91.12//_t0/temp24 true 
MATRIX binarycell -1 -1 -1 -1 -1 copy
------SPARK ctable _mVar52.MATRIX.DOUBLE _mVar55.MATRIX.DOUBLE 
1.0.SCALAR.DOUBLE.true N.false K.false _mVar57.MATRIX.DOUBLE false
------CP rmvar _mVar52 _mVar55
------CP createvar _mVar58 scratch_space//_p16266_9.108.91.12//_t0/temp25 true 
MATRIX binaryblock -1 -1 1000 1000 -1 copy
------SPARK rblk _mVar57.MATRIX.DOUBLE _mVar58.MATRIX.DOUBLE 1000 1000 true
------CP rmvar _mVar57
------CP cpvar _mVar56 X
------CP cpvar _mVar58 Y
------CP rmvar _mVar56 _mVar58


# EXPLAIN (RUNTIME):
# Memory Budget local/remote = 2549MB/362MB/543MB/163MB
# Degree of Parallelism (vcores) local/remote = 8/4
PROGRAM ( size CP/SP = 1014/182 )
--FUNCTIONS
----FUNCTION CALL GRAPH
------MAIN PROGRAM
--------./scripts/nn/examples/mnist_lenet_distrib_sgd.dml::train
----------./scripts/nn/examples/mnist_lenet_distrib_sgd.dml::predict
----------./nn/layers/dropout.dml::forward
----FUNCTION ./scripts/nn/examples/mnist_lenet_distrib_sgd.dml::train 
[recompile=true]
------GENERIC (lines 74-113) [recompile=true]
--------CP * C.SCALAR.INT.false 5.SCALAR.INT.true _Var178.SCALAR.INT
--------CP createvar _mVar179 scratch_space//_p16266_9.108.91.12//_t0/temp74 
true MATRIX binaryblock 32 1 1000 1000 0 copy
--------CP rand 32 1 1000 1000 0.0 0.0 1.0 -1 uniform 1.0 8 
_mVar179.MATRIX.DOUBLE
--------CP createvar _mVar180 scratch_space//_p16266_9.108.91.12//_t0/temp75 
true MATRIX binaryblock 64 800 1000 1000 51200 copy
--------CP rand 64 800 1000 1000 0.0 1.0 1.0 -1 normal 1.0 8 
_mVar180.MATRIX.DOUBLE
--------CP createvar _mVar181 scratch_space//_p16266_9.108.91.12//_t0/temp76 
true MATRIX binaryblock 64 1 1000 1000 0 copy
--------CP rand 64 1 1000 1000 0.0 0.0 1.0 -1 uniform 1.0 8 
_mVar181.MATRIX.DOUBLE
--------CP / Hin.SCALAR.INT.false 2.SCALAR.INT.true _Var182.SCALAR.DOUBLE
--------CP / Win.SCALAR.INT.false 2.SCALAR.INT.true _Var183.SCALAR.DOUBLE
--------CP createvar _mVar184 scratch_space//_p16266_9.108.91.12//_t0/temp77 
true MATRIX binaryblock 1 512 1000 1000 0 copy
--------CP rand 1 512 1000 1000 0.0 0.0 1.0 -1 uniform 1.0 8 
_mVar184.MATRIX.DOUBLE
--------CP createvar _mVar185 scratch_space//_p16266_9.108.91.12//_t0/temp78 
true MATRIX binaryblock 1 10 1000 1000 0 copy
--------CP rand 1 10 1000 1000 0.0 0.0 1.0 -1 uniform 1.0 8 
_mVar185.MATRIX.DOUBLE
--------CP createvar _mVar186 scratch_space//_p16266_9.108.91.12//_t0/temp79 
true MATRIX binaryblock 512 10 1000 1000 5120 copy
--------CP rand 512 10 1000 1000 0.0 1.0 1.0 -1 normal 1.0 8 
_mVar186.MATRIX.DOUBLE
--------CP createvar _mVar187 scratch_space//_p16266_9.108.91.12//_t0/temp80 
true MATRIX binaryblock 64 800 1000 1000 0 copy
--------CP rand 64 800 1000 1000 0.0 0.0 1.0 -1 uniform 1.0 8 
_mVar187.MATRIX.DOUBLE
--------CP createvar _mVar188 scratch_space//_p16266_9.108.91.12//_t0/temp81 
true MATRIX binaryblock 512 10 1000 1000 0 copy
--------CP rand 512 10 1000 1000 0.0 0.0 1.0 -1 uniform 1.0 8 
_mVar188.MATRIX.DOUBLE
--------CP print Starting optimization.SCALAR.STRING.true _Var189.SCALAR.STRING
--------CP * parallel_batches.SCALAR.INT.false batch_size.SCALAR.INT.false 
_Var190.SCALAR.INT
--------CP + Total Epochs: .SCALAR.STRING.true epochs.SCALAR.INT.false 
_Var191.SCALAR.STRING
--------CP * _Var178.SCALAR.INT.false 5.SCALAR.INT.true _Var192.SCALAR.INT
--------CP rmvar _Var178
--------CP createvar _mVar193 scratch_space//_p16266_9.108.91.12//_t0/temp82 
true MATRIX binaryblock 64 800 1000 1000 -1 copy
--------CP * _mVar180.MATRIX.DOUBLE 0.05.SCALAR.DOUBLE.true 
_mVar193.MATRIX.DOUBLE
--------CP rmvar _mVar180
--------CP / _Var182.SCALAR.DOUBLE.false 2.SCALAR.INT.true _Var194.SCALAR.DOUBLE
--------CP rmvar _Var182
--------CP / _Var183.SCALAR.DOUBLE.false 2.SCALAR.INT.true _Var195.SCALAR.DOUBLE
--------CP rmvar _Var183
--------CP createvar _mVar196 scratch_space//_p16266_9.108.91.12//_t0/temp83 
true MATRIX binaryblock 512 10 1000 1000 -1 copy
--------CP * _mVar186.MATRIX.DOUBLE 0.0625.SCALAR.DOUBLE.true 
_mVar196.MATRIX.DOUBLE
--------CP rmvar _mVar186
--------CP / 32.SCALAR.INT.true _Var190.SCALAR.INT.false _Var197.SCALAR.DOUBLE
--------CP + _Var191.SCALAR.STRING.false , Batch size: .SCALAR.STRING.true 
_Var198.SCALAR.STRING
--------CP rmvar _Var191
--------CP createvar _mVar199 scratch_space//_p16266_9.108.91.12//_t0/temp84 
true MATRIX binaryblock 32 -1 1000 1000 -1 copy
--------SPARK rand 32 ¶_Var192¶ 1000 1000 0.0 1.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ normal 1.0 _mVar199.MATRIX.DOUBLE
--------CP / 2.0.SCALAR.DOUBLE.true _Var192.SCALAR.INT.false 
_Var200.SCALAR.DOUBLE
--------CP rmvar _Var192
--------CP * 64.SCALAR.INT.true _Var194.SCALAR.DOUBLE.false 
_Var201.SCALAR.DOUBLE
--------CP rmvar _Var194
--------CP createvar _mVar202 scratch_space//_p16266_9.108.91.12//_t0/temp85 
true MATRIX binaryblock 512 10 1000 1000 -1 copy
--------CP / _mVar196.MATRIX.DOUBLE 1.4142135623730951.SCALAR.DOUBLE.true 
_mVar202.MATRIX.DOUBLE
--------CP rmvar _mVar196
--------CP ceil _Var197.SCALAR.DOUBLE.false _Var203.SCALAR.DOUBLE
--------CP rmvar _Var197
--------CP + _Var198.SCALAR.STRING.false batch_size.SCALAR.INT.false 
_Var204.SCALAR.STRING
--------CP rmvar _Var198
--------CP sqrt _Var200.SCALAR.DOUBLE.false _Var205.SCALAR.DOUBLE
--------CP rmvar _Var200
--------CP * _Var201.SCALAR.DOUBLE.false _Var195.SCALAR.DOUBLE.false 
_Var206.SCALAR.DOUBLE
--------CP rmvar _Var201 _Var195
--------CP castvti _Var203.SCALAR.DOUBLE.false _Var207.SCALAR.INT
--------CP rmvar _Var203
--------CP + _Var204.SCALAR.STRING.false , Degree of parallelism: 
.SCALAR.STRING.true _Var208.SCALAR.STRING
--------CP rmvar _Var204
--------CP createvar _mVar209 scratch_space//_p16266_9.108.91.12//_t0/temp86 
true MATRIX binaryblock 32 -1 1000 1000 -1 copy
--------SPARK * _mVar199.MATRIX.DOUBLE _Var205.SCALAR.DOUBLE.false 
_mVar209.MATRIX.DOUBLE
--------CP rmvar _mVar199 _Var205
--------CP createvar _mVar210 scratch_space//_p16266_9.108.91.12//_t0/temp87 
true MATRIX binaryblock -1 512 1000 1000 -1 copy
--------SPARK rand ¶_Var206¶ 512 1000 1000 0.0 1.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ normal 1.0 _mVar210.MATRIX.DOUBLE
--------CP / 2.0.SCALAR.DOUBLE.true _Var206.SCALAR.DOUBLE.false 
_Var211.SCALAR.DOUBLE
--------CP rmvar _Var206
--------CP + _Var208.SCALAR.STRING.false parallel_batches.SCALAR.INT.false 
_Var212.SCALAR.STRING
--------CP rmvar _Var208
--------CP sqrt _Var211.SCALAR.DOUBLE.false _Var213.SCALAR.DOUBLE
--------CP rmvar _Var211
--------CP ncol _mVar209.MATRIX.DOUBLE.false _Var214.SCALAR.INT
--------CP + _Var212.SCALAR.STRING.false , Group batch size: 
.SCALAR.STRING.true _Var215.SCALAR.STRING
--------CP rmvar _Var212
--------CP createvar _mVar216 scratch_space//_p16266_9.108.91.12//_t0/temp88 
true MATRIX binaryblock -1 512 1000 1000 -1 copy
--------SPARK * _mVar210.MATRIX.DOUBLE _Var213.SCALAR.DOUBLE.false 
_mVar216.MATRIX.DOUBLE
--------CP rmvar _mVar210 _Var213
--------CP createvar _mVar217 scratch_space//_p16266_9.108.91.12//_t0/temp89 
true MATRIX binaryblock 32 -1 1000 1000 0 copy
--------SPARK rand 32 ¶_Var214¶ 1000 1000 0.0 0.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar217.MATRIX.DOUBLE
--------CP rmvar _Var214
--------CP + _Var215.SCALAR.STRING.false _Var190.SCALAR.INT.false 
_Var218.SCALAR.STRING
--------CP rmvar _Var215
--------CP nrow _mVar216.MATRIX.DOUBLE.false _Var219.SCALAR.INT
--------CP + _Var218.SCALAR.STRING.false , Num groups: .SCALAR.STRING.true 
_Var220.SCALAR.STRING
--------CP rmvar _Var218
--------CP createvar _mVar221 scratch_space//_p16266_9.108.91.12//_t0/temp90 
true MATRIX binaryblock -1 512 1000 1000 0 copy
--------SPARK rand ¶_Var219¶ 512 1000 1000 0.0 0.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar221.MATRIX.DOUBLE
--------CP rmvar _Var219
--------CP + _Var220.SCALAR.STRING.false _Var207.SCALAR.INT.false 
_Var222.SCALAR.STRING
--------CP rmvar _Var220
--------CP print _Var222.SCALAR.STRING.false _Var223.SCALAR.STRING
--------CP rmvar _Var222
--------CP assignvar 32.SCALAR.INT.true N.SCALAR.INT
--------CP assignvar 5.SCALAR.INT.true Hf.SCALAR.INT
--------CP assignvar 5.SCALAR.INT.true Wf.SCALAR.INT
--------CP assignvar 1.SCALAR.INT.true stride.SCALAR.INT
--------CP assignvar 2.SCALAR.INT.true pad.SCALAR.INT
--------CP assignvar 32.SCALAR.INT.true F1.SCALAR.INT
--------CP assignvar 64.SCALAR.INT.true F2.SCALAR.INT
--------CP assignvar 0.01.SCALAR.DOUBLE.true lr.SCALAR.DOUBLE
--------CP assignvar 0.9.SCALAR.DOUBLE.true mu.SCALAR.DOUBLE
--------CP assignvar 0.95.SCALAR.DOUBLE.true decay.SCALAR.DOUBLE
--------CP assignvar 5.0E-4.SCALAR.DOUBLE.true lambda.SCALAR.DOUBLE
--------CP assignvar _Var190.SCALAR.INT.false group_batch_size.SCALAR.INT
--------CP assignvar _Var207.SCALAR.INT.false groups.SCALAR.INT
--------CP rmvar _Var189 _Var190
--------CP cpvar _mVar179 b1
--------CP cpvar _mVar181 b2
--------CP cpvar _mVar184 b3
--------CP cpvar _mVar185 b4
--------CP cpvar _mVar179 vb1
--------CP cpvar _mVar187 vW2
--------CP cpvar _mVar181 vb2
--------CP cpvar _mVar184 vb3
--------CP cpvar _mVar188 vW4
--------CP cpvar _mVar185 vb4
--------CP cpvar _mVar193 W2
--------CP cpvar _mVar202 W4
--------CP rmvar _Var207
--------CP cpvar _mVar209 W1
--------CP cpvar _mVar216 W3
--------CP cpvar _mVar217 vW1
--------CP cpvar _mVar221 vW3
--------CP rmvar _Var223 _mVar179 _mVar181 _mVar184 _mVar185 _mVar187 _mVar188 
_mVar193 _mVar202 _mVar209 _mVar216 _mVar217 _mVar221
------GENERIC (lines 115-270) [recompile=false]
------GENERIC (lines 115-270) [recompile=false]
------GENERIC (lines 115-270) [recompile=true]
--------CP createvar _mVar224 scratch_space//_p16266_9.108.91.12//_t0/temp91 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint Y_val.MATRIX.DOUBLE _mVar224.MATRIX.DOUBLE 
MEMORY_AND_DISK
--------CP createvar _mVar225 scratch_space//_p16266_9.108.91.12//_t0/temp92 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint X.MATRIX.DOUBLE _mVar225.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar226 scratch_space//_p16266_9.108.91.12//_t0/temp93 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint Y.MATRIX.DOUBLE _mVar226.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar227 scratch_space//_p16266_9.108.91.12//_t0/temp94 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint X_val.MATRIX.DOUBLE _mVar227.MATRIX.DOUBLE 
MEMORY_AND_DISK
--------CP rmvar Y_val X Y X_val
--------CP cpvar _mVar224 Y_val
--------CP cpvar _mVar225 X
--------CP cpvar _mVar226 Y
--------CP cpvar _mVar227 X_val
--------CP rmvar _mVar224 _mVar225 _mVar226 _mVar227
------FOR (lines 115-270)
--------GENERIC (lines 117-265) [recompile=false]
--------GENERIC (lines 117-265) [recompile=false]
--------GENERIC (lines 117-265) [recompile=true]
----------CP createvar _mVar228 scratch_space//_p16266_9.108.91.12//_t0/temp95 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK chkpoint Y_val.MATRIX.DOUBLE _mVar228.MATRIX.DOUBLE 
MEMORY_AND_DISK
----------CP createvar _mVar229 scratch_space//_p16266_9.108.91.12//_t0/temp96 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK chkpoint X.MATRIX.DOUBLE _mVar229.MATRIX.DOUBLE MEMORY_AND_DISK
----------CP createvar _mVar230 scratch_space//_p16266_9.108.91.12//_t0/temp97 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK chkpoint Y.MATRIX.DOUBLE _mVar230.MATRIX.DOUBLE MEMORY_AND_DISK
----------CP createvar _mVar231 scratch_space//_p16266_9.108.91.12//_t0/temp98 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK chkpoint X_val.MATRIX.DOUBLE _mVar231.MATRIX.DOUBLE 
MEMORY_AND_DISK
----------CP rmvar Y_val X Y X_val
----------CP cpvar _mVar228 Y_val
----------CP cpvar _mVar229 X
----------CP cpvar _mVar230 Y
----------CP cpvar _mVar231 X_val
----------CP rmvar _mVar228 _mVar229 _mVar230 _mVar231
--------FOR (lines 117-265)
----------GENERIC (lines 121-134) [recompile=true]
------------CP - g.SCALAR.INT.false 1.SCALAR.INT.true _Var232.SCALAR.INT
------------CP ncol W1.MATRIX.DOUBLE.false _Var233.SCALAR.INT
------------CP createvar _mVar234 
scratch_space//_p16266_9.108.91.12//_t0/temp99 true MATRIX binaryblock -1 51200 
1000 1000 0 copy
------------SPARK rand ¶parallel_batches¶ 51200 1000 1000 0.0 0.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar234.MATRIX.DOUBLE
------------CP nrow W3.MATRIX.DOUBLE.false _Var235.SCALAR.INT
------------CP createvar _mVar236 
scratch_space//_p16266_9.108.91.12//_t0/temp100 true MATRIX binaryblock -1 5120 
1000 1000 0 copy
------------SPARK rand ¶parallel_batches¶ 5120 1000 1000 0.0 0.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar236.MATRIX.DOUBLE
------------CP createvar _mVar237 
scratch_space//_p16266_9.108.91.12//_t0/temp101 true MATRIX binaryblock -1 32 
1000 1000 0 copy
------------SPARK rand ¶parallel_batches¶ 32 1000 1000 0.0 0.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar237.MATRIX.DOUBLE
------------CP createvar _mVar238 
scratch_space//_p16266_9.108.91.12//_t0/temp102 true MATRIX binaryblock -1 64 
1000 1000 0 copy
------------SPARK rand ¶parallel_batches¶ 64 1000 1000 0.0 0.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar238.MATRIX.DOUBLE
------------CP createvar _mVar239 
scratch_space//_p16266_9.108.91.12//_t0/temp103 true MATRIX binaryblock -1 512 
1000 1000 0 copy
------------SPARK rand ¶parallel_batches¶ 512 1000 1000 0.0 0.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar239.MATRIX.DOUBLE
------------CP createvar _mVar240 
scratch_space//_p16266_9.108.91.12//_t0/temp104 true MATRIX binaryblock -1 10 
1000 1000 0 copy
------------SPARK rand ¶parallel_batches¶ 10 1000 1000 0.0 0.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar240.MATRIX.DOUBLE
------------CP * _Var232.SCALAR.INT.false group_batch_size.SCALAR.INT.false 
_Var241.SCALAR.INT
------------CP rmvar _Var232
------------CP * 32.SCALAR.INT.true _Var233.SCALAR.INT.false _Var242.SCALAR.INT
------------CP rmvar _Var233
------------CP * _Var235.SCALAR.INT.false 512.SCALAR.INT.true _Var243.SCALAR.INT
------------CP rmvar _Var235
------------CP %% _Var241.SCALAR.INT.false 32.SCALAR.INT.true _Var244.SCALAR.INT
------------CP rmvar _Var241
------------CP createvar _mVar245 
scratch_space//_p16266_9.108.91.12//_t0/temp105 true MATRIX binaryblock -1 -1 
1000 1000 0 copy
------------SPARK rand ¶parallel_batches¶ ¶_Var242¶ 1000 1000 0.0 0.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar245.MATRIX.DOUBLE
------------CP rmvar _Var242
------------CP createvar _mVar246 
scratch_space//_p16266_9.108.91.12//_t0/temp106 true MATRIX binaryblock -1 -1 
1000 1000 0 copy
------------SPARK rand ¶parallel_batches¶ ¶_Var243¶ 1000 1000 0.0 0.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar246.MATRIX.DOUBLE
------------CP rmvar _Var243
------------CP + _Var244.SCALAR.INT.false 1.SCALAR.INT.true _Var247.SCALAR.INT
------------CP rmvar _Var244
------------CP + _Var247.SCALAR.INT.false group_batch_size.SCALAR.INT.false 
_Var248.SCALAR.INT
------------CP - _Var248.SCALAR.INT.false 1.SCALAR.INT.true _Var249.SCALAR.INT
------------CP rmvar _Var248
------------CP min 32.SCALAR.INT.true _Var249.SCALAR.INT.false 
_Var250.SCALAR.INT
------------CP rmvar _Var249
------------CP createvar _mVar251 
scratch_space//_p16266_9.108.91.12//_t0/temp107 true MATRIX binaryblock -1 
37632 1000 1000 -1 copy
------------CP rangeReIndex X.MATRIX.DOUBLE _Var247.SCALAR.INT.false 
_Var250.SCALAR.INT.false 1.SCALAR.INT.true 37632.SCALAR.INT.true 
_mVar251.MATRIX.DOUBLE
------------CP createvar _mVar252 
scratch_space//_p16266_9.108.91.12//_t0/temp108 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
------------CP rangeReIndex Y.MATRIX.DOUBLE _Var247.SCALAR.INT.false 
_Var250.SCALAR.INT.false 1.SCALAR.INT.true 10.SCALAR.INT.true 
_mVar252.MATRIX.DOUBLE
------------CP rmvar _Var247 _Var250
------------CP cpvar _mVar234 dW2_agg
------------CP cpvar _mVar236 dW4_agg
------------CP cpvar _mVar237 db1_agg
------------CP cpvar _mVar238 db2_agg
------------CP cpvar _mVar239 db3_agg
------------CP cpvar _mVar240 db4_agg
------------CP cpvar _mVar245 dW1_agg
------------CP cpvar _mVar246 dW3_agg
------------CP cpvar _mVar251 X_group_batch
------------CP cpvar _mVar252 y_group_batch
------------CP rmvar _mVar234 _mVar236 _mVar237 _mVar238 _mVar239 _mVar240 
_mVar245 _mVar246 _mVar251 _mVar252
----------GENERIC (lines 137-213) [recompile=true]
------------CP createvar _mVar253 
scratch_space//_p16266_9.108.91.12//_t0/temp109 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
------------SPARK chkpoint y_group_batch.MATRIX.DOUBLE _mVar253.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar254 
scratch_space//_p16266_9.108.91.12//_t0/temp110 true MATRIX binaryblock 32 -1 
1000 1000 -1 copy
------------SPARK chkpoint W1.MATRIX.DOUBLE _mVar254.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar255 
scratch_space//_p16266_9.108.91.12//_t0/temp111 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
------------SPARK chkpoint W3.MATRIX.DOUBLE _mVar255.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar256 
scratch_space//_p16266_9.108.91.12//_t0/temp112 true MATRIX binaryblock -1 
37632 1000 1000 -1 copy
------------SPARK chkpoint X_group_batch.MATRIX.DOUBLE _mVar256.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP rmvar y_group_batch W1 W3 X_group_batch
------------CP cpvar _mVar253 y_group_batch
------------CP cpvar _mVar254 W1
------------CP cpvar _mVar255 W3
------------CP cpvar _mVar256 X_group_batch
------------CP rmvar _mVar253 _mVar254 _mVar255 _mVar256
----------GENERIC (lines 137-213) [recompile=true]
------------CP createvar _mVar257 
scratch_space//_p16266_9.108.91.12//_t0/temp113 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
------------SPARK chkpoint y_group_batch.MATRIX.DOUBLE _mVar257.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar258 
scratch_space//_p16266_9.108.91.12//_t0/temp114 true MATRIX binaryblock 32 -1 
1000 1000 -1 copy
------------SPARK chkpoint W1.MATRIX.DOUBLE _mVar258.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar259 
scratch_space//_p16266_9.108.91.12//_t0/temp115 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
------------SPARK chkpoint W3.MATRIX.DOUBLE _mVar259.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar260 
scratch_space//_p16266_9.108.91.12//_t0/temp116 true MATRIX binaryblock -1 
37632 1000 1000 -1 copy
------------SPARK chkpoint X_group_batch.MATRIX.DOUBLE _mVar260.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP rmvar y_group_batch W1 W3 X_group_batch
------------CP cpvar _mVar257 y_group_batch
------------CP cpvar _mVar258 W1
------------CP cpvar _mVar259 W3
------------CP cpvar _mVar260 X_group_batch
------------CP rmvar _mVar257 _mVar258 _mVar259 _mVar260
----------GENERIC (lines 137-213) [recompile=true]
------------CP createvar _mVar261 
scratch_space//_p16266_9.108.91.12//_t0/temp117 true MATRIX binaryblock -1 1 
1000 1000 -1 copy
------------SPARK chkpoint b1.MATRIX.DOUBLE _mVar261.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar262 
scratch_space//_p16266_9.108.91.12//_t0/temp118 true MATRIX binaryblock -1 1 
1000 1000 -1 copy
------------SPARK chkpoint b2.MATRIX.DOUBLE _mVar262.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar263 
scratch_space//_p16266_9.108.91.12//_t0/temp119 true MATRIX binaryblock 1 -1 
1000 1000 -1 copy
------------SPARK chkpoint b3.MATRIX.DOUBLE _mVar263.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar264 
scratch_space//_p16266_9.108.91.12//_t0/temp120 true MATRIX binaryblock 1 -1 
1000 1000 -1 copy
------------SPARK chkpoint b4.MATRIX.DOUBLE _mVar264.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar265 
scratch_space//_p16266_9.108.91.12//_t0/temp121 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
------------SPARK chkpoint y_group_batch.MATRIX.DOUBLE _mVar265.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar266 
scratch_space//_p16266_9.108.91.12//_t0/temp122 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
------------SPARK chkpoint W1.MATRIX.DOUBLE _mVar266.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar267 
scratch_space//_p16266_9.108.91.12//_t0/temp123 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
------------SPARK chkpoint W2.MATRIX.DOUBLE _mVar267.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar268 
scratch_space//_p16266_9.108.91.12//_t0/temp124 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
------------SPARK chkpoint W3.MATRIX.DOUBLE _mVar268.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar269 
scratch_space//_p16266_9.108.91.12//_t0/temp125 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
------------SPARK chkpoint W4.MATRIX.DOUBLE _mVar269.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP createvar _mVar270 
scratch_space//_p16266_9.108.91.12//_t0/temp126 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
------------SPARK chkpoint X_group_batch.MATRIX.DOUBLE _mVar270.MATRIX.DOUBLE 
MEMORY_AND_DISK
------------CP rmvar b2 b3 b4 y_group_batch W1 W2 W3 W4 X_group_batch b1
------------CP cpvar _mVar261 b1
------------CP cpvar _mVar262 b2
------------CP cpvar _mVar263 b3
------------CP cpvar _mVar264 b4
------------CP cpvar _mVar265 y_group_batch
------------CP cpvar _mVar266 W1
------------CP cpvar _mVar267 W2
------------CP cpvar _mVar268 W3
------------CP cpvar _mVar269 W4
------------CP cpvar _mVar270 X_group_batch
------------CP rmvar _mVar261 _mVar262 _mVar263 _mVar264 _mVar265 _mVar266 
_mVar267 _mVar268 _mVar269 _mVar270
----------PARFOR (lines 137-213)
------------GENERIC (lines 139-162) [recompile=true]
--------------CP - j.SCALAR.INT.false 1.SCALAR.INT.true _Var271.SCALAR.INT
--------------CP nrow X_group_batch.MATRIX.DOUBLE.false _Var272.SCALAR.INT
--------------CP + Hin.SCALAR.INT.false 4.SCALAR.INT.true _Var273.SCALAR.INT
--------------CP + Win.SCALAR.INT.false 4.SCALAR.INT.true _Var274.SCALAR.INT
--------------CP * _Var271.SCALAR.INT.false batch_size.SCALAR.INT.false 
_Var275.SCALAR.INT
--------------CP rmvar _Var271
--------------CP - _Var273.SCALAR.INT.false 5.SCALAR.INT.true _Var276.SCALAR.INT
--------------CP rmvar _Var273
--------------CP - _Var274.SCALAR.INT.false 5.SCALAR.INT.true _Var277.SCALAR.INT
--------------CP rmvar _Var274
--------------CP %% _Var275.SCALAR.INT.false _Var272.SCALAR.INT.false 
_Var278.SCALAR.INT
--------------CP rmvar _Var275
--------------CP / _Var276.SCALAR.INT.false 1.SCALAR.INT.true 
_Var279.SCALAR.DOUBLE
--------------CP rmvar _Var276
--------------CP / _Var277.SCALAR.INT.false 1.SCALAR.INT.true 
_Var280.SCALAR.DOUBLE
--------------CP rmvar _Var277
--------------CP + _Var278.SCALAR.INT.false 1.SCALAR.INT.true _Var281.SCALAR.INT
--------------CP rmvar _Var278
--------------CP + _Var279.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var282.SCALAR.DOUBLE
--------------CP rmvar _Var279
--------------CP + _Var280.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var283.SCALAR.DOUBLE
--------------CP rmvar _Var280
--------------CP + _Var281.SCALAR.INT.false batch_size.SCALAR.INT.false 
_Var284.SCALAR.INT
--------------CP floor _Var282.SCALAR.DOUBLE.false _Var285.SCALAR.DOUBLE
--------------CP rmvar _Var282
--------------CP floor _Var283.SCALAR.DOUBLE.false _Var286.SCALAR.DOUBLE
--------------CP rmvar _Var283
--------------CP - _Var284.SCALAR.INT.false 1.SCALAR.INT.true _Var287.SCALAR.INT
--------------CP rmvar _Var284
--------------CP castvti _Var285.SCALAR.DOUBLE.false _Var288.SCALAR.INT
--------------CP rmvar _Var285
--------------CP castvti _Var286.SCALAR.DOUBLE.false _Var289.SCALAR.INT
--------------CP rmvar _Var286
--------------CP min _Var272.SCALAR.INT.false _Var287.SCALAR.INT.false 
_Var290.SCALAR.INT
--------------CP rmvar _Var272 _Var287
--------------CP + _Var288.SCALAR.INT.false 0.SCALAR.INT.true _Var291.SCALAR.INT
--------------CP + _Var289.SCALAR.INT.false 0.SCALAR.INT.true _Var292.SCALAR.INT
--------------CP createvar _mVar293 
scratch_space//_p16266_9.108.91.12//_t0/temp127 true MATRIX binaryblock -1 
37632 1000 1000 -1 copy
--------------SPARK rangeReIndex X_group_batch.MATRIX.DOUBLE 
_Var281.SCALAR.INT.false _Var290.SCALAR.INT.false 1.SCALAR.INT.true 
37632.SCALAR.INT.true _mVar293.MATRIX.DOUBLE MULTI_BLOCK
--------------CP createvar _mVar294 
scratch_space//_p16266_9.108.91.12//_t0/temp128 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK rangeReIndex y_group_batch.MATRIX.DOUBLE 
_Var281.SCALAR.INT.false _Var290.SCALAR.INT.false 1.SCALAR.INT.true 
10.SCALAR.INT.true _mVar294.MATRIX.DOUBLE MULTI_BLOCK
--------------CP rmvar _Var281 _Var290
--------------CP - _Var291.SCALAR.INT.false 2.SCALAR.INT.true _Var295.SCALAR.INT
--------------CP rmvar _Var291
--------------CP - _Var292.SCALAR.INT.false 2.SCALAR.INT.true _Var296.SCALAR.INT
--------------CP rmvar _Var292
--------------CP nrow _mVar293.MATRIX.DOUBLE.false _Var297.SCALAR.INT
--------------CP / _Var295.SCALAR.INT.false 2.SCALAR.INT.true 
_Var298.SCALAR.DOUBLE
--------------CP rmvar _Var295
--------------CP / _Var296.SCALAR.INT.false 2.SCALAR.INT.true 
_Var299.SCALAR.DOUBLE
--------------CP rmvar _Var296
--------------CP createvar _mVar300 
scratch_space//_p16266_9.108.91.12//_t0/temp129 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------CP conv2d_bias_add _mVar293.MATRIX.DOUBLE b1.MATRIX.DOUBLE 
W1.MATRIX.DOUBLE 1.SCALAR.INT.true 1.SCALAR.INT.true 2.SCALAR.INT.true 
2.SCALAR.INT.true _Var297.SCALAR.INT.false C.SCALAR.INT.false 
Hin.SCALAR.INT.false Win.SCALAR.INT.false 32.SCALAR.INT.true C.SCALAR.INT.false 
5.SCALAR.INT.true 5.SCALAR.INT.true _mVar300.MATRIX.DOUBLE 8
--------------CP rmvar _Var297
--------------CP + _Var298.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var301.SCALAR.DOUBLE
--------------CP rmvar _Var298
--------------CP + _Var299.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var302.SCALAR.DOUBLE
--------------CP rmvar _Var299
--------------CP createvar _mVar303 
scratch_space//_p16266_9.108.91.12//_t0/temp130 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK sel+ _mVar300.MATRIX.DOUBLE _mVar303.MATRIX.DOUBLE
--------------CP nrow _mVar300.MATRIX.DOUBLE.false _Var304.SCALAR.INT
--------------CP floor _Var301.SCALAR.DOUBLE.false _Var305.SCALAR.DOUBLE
--------------CP rmvar _Var301
--------------CP floor _Var302.SCALAR.DOUBLE.false _Var306.SCALAR.DOUBLE
--------------CP rmvar _Var302
--------------CP createvar _mVar307 
scratch_space//_p16266_9.108.91.12//_t0/temp131 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------CP relu_maxpooling _mVar300.MATRIX.DOUBLE 2.SCALAR.INT.true 
2.SCALAR.INT.true 0.SCALAR.INT.true 0.SCALAR.INT.true _Var304.SCALAR.INT.false 
32.SCALAR.INT.true _Var288.SCALAR.INT.false _Var289.SCALAR.INT.false 
1.SCALAR.INT.true 32.SCALAR.INT.true 2.SCALAR.INT.true 2.SCALAR.INT.true 
_mVar307.MATRIX.DOUBLE 8
--------------CP rmvar _Var304
--------------CP castvti _Var305.SCALAR.DOUBLE.false _Var308.SCALAR.INT
--------------CP rmvar _Var305
--------------CP castvti _Var306.SCALAR.DOUBLE.false _Var309.SCALAR.INT
--------------CP rmvar _Var306
--------------CP nrow _mVar307.MATRIX.DOUBLE.false _Var310.SCALAR.INT
--------------CP + _Var308.SCALAR.INT.false 4.SCALAR.INT.true _Var311.SCALAR.INT
--------------CP + _Var309.SCALAR.INT.false 4.SCALAR.INT.true _Var312.SCALAR.INT
--------------CP createvar _mVar313 
scratch_space//_p16266_9.108.91.12//_t0/temp132 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------CP conv2d_bias_add _mVar307.MATRIX.DOUBLE b2.MATRIX.DOUBLE 
W2.MATRIX.DOUBLE 1.SCALAR.INT.true 1.SCALAR.INT.true 2.SCALAR.INT.true 
2.SCALAR.INT.true _Var310.SCALAR.INT.false 32.SCALAR.INT.true 
_Var308.SCALAR.INT.false _Var309.SCALAR.INT.false 64.SCALAR.INT.true 
32.SCALAR.INT.true 5.SCALAR.INT.true 5.SCALAR.INT.true _mVar313.MATRIX.DOUBLE 8
--------------CP rmvar _Var310
--------------CP - _Var311.SCALAR.INT.false 5.SCALAR.INT.true _Var314.SCALAR.INT
--------------CP rmvar _Var311
--------------CP - _Var312.SCALAR.INT.false 5.SCALAR.INT.true _Var315.SCALAR.INT
--------------CP rmvar _Var312
--------------CP / _Var314.SCALAR.INT.false 1.SCALAR.INT.true 
_Var316.SCALAR.DOUBLE
--------------CP rmvar _Var314
--------------CP / _Var315.SCALAR.INT.false 1.SCALAR.INT.true 
_Var317.SCALAR.DOUBLE
--------------CP rmvar _Var315
--------------CP createvar _mVar318 
scratch_space//_p16266_9.108.91.12//_t0/temp133 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK sel+ _mVar313.MATRIX.DOUBLE _mVar318.MATRIX.DOUBLE
--------------CP nrow _mVar313.MATRIX.DOUBLE.false _Var319.SCALAR.INT
--------------CP + _Var316.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var320.SCALAR.DOUBLE
--------------CP rmvar _Var316
--------------CP + _Var317.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var321.SCALAR.DOUBLE
--------------CP rmvar _Var317
--------------CP floor _Var320.SCALAR.DOUBLE.false _Var322.SCALAR.DOUBLE
--------------CP rmvar _Var320
--------------CP floor _Var321.SCALAR.DOUBLE.false _Var323.SCALAR.DOUBLE
--------------CP rmvar _Var321
--------------CP castvti _Var322.SCALAR.DOUBLE.false _Var324.SCALAR.INT
--------------CP rmvar _Var322
--------------CP castvti _Var323.SCALAR.DOUBLE.false _Var325.SCALAR.INT
--------------CP rmvar _Var323
--------------CP createvar _mVar326 
scratch_space//_p16266_9.108.91.12//_t0/temp134 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------CP relu_maxpooling _mVar313.MATRIX.DOUBLE 2.SCALAR.INT.true 
2.SCALAR.INT.true 0.SCALAR.INT.true 0.SCALAR.INT.true _Var319.SCALAR.INT.false 
64.SCALAR.INT.true _Var324.SCALAR.INT.false _Var325.SCALAR.INT.false 
1.SCALAR.INT.true 64.SCALAR.INT.true 2.SCALAR.INT.true 2.SCALAR.INT.true 
_mVar326.MATRIX.DOUBLE 8
--------------CP rmvar _Var319
--------------CP + _Var324.SCALAR.INT.false 0.SCALAR.INT.true _Var327.SCALAR.INT
--------------CP + _Var325.SCALAR.INT.false 0.SCALAR.INT.true _Var328.SCALAR.INT
--------------CP - _Var327.SCALAR.INT.false 2.SCALAR.INT.true _Var329.SCALAR.INT
--------------CP rmvar _Var327
--------------CP - _Var328.SCALAR.INT.false 2.SCALAR.INT.true _Var330.SCALAR.INT
--------------CP rmvar _Var328
--------------CP createvar _mVar331 
scratch_space//_p16266_9.108.91.12//_t0/temp135 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
--------------SPARK cpmm _mVar326.MATRIX.DOUBLE W3.MATRIX.DOUBLE 
_mVar331.MATRIX.DOUBLE MULTI_BLOCK
--------------CP / _Var329.SCALAR.INT.false 2.SCALAR.INT.true 
_Var332.SCALAR.DOUBLE
--------------CP rmvar _Var329
--------------CP / _Var330.SCALAR.INT.false 2.SCALAR.INT.true 
_Var333.SCALAR.DOUBLE
--------------CP rmvar _Var330
--------------CP createvar _mVar334 
scratch_space//_p16266_9.108.91.12//_t0/temp136 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
--------------SPARK + _mVar331.MATRIX.DOUBLE b3.MATRIX.DOUBLE 
_mVar334.MATRIX.DOUBLE
--------------CP rmvar _mVar331
--------------CP + _Var332.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var335.SCALAR.DOUBLE
--------------CP rmvar _Var332
--------------CP + _Var333.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var336.SCALAR.DOUBLE
--------------CP rmvar _Var333
--------------CP createvar _mVar337 
scratch_space//_p16266_9.108.91.12//_t0/temp137 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
--------------SPARK sel+ _mVar334.MATRIX.DOUBLE _mVar337.MATRIX.DOUBLE
--------------CP floor _Var335.SCALAR.DOUBLE.false _Var338.SCALAR.DOUBLE
--------------CP rmvar _Var335
--------------CP floor _Var336.SCALAR.DOUBLE.false _Var339.SCALAR.DOUBLE
--------------CP rmvar _Var336
--------------CP castvti _Var338.SCALAR.DOUBLE.false _Var340.SCALAR.INT
--------------CP rmvar _Var338
--------------CP castvti _Var339.SCALAR.DOUBLE.false _Var341.SCALAR.INT
--------------CP rmvar _Var339
--------------CP assignvar _Var288.SCALAR.INT.false Houtc1.SCALAR.INT
--------------CP assignvar _Var289.SCALAR.INT.false Woutc1.SCALAR.INT
--------------CP assignvar _Var308.SCALAR.INT.false Houtp1.SCALAR.INT
--------------CP assignvar _Var309.SCALAR.INT.false Woutp1.SCALAR.INT
--------------CP assignvar _Var324.SCALAR.INT.false Houtc2.SCALAR.INT
--------------CP assignvar _Var325.SCALAR.INT.false Woutc2.SCALAR.INT
--------------CP assignvar _Var340.SCALAR.INT.false Houtp2.SCALAR.INT
--------------CP assignvar _Var341.SCALAR.INT.false Woutp2.SCALAR.INT
--------------CP rmvar _Var288 _Var289
--------------CP cpvar _mVar293 X_batch
--------------CP cpvar _mVar294 y_batch
--------------CP cpvar _mVar300 outc1
--------------CP cpvar _mVar303 outr1
--------------CP rmvar _Var308 _Var309
--------------CP cpvar _mVar307 outp1
--------------CP cpvar _mVar313 outc2
--------------CP cpvar _mVar318 outr2
--------------CP rmvar _Var324 _Var325
--------------CP cpvar _mVar326 outp2
--------------CP cpvar _mVar334 outa3
--------------CP cpvar _mVar337 outr3
--------------CP rmvar _Var340 _Var341 _mVar293 _mVar294 _mVar300 _mVar303 
_mVar307 _mVar313 _mVar318 _mVar326 _mVar334 _mVar337
------------GENERIC (lines 163-163) [recompile=true]
--------------CP extfunct ./nn/layers/dropout.dml forward 3 2 
outr3.MATRIX.DOUBLE 0.5.SCALAR.DOUBLE.true -1.SCALAR.INT.true outd3 maskd3
------------GENERIC (lines 165-181) [recompile=true]
--------------CP createvar _mVar342 
scratch_space//_p16266_9.108.91.12//_t0/temp138 true MATRIX binaryblock 512 -1 
1000 1000 -1 copy
--------------SPARK r' outr3.MATRIX.DOUBLE _mVar342.MATRIX.DOUBLE
--------------CP nrow y_batch.MATRIX.DOUBLE.false _Var343.SCALAR.INT
--------------CP createvar _mVar344 
scratch_space//_p16266_9.108.91.12//_t0/temp139 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK - 0.SCALAR.INT.true y_batch.MATRIX.DOUBLE 
_mVar344.MATRIX.DOUBLE
--------------CP createvar _mVar345 
scratch_space//_p16266_9.108.91.12//_t0/temp140 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK mapmm outd3.MATRIX.DOUBLE W4.MATRIX.DOUBLE 
_mVar345.MATRIX.DOUBLE RIGHT true NONE
--------------CP createvar _mVar346 
scratch_space//_p16266_9.108.91.12//_t0/temp141 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK r' outp2.MATRIX.DOUBLE _mVar346.MATRIX.DOUBLE
--------------CP createvar _mVar347 
scratch_space//_p16266_9.108.91.12//_t0/temp142 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
--------------SPARK > outa3.MATRIX.DOUBLE 0.SCALAR.INT.true 
_mVar347.MATRIX.DOUBLE
--------------CP createvar _mVar348 
scratch_space//_p16266_9.108.91.12//_t0/temp143 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
--------------SPARK / maskd3.MATRIX.DOUBLE 0.5.SCALAR.DOUBLE.true 
_mVar348.MATRIX.DOUBLE
--------------CP createvar _mVar349 
scratch_space//_p16266_9.108.91.12//_t0/temp144 true MATRIX binaryblock 10 512 
1000 1000 -1 copy
--------------CP r' W4.MATRIX.DOUBLE _mVar349.MATRIX.DOUBLE 8
--------------CP createvar _mVar350 
scratch_space//_p16266_9.108.91.12//_t0/temp145 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK > outc2.MATRIX.DOUBLE 0.SCALAR.INT.true 
_mVar350.MATRIX.DOUBLE
--------------CP createvar _mVar351 
scratch_space//_p16266_9.108.91.12//_t0/temp146 true MATRIX binaryblock 512 -1 
1000 1000 -1 copy
--------------SPARK r' W3.MATRIX.DOUBLE _mVar351.MATRIX.DOUBLE
--------------CP nrow outr2.MATRIX.DOUBLE.false _Var352.SCALAR.INT
--------------CP / 1.SCALAR.INT.true _Var343.SCALAR.INT.false 
_Var353.SCALAR.DOUBLE
--------------CP rmvar _Var343
--------------CP createvar _mVar354 
scratch_space//_p16266_9.108.91.12//_t0/temp147 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK + _mVar345.MATRIX.DOUBLE b4.MATRIX.DOUBLE 
_mVar354.MATRIX.DOUBLE
--------------CP rmvar _mVar345
--------------CP createvar _mVar355 
scratch_space//_p16266_9.108.91.12//_t0/temp148 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
--------------SPARK * _mVar347.MATRIX.DOUBLE _mVar348.MATRIX.DOUBLE 
_mVar355.MATRIX.DOUBLE
--------------CP createvar _mVar356 
scratch_space//_p16266_9.108.91.12//_t0/temp149 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK * _Var353.SCALAR.DOUBLE.false _mVar344.MATRIX.DOUBLE 
_mVar356.MATRIX.DOUBLE
--------------CP rmvar _Var353 _mVar344
--------------CP createvar _mVar357 
scratch_space//_p16266_9.108.91.12//_t0/temp150 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK binuaggchain - uarmax _mVar354.MATRIX.DOUBLE 
_mVar357.MATRIX.DOUBLE
--------------CP rmvar _mVar354
--------------CP createvar _mVar358 
scratch_space//_p16266_9.108.91.12//_t0/temp151 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK exp _mVar357.MATRIX.DOUBLE _mVar358.MATRIX.DOUBLE
--------------CP rmvar _mVar357
--------------CP createvar _mVar359 
scratch_space//_p16266_9.108.91.12//_t0/temp152 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK binuaggchain / uark+ _mVar358.MATRIX.DOUBLE 
_mVar359.MATRIX.DOUBLE
--------------CP rmvar _mVar358
--------------CP createvar _mVar360 
scratch_space//_p16266_9.108.91.12//_t0/temp153 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK + _mVar359.MATRIX.DOUBLE 1.0E-10.SCALAR.DOUBLE.true 
_mVar360.MATRIX.DOUBLE
--------------CP createvar _mVar361 
scratch_space//_p16266_9.108.91.12//_t0/temp154 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK / 1.SCALAR.INT.true _mVar360.MATRIX.DOUBLE 
_mVar361.MATRIX.DOUBLE
--------------CP rmvar _mVar360
--------------CP createvar _mVar362 
scratch_space//_p16266_9.108.91.12//_t0/temp155 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK * _mVar356.MATRIX.DOUBLE _mVar361.MATRIX.DOUBLE 
_mVar362.MATRIX.DOUBLE
--------------CP rmvar _mVar356 _mVar361
--------------CP createvar _mVar363 
scratch_space//_p16266_9.108.91.12//_t0/temp156 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK * _mVar362.MATRIX.DOUBLE _mVar359.MATRIX.DOUBLE 
_mVar363.MATRIX.DOUBLE
--------------CP rmvar _mVar362
--------------CP createvar _mVar364 
scratch_space//_p16266_9.108.91.12//_t0/temp157 true MATRIX binaryblock -1 1 
1000 1000 -1 copy
--------------SPARK uark+ _mVar363.MATRIX.DOUBLE _mVar364.MATRIX.DOUBLE NONE
--------------CP createvar _mVar365 
scratch_space//_p16266_9.108.91.12//_t0/temp158 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK * _mVar359.MATRIX.DOUBLE _mVar364.MATRIX.DOUBLE 
_mVar365.MATRIX.DOUBLE
--------------CP rmvar _mVar359 _mVar364
--------------CP createvar _mVar366 
scratch_space//_p16266_9.108.91.12//_t0/temp159 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK - _mVar363.MATRIX.DOUBLE _mVar365.MATRIX.DOUBLE 
_mVar366.MATRIX.DOUBLE
--------------CP rmvar _mVar363 _mVar365
--------------CP createvar _mVar367 
scratch_space//_p16266_9.108.91.12//_t0/temp160 true MATRIX binaryblock 512 10 
1000 1000 -1 copy
--------------SPARK cpmm _mVar342.MATRIX.DOUBLE _mVar366.MATRIX.DOUBLE 
_mVar367.MATRIX.DOUBLE SINGLE_BLOCK
--------------CP rmvar _mVar342
--------------CP createvar _mVar368 
scratch_space//_p16266_9.108.91.12//_t0/temp161 true MATRIX binaryblock 1 10 
1000 1000 -1 copy
--------------SPARK uack+ _mVar366.MATRIX.DOUBLE _mVar368.MATRIX.DOUBLE 
SINGLE_BLOCK
--------------CP createvar _mVar369 
scratch_space//_p16266_9.108.91.12//_t0/temp162 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
--------------SPARK mapmm _mVar366.MATRIX.DOUBLE _mVar349.MATRIX.DOUBLE 
_mVar369.MATRIX.DOUBLE RIGHT true NONE
--------------CP rmvar _mVar366 _mVar349
--------------CP createvar _mVar370 
scratch_space//_p16266_9.108.91.12//_t0/temp163 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
--------------SPARK * _mVar355.MATRIX.DOUBLE _mVar369.MATRIX.DOUBLE 
_mVar370.MATRIX.DOUBLE
--------------CP rmvar _mVar355
--------------CP createvar _mVar371 
scratch_space//_p16266_9.108.91.12//_t0/temp164 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
--------------SPARK * _mVar348.MATRIX.DOUBLE _mVar369.MATRIX.DOUBLE 
_mVar371.MATRIX.DOUBLE
--------------CP rmvar _mVar348 _mVar369
--------------CP createvar _mVar372 
scratch_space//_p16266_9.108.91.12//_t0/temp165 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
--------------SPARK cpmm _mVar346.MATRIX.DOUBLE _mVar370.MATRIX.DOUBLE 
_mVar372.MATRIX.DOUBLE MULTI_BLOCK
--------------CP rmvar _mVar346
--------------CP createvar _mVar373 
scratch_space//_p16266_9.108.91.12//_t0/temp166 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
--------------SPARK * _mVar347.MATRIX.DOUBLE _mVar371.MATRIX.DOUBLE 
_mVar373.MATRIX.DOUBLE
--------------CP rmvar _mVar347 _mVar371
--------------CP createvar _mVar374 
scratch_space//_p16266_9.108.91.12//_t0/temp167 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK cpmm _mVar370.MATRIX.DOUBLE _mVar351.MATRIX.DOUBLE 
_mVar374.MATRIX.DOUBLE MULTI_BLOCK
--------------CP rmvar _mVar370 _mVar351
--------------CP createvar _mVar375 
scratch_space//_p16266_9.108.91.12//_t0/temp168 true MATRIX binaryblock 1 512 
1000 1000 -1 copy
--------------SPARK uack+ _mVar373.MATRIX.DOUBLE _mVar375.MATRIX.DOUBLE 
SINGLE_BLOCK
--------------CP rmvar _mVar373
--------------CP createvar _mVar376 
scratch_space//_p16266_9.108.91.12//_t0/temp169 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------CP maxpooling_backward outr2.MATRIX.DOUBLE _mVar374.MATRIX.DOUBLE 
2.SCALAR.INT.true 2.SCALAR.INT.true 0.SCALAR.INT.true 0.SCALAR.INT.true 
_Var352.SCALAR.INT.false 64.SCALAR.INT.true Houtc2.SCALAR.INT.false 
Woutc2.SCALAR.INT.false 1.SCALAR.INT.true 64.SCALAR.INT.true 2.SCALAR.INT.true 
2.SCALAR.INT.true _mVar376.MATRIX.DOUBLE 8
--------------CP rmvar _mVar374 _Var352
--------------CP createvar _mVar377 
scratch_space//_p16266_9.108.91.12//_t0/temp170 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK * _mVar350.MATRIX.DOUBLE _mVar376.MATRIX.DOUBLE 
_mVar377.MATRIX.DOUBLE
--------------CP rmvar _mVar350 _mVar376
--------------CP cpvar _mVar367 dW4
--------------CP cpvar _mVar368 db4
--------------CP cpvar _mVar372 dW3
--------------CP cpvar _mVar375 db3
--------------CP cpvar _mVar377 doutc2
--------------CP rmvar _mVar367 _mVar368 _mVar372 _mVar375 _mVar377 outa3 outr3 
outr2 outc2 maskd3 outp2 outd3 Woutp2 y_batch Houtp2
------------GENERIC (lines 182-183) [recompile=true]
--------------CP nrow outp1.MATRIX.DOUBLE.false _Var378.SCALAR.INT
--------------CP createvar _mVar379 
scratch_space//_p16266_9.108.91.12//_t0/temp171 true MATRIX binaryblock 1 -1 
1000 1000 -1 copy
--------------SPARK uack+ doutc2.MATRIX.DOUBLE _mVar379.MATRIX.DOUBLE 
MULTI_BLOCK
--------------CP * Houtc2.SCALAR.INT.false Woutc2.SCALAR.INT.false 
_Var380.SCALAR.INT
--------------CP createvar _mVar381 
scratch_space//_p16266_9.108.91.12//_t0/temp172 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------CP conv2d_backward_data W2.MATRIX.DOUBLE doutc2.MATRIX.DOUBLE 
1.SCALAR.INT.true 1.SCALAR.INT.true 2.SCALAR.INT.true 2.SCALAR.INT.true 
_Var378.SCALAR.INT.false 32.SCALAR.INT.true Houtp1.SCALAR.INT.false 
Woutp1.SCALAR.INT.false 64.SCALAR.INT.true 32.SCALAR.INT.true 5.SCALAR.INT.true 
5.SCALAR.INT.true _mVar381.MATRIX.DOUBLE 8
--------------CP createvar _mVar382 
scratch_space//_p16266_9.108.91.12//_t0/temp173 true MATRIX binaryblock 64 800 
1000 1000 -1 copy
--------------CP conv2d_backward_filter outp1.MATRIX.DOUBLE 
doutc2.MATRIX.DOUBLE 1.SCALAR.INT.true 1.SCALAR.INT.true 2.SCALAR.INT.true 
2.SCALAR.INT.true _Var378.SCALAR.INT.false 32.SCALAR.INT.true 
Houtp1.SCALAR.INT.false Woutp1.SCALAR.INT.false 64.SCALAR.INT.true 
32.SCALAR.INT.true 5.SCALAR.INT.true 5.SCALAR.INT.true _mVar382.MATRIX.DOUBLE 8
--------------CP rmvar _Var378
--------------CP createvar _mVar383 
scratch_space//_p16266_9.108.91.12//_t0/temp174 true MATRIX binaryblock 64 -1 
1000 1000 -1 copy
--------------SPARK rshape _mVar379.MATRIX.DOUBLE 64.SCALAR.INT.true 
_Var380.SCALAR.INT.false true.SCALAR.BOOLEAN.true _mVar383.MATRIX.DOUBLE
--------------CP rmvar _mVar379 _Var380
--------------CP createvar _mVar384 
scratch_space//_p16266_9.108.91.12//_t0/temp175 true MATRIX binaryblock 64 1 
1000 1000 -1 copy
--------------SPARK uark+ _mVar383.MATRIX.DOUBLE _mVar384.MATRIX.DOUBLE 
SINGLE_BLOCK
--------------CP rmvar _mVar383
--------------CP cpvar _mVar381 doutp1
--------------CP cpvar _mVar382 dW2
--------------CP cpvar _mVar384 db2
--------------CP rmvar _mVar381 _mVar382 _mVar384 Houtc2 Woutc2 outp1 doutc2
------------GENERIC (lines 185-187) [recompile=true]
--------------CP createvar _mVar385 
scratch_space//_p16266_9.108.91.12//_t0/temp176 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK > outc1.MATRIX.DOUBLE 0.SCALAR.INT.true 
_mVar385.MATRIX.DOUBLE
--------------CP nrow outr1.MATRIX.DOUBLE.false _Var386.SCALAR.INT
--------------CP createvar _mVar387 
scratch_space//_p16266_9.108.91.12//_t0/temp177 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------CP maxpooling_backward outr1.MATRIX.DOUBLE doutp1.MATRIX.DOUBLE 
2.SCALAR.INT.true 2.SCALAR.INT.true 0.SCALAR.INT.true 0.SCALAR.INT.true 
_Var386.SCALAR.INT.false 32.SCALAR.INT.true Houtc1.SCALAR.INT.false 
Woutc1.SCALAR.INT.false 1.SCALAR.INT.true 32.SCALAR.INT.true 2.SCALAR.INT.true 
2.SCALAR.INT.true _mVar387.MATRIX.DOUBLE 8
--------------CP rmvar _Var386
--------------CP createvar _mVar388 
scratch_space//_p16266_9.108.91.12//_t0/temp178 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK * _mVar385.MATRIX.DOUBLE _mVar387.MATRIX.DOUBLE 
_mVar388.MATRIX.DOUBLE
--------------CP rmvar _mVar385 _mVar387
--------------CP cpvar _mVar388 doutc1
--------------CP rmvar _mVar388 outr1 outc1 Woutp1 doutp1 Houtp1
------------GENERIC (lines 188-189) [recompile=true]
--------------CP nrow X_batch.MATRIX.DOUBLE.false _Var389.SCALAR.INT
--------------CP createvar _mVar390 
scratch_space//_p16266_9.108.91.12//_t0/temp179 true MATRIX binaryblock 1 -1 
1000 1000 -1 copy
--------------SPARK uack+ doutc1.MATRIX.DOUBLE _mVar390.MATRIX.DOUBLE 
MULTI_BLOCK
--------------CP * Houtc1.SCALAR.INT.false Woutc1.SCALAR.INT.false 
_Var391.SCALAR.INT
--------------CP createvar _mVar392 
scratch_space//_p16266_9.108.91.12//_t0/temp180 true MATRIX binaryblock 32 -1 
1000 1000 -1 copy
--------------CP conv2d_backward_filter X_batch.MATRIX.DOUBLE 
doutc1.MATRIX.DOUBLE 1.SCALAR.INT.true 1.SCALAR.INT.true 2.SCALAR.INT.true 
2.SCALAR.INT.true _Var389.SCALAR.INT.false C.SCALAR.INT.false 
Hin.SCALAR.INT.false Win.SCALAR.INT.false 32.SCALAR.INT.true C.SCALAR.INT.false 
5.SCALAR.INT.true 5.SCALAR.INT.true _mVar392.MATRIX.DOUBLE 8
--------------CP rmvar _Var389
--------------CP createvar _mVar393 
scratch_space//_p16266_9.108.91.12//_t0/temp181 true MATRIX binaryblock 32 -1 
1000 1000 -1 copy
--------------SPARK rshape _mVar390.MATRIX.DOUBLE 32.SCALAR.INT.true 
_Var391.SCALAR.INT.false true.SCALAR.BOOLEAN.true _mVar393.MATRIX.DOUBLE
--------------CP rmvar _mVar390 _Var391
--------------CP createvar _mVar394 
scratch_space//_p16266_9.108.91.12//_t0/temp182 true MATRIX binaryblock 32 1 
1000 1000 -1 copy
--------------SPARK uark+ _mVar393.MATRIX.DOUBLE _mVar394.MATRIX.DOUBLE 
SINGLE_BLOCK
--------------CP rmvar _mVar393
--------------CP cpvar _mVar392 dW1
--------------CP cpvar _mVar394 db1
--------------CP rmvar _mVar392 _mVar394 Houtc1 Woutc1 doutc1
------------GENERIC (lines 192-212) [recompile=true]
--------------CP createvar _mVar395 
scratch_space//_p16266_9.108.91.12//_t0/temp183 true MATRIX binaryblock 32 -1 
1000 1000 -1 copy
--------------SPARK +* dW1.MATRIX.DOUBLE 5.0E-4.SCALAR.DOUBLE.true 
W1.MATRIX.DOUBLE _mVar395.MATRIX.DOUBLE
--------------CP ncol W1.MATRIX.DOUBLE.false _Var396.SCALAR.INT
--------------CP nrow X_batch.MATRIX.DOUBLE.false _Var397.SCALAR.INT
--------------CP nrow X_group_batch.MATRIX.DOUBLE.false _Var398.SCALAR.INT
--------------CP ncol dW1_agg.MATRIX.DOUBLE.false _Var399.SCALAR.INT
--------------CP createvar _mVar400 
scratch_space//_p16266_9.108.91.12//_t0/temp184 true MATRIX binaryblock 64 800 
1000 1000 -1 copy
--------------CP +* dW2.MATRIX.DOUBLE 5.0E-4.SCALAR.DOUBLE.true 
W2.MATRIX.DOUBLE _mVar400.MATRIX.DOUBLE
--------------CP * 64.SCALAR.INT.true 800.SCALAR.INT.true _Var401.SCALAR.INT
--------------CP createvar _mVar402 
scratch_space//_p16266_9.108.91.12//_t0/temp185 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
--------------SPARK +* dW3.MATRIX.DOUBLE 5.0E-4.SCALAR.DOUBLE.true 
W3.MATRIX.DOUBLE _mVar402.MATRIX.DOUBLE
--------------CP nrow W3.MATRIX.DOUBLE.false _Var403.SCALAR.INT
--------------CP ncol dW3_agg.MATRIX.DOUBLE.false _Var404.SCALAR.INT
--------------CP createvar _mVar405 
scratch_space//_p16266_9.108.91.12//_t0/temp186 true MATRIX binaryblock 512 10 
1000 1000 -1 copy
--------------CP +* dW4.MATRIX.DOUBLE 5.0E-4.SCALAR.DOUBLE.true 
W4.MATRIX.DOUBLE _mVar405.MATRIX.DOUBLE
--------------CP * 512.SCALAR.INT.true 10.SCALAR.INT.true _Var406.SCALAR.INT
--------------CP * 32.SCALAR.INT.true 1.SCALAR.INT.true _Var407.SCALAR.INT
--------------CP * 64.SCALAR.INT.true 1.SCALAR.INT.true _Var408.SCALAR.INT
--------------CP * 32.SCALAR.INT.true _Var396.SCALAR.INT.false 
_Var409.SCALAR.INT
--------------CP rmvar _Var396
--------------CP / _Var397.SCALAR.INT.false _Var398.SCALAR.INT.false 
_Var410.SCALAR.DOUBLE
--------------CP rmvar _Var397 _Var398
--------------CP createvar _mVar411 
scratch_space//_p16266_9.108.91.12//_t0/temp187 true MATRIX binaryblock 1 51200 
1000 1000 -1 copy
--------------CP rshape _mVar400.MATRIX.DOUBLE 1.SCALAR.INT.true 
_Var401.SCALAR.INT.false true.SCALAR.BOOLEAN.true _mVar411.MATRIX.DOUBLE
--------------CP rmvar _mVar400 _Var401
--------------CP * _Var403.SCALAR.INT.false 512.SCALAR.INT.true 
_Var412.SCALAR.INT
--------------CP rmvar _Var403
--------------CP createvar _mVar413 
scratch_space//_p16266_9.108.91.12//_t0/temp188 true MATRIX binaryblock 1 5120 
1000 1000 -1 copy
--------------CP rshape _mVar405.MATRIX.DOUBLE 1.SCALAR.INT.true 
_Var406.SCALAR.INT.false true.SCALAR.BOOLEAN.true _mVar413.MATRIX.DOUBLE
--------------CP rmvar _mVar405 _Var406
--------------CP createvar _mVar414 
scratch_space//_p16266_9.108.91.12//_t0/temp189 true MATRIX binaryblock 1 32 
1000 1000 -1 copy
--------------CP rshape db1.MATRIX.DOUBLE 1.SCALAR.INT.true 
_Var407.SCALAR.INT.false true.SCALAR.BOOLEAN.true _mVar414.MATRIX.DOUBLE
--------------CP rmvar _Var407
--------------CP createvar _mVar415 
scratch_space//_p16266_9.108.91.12//_t0/temp190 true MATRIX binaryblock 1 64 
1000 1000 -1 copy
--------------CP rshape db2.MATRIX.DOUBLE 1.SCALAR.INT.true 
_Var408.SCALAR.INT.false true.SCALAR.BOOLEAN.true _mVar415.MATRIX.DOUBLE
--------------CP rmvar _Var408
--------------CP createvar _mVar416 
scratch_space//_p16266_9.108.91.12//_t0/temp191 true MATRIX binaryblock 1 -1 
1000 1000 -1 copy
--------------SPARK rshape _mVar395.MATRIX.DOUBLE 1.SCALAR.INT.true 
_Var409.SCALAR.INT.false true.SCALAR.BOOLEAN.true _mVar416.MATRIX.DOUBLE
--------------CP rmvar _mVar395 _Var409
--------------CP createvar _mVar417 
scratch_space//_p16266_9.108.91.12//_t0/temp192 true MATRIX binaryblock 1 51200 
1000 1000 -1 copy
--------------CP * _mVar411.MATRIX.DOUBLE _Var410.SCALAR.DOUBLE.false 
_mVar417.MATRIX.DOUBLE
--------------CP rmvar _mVar411
--------------CP createvar _mVar418 
scratch_space//_p16266_9.108.91.12//_t0/temp193 true MATRIX binaryblock 1 -1 
1000 1000 -1 copy
--------------SPARK rshape _mVar402.MATRIX.DOUBLE 1.SCALAR.INT.true 
_Var412.SCALAR.INT.false true.SCALAR.BOOLEAN.true _mVar418.MATRIX.DOUBLE
--------------CP rmvar _mVar402 _Var412
--------------CP createvar _mVar419 
scratch_space//_p16266_9.108.91.12//_t0/temp194 true MATRIX binaryblock 1 5120 
1000 1000 -1 copy
--------------CP * _mVar413.MATRIX.DOUBLE _Var410.SCALAR.DOUBLE.false 
_mVar419.MATRIX.DOUBLE
--------------CP rmvar _mVar413
--------------CP createvar _mVar420 
scratch_space//_p16266_9.108.91.12//_t0/temp195 true MATRIX binaryblock 1 32 
1000 1000 -1 copy
--------------CP * _mVar414.MATRIX.DOUBLE _Var410.SCALAR.DOUBLE.false 
_mVar420.MATRIX.DOUBLE
--------------CP rmvar _mVar414
--------------CP createvar _mVar421 
scratch_space//_p16266_9.108.91.12//_t0/temp196 true MATRIX binaryblock 1 64 
1000 1000 -1 copy
--------------CP * _mVar415.MATRIX.DOUBLE _Var410.SCALAR.DOUBLE.false 
_mVar421.MATRIX.DOUBLE
--------------CP rmvar _mVar415
--------------CP createvar _mVar422 
scratch_space//_p16266_9.108.91.12//_t0/temp197 true MATRIX binaryblock 1 512 
1000 1000 -1 copy
--------------CP * db3.MATRIX.DOUBLE _Var410.SCALAR.DOUBLE.false 
_mVar422.MATRIX.DOUBLE
--------------CP createvar _mVar423 
scratch_space//_p16266_9.108.91.12//_t0/temp198 true MATRIX binaryblock 1 10 
1000 1000 -1 copy
--------------CP * db4.MATRIX.DOUBLE _Var410.SCALAR.DOUBLE.false 
_mVar423.MATRIX.DOUBLE
--------------CP createvar _mVar424 
scratch_space//_p16266_9.108.91.12//_t0/temp199 true MATRIX binaryblock 1 -1 
1000 1000 -1 copy
--------------SPARK * _mVar416.MATRIX.DOUBLE _Var410.SCALAR.DOUBLE.false 
_mVar424.MATRIX.DOUBLE
--------------CP rmvar _mVar416
--------------CP createvar _mVar425 
scratch_space//_p16266_9.108.91.12//_t0/temp200 true MATRIX binaryblock -1 
51200 1000 1000 -1 copy
--------------SPARK mapLeftIndex dW2_agg.MATRIX.DOUBLE _mVar417.MATRIX.DOUBLE 
j.SCALAR.INT.false j.SCALAR.INT.false 1.SCALAR.INT.true 51200.SCALAR.INT.true 
_mVar425.MATRIX.DOUBLE RIGHT
--------------CP rmvar _mVar417
--------------CP createvar _mVar426 
scratch_space//_p16266_9.108.91.12//_t0/temp201 true MATRIX binaryblock 1 -1 
1000 1000 -1 copy
--------------SPARK * _mVar418.MATRIX.DOUBLE _Var410.SCALAR.DOUBLE.false 
_mVar426.MATRIX.DOUBLE
--------------CP rmvar _mVar418 _Var410
--------------CP createvar _mVar427 
scratch_space//_p16266_9.108.91.12//_t0/temp202 true MATRIX binaryblock -1 5120 
1000 1000 -1 copy
--------------SPARK mapLeftIndex dW4_agg.MATRIX.DOUBLE _mVar419.MATRIX.DOUBLE 
j.SCALAR.INT.false j.SCALAR.INT.false 1.SCALAR.INT.true 5120.SCALAR.INT.true 
_mVar427.MATRIX.DOUBLE RIGHT
--------------CP rmvar _mVar419
--------------CP createvar _mVar428 
scratch_space//_p16266_9.108.91.12//_t0/temp203 true MATRIX binaryblock -1 32 
1000 1000 -1 copy
--------------SPARK mapLeftIndex db1_agg.MATRIX.DOUBLE _mVar420.MATRIX.DOUBLE 
j.SCALAR.INT.false j.SCALAR.INT.false 1.SCALAR.INT.true 32.SCALAR.INT.true 
_mVar428.MATRIX.DOUBLE RIGHT
--------------CP rmvar _mVar420
--------------CP createvar _mVar429 
scratch_space//_p16266_9.108.91.12//_t0/temp204 true MATRIX binaryblock -1 64 
1000 1000 -1 copy
--------------SPARK mapLeftIndex db2_agg.MATRIX.DOUBLE _mVar421.MATRIX.DOUBLE 
j.SCALAR.INT.false j.SCALAR.INT.false 1.SCALAR.INT.true 64.SCALAR.INT.true 
_mVar429.MATRIX.DOUBLE RIGHT
--------------CP rmvar _mVar421
--------------CP createvar _mVar430 
scratch_space//_p16266_9.108.91.12//_t0/temp205 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
--------------SPARK mapLeftIndex db3_agg.MATRIX.DOUBLE _mVar422.MATRIX.DOUBLE 
j.SCALAR.INT.false j.SCALAR.INT.false 1.SCALAR.INT.true 512.SCALAR.INT.true 
_mVar430.MATRIX.DOUBLE RIGHT
--------------CP rmvar _mVar422
--------------CP createvar _mVar431 
scratch_space//_p16266_9.108.91.12//_t0/temp206 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK mapLeftIndex db4_agg.MATRIX.DOUBLE _mVar423.MATRIX.DOUBLE 
j.SCALAR.INT.false j.SCALAR.INT.false 1.SCALAR.INT.true 10.SCALAR.INT.true 
_mVar431.MATRIX.DOUBLE RIGHT
--------------CP rmvar _mVar423
--------------CP createvar _mVar432 
scratch_space//_p16266_9.108.91.12//_t0/temp207 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK leftIndex dW1_agg.MATRIX.DOUBLE _mVar424.MATRIX.DOUBLE 
j.SCALAR.INT.false j.SCALAR.INT.false 1.SCALAR.INT.true 
_Var399.SCALAR.INT.false _mVar432.MATRIX.DOUBLE NONE
--------------CP rmvar _mVar424 _Var399
--------------CP createvar _mVar433 
scratch_space//_p16266_9.108.91.12//_t0/temp208 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK leftIndex dW3_agg.MATRIX.DOUBLE _mVar426.MATRIX.DOUBLE 
j.SCALAR.INT.false j.SCALAR.INT.false 1.SCALAR.INT.true 
_Var404.SCALAR.INT.false _mVar433.MATRIX.DOUBLE NONE
--------------CP rmvar _mVar426 _Var404 db2_agg db3_agg dW3_agg dW2_agg dW1_agg 
db4_agg db1_agg dW4_agg
--------------CP cpvar _mVar425 dW2_agg
--------------CP cpvar _mVar427 dW4_agg
--------------CP cpvar _mVar428 db1_agg
--------------CP cpvar _mVar429 db2_agg
--------------CP cpvar _mVar430 db3_agg
--------------CP cpvar _mVar431 db4_agg
--------------CP cpvar _mVar432 dW1_agg
--------------CP cpvar _mVar433 dW3_agg
--------------CP rmvar _mVar425 _mVar427 _mVar428 _mVar429 _mVar430 _mVar431 
_mVar432 _mVar433 dW2 dW1 dW4 dW3 X_batch db1 db3 db2 db4
----------GENERIC (lines 219-236) [recompile=true]
------------CP createvar _mVar434 
scratch_space//_p16266_9.108.91.12//_t0/temp209 true MATRIX binaryblock 32 -1 
1000 1000 -1 copy
------------SPARK * 0.9.SCALAR.DOUBLE.true vW1.MATRIX.DOUBLE 
_mVar434.MATRIX.DOUBLE
------------CP createvar _mVar435 
scratch_space//_p16266_9.108.91.12//_t0/temp210 true MATRIX binaryblock 1 -1 
1000 1000 -1 copy
------------SPARK uack+ dW1_agg.MATRIX.DOUBLE _mVar435.MATRIX.DOUBLE MULTI_BLOCK
------------CP ncol W1.MATRIX.DOUBLE.false _Var436.SCALAR.INT
------------CP createvar _mVar437 
scratch_space//_p16266_9.108.91.12//_t0/temp211 true MATRIX binaryblock 64 800 
1000 1000 -1 copy
------------CP * 0.9.SCALAR.DOUBLE.true vW2.MATRIX.DOUBLE _mVar437.MATRIX.DOUBLE
------------CP createvar _mVar438 
scratch_space//_p16266_9.108.91.12//_t0/temp212 true MATRIX binaryblock 1 51200 
1000 1000 -1 copy
------------SPARK uack+ dW2_agg.MATRIX.DOUBLE _mVar438.MATRIX.DOUBLE MULTI_BLOCK
------------CP createvar _mVar439 
scratch_space//_p16266_9.108.91.12//_t0/temp213 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
------------SPARK * 0.9.SCALAR.DOUBLE.true vW3.MATRIX.DOUBLE 
_mVar439.MATRIX.DOUBLE
------------CP createvar _mVar440 
scratch_space//_p16266_9.108.91.12//_t0/temp214 true MATRIX binaryblock 1 -1 
1000 1000 -1 copy
------------SPARK uack+ dW3_agg.MATRIX.DOUBLE _mVar440.MATRIX.DOUBLE MULTI_BLOCK
------------CP nrow W3.MATRIX.DOUBLE.false _Var441.SCALAR.INT
------------CP createvar _mVar442 
scratch_space//_p16266_9.108.91.12//_t0/temp215 true MATRIX binaryblock 512 10 
1000 1000 -1 copy
------------CP * 0.9.SCALAR.DOUBLE.true vW4.MATRIX.DOUBLE _mVar442.MATRIX.DOUBLE
------------CP createvar _mVar443 
scratch_space//_p16266_9.108.91.12//_t0/temp216 true MATRIX binaryblock 1 5120 
1000 1000 -1 copy
------------SPARK uack+ dW4_agg.MATRIX.DOUBLE _mVar443.MATRIX.DOUBLE MULTI_BLOCK
------------CP createvar _mVar444 
scratch_space//_p16266_9.108.91.12//_t0/temp217 true MATRIX binaryblock 32 1 
1000 1000 -1 copy
------------CP * 0.9.SCALAR.DOUBLE.true vb1.MATRIX.DOUBLE _mVar444.MATRIX.DOUBLE
------------CP createvar _mVar445 
scratch_space//_p16266_9.108.91.12//_t0/temp218 true MATRIX binaryblock 1 32 
1000 1000 -1 copy
------------SPARK uack+ db1_agg.MATRIX.DOUBLE _mVar445.MATRIX.DOUBLE 
SINGLE_BLOCK
------------CP createvar _mVar446 
scratch_space//_p16266_9.108.91.12//_t0/temp219 true MATRIX binaryblock 64 1 
1000 1000 -1 copy
------------CP * 0.9.SCALAR.DOUBLE.true vb2.MATRIX.DOUBLE _mVar446.MATRIX.DOUBLE
------------CP createvar _mVar447 
scratch_space//_p16266_9.108.91.12//_t0/temp220 true MATRIX binaryblock 1 64 
1000 1000 -1 copy
------------SPARK uack+ db2_agg.MATRIX.DOUBLE _mVar447.MATRIX.DOUBLE 
SINGLE_BLOCK
------------CP createvar _mVar448 
scratch_space//_p16266_9.108.91.12//_t0/temp221 true MATRIX binaryblock 1 512 
1000 1000 -1 copy
------------CP * 0.9.SCALAR.DOUBLE.true vb3.MATRIX.DOUBLE _mVar448.MATRIX.DOUBLE
------------CP createvar _mVar449 
scratch_space//_p16266_9.108.91.12//_t0/temp222 true MATRIX binaryblock 1 512 
1000 1000 -1 copy
------------SPARK uack+ db3_agg.MATRIX.DOUBLE _mVar449.MATRIX.DOUBLE 
SINGLE_BLOCK
------------CP createvar _mVar450 
scratch_space//_p16266_9.108.91.12//_t0/temp223 true MATRIX binaryblock 1 10 
1000 1000 -1 copy
------------CP * 0.9.SCALAR.DOUBLE.true vb4.MATRIX.DOUBLE _mVar450.MATRIX.DOUBLE
------------CP createvar _mVar451 
scratch_space//_p16266_9.108.91.12//_t0/temp224 true MATRIX binaryblock 1 10 
1000 1000 -1 copy
------------SPARK uack+ db4_agg.MATRIX.DOUBLE _mVar451.MATRIX.DOUBLE 
SINGLE_BLOCK
------------CP createvar _mVar452 
scratch_space//_p16266_9.108.91.12//_t0/temp225 true MATRIX binaryblock 32 -1 
1000 1000 -1 copy
------------SPARK - W1.MATRIX.DOUBLE _mVar434.MATRIX.DOUBLE 
_mVar452.MATRIX.DOUBLE
------------CP createvar _mVar453 
scratch_space//_p16266_9.108.91.12//_t0/temp226 true MATRIX binaryblock 32 -1 
1000 1000 -1 copy
------------SPARK rshape _mVar435.MATRIX.DOUBLE 32.SCALAR.INT.true 
_Var436.SCALAR.INT.false true.SCALAR.BOOLEAN.true _mVar453.MATRIX.DOUBLE
------------CP rmvar _mVar435 _Var436
------------CP createvar _mVar454 
scratch_space//_p16266_9.108.91.12//_t0/temp227 true MATRIX binaryblock 64 800 
1000 1000 -1 copy
------------CP - W2.MATRIX.DOUBLE _mVar437.MATRIX.DOUBLE _mVar454.MATRIX.DOUBLE
------------CP createvar _mVar455 
scratch_space//_p16266_9.108.91.12//_t0/temp228 true MATRIX binaryblock 64 800 
1000 1000 -1 copy
------------CP rshape _mVar438.MATRIX.DOUBLE 64.SCALAR.INT.true 
800.SCALAR.INT.true true.SCALAR.BOOLEAN.true _mVar455.MATRIX.DOUBLE
------------CP rmvar _mVar438
------------CP createvar _mVar456 
scratch_space//_p16266_9.108.91.12//_t0/temp229 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
------------SPARK - W3.MATRIX.DOUBLE _mVar439.MATRIX.DOUBLE 
_mVar456.MATRIX.DOUBLE
------------CP createvar _mVar457 
scratch_space//_p16266_9.108.91.12//_t0/temp230 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
------------SPARK rshape _mVar440.MATRIX.DOUBLE _Var441.SCALAR.INT.false 
512.SCALAR.INT.true true.SCALAR.BOOLEAN.true _mVar457.MATRIX.DOUBLE
------------CP rmvar _mVar440 _Var441
------------CP createvar _mVar458 
scratch_space//_p16266_9.108.91.12//_t0/temp231 true MATRIX binaryblock 512 10 
1000 1000 -1 copy
------------CP - W4.MATRIX.DOUBLE _mVar442.MATRIX.DOUBLE _mVar458.MATRIX.DOUBLE
------------CP createvar _mVar459 
scratch_space//_p16266_9.108.91.12//_t0/temp232 true MATRIX binaryblock 512 10 
1000 1000 -1 copy
------------CP rshape _mVar443.MATRIX.DOUBLE 512.SCALAR.INT.true 
10.SCALAR.INT.true true.SCALAR.BOOLEAN.true _mVar459.MATRIX.DOUBLE
------------CP rmvar _mVar443
------------CP createvar _mVar460 
scratch_space//_p16266_9.108.91.12//_t0/temp233 true MATRIX binaryblock 32 1 
1000 1000 -1 copy
------------CP - b1.MATRIX.DOUBLE _mVar444.MATRIX.DOUBLE _mVar460.MATRIX.DOUBLE
------------CP createvar _mVar461 
scratch_space//_p16266_9.108.91.12//_t0/temp234 true MATRIX binaryblock 32 1 
1000 1000 -1 copy
------------CP rshape _mVar445.MATRIX.DOUBLE 32.SCALAR.INT.true 
1.SCALAR.INT.true true.SCALAR.BOOLEAN.true _mVar461.MATRIX.DOUBLE
------------CP rmvar _mVar445
------------CP createvar _mVar462 
scratch_space//_p16266_9.108.91.12//_t0/temp235 true MATRIX binaryblock 64 1 
1000 1000 -1 copy
------------CP - b2.MATRIX.DOUBLE _mVar446.MATRIX.DOUBLE _mVar462.MATRIX.DOUBLE
------------CP createvar _mVar463 
scratch_space//_p16266_9.108.91.12//_t0/temp236 true MATRIX binaryblock 64 1 
1000 1000 -1 copy
------------CP rshape _mVar447.MATRIX.DOUBLE 64.SCALAR.INT.true 
1.SCALAR.INT.true true.SCALAR.BOOLEAN.true _mVar463.MATRIX.DOUBLE
------------CP rmvar _mVar447
------------CP createvar _mVar464 
scratch_space//_p16266_9.108.91.12//_t0/temp237 true MATRIX binaryblock 1 512 
1000 1000 -1 copy
------------CP - b3.MATRIX.DOUBLE _mVar448.MATRIX.DOUBLE _mVar464.MATRIX.DOUBLE
------------CP createvar _mVar465 
scratch_space//_p16266_9.108.91.12//_t0/temp238 true MATRIX binaryblock 1 512 
1000 1000 -1 copy
------------CP -* _mVar448.MATRIX.DOUBLE lr.SCALAR.DOUBLE.false 
_mVar449.MATRIX.DOUBLE _mVar465.MATRIX.DOUBLE
------------CP rmvar _mVar448 _mVar449
------------CP createvar _mVar466 
scratch_space//_p16266_9.108.91.12//_t0/temp239 true MATRIX binaryblock 1 10 
1000 1000 -1 copy
------------CP - b4.MATRIX.DOUBLE _mVar450.MATRIX.DOUBLE _mVar466.MATRIX.DOUBLE
------------CP createvar _mVar467 
scratch_space//_p16266_9.108.91.12//_t0/temp240 true MATRIX binaryblock 1 10 
1000 1000 -1 copy
------------CP -* _mVar450.MATRIX.DOUBLE lr.SCALAR.DOUBLE.false 
_mVar451.MATRIX.DOUBLE _mVar467.MATRIX.DOUBLE
------------CP rmvar _mVar450 _mVar451
------------CP createvar _mVar468 
scratch_space//_p16266_9.108.91.12//_t0/temp241 true MATRIX binaryblock 32 -1 
1000 1000 -1 copy
------------SPARK -* _mVar434.MATRIX.DOUBLE lr.SCALAR.DOUBLE.false 
_mVar453.MATRIX.DOUBLE _mVar468.MATRIX.DOUBLE
------------CP rmvar _mVar434 _mVar453
------------CP createvar _mVar469 
scratch_space//_p16266_9.108.91.12//_t0/temp242 true MATRIX binaryblock 64 800 
1000 1000 -1 copy
------------CP -* _mVar437.MATRIX.DOUBLE lr.SCALAR.DOUBLE.false 
_mVar455.MATRIX.DOUBLE _mVar469.MATRIX.DOUBLE
------------CP rmvar _mVar437 _mVar455
------------CP createvar _mVar470 
scratch_space//_p16266_9.108.91.12//_t0/temp243 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
------------SPARK -* _mVar439.MATRIX.DOUBLE lr.SCALAR.DOUBLE.false 
_mVar457.MATRIX.DOUBLE _mVar470.MATRIX.DOUBLE
------------CP rmvar _mVar439 _mVar457
------------CP createvar _mVar471 
scratch_space//_p16266_9.108.91.12//_t0/temp244 true MATRIX binaryblock 512 10 
1000 1000 -1 copy
------------CP -* _mVar442.MATRIX.DOUBLE lr.SCALAR.DOUBLE.false 
_mVar459.MATRIX.DOUBLE _mVar471.MATRIX.DOUBLE
------------CP rmvar _mVar442 _mVar459
------------CP createvar _mVar472 
scratch_space//_p16266_9.108.91.12//_t0/temp245 true MATRIX binaryblock 32 1 
1000 1000 -1 copy
------------CP -* _mVar444.MATRIX.DOUBLE lr.SCALAR.DOUBLE.false 
_mVar461.MATRIX.DOUBLE _mVar472.MATRIX.DOUBLE
------------CP rmvar _mVar444 _mVar461
------------CP createvar _mVar473 
scratch_space//_p16266_9.108.91.12//_t0/temp246 true MATRIX binaryblock 64 1 
1000 1000 -1 copy
------------CP -* _mVar446.MATRIX.DOUBLE lr.SCALAR.DOUBLE.false 
_mVar463.MATRIX.DOUBLE _mVar473.MATRIX.DOUBLE
------------CP rmvar _mVar446 _mVar463
------------CP createvar _mVar474 
scratch_space//_p16266_9.108.91.12//_t0/temp247 true MATRIX binaryblock 1 512 
1000 1000 -1 copy
------------CP +* _mVar464.MATRIX.DOUBLE 1.9.SCALAR.DOUBLE.true 
_mVar465.MATRIX.DOUBLE _mVar474.MATRIX.DOUBLE
------------CP rmvar _mVar464
------------CP createvar _mVar475 
scratch_space//_p16266_9.108.91.12//_t0/temp248 true MATRIX binaryblock 1 10 
1000 1000 -1 copy
------------CP +* _mVar466.MATRIX.DOUBLE 1.9.SCALAR.DOUBLE.true 
_mVar467.MATRIX.DOUBLE _mVar475.MATRIX.DOUBLE
------------CP rmvar _mVar466
------------CP createvar _mVar476 
scratch_space//_p16266_9.108.91.12//_t0/temp249 true MATRIX binaryblock 32 -1 
1000 1000 -1 copy
------------SPARK +* _mVar452.MATRIX.DOUBLE 1.9.SCALAR.DOUBLE.true 
_mVar468.MATRIX.DOUBLE _mVar476.MATRIX.DOUBLE
------------CP rmvar _mVar452
------------CP createvar _mVar477 
scratch_space//_p16266_9.108.91.12//_t0/temp250 true MATRIX binaryblock 64 800 
1000 1000 -1 copy
------------CP +* _mVar454.MATRIX.DOUBLE 1.9.SCALAR.DOUBLE.true 
_mVar469.MATRIX.DOUBLE _mVar477.MATRIX.DOUBLE
------------CP rmvar _mVar454
------------CP createvar _mVar478 
scratch_space//_p16266_9.108.91.12//_t0/temp251 true MATRIX binaryblock -1 512 
1000 1000 -1 copy
------------SPARK +* _mVar456.MATRIX.DOUBLE 1.9.SCALAR.DOUBLE.true 
_mVar470.MATRIX.DOUBLE _mVar478.MATRIX.DOUBLE
------------CP rmvar _mVar456
------------CP createvar _mVar479 
scratch_space//_p16266_9.108.91.12//_t0/temp252 true MATRIX binaryblock 512 10 
1000 1000 -1 copy
------------CP +* _mVar458.MATRIX.DOUBLE 1.9.SCALAR.DOUBLE.true 
_mVar471.MATRIX.DOUBLE _mVar479.MATRIX.DOUBLE
------------CP rmvar _mVar458
------------CP createvar _mVar480 
scratch_space//_p16266_9.108.91.12//_t0/temp253 true MATRIX binaryblock 32 1 
1000 1000 -1 copy
------------CP +* _mVar460.MATRIX.DOUBLE 1.9.SCALAR.DOUBLE.true 
_mVar472.MATRIX.DOUBLE _mVar480.MATRIX.DOUBLE
------------CP rmvar _mVar460
------------CP createvar _mVar481 
scratch_space//_p16266_9.108.91.12//_t0/temp254 true MATRIX binaryblock 64 1 
1000 1000 -1 copy
------------CP +* _mVar462.MATRIX.DOUBLE 1.9.SCALAR.DOUBLE.true 
_mVar473.MATRIX.DOUBLE _mVar481.MATRIX.DOUBLE
------------CP rmvar _mVar462 vb1 vb3 vb2 vb4 b1 vW2 b2 vW1 b3 vW4 b4 vW3 W1 W2 
W3 W4
------------CP cpvar _mVar465 vb3
------------CP cpvar _mVar467 vb4
------------CP cpvar _mVar468 vW1
------------CP cpvar _mVar469 vW2
------------CP cpvar _mVar470 vW3
------------CP cpvar _mVar471 vW4
------------CP cpvar _mVar472 vb1
------------CP cpvar _mVar473 vb2
------------CP cpvar _mVar474 b3
------------CP cpvar _mVar475 b4
------------CP cpvar _mVar476 W1
------------CP cpvar _mVar477 W2
------------CP cpvar _mVar478 W3
------------CP cpvar _mVar479 W4
------------CP cpvar _mVar480 b1
------------CP cpvar _mVar481 b2
------------CP rmvar _mVar465 _mVar467 _mVar468 _mVar469 _mVar470 _mVar471 
_mVar472 _mVar473 _mVar474 _mVar475 _mVar476 _mVar477 _mVar478 _mVar479 
_mVar480 _mVar481 dW3_agg db4_agg dW4_agg db3_agg db2_agg dW1_agg dW2_agg 
db1_agg
----------IF (lines 239-264)
------------CP %% g.SCALAR.INT.false 10.SCALAR.INT.true _Var482.SCALAR.INT
------------CP == _Var482.SCALAR.INT.false 0.SCALAR.INT.true 
_Var483.SCALAR.BOOLEAN
------------CP rmvar _Var482 _Var483
------------GENERIC (lines 241-244) [recompile=true]
--------------CP - j.SCALAR.INT.false 1.SCALAR.INT.true _Var484.SCALAR.INT
--------------CP nrow X_group_batch.MATRIX.DOUBLE.false _Var485.SCALAR.INT
--------------CP * _Var484.SCALAR.INT.false batch_size.SCALAR.INT.false 
_Var486.SCALAR.INT
--------------CP rmvar _Var484
--------------CP %% _Var486.SCALAR.INT.false _Var485.SCALAR.INT.false 
_Var487.SCALAR.INT
--------------CP rmvar _Var486
--------------CP + _Var487.SCALAR.INT.false 1.SCALAR.INT.true _Var488.SCALAR.INT
--------------CP rmvar _Var487
--------------CP + _Var488.SCALAR.INT.false batch_size.SCALAR.INT.false 
_Var489.SCALAR.INT
--------------CP - _Var489.SCALAR.INT.false 1.SCALAR.INT.true _Var490.SCALAR.INT
--------------CP rmvar _Var489
--------------CP min _Var485.SCALAR.INT.false _Var490.SCALAR.INT.false 
_Var491.SCALAR.INT
--------------CP rmvar _Var485 _Var490
--------------CP createvar _mVar492 
scratch_space//_p16266_9.108.91.12//_t0/temp255 true MATRIX binaryblock -1 
37632 1000 1000 -1 copy
--------------SPARK rangeReIndex X_group_batch.MATRIX.DOUBLE 
_Var488.SCALAR.INT.false _Var491.SCALAR.INT.false 1.SCALAR.INT.true 
37632.SCALAR.INT.true _mVar492.MATRIX.DOUBLE MULTI_BLOCK
--------------CP createvar _mVar493 
scratch_space//_p16266_9.108.91.12//_t0/temp256 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK rangeReIndex y_group_batch.MATRIX.DOUBLE 
_Var488.SCALAR.INT.false _Var491.SCALAR.INT.false 1.SCALAR.INT.true 
10.SCALAR.INT.true _mVar493.MATRIX.DOUBLE MULTI_BLOCK
--------------CP rmvar _Var488 _Var491
--------------CP cpvar _mVar492 X_batch
--------------CP cpvar _mVar493 y_batch
--------------CP rmvar _mVar492 _mVar493 y_group_batch X_group_batch
------------GENERIC (lines 247-247) [recompile=true]
--------------CP extfunct ./scripts/nn/examples/mnist_lenet_distrib_sgd.dml 
predict 12 1 X_batch.MATRIX.DOUBLE C.SCALAR.INT.false Hin.SCALAR.INT.false 
Win.SCALAR.INT.false W1.MATRIX.DOUBLE b1.MATRIX.DOUBLE W2.MATRIX.DOUBLE 
b2.MATRIX.DOUBLE W3.MATRIX.DOUBLE b3.MATRIX.DOUBLE W4.MATRIX.DOUBLE 
b4.MATRIX.DOUBLE probs
--------------CP rmvar X_batch
------------GENERIC (lines 248-254) [recompile=true]
--------------CP createvar _mVar494 
scratch_space//_p16266_9.108.91.12//_t0/temp257 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK - 0.SCALAR.INT.true y_batch.MATRIX.DOUBLE 
_mVar494.MATRIX.DOUBLE
--------------CP createvar _mVar495 
scratch_space//_p16266_9.108.91.12//_t0/temp258 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK + probs.MATRIX.DOUBLE 1.0E-10.SCALAR.DOUBLE.true 
_mVar495.MATRIX.DOUBLE
--------------CP nrow y_batch.MATRIX.DOUBLE.false _Var496.SCALAR.INT
--------------CP createvar _mVar497 
scratch_space//_p16266_9.108.91.12//_t0/temp259 true MATRIX binaryblock 32 -1 
1000 1000 -1 copy
--------------SPARK ^2 W1.MATRIX.DOUBLE 2.SCALAR.INT.true _mVar497.MATRIX.DOUBLE
--------------CP uasqk+ W2.MATRIX.DOUBLE _Var498.SCALAR.DOUBLE 8
--------------CP createvar _mVar499 
scratch_space//_p16266_9.108.91.12//_t0/temp260 true MATRIX binaryblock 1 1 
1000 1000 -1 copy
--------------SPARK uasqk+ W3.MATRIX.DOUBLE _mVar499.MATRIX.DOUBLE SINGLE_BLOCK
--------------CP uasqk+ W4.MATRIX.DOUBLE _Var500.SCALAR.DOUBLE 8
--------------CP createvar _mVar501 
scratch_space//_p16266_9.108.91.12//_t0/temp261 true MATRIX binaryblock -1 1 
1000 1000 -1 copy
--------------SPARK uarimax probs.MATRIX.DOUBLE _mVar501.MATRIX.DOUBLE 
MULTI_BLOCK
--------------CP createvar _mVar502 
scratch_space//_p16266_9.108.91.12//_t0/temp262 true MATRIX binaryblock -1 1 
1000 1000 -1 copy
--------------SPARK uarimax y_batch.MATRIX.DOUBLE _mVar502.MATRIX.DOUBLE NONE
--------------CP createvar _mVar503 
scratch_space//_p16266_9.108.91.12//_t0/temp263 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK log _mVar495.MATRIX.DOUBLE _mVar503.MATRIX.DOUBLE
--------------CP rmvar _mVar495
--------------CP createvar _mVar504 
scratch_space//_p16266_9.108.91.12//_t0/temp264 true MATRIX binaryblock 1 1 
1000 1000 -1 copy
--------------SPARK uak+ _mVar497.MATRIX.DOUBLE _mVar504.MATRIX.DOUBLE 
SINGLE_BLOCK
--------------CP rmvar _mVar497
--------------CP * 2.5E-4.SCALAR.DOUBLE.true _Var498.SCALAR.DOUBLE.false 
_Var505.SCALAR.DOUBLE
--------------CP rmvar _Var498
--------------CP castdts _mVar499.MATRIX.DOUBLE.false _Var506.SCALAR.DOUBLE
--------------CP rmvar _mVar499
--------------CP * 2.5E-4.SCALAR.DOUBLE.true _Var500.SCALAR.DOUBLE.false 
_Var507.SCALAR.DOUBLE
--------------CP rmvar _Var500
--------------CP createvar _mVar508 
scratch_space//_p16266_9.108.91.12//_t0/temp265 true MATRIX binaryblock -1 1 
1000 1000 -1 copy
--------------SPARK == _mVar501.MATRIX.DOUBLE _mVar502.MATRIX.DOUBLE 
_mVar508.MATRIX.DOUBLE
--------------CP rmvar _mVar501 _mVar502
--------------CP createvar _mVar509 
scratch_space//_p16266_9.108.91.12//_t0/temp266 true MATRIX binaryblock -1 10 
1000 1000 -1 copy
--------------SPARK * _mVar494.MATRIX.DOUBLE _mVar503.MATRIX.DOUBLE 
_mVar509.MATRIX.DOUBLE
--------------CP rmvar _mVar494 _mVar503
--------------CP castdts _mVar504.MATRIX.DOUBLE.false _Var510.SCALAR.DOUBLE
--------------CP rmvar _mVar504
--------------CP * 2.5E-4.SCALAR.DOUBLE.true _Var506.SCALAR.DOUBLE.false 
_Var511.SCALAR.DOUBLE
--------------CP rmvar _Var506
--------------CP createvar _mVar512 
scratch_space//_p16266_9.108.91.12//_t0/temp267 true MATRIX binaryblock 1 1 
1000 1000 -1 copy
--------------SPARK uamean _mVar508.MATRIX.DOUBLE _mVar512.MATRIX.DOUBLE 
SINGLE_BLOCK
--------------CP rmvar _mVar508
--------------CP createvar _mVar513 
scratch_space//_p16266_9.108.91.12//_t0/temp268 true MATRIX binaryblock 1 1 
1000 1000 -1 copy
--------------SPARK uak+ _mVar509.MATRIX.DOUBLE _mVar513.MATRIX.DOUBLE 
SINGLE_BLOCK
--------------CP rmvar _mVar509
--------------CP * 2.5E-4.SCALAR.DOUBLE.true _Var510.SCALAR.DOUBLE.false 
_Var514.SCALAR.DOUBLE
--------------CP rmvar _Var510
--------------CP castdts _mVar512.MATRIX.DOUBLE.false _Var515.SCALAR.DOUBLE
--------------CP rmvar _mVar512
--------------CP castdts _mVar513.MATRIX.DOUBLE.false _Var516.SCALAR.DOUBLE
--------------CP rmvar _mVar513
--------------CP / _Var516.SCALAR.DOUBLE.false _Var496.SCALAR.INT.false 
_Var517.SCALAR.DOUBLE
--------------CP rmvar _Var516 _Var496
--------------CP + _Var517.SCALAR.DOUBLE.false _Var514.SCALAR.DOUBLE.false 
_Var518.SCALAR.DOUBLE
--------------CP rmvar _Var517 _Var514
--------------CP + _Var518.SCALAR.DOUBLE.false _Var505.SCALAR.DOUBLE.false 
_Var519.SCALAR.DOUBLE
--------------CP rmvar _Var518 _Var505
--------------CP + _Var519.SCALAR.DOUBLE.false _Var511.SCALAR.DOUBLE.false 
_Var520.SCALAR.DOUBLE
--------------CP rmvar _Var519 _Var511
--------------CP + _Var520.SCALAR.DOUBLE.false _Var507.SCALAR.DOUBLE.false 
_Var521.SCALAR.DOUBLE
--------------CP rmvar _Var520 _Var507
--------------CP assignvar _Var515.SCALAR.DOUBLE.false accuracy.SCALAR.DOUBLE
--------------CP assignvar _Var521.SCALAR.DOUBLE.false loss.SCALAR.DOUBLE
--------------CP rmvar _Var515 _Var521 probs y_batch
------------GENERIC (lines 257-257) [recompile=true]
--------------CP extfunct ./scripts/nn/examples/mnist_lenet_distrib_sgd.dml 
predict 12 1 X_val.MATRIX.DOUBLE C.SCALAR.INT.false Hin.SCALAR.INT.false 
Win.SCALAR.INT.false W1.MATRIX.DOUBLE b1.MATRIX.DOUBLE W2.MATRIX.DOUBLE 
b2.MATRIX.DOUBLE W3.MATRIX.DOUBLE b3.MATRIX.DOUBLE W4.MATRIX.DOUBLE 
b4.MATRIX.DOUBLE probs_val
------------GENERIC (lines 258-263) [recompile=true]
--------------CP + Epoch: .SCALAR.STRING.true e.SCALAR.INT.false 
_Var522.SCALAR.STRING
--------------CP createvar _mVar523 
scratch_space//_p16266_9.108.91.12//_t0/temp269 true MATRIX binaryblock 32 10 
1000 1000 -1 copy
--------------CP - 0.SCALAR.INT.true Y_val.MATRIX.DOUBLE _mVar523.MATRIX.DOUBLE
--------------CP createvar _mVar524 
scratch_space//_p16266_9.108.91.12//_t0/temp270 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK + probs_val.MATRIX.DOUBLE 1.0E-10.SCALAR.DOUBLE.true 
_mVar524.MATRIX.DOUBLE
--------------CP createvar _mVar525 
scratch_space//_p16266_9.108.91.12//_t0/temp271 true MATRIX binaryblock -1 1 
1000 1000 -1 copy
--------------SPARK uarimax probs_val.MATRIX.DOUBLE _mVar525.MATRIX.DOUBLE 
MULTI_BLOCK
--------------CP createvar _mVar526 
scratch_space//_p16266_9.108.91.12//_t0/temp272 true MATRIX binaryblock 32 1 
1000 1000 -1 copy
--------------CP uarimax Y_val.MATRIX.DOUBLE _mVar526.MATRIX.DOUBLE 8
--------------CP + _Var522.SCALAR.STRING.false , Group: .SCALAR.STRING.true 
_Var527.SCALAR.STRING
--------------CP rmvar _Var522
--------------CP createvar _mVar528 
scratch_space//_p16266_9.108.91.12//_t0/temp273 true MATRIX binaryblock -1 -1 
1000 1000 -1 copy
--------------SPARK log _mVar524.MATRIX.DOUBLE _mVar528.MATRIX.DOUBLE
--------------CP rmvar _mVar524
--------------CP createvar _mVar529 
scratch_space//_p16266_9.108.91.12//_t0/temp274 true MATRIX binaryblock 32 1 
1000 1000 -1 copy
--------------SPARK map== _mVar525.MATRIX.DOUBLE _mVar526.MATRIX.DOUBLE 
_mVar529.MATRIX.DOUBLE RIGHT ROW_VECTOR
--------------CP rmvar _mVar525 _mVar526
--------------CP + _Var527.SCALAR.STRING.false g.SCALAR.INT.false 
_Var530.SCALAR.STRING
--------------CP rmvar _Var527
--------------CP createvar _mVar531 
scratch_space//_p16266_9.108.91.12//_t0/temp275 true MATRIX binaryblock 32 10 
1000 1000 -1 copy
--------------SPARK * _mVar523.MATRIX.DOUBLE _mVar528.MATRIX.DOUBLE 
_mVar531.MATRIX.DOUBLE
--------------CP rmvar _mVar523 _mVar528
--------------CP createvar _mVar532 
scratch_space//_p16266_9.108.91.12//_t0/temp276 true MATRIX binaryblock 1 1 
1000 1000 -1 copy
--------------SPARK uamean _mVar529.MATRIX.DOUBLE _mVar532.MATRIX.DOUBLE 
SINGLE_BLOCK
--------------CP rmvar _mVar529
--------------CP + _Var530.SCALAR.STRING.false , Train Loss: 
.SCALAR.STRING.true _Var533.SCALAR.STRING
--------------CP rmvar _Var530
--------------CP createvar _mVar534 
scratch_space//_p16266_9.108.91.12//_t0/temp277 true MATRIX binaryblock 1 1 
1000 1000 -1 copy
--------------SPARK uak+ _mVar531.MATRIX.DOUBLE _mVar534.MATRIX.DOUBLE 
SINGLE_BLOCK
--------------CP rmvar _mVar531
--------------CP castdts _mVar532.MATRIX.DOUBLE.false _Var535.SCALAR.DOUBLE
--------------CP rmvar _mVar532
--------------CP + _Var533.SCALAR.STRING.false loss.SCALAR.DOUBLE.false 
_Var536.SCALAR.STRING
--------------CP rmvar _Var533
--------------CP castdts _mVar534.MATRIX.DOUBLE.false _Var537.SCALAR.DOUBLE
--------------CP rmvar _mVar534
--------------CP + _Var536.SCALAR.STRING.false , Train Accuracy: 
.SCALAR.STRING.true _Var538.SCALAR.STRING
--------------CP rmvar _Var536
--------------CP / _Var537.SCALAR.DOUBLE.false 32.SCALAR.INT.true 
_Var539.SCALAR.DOUBLE
--------------CP rmvar _Var537
--------------CP + _Var538.SCALAR.STRING.false accuracy.SCALAR.DOUBLE.false 
_Var540.SCALAR.STRING
--------------CP rmvar _Var538
--------------CP + _Var540.SCALAR.STRING.false , Val Loss: .SCALAR.STRING.true 
_Var541.SCALAR.STRING
--------------CP rmvar _Var540
--------------CP + _Var541.SCALAR.STRING.false _Var539.SCALAR.DOUBLE.false 
_Var542.SCALAR.STRING
--------------CP rmvar _Var541 _Var539
--------------CP + _Var542.SCALAR.STRING.false , Val Accuracy: 
.SCALAR.STRING.true _Var543.SCALAR.STRING
--------------CP rmvar _Var542
--------------CP + _Var543.SCALAR.STRING.false _Var535.SCALAR.DOUBLE.false 
_Var544.SCALAR.STRING
--------------CP rmvar _Var543 _Var535
--------------CP print _Var544.SCALAR.STRING.false _Var545.SCALAR.STRING
--------------CP rmvar _Var544 _Var545 accuracy loss probs_val
--------GENERIC (lines 269-269) [recompile=false]
----------CP * lr.SCALAR.DOUBLE.false 0.95.SCALAR.DOUBLE.true 
_Var546.SCALAR.DOUBLE
----------CP assignvar _Var546.SCALAR.DOUBLE.false lr.SCALAR.DOUBLE
----------CP rmvar _Var546
----FUNCTION ./scripts/nn/examples/mnist_lenet_distrib_sgd.dml::predict 
[recompile=true]
------GENERIC (lines 303-320) [recompile=true]
--------CP nrow X.MATRIX.DOUBLE.false _Var76.SCALAR.INT
--------CP nrow W1.MATRIX.DOUBLE.false _Var77.SCALAR.INT
--------CP nrow W2.MATRIX.DOUBLE.false _Var78.SCALAR.INT
--------CP ncol W4.MATRIX.DOUBLE.false _Var79.SCALAR.INT
--------CP createvar _mVar80 scratch_space//_p16266_9.108.91.12//_t0/temp30 
true MATRIX binaryblock -1 -1 1000 1000 0 copy
--------SPARK rand ¶_Var76¶ ¶_Var79¶ 1000 1000 0.0 0.0 1.0 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar80.MATRIX.DOUBLE
--------CP rmvar _Var79
--------CP / _Var76.SCALAR.INT.false 64.SCALAR.INT.true _Var81.SCALAR.DOUBLE
--------CP ceil _Var81.SCALAR.DOUBLE.false _Var82.SCALAR.DOUBLE
--------CP rmvar _Var81
--------CP assignvar 5.SCALAR.INT.true Hf.SCALAR.INT
--------CP assignvar 5.SCALAR.INT.true Wf.SCALAR.INT
--------CP assignvar 1.SCALAR.INT.true stride.SCALAR.INT
--------CP assignvar 2.SCALAR.INT.true pad.SCALAR.INT
--------CP assignvar 64.SCALAR.INT.true batch_size.SCALAR.INT
--------CP assignvar _Var76.SCALAR.INT.false N.SCALAR.INT
--------CP assignvar _Var77.SCALAR.INT.false F1.SCALAR.INT
--------CP assignvar _Var78.SCALAR.INT.false F2.SCALAR.INT
--------CP assignvar _Var82.SCALAR.DOUBLE.false iters.SCALAR.DOUBLE
--------CP rmvar _Var76 _Var77 _Var78
--------CP cpvar _mVar80 probs
--------CP rmvar _Var82 _mVar80
------GENERIC (lines 321-349) [recompile=true]
--------CP createvar _mVar83 scratch_space//_p16266_9.108.91.12//_t0/temp31 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint b1.MATRIX.DOUBLE _mVar83.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar84 scratch_space//_p16266_9.108.91.12//_t0/temp32 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint b2.MATRIX.DOUBLE _mVar84.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar85 scratch_space//_p16266_9.108.91.12//_t0/temp33 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint b3.MATRIX.DOUBLE _mVar85.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar86 scratch_space//_p16266_9.108.91.12//_t0/temp34 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint b4.MATRIX.DOUBLE _mVar86.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar87 scratch_space//_p16266_9.108.91.12//_t0/temp35 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint X.MATRIX.DOUBLE _mVar87.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar88 scratch_space//_p16266_9.108.91.12//_t0/temp36 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint W1.MATRIX.DOUBLE _mVar88.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar89 scratch_space//_p16266_9.108.91.12//_t0/temp37 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint W2.MATRIX.DOUBLE _mVar89.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar90 scratch_space//_p16266_9.108.91.12//_t0/temp38 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint W3.MATRIX.DOUBLE _mVar90.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar91 scratch_space//_p16266_9.108.91.12//_t0/temp39 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint W4.MATRIX.DOUBLE _mVar91.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP rmvar b2 b3 b4 X W1 W2 W3 W4 b1
--------CP cpvar _mVar83 b1
--------CP cpvar _mVar84 b2
--------CP cpvar _mVar85 b3
--------CP cpvar _mVar86 b4
--------CP cpvar _mVar87 X
--------CP cpvar _mVar88 W1
--------CP cpvar _mVar89 W2
--------CP cpvar _mVar90 W3
--------CP cpvar _mVar91 W4
--------CP rmvar _mVar83 _mVar84 _mVar85 _mVar86 _mVar87 _mVar88 _mVar89 
_mVar90 _mVar91
------GENERIC (lines 321-349) [recompile=true]
--------CP createvar _mVar92 scratch_space//_p16266_9.108.91.12//_t0/temp40 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint b1.MATRIX.DOUBLE _mVar92.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar93 scratch_space//_p16266_9.108.91.12//_t0/temp41 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint b2.MATRIX.DOUBLE _mVar93.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar94 scratch_space//_p16266_9.108.91.12//_t0/temp42 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint b3.MATRIX.DOUBLE _mVar94.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar95 scratch_space//_p16266_9.108.91.12//_t0/temp43 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint b4.MATRIX.DOUBLE _mVar95.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar96 scratch_space//_p16266_9.108.91.12//_t0/temp44 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint X.MATRIX.DOUBLE _mVar96.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar97 scratch_space//_p16266_9.108.91.12//_t0/temp45 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint W1.MATRIX.DOUBLE _mVar97.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar98 scratch_space//_p16266_9.108.91.12//_t0/temp46 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint W2.MATRIX.DOUBLE _mVar98.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar99 scratch_space//_p16266_9.108.91.12//_t0/temp47 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint W3.MATRIX.DOUBLE _mVar99.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar100 scratch_space//_p16266_9.108.91.12//_t0/temp48 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint W4.MATRIX.DOUBLE _mVar100.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP rmvar b2 b3 b4 X W1 W2 W3 W4 b1
--------CP cpvar _mVar92 b1
--------CP cpvar _mVar93 b2
--------CP cpvar _mVar94 b3
--------CP cpvar _mVar95 b4
--------CP cpvar _mVar96 X
--------CP cpvar _mVar97 W1
--------CP cpvar _mVar98 W2
--------CP cpvar _mVar99 W3
--------CP cpvar _mVar100 W4
--------CP rmvar _mVar92 _mVar93 _mVar94 _mVar95 _mVar96 _mVar97 _mVar98 
_mVar99 _mVar100
------GENERIC (lines 321-349) [recompile=true]
--------CP createvar _mVar101 scratch_space//_p16266_9.108.91.12//_t0/temp49 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint b1.MATRIX.DOUBLE _mVar101.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar102 scratch_space//_p16266_9.108.91.12//_t0/temp50 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint b2.MATRIX.DOUBLE _mVar102.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar103 scratch_space//_p16266_9.108.91.12//_t0/temp51 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint b3.MATRIX.DOUBLE _mVar103.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar104 scratch_space//_p16266_9.108.91.12//_t0/temp52 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint b4.MATRIX.DOUBLE _mVar104.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar105 scratch_space//_p16266_9.108.91.12//_t0/temp53 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint X.MATRIX.DOUBLE _mVar105.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar106 scratch_space//_p16266_9.108.91.12//_t0/temp54 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint W1.MATRIX.DOUBLE _mVar106.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar107 scratch_space//_p16266_9.108.91.12//_t0/temp55 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint W2.MATRIX.DOUBLE _mVar107.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar108 scratch_space//_p16266_9.108.91.12//_t0/temp56 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint W3.MATRIX.DOUBLE _mVar108.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP createvar _mVar109 scratch_space//_p16266_9.108.91.12//_t0/temp57 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
--------SPARK chkpoint W4.MATRIX.DOUBLE _mVar109.MATRIX.DOUBLE MEMORY_AND_DISK
--------CP rmvar b2 b3 b4 X W1 W2 W3 W4 b1
--------CP cpvar _mVar101 b1
--------CP cpvar _mVar102 b2
--------CP cpvar _mVar103 b3
--------CP cpvar _mVar104 b4
--------CP cpvar _mVar105 X
--------CP cpvar _mVar106 W1
--------CP cpvar _mVar107 W2
--------CP cpvar _mVar108 W3
--------CP cpvar _mVar109 W4
--------CP rmvar _mVar101 _mVar102 _mVar103 _mVar104 _mVar105 _mVar106 _mVar107 
_mVar108 _mVar109
------PARFOR (lines 321-349)
--------GENERIC (lines 323-348) [recompile=true]
----------CP - i.SCALAR.INT.false 1.SCALAR.INT.true _Var110.SCALAR.INT
----------CP ncol X.MATRIX.DOUBLE.false _Var111.SCALAR.INT
----------CP nrow W1.MATRIX.DOUBLE.false _Var112.SCALAR.INT
----------CP * 2.SCALAR.INT.true pad.SCALAR.INT.false _Var113.SCALAR.INT
----------CP nrow W2.MATRIX.DOUBLE.false _Var114.SCALAR.INT
----------CP ncol probs.MATRIX.DOUBLE.false _Var115.SCALAR.INT
----------CP * _Var110.SCALAR.INT.false 64.SCALAR.INT.true _Var116.SCALAR.INT
----------CP rmvar _Var110
----------CP + Hin.SCALAR.INT.false _Var113.SCALAR.INT.false _Var117.SCALAR.INT
----------CP + Win.SCALAR.INT.false _Var113.SCALAR.INT.false _Var118.SCALAR.INT
----------CP %% _Var116.SCALAR.INT.false N.SCALAR.INT.false _Var119.SCALAR.INT
----------CP rmvar _Var116
----------CP - _Var117.SCALAR.INT.false Hf.SCALAR.INT.false _Var120.SCALAR.INT
----------CP rmvar _Var117
----------CP - _Var118.SCALAR.INT.false Wf.SCALAR.INT.false _Var121.SCALAR.INT
----------CP rmvar _Var118
----------CP + _Var119.SCALAR.INT.false 1.SCALAR.INT.true _Var122.SCALAR.INT
----------CP rmvar _Var119
----------CP / _Var120.SCALAR.INT.false stride.SCALAR.INT.false 
_Var123.SCALAR.DOUBLE
----------CP rmvar _Var120
----------CP / _Var121.SCALAR.INT.false stride.SCALAR.INT.false 
_Var124.SCALAR.DOUBLE
----------CP rmvar _Var121
----------CP + _Var122.SCALAR.INT.false 64.SCALAR.INT.true _Var125.SCALAR.INT
----------CP + _Var123.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var126.SCALAR.DOUBLE
----------CP rmvar _Var123
----------CP + _Var124.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var127.SCALAR.DOUBLE
----------CP rmvar _Var124
----------CP - _Var125.SCALAR.INT.false 1.SCALAR.INT.true _Var128.SCALAR.INT
----------CP rmvar _Var125
----------CP floor _Var126.SCALAR.DOUBLE.false _Var129.SCALAR.DOUBLE
----------CP rmvar _Var126
----------CP floor _Var127.SCALAR.DOUBLE.false _Var130.SCALAR.DOUBLE
----------CP rmvar _Var127
----------CP min N.SCALAR.INT.false _Var128.SCALAR.INT.false _Var131.SCALAR.INT
----------CP rmvar _Var128
----------CP castvti _Var129.SCALAR.DOUBLE.false _Var132.SCALAR.INT
----------CP rmvar _Var129
----------CP castvti _Var130.SCALAR.DOUBLE.false _Var133.SCALAR.INT
----------CP rmvar _Var130
----------CP createvar _mVar134 scratch_space//_p16266_9.108.91.12//_t0/temp58 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK rangeReIndex X.MATRIX.DOUBLE _Var122.SCALAR.INT.false 
_Var131.SCALAR.INT.false 1.SCALAR.INT.true _Var111.SCALAR.INT.false 
_mVar134.MATRIX.DOUBLE MULTI_BLOCK
----------CP rmvar _Var111
----------CP + _Var132.SCALAR.INT.false 0.SCALAR.INT.true _Var135.SCALAR.INT
----------CP + _Var133.SCALAR.INT.false 0.SCALAR.INT.true _Var136.SCALAR.INT
----------CP nrow _mVar134.MATRIX.DOUBLE.false _Var137.SCALAR.INT
----------CP - _Var135.SCALAR.INT.false 2.SCALAR.INT.true _Var138.SCALAR.INT
----------CP rmvar _Var135
----------CP - _Var136.SCALAR.INT.false 2.SCALAR.INT.true _Var139.SCALAR.INT
----------CP rmvar _Var136
----------CP createvar _mVar140 scratch_space//_p16266_9.108.91.12//_t0/temp59 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------CP conv2d_bias_add _mVar134.MATRIX.DOUBLE b1.MATRIX.DOUBLE 
W1.MATRIX.DOUBLE stride.SCALAR.INT.false stride.SCALAR.INT.false 
pad.SCALAR.INT.false pad.SCALAR.INT.false _Var137.SCALAR.INT.false 
C.SCALAR.INT.false Hin.SCALAR.INT.false Win.SCALAR.INT.false 
_Var112.SCALAR.INT.false C.SCALAR.INT.false Hf.SCALAR.INT.false 
Wf.SCALAR.INT.false _mVar140.MATRIX.DOUBLE 8
----------CP rmvar _Var137 _Var112
----------CP / _Var138.SCALAR.INT.false 2.SCALAR.INT.true _Var141.SCALAR.DOUBLE
----------CP rmvar _Var138
----------CP / _Var139.SCALAR.INT.false 2.SCALAR.INT.true _Var142.SCALAR.DOUBLE
----------CP rmvar _Var139
----------CP nrow _mVar140.MATRIX.DOUBLE.false _Var143.SCALAR.INT
----------CP + _Var141.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var144.SCALAR.DOUBLE
----------CP rmvar _Var141
----------CP + _Var142.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var145.SCALAR.DOUBLE
----------CP rmvar _Var142
----------CP createvar _mVar146 scratch_space//_p16266_9.108.91.12//_t0/temp60 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------CP relu_maxpooling _mVar140.MATRIX.DOUBLE 2.SCALAR.INT.true 
2.SCALAR.INT.true 0.SCALAR.INT.true 0.SCALAR.INT.true _Var143.SCALAR.INT.false 
F1.SCALAR.INT.false _Var132.SCALAR.INT.false _Var133.SCALAR.INT.false 
1.SCALAR.INT.true F1.SCALAR.INT.false 2.SCALAR.INT.true 2.SCALAR.INT.true 
_mVar146.MATRIX.DOUBLE 8
----------CP rmvar _Var143 _Var132 _Var133
----------CP floor _Var144.SCALAR.DOUBLE.false _Var147.SCALAR.DOUBLE
----------CP rmvar _Var144
----------CP floor _Var145.SCALAR.DOUBLE.false _Var148.SCALAR.DOUBLE
----------CP rmvar _Var145
----------CP nrow _mVar146.MATRIX.DOUBLE.false _Var149.SCALAR.INT
----------CP castvti _Var147.SCALAR.DOUBLE.false _Var150.SCALAR.INT
----------CP rmvar _Var147
----------CP castvti _Var148.SCALAR.DOUBLE.false _Var151.SCALAR.INT
----------CP rmvar _Var148
----------CP createvar _mVar152 scratch_space//_p16266_9.108.91.12//_t0/temp61 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------CP conv2d_bias_add _mVar146.MATRIX.DOUBLE b2.MATRIX.DOUBLE 
W2.MATRIX.DOUBLE stride.SCALAR.INT.false stride.SCALAR.INT.false 
pad.SCALAR.INT.false pad.SCALAR.INT.false _Var149.SCALAR.INT.false 
F1.SCALAR.INT.false _Var150.SCALAR.INT.false _Var151.SCALAR.INT.false 
_Var114.SCALAR.INT.false F1.SCALAR.INT.false Hf.SCALAR.INT.false 
Wf.SCALAR.INT.false _mVar152.MATRIX.DOUBLE 8
----------CP rmvar _Var149 _Var114
----------CP + _Var150.SCALAR.INT.false _Var113.SCALAR.INT.false 
_Var153.SCALAR.INT
----------CP rmvar _Var150
----------CP + _Var151.SCALAR.INT.false _Var113.SCALAR.INT.false 
_Var154.SCALAR.INT
----------CP rmvar _Var151 _Var113
----------CP nrow _mVar152.MATRIX.DOUBLE.false _Var155.SCALAR.INT
----------CP - _Var153.SCALAR.INT.false Hf.SCALAR.INT.false _Var156.SCALAR.INT
----------CP rmvar _Var153
----------CP - _Var154.SCALAR.INT.false Wf.SCALAR.INT.false _Var157.SCALAR.INT
----------CP rmvar _Var154
----------CP / _Var156.SCALAR.INT.false stride.SCALAR.INT.false 
_Var158.SCALAR.DOUBLE
----------CP rmvar _Var156
----------CP / _Var157.SCALAR.INT.false stride.SCALAR.INT.false 
_Var159.SCALAR.DOUBLE
----------CP rmvar _Var157
----------CP + _Var158.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var160.SCALAR.DOUBLE
----------CP rmvar _Var158
----------CP + _Var159.SCALAR.DOUBLE.false 1.SCALAR.INT.true 
_Var161.SCALAR.DOUBLE
----------CP rmvar _Var159
----------CP floor _Var160.SCALAR.DOUBLE.false _Var162.SCALAR.DOUBLE
----------CP rmvar _Var160
----------CP floor _Var161.SCALAR.DOUBLE.false _Var163.SCALAR.DOUBLE
----------CP rmvar _Var161
----------CP castvti _Var162.SCALAR.DOUBLE.false _Var164.SCALAR.INT
----------CP rmvar _Var162
----------CP castvti _Var163.SCALAR.DOUBLE.false _Var165.SCALAR.INT
----------CP rmvar _Var163
----------CP createvar _mVar166 scratch_space//_p16266_9.108.91.12//_t0/temp62 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------CP relu_maxpooling _mVar152.MATRIX.DOUBLE 2.SCALAR.INT.true 
2.SCALAR.INT.true 0.SCALAR.INT.true 0.SCALAR.INT.true _Var155.SCALAR.INT.false 
F2.SCALAR.INT.false _Var164.SCALAR.INT.false _Var165.SCALAR.INT.false 
1.SCALAR.INT.true F2.SCALAR.INT.false 2.SCALAR.INT.true 2.SCALAR.INT.true 
_mVar166.MATRIX.DOUBLE 8
----------CP rmvar _Var155 _Var164 _Var165
----------CP createvar _mVar167 scratch_space//_p16266_9.108.91.12//_t0/temp63 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK cpmm _mVar166.MATRIX.DOUBLE W3.MATRIX.DOUBLE 
_mVar167.MATRIX.DOUBLE MULTI_BLOCK
----------CP rmvar _mVar166
----------CP createvar _mVar168 scratch_space//_p16266_9.108.91.12//_t0/temp64 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK + _mVar167.MATRIX.DOUBLE b3.MATRIX.DOUBLE _mVar168.MATRIX.DOUBLE
----------CP rmvar _mVar167
----------CP createvar _mVar169 scratch_space//_p16266_9.108.91.12//_t0/temp65 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK sel+ _mVar168.MATRIX.DOUBLE _mVar169.MATRIX.DOUBLE
----------CP rmvar _mVar168
----------CP createvar _mVar170 scratch_space//_p16266_9.108.91.12//_t0/temp66 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK cpmm _mVar169.MATRIX.DOUBLE W4.MATRIX.DOUBLE 
_mVar170.MATRIX.DOUBLE MULTI_BLOCK
----------CP rmvar _mVar169
----------CP createvar _mVar171 scratch_space//_p16266_9.108.91.12//_t0/temp67 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK + _mVar170.MATRIX.DOUBLE b4.MATRIX.DOUBLE _mVar171.MATRIX.DOUBLE
----------CP rmvar _mVar170
----------CP createvar _mVar172 scratch_space//_p16266_9.108.91.12//_t0/temp68 
true MATRIX binaryblock -1 1 1000 1000 -1 copy
----------SPARK uarmax _mVar171.MATRIX.DOUBLE _mVar172.MATRIX.DOUBLE MULTI_BLOCK
----------CP createvar _mVar173 scratch_space//_p16266_9.108.91.12//_t0/temp69 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK - _mVar171.MATRIX.DOUBLE _mVar172.MATRIX.DOUBLE 
_mVar173.MATRIX.DOUBLE
----------CP rmvar _mVar171 _mVar172
----------CP createvar _mVar174 scratch_space//_p16266_9.108.91.12//_t0/temp70 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK exp _mVar173.MATRIX.DOUBLE _mVar174.MATRIX.DOUBLE
----------CP rmvar _mVar173
----------CP createvar _mVar175 scratch_space//_p16266_9.108.91.12//_t0/temp71 
true MATRIX binaryblock -1 1 1000 1000 -1 copy
----------SPARK uark+ _mVar174.MATRIX.DOUBLE _mVar175.MATRIX.DOUBLE MULTI_BLOCK
----------CP createvar _mVar176 scratch_space//_p16266_9.108.91.12//_t0/temp72 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK / _mVar174.MATRIX.DOUBLE _mVar175.MATRIX.DOUBLE 
_mVar176.MATRIX.DOUBLE
----------CP rmvar _mVar174 _mVar175
----------CP createvar _mVar177 scratch_space//_p16266_9.108.91.12//_t0/temp73 
true MATRIX binaryblock -1 -1 1000 1000 -1 copy
----------SPARK leftIndex probs.MATRIX.DOUBLE _mVar176.MATRIX.DOUBLE 
_Var122.SCALAR.INT.false _Var131.SCALAR.INT.false 1.SCALAR.INT.true 
_Var115.SCALAR.INT.false _mVar177.MATRIX.DOUBLE NONE
----------CP rmvar _mVar176 _Var122 _Var131 _Var115 probs _mVar134 _mVar140 
_mVar146 _mVar152
----------CP cpvar _mVar177 probs
----------CP rmvar _mVar177
----FUNCTION ./nn/layers/dropout.dml::forward [recompile=false]
------GENERIC (lines 50-50) [recompile=true]
--------CP nrow X.MATRIX.DOUBLE.false _Var547.SCALAR.INT
--------CP createvar _mVar548 scratch_space//_p16266_9.108.91.12//_t0/temp278 
true MATRIX binaryblock -1 512 1000 1000 -1 copy
--------SPARK rand ¶_Var547¶ 512 1000 1000 1 1 0.5 -1 
scratch_space/_p16266_9.108.91.12//_t0/ uniform 1.0 _mVar548.MATRIX.DOUBLE
--------CP rmvar _Var547
--------CP cpvar _mVar548 mask
--------CP rmvar _mVar548
------GENERIC (lines 54-54) [recompile=true]
--------CP createvar _mVar549 scratch_space//_p16266_9.108.91.12//_t0/temp279 
true MATRIX binaryblock -1 512 1000 1000 -1 copy
--------SPARK * X.MATRIX.DOUBLE mask.MATRIX.DOUBLE _mVar549.MATRIX.DOUBLE
--------CP createvar _mVar550 scratch_space//_p16266_9.108.91.12//_t0/temp280 
true MATRIX binaryblock -1 512 1000 1000 -1 copy
--------SPARK / _mVar549.MATRIX.DOUBLE 0.5.SCALAR.DOUBLE.true 
_mVar550.MATRIX.DOUBLE
--------CP rmvar _mVar549
--------CP cpvar _mVar550 out
--------CP rmvar _mVar550 p X
--MAIN PROGRAM
----GENERIC (lines 1-0) [recompile=false]
----GENERIC (lines 11-11) [recompile=false]
------CP extfunct ./scripts/nn/examples/mnist_lenet_distrib_sgd.dml train 10 8 
X.MATRIX.DOUBLE Y.MATRIX.DOUBLE X_val.MATRIX.DOUBLE Y_val.MATRIX.DOUBLE 
C.SCALAR.INT.false Hin.SCALAR.INT.false Win.SCALAR.INT.false 
batch_size.SCALAR.INT.false parallel_batches.SCALAR.INT.false 
epochs.SCALAR.INT.false W1 b1 W2 b2 W3 b3 W4 b4
------CP rmvar C batch_size X Y_val Y Hin parallel_batches Win epochs X_val
----GENERIC (lines 12-19) [recompile=true]
------CP rmvar b2 b3 b4 W1 W2 W3 W4 b1
{code}




was (Author: tenma):
The errors that running using the mode {{HYBRID_SPARK}} are different from that 
using the mode {{SPARK}}:

{code:java}
org.apache.sysml.api.mlcontext.MLContextException: Exception when executing 
script
  at org.apache.sysml.api.mlcontext.MLContext.execute(MLContext.java:320)
  at org.apache.sysml.api.mlcontext.MLContext.execute(MLContext.java:293)
  at org.apache.sysml.api.mlcontext.Script.execute(Script.java:717)
  at 
org.apache.sysml.scripts.nn.examples.Mnist_lenet_distrib_sgd.train(Mnist_lenet_distrib_sgd.java)
  ... 50 elided
Caused by: org.apache.sysml.api.mlcontext.MLContextException: Exception 
occurred while executing runtime program
  at 
org.apache.sysml.api.mlcontext.ScriptExecutor.executeRuntimeProgram(ScriptExecutor.java:397)
  at 
org.apache.sysml.api.mlcontext.ScriptExecutor.execute(ScriptExecutor.java:311)
  at org.apache.sysml.api.mlcontext.MLContext.execute(MLContext.java:316)
  ... 53 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: 
org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program 
block generated from statement block between lines 11 and 11 -- Error 
evaluating instruction: 
CP°extfunct°./scripts/nn/examples/mnist_lenet_distrib_sgd.dml°train°10°8°X·MATRIX·DOUBLE°Y·MATRIX·DOUBLE°X_val·MATRIX·DOUBLE°Y_val·MATRIX·DOUBLE°C·SCALAR·INT·false°Hin·SCALAR·INT·false°Win·SCALAR·INT·false°batch_size·SCALAR·INT·false°parallel_batches·SCALAR·INT·false°epochs·SCALAR·INT·false°W1°b1°W2°b2°W3°b3°W4°b4
  at org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:130)
  at 
org.apache.sysml.api.ScriptExecutorUtils.executeRuntimeProgram(ScriptExecutorUtils.java:95)
  at 
org.apache.sysml.api.ScriptExecutorUtils.executeRuntimeProgram(ScriptExecutorUtils.java:54)
  at 
org.apache.sysml.api.mlcontext.ScriptExecutor.executeRuntimeProgram(ScriptExecutor.java:395)
  ... 55 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in program block generated from statement block between lines 11 and 11 -- 
Error evaluating instruction: 
CP°extfunct°./scripts/nn/examples/mnist_lenet_distrib_sgd.dml°train°10°8°X·MATRIX·DOUBLE°Y·MATRIX·DOUBLE°X_val·MATRIX·DOUBLE°Y_val·MATRIX·DOUBLE°C·SCALAR·INT·false°Hin·SCALAR·INT·false°Win·SCALAR·INT·false°batch_size·SCALAR·INT·false°parallel_batches·SCALAR·INT·false°epochs·SCALAR·INT·false°W1°b1°W2°b2°W3°b3°W4°b4
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:316)
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:217)
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:163)
  at org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:123)
  ... 58 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: error executing 
function ./scripts/nn/examples/mnist_lenet_distrib_sgd.dml::train
  at 
org.apache.sysml.runtime.instructions.cp.FunctionCallCPInstruction.processInstruction(FunctionCallCPInstruction.java:187)
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:286)
  ... 61 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in function program block generated from function statement block between lines 
36 and 271 -- Error evaluating function program block
  at 
org.apache.sysml.runtime.controlprogram.FunctionProgramBlock.execute(FunctionProgramBlock.java:122)
  at 
org.apache.sysml.runtime.instructions.cp.FunctionCallCPInstruction.processInstruction(FunctionCallCPInstruction.java:180)
  ... 62 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in for program block generated from for statement block between lines 115 and 
270 -- Error evaluating for program block
  at 
org.apache.sysml.runtime.controlprogram.ForProgramBlock.execute(ForProgramBlock.java:157)
  at 
org.apache.sysml.runtime.controlprogram.FunctionProgramBlock.execute(FunctionProgramBlock.java:115)
  ... 63 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in for program block generated from for statement block between lines 117 and 
265 -- Error evaluating for program block
  at 
org.apache.sysml.runtime.controlprogram.ForProgramBlock.execute(ForProgramBlock.java:157)
  at 
org.apache.sysml.runtime.controlprogram.ForProgramBlock.execute(ForProgramBlock.java:145)
  ... 64 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: PARFOR: Failed to 
execute loop in parallel.
  at 
org.apache.sysml.runtime.controlprogram.ParForProgramBlock.execute(ParForProgramBlock.java:660)
  at 
org.apache.sysml.runtime.controlprogram.ForProgramBlock.execute(ForProgramBlock.java:145)
  ... 65 more
Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: 
Task 3 in stage 2.0 failed 4 times, most recent failure: Lost task 3.3 in stage 
2.0 (TID 20, rr-dense7.softlayer.com, executor 6): 
org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program 
block generated from statement block between lines 0 and 0 -- Error evaluating 
instruction: 
CP°relu_backward°outa3·MATRIX·DOUBLE°_mVar3925·MATRIX·DOUBLE°_mVar3928·MATRIX·DOUBLE°-1
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:316)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:217)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:163)
        at 
org.apache.sysml.runtime.controlprogram.parfor.ParWorker.executeSetTask(ParWorker.java:167)
        at 
org.apache.sysml.runtime.controlprogram.parfor.ParWorker.executeTask(ParWorker.java:136)
        at 
org.apache.sysml.runtime.controlprogram.parfor.RemoteParForSparkWorker.call(RemoteParForSparkWorker.java:75)
        at 
org.apache.sysml.runtime.controlprogram.parfor.RemoteParForSparkWorker.call(RemoteParForSparkWorker.java:40)
        at 
org.apache.spark.api.java.JavaRDDLike$$anonfun$fn$3$1.apply(JavaRDDLike.scala:143)
        at 
org.apache.spark.api.java.JavaRDDLike$$anonfun$fn$3$1.apply(JavaRDDLike.scala:143)
        at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:434)
        at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:440)
        at scala.collection.Iterator$class.foreach(Iterator.scala:893)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
        at 
scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:59)
        at 
scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:104)
        at 
scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:48)
        at scala.collection.TraversableOnce$class.to(TraversableOnce.scala:310)
        at scala.collection.AbstractIterator.to(Iterator.scala:1336)
        at 
scala.collection.TraversableOnce$class.toBuffer(TraversableOnce.scala:302)
        at scala.collection.AbstractIterator.toBuffer(Iterator.scala:1336)
        at 
scala.collection.TraversableOnce$class.toArray(TraversableOnce.scala:289)
        at scala.collection.AbstractIterator.toArray(Iterator.scala:1336)
        at 
org.apache.spark.rdd.RDD$$anonfun$collect$1$$anonfun$13.apply(RDD.scala:936)
        at 
org.apache.spark.rdd.RDD$$anonfun$collect$1$$anonfun$13.apply(RDD.scala:936)
        at 
org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1951)
        at 
org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1951)
        at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
        at org.apache.spark.scheduler.Task.run(Task.scala:99)
        at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:322)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.sysml.runtime.DMLRuntimeException: Error while executing 
multi-threaded tasks
        at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNN.execute(LibMatrixDNN.java:536)
        at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNN.reluBackward(LibMatrixDNN.java:391)
        at 
org.apache.sysml.runtime.instructions.cp.ConvolutionCPInstruction.processReluBackwardInstruction(ConvolutionCPInstruction.java:229)
        at 
org.apache.sysml.runtime.instructions.cp.ConvolutionCPInstruction.proc
essInstruction(ConvolutionCPInstruction.java:316)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:286)
        ... 31 more
Caused by: java.util.concurrent.ExecutionException: 
java.lang.NullPointerException
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNN.execute(LibMatrixDNN.java:532)
        ... 35 more
Caused by: java.lang.NullPointerException
        at 
org.apache.sysml.runtime.util.ConvolutionUtils.scalarOperations(ConvolutionUtils.java:150)
        at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNNHelper$ReluBackward.call(LibMatrixDNNHelper.java:231)
        at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNNHelper$ReluBackward.call(LibMatrixDNNHelper.java:208)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        ... 3 more
Driver stacktrace:
  at 
org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1435)
  at 
org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1423)
  at 
org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1422)
  at 
scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
  at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
  at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1422)
  at 
org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:802)
  at 
org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:802)
  at scala.Option.foreach(Option.scala:257)
  at 
org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:802)
  at 
org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:1650)
  at 
org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1605)
  at 
org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1594)
  at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48)
  at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:628)
  at org.apache.spark.SparkContext.runJob(SparkContext.scala:1925)
  at org.apache.spark.SparkContext.runJob(SparkContext.scala:1938)
  at org.apache.spark.SparkContext.runJob(SparkContext.scala:1951)
  at org.apache.spark.SparkContext.runJob(SparkContext.scala:1965)
  at org.apache.spark.rdd.RDD$$anonfun$collect$1.apply(RDD.scala:936)
  at 
org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
  at 
org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
  at org.apache.spark.rdd.RDD.withScope(RDD.scala:362)
  at org.apache.spark.rdd.RDD.collect(RDD.scala:935)
  at org.apache.spark.api.java.JavaRDDLike$class.collect(JavaRDDLike.scala:361)
  at org.apache.spark.api.java.AbstractJavaRDDLike.collect(JavaRDDLike.scala:45)
  at 
org.apache.sysml.runtime.controlprogram.parfor.RemoteParForSpark.runJob(RemoteParForSpark.java:77)
  at 
org.apache.sysml.runtime.controlprogram.ParForProgramBlock.executeRemoteSparkParFor(ParForProgramBlock.java:1055)
  at 
org.apache.sysml.runtime.controlprogram.ParForProgramBlock.execute(ParForProgramBlock.java:647)
  ... 66 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in program block generated from statement block between lines 0 and 0 -- Error 
evaluating instruction: 
CP°relu_backward°outa3·MATRIX·DOUBLE°_mVar3925·MATRIX·DOUBLE°_mVar3928·MATRIX·DOUBLE°-1
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:316)
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:217)
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:163)
  at 
org.apache.sysml.runtime.controlprogram.parfor.ParWorker.executeSetTask(ParWorker.java:167)
  at 
org.apache.sysml.runtime.controlprogram.parfor.ParWorker.executeTask(ParWorker.java:136)
  at 
org.apache.sysml.runtime.controlprogram.parfor.RemoteParForSparkWorker.call(RemoteParForSparkWorker.java:75)
  at 
org.apache.sysml.runtime.controlprogram.parfor.RemoteParForSparkWorker.call(RemoteParForSparkWorker.java:40)
  at 
org.apache.spark.api.java.JavaRDDLike$$anonfun$fn$3$1.apply(JavaRDDLike.scala:143)
  at 
org.apache.spark.api.java.JavaRDDLike$$anonfun$fn$3$1.apply(JavaRDDLike.scala:143)
  at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:434)
  at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:440)
  at scala.collection.Iterator$class.foreach(Iterator.scala:893)
  at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
  at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:59)
  at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:104)
  at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:48)
  at scala.collection.TraversableOnce$class.to(TraversableOnce.scala:310)
  at scala.collection.AbstractIterator.to(Iterator.scala:1336)
  at scala.collection.TraversableOnce$class.toBuffer(TraversableOnce.scala:302)
  at scala.collection.AbstractIterator.toBuffer(Iterator.scala:1336)
  at scala.collection.TraversableOnce$class.toArray(TraversableOnce.scala:289)
  at scala.collection.AbstractIterator.toArray(Iterator.scala:1336)
  at 
org.apache.spark.rdd.RDD$$anonfun$collect$1$$anonfun$13.apply(RDD.scala:936)
  at 
org.apache.spark.rdd.RDD$$anonfun$collect$1$$anonfun$13.apply(RDD.scala:936)
  at 
org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1951)
  at 
org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1951)
  at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
  at org.apache.spark.scheduler.Task.run(Task.scala:99)
  at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:322)
  ... 3 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: Error while executing 
multi-threaded tasks
  at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNN.execute(LibMatrixDNN.java:536)
  at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNN.reluBackward(LibMatrixDNN.java:391)
  at 
org.apache.sysml.runtime.instructions.cp.ConvolutionCPInstruction.processReluBackwardInstruction(ConvolutionCPInstruction.java:229)
  at 
org.apache.sysml.runtime.instructions.cp.ConvolutionCPInstruction.processInstruction(ConvolutionCPInstruction.java:316)
  at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:286)
  ... 31 more
Caused by: java.util.concurrent.ExecutionException: 
java.lang.NullPointerException
  at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNN.execute(LibMatrixDNN.java:532)
  ... 35 more
Caused by: java.lang.NullPointerException
  at 
org.apache.sysml.runtime.util.ConvolutionUtils.scalarOperations(ConvolutionUtils.java:150)
  at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNNHelper$ReluBackward.call(LibMatrixDNNHelper.java:231)
  at 
org.apache.sysml.runtime.matrix.data.LibMatrixDNNHelper$ReluBackward.call(LibMatrixDNNHelper.java:208)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  ... 3 more
{code}


> Improve Parfor parallelism for deep learning
> --------------------------------------------
>
>                 Key: SYSTEMML-1774
>                 URL: https://issues.apache.org/jira/browse/SYSTEMML-1774
>             Project: SystemML
>          Issue Type: Improvement
>          Components: Algorithms, Compiler, ParFor
>    Affects Versions: SystemML 1.0
>            Reporter: Fei Hu
>              Labels: deeplearning
>         Attachments: mnist_lenet_distrib_sgd.dml
>
>
> When running the  [distributed MNIST LeNet example | 
> https://github.com/apache/systemml/blob/master/scripts/nn/examples/mnist_lenet_distrib_sgd.dml],
>  each mini-batch could ideally run in parallel without interaction. We try to 
> force {{parfor (j in 1:parallel_batches)}} at line 137 of 
> {{nn/examples/mnist_lenet_distrib_sgd.dml}} to be {{parfor (j in 
> 1:parallel_batches, mode=REMOTE_SPARK, opt=CONSTRAINED)}} use 
> {{REMOTE_SPARK}} mode, but got some errors about 
> {{org.apache.sysml.runtime.DMLRuntimeException: Not supported: Instructions 
> of type other than CP instructions}} using the mode {{SPARK}}, and the error 
> {{java.lang.NullPointerException}} using the mode {{HYBRID_SPARK}}. More log 
> information can be found at the following comments. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to