[ 
https://issues.apache.org/jira/browse/SYSTEMML-1150?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Felix Schüler updated SYSTEMML-1150:
------------------------------------
    Description: 
{code}
A = matrix(2.0, rows=10, cols=10)

n = nrow(A)
s = 0.0

for (i in 1:n) {
  # print("[i,1]: " + i)
  s = s + as.scalar(A[i,1])
}
{code}

This code fails with the below exception. When uncommenting the print statement 
it works. Notice that the For-loop block is missing from the failing version.

Exception:
{code}
16/12/09 15:49:50 ERROR api.DMLScript: Failed to execute DML script.
org.apache.sysml.runtime.DMLRuntimeException: 
org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program 
block generated from statement block between lines 9 and 9 -- Error evaluating 
instruction: CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
        at 
org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:152)
        at org.apache.sysml.api.DMLScript.execute(DMLScript.java:674)
        at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:354)
        at org.apache.sysml.api.DMLScript.main(DMLScript.java:199)
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in program block generated from statement block between lines 9 and 9 -- Error 
evaluating instruction: 
CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:335)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:224)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:168)
        at 
org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:145)
        ... 3 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: Dimension mismatch - 
unable to cast matrix '_mVar2' of dimension (10 x 1) to scalar.
        at 
org.apache.sysml.runtime.instructions.cp.VariableCPInstruction.processInstruction(VariableCPInstruction.java:544)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:305)
        ... 6 more
Exception in thread "main" org.apache.sysml.api.DMLException: 
org.apache.sysml.runtime.DMLRuntimeException: 
org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program 
block generated from statement block between lines 9 and 9 -- Error evaluating 
instruction: CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
        at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:368)
        at org.apache.sysml.api.DMLScript.main(DMLScript.java:199)
Caused by: org.apache.sysml.runtime.DMLRuntimeException: 
org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program 
block generated from statement block between lines 9 and 9 -- Error evaluating 
instruction: CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
        at 
org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:152)
        at org.apache.sysml.api.DMLScript.execute(DMLScript.java:674)
        at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:354)
        ... 1 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in program block generated from statement block between lines 9 and 9 -- Error 
evaluating instruction: 
CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:335)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:224)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:168)
        at 
org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:145)
        ... 3 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: Dimension mismatch - 
unable to cast matrix '_mVar2' of dimension (10 x 1) to scalar.
        at 
org.apache.sysml.runtime.instructions.cp.VariableCPInstruction.processInstruction(VariableCPInstruction.java:544)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:305)
        ... 6 more
{code}

Plan for the failing version:
{code}
16/12/09 15:49:50 INFO api.DMLScript: BEGIN DML run 12/09/2016 15:49:50
16/12/09 15:49:50 INFO api.DMLScript: EXPLAIN (RUNTIME):
# Memory Budget local/remote = 2832MB/140MB/140MB
# Degree of Parallelism (vcores) local/remote = 4/1/1
PROGRAM ( size CP/MR = 0/0 )
--MAIN PROGRAM
----GENERIC (lines 2-5) [recompile=false]
------CP createvar _mVar1 scratch_space//_p16109_127.0.1.1//_t0/temp1 true 
MATRIX binaryblock 10 10 1000 1000 100 copy
------CP rand 10 10 1000 1000 2.0 2.0 1.0 -1 uniform 1.0 4 _mVar1.MATRIX.DOUBLE
------CP assignvar 10.SCALAR.INT.true n.SCALAR.INT
------CP assignvar 0.0.SCALAR.DOUBLE.true s.SCALAR.DOUBLE
------CP cpvar _mVar1 A
------CP rmvar _mVar1
----GENERIC (lines 9-9) [recompile=false]
------CP createvar _mVar2 scratch_space//_p16109_127.0.1.1//_t0/temp2 true 
MATRIX binarycell 1 1 -1 -1 -1 copy
------CP rangeReIndex A.MATRIX.DOUBLE 1.SCALAR.INT.true 10.SCALAR.INT.true 
1.SCALAR.INT.true 1.SCALAR.INT.true _mVar2.MATRIX.DOUBLE
------CP castdts _mVar2.MATRIX.DOUBLE.false _Var3.SCALAR.DOUBLE
------CP rmvar _mVar2
------CP + s.SCALAR.DOUBLE.false _Var3.SCALAR.DOUBLE.false _Var4.SCALAR.DOUBLE
------CP rmvar _Var3
------CP assignvar _Var4.SCALAR.DOUBLE.false s.SCALAR.DOUBLE
------CP rmvar _Var4

16/12/09 15:49:50 INFO api.DMLScript: SystemML Statistics:
Total execution time:           0.052 sec.
Number of executed MR Jobs:     0.

16/12/09 15:49:50 INFO api.DMLScript: END DML run 12/09/2016 15:49:50
{code}

Plan for the successful run:
{code}
16/12/09 15:50:27 INFO api.DMLScript: BEGIN DML run 12/09/2016 15:50:27
16/12/09 15:50:28 INFO api.DMLScript: EXPLAIN (RUNTIME):
# Memory Budget local/remote = 2832MB/140MB/140MB
# Degree of Parallelism (vcores) local/remote = 4/1/1
PROGRAM ( size CP/MR = 0/0 )
--MAIN PROGRAM
----GENERIC (lines 2-5) [recompile=false]
------CP createvar _mVar1 scratch_space//_p16143_127.0.1.1//_t0/temp1 true 
MATRIX binaryblock 10 10 1000 1000 100 copy
------CP rand 10 10 1000 1000 2.0 2.0 1.0 -1 uniform 1.0 4 _mVar1.MATRIX.DOUBLE
------CP assignvar 10.SCALAR.INT.true n.SCALAR.INT
------CP assignvar 0.0.SCALAR.DOUBLE.true s.SCALAR.DOUBLE
------CP cpvar _mVar1 A
------CP rmvar _mVar1
----FOR (lines 7-10)
------GENERIC (lines 8-9) [recompile=false]
--------CP + [i,1]: .SCALAR.STRING.true i.SCALAR.INT.false _Var2.SCALAR.STRING
--------CP createvar _mVar3 scratch_space//_p16143_127.0.1.1//_t0/temp2 true 
MATRIX binarycell 1 1 -1 -1 -1 copy
--------CP rangeReIndex A.MATRIX.DOUBLE i.SCALAR.INT.false i.SCALAR.INT.false 
1.SCALAR.INT.true 1.SCALAR.INT.true _mVar3.MATRIX.DOUBLE
--------CP print _Var2.SCALAR.STRING.false _Var4.SCALAR.STRING
--------CP rmvar _Var2
--------CP castdts _mVar3.MATRIX.DOUBLE.false _Var5.SCALAR.DOUBLE
--------CP rmvar _mVar3
--------CP + s.SCALAR.DOUBLE.false _Var5.SCALAR.DOUBLE.false _Var6.SCALAR.DOUBLE
--------CP rmvar _Var5
--------CP assignvar _Var6.SCALAR.DOUBLE.false s.SCALAR.DOUBLE
--------CP rmvar _Var4
--------CP rmvar _Var6

16/12/09 15:50:28 INFO api.DMLScript: SystemML Statistics:
Total execution time:           0.064 sec.
Number of executed MR Jobs:     0.

16/12/09 15:50:28 INFO api.DMLScript: END DML run 12/09/2016 15:50:28

{code}

  was:
{code}
A = matrix(2.0, rows=10, cols=10)

n = nrow(A)
s = 0.0

for (i in 1:n) {
  # print("[i,1]: " + i)
  s = s + as.scalar(A[i,1])
}
{code}

This code fails with the below exception. When uncommenting the print statement 
it works.

Exception:
{code}
16/12/09 15:49:50 ERROR api.DMLScript: Failed to execute DML script.
org.apache.sysml.runtime.DMLRuntimeException: 
org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program 
block generated from statement block between lines 9 and 9 -- Error evaluating 
instruction: CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
        at 
org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:152)
        at org.apache.sysml.api.DMLScript.execute(DMLScript.java:674)
        at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:354)
        at org.apache.sysml.api.DMLScript.main(DMLScript.java:199)
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in program block generated from statement block between lines 9 and 9 -- Error 
evaluating instruction: 
CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:335)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:224)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:168)
        at 
org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:145)
        ... 3 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: Dimension mismatch - 
unable to cast matrix '_mVar2' of dimension (10 x 1) to scalar.
        at 
org.apache.sysml.runtime.instructions.cp.VariableCPInstruction.processInstruction(VariableCPInstruction.java:544)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:305)
        ... 6 more
Exception in thread "main" org.apache.sysml.api.DMLException: 
org.apache.sysml.runtime.DMLRuntimeException: 
org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program 
block generated from statement block between lines 9 and 9 -- Error evaluating 
instruction: CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
        at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:368)
        at org.apache.sysml.api.DMLScript.main(DMLScript.java:199)
Caused by: org.apache.sysml.runtime.DMLRuntimeException: 
org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program 
block generated from statement block between lines 9 and 9 -- Error evaluating 
instruction: CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
        at 
org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:152)
        at org.apache.sysml.api.DMLScript.execute(DMLScript.java:674)
        at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:354)
        ... 1 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
in program block generated from statement block between lines 9 and 9 -- Error 
evaluating instruction: 
CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:335)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:224)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:168)
        at 
org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:145)
        ... 3 more
Caused by: org.apache.sysml.runtime.DMLRuntimeException: Dimension mismatch - 
unable to cast matrix '_mVar2' of dimension (10 x 1) to scalar.
        at 
org.apache.sysml.runtime.instructions.cp.VariableCPInstruction.processInstruction(VariableCPInstruction.java:544)
        at 
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:305)
        ... 6 more
{code}

Plan for the failing version:
{code}
16/12/09 15:49:50 INFO api.DMLScript: BEGIN DML run 12/09/2016 15:49:50
16/12/09 15:49:50 INFO api.DMLScript: EXPLAIN (RUNTIME):
# Memory Budget local/remote = 2832MB/140MB/140MB
# Degree of Parallelism (vcores) local/remote = 4/1/1
PROGRAM ( size CP/MR = 0/0 )
--MAIN PROGRAM
----GENERIC (lines 2-5) [recompile=false]
------CP createvar _mVar1 scratch_space//_p16109_127.0.1.1//_t0/temp1 true 
MATRIX binaryblock 10 10 1000 1000 100 copy
------CP rand 10 10 1000 1000 2.0 2.0 1.0 -1 uniform 1.0 4 _mVar1.MATRIX.DOUBLE
------CP assignvar 10.SCALAR.INT.true n.SCALAR.INT
------CP assignvar 0.0.SCALAR.DOUBLE.true s.SCALAR.DOUBLE
------CP cpvar _mVar1 A
------CP rmvar _mVar1
----GENERIC (lines 9-9) [recompile=false]
------CP createvar _mVar2 scratch_space//_p16109_127.0.1.1//_t0/temp2 true 
MATRIX binarycell 1 1 -1 -1 -1 copy
------CP rangeReIndex A.MATRIX.DOUBLE 1.SCALAR.INT.true 10.SCALAR.INT.true 
1.SCALAR.INT.true 1.SCALAR.INT.true _mVar2.MATRIX.DOUBLE
------CP castdts _mVar2.MATRIX.DOUBLE.false _Var3.SCALAR.DOUBLE
------CP rmvar _mVar2
------CP + s.SCALAR.DOUBLE.false _Var3.SCALAR.DOUBLE.false _Var4.SCALAR.DOUBLE
------CP rmvar _Var3
------CP assignvar _Var4.SCALAR.DOUBLE.false s.SCALAR.DOUBLE
------CP rmvar _Var4

16/12/09 15:49:50 INFO api.DMLScript: SystemML Statistics:
Total execution time:           0.052 sec.
Number of executed MR Jobs:     0.

16/12/09 15:49:50 INFO api.DMLScript: END DML run 12/09/2016 15:49:50
{code}

Plan for the successful run:
{code}
16/12/09 15:50:27 INFO api.DMLScript: BEGIN DML run 12/09/2016 15:50:27
16/12/09 15:50:28 INFO api.DMLScript: EXPLAIN (RUNTIME):
# Memory Budget local/remote = 2832MB/140MB/140MB
# Degree of Parallelism (vcores) local/remote = 4/1/1
PROGRAM ( size CP/MR = 0/0 )
--MAIN PROGRAM
----GENERIC (lines 2-5) [recompile=false]
------CP createvar _mVar1 scratch_space//_p16143_127.0.1.1//_t0/temp1 true 
MATRIX binaryblock 10 10 1000 1000 100 copy
------CP rand 10 10 1000 1000 2.0 2.0 1.0 -1 uniform 1.0 4 _mVar1.MATRIX.DOUBLE
------CP assignvar 10.SCALAR.INT.true n.SCALAR.INT
------CP assignvar 0.0.SCALAR.DOUBLE.true s.SCALAR.DOUBLE
------CP cpvar _mVar1 A
------CP rmvar _mVar1
----FOR (lines 7-10)
------GENERIC (lines 8-9) [recompile=false]
--------CP + [i,1]: .SCALAR.STRING.true i.SCALAR.INT.false _Var2.SCALAR.STRING
--------CP createvar _mVar3 scratch_space//_p16143_127.0.1.1//_t0/temp2 true 
MATRIX binarycell 1 1 -1 -1 -1 copy
--------CP rangeReIndex A.MATRIX.DOUBLE i.SCALAR.INT.false i.SCALAR.INT.false 
1.SCALAR.INT.true 1.SCALAR.INT.true _mVar3.MATRIX.DOUBLE
--------CP print _Var2.SCALAR.STRING.false _Var4.SCALAR.STRING
--------CP rmvar _Var2
--------CP castdts _mVar3.MATRIX.DOUBLE.false _Var5.SCALAR.DOUBLE
--------CP rmvar _mVar3
--------CP + s.SCALAR.DOUBLE.false _Var5.SCALAR.DOUBLE.false _Var6.SCALAR.DOUBLE
--------CP rmvar _Var5
--------CP assignvar _Var6.SCALAR.DOUBLE.false s.SCALAR.DOUBLE
--------CP rmvar _Var4
--------CP rmvar _Var6

16/12/09 15:50:28 INFO api.DMLScript: SystemML Statistics:
Total execution time:           0.064 sec.
Number of executed MR Jobs:     0.

16/12/09 15:50:28 INFO api.DMLScript: END DML run 12/09/2016 15:50:28

{code}


> Incorrect dimension mismatch when indexing with loop-variable
> -------------------------------------------------------------
>
>                 Key: SYSTEMML-1150
>                 URL: https://issues.apache.org/jira/browse/SYSTEMML-1150
>             Project: SystemML
>          Issue Type: Bug
>         Environment: Standalone mode
>            Reporter: Felix Schüler
>
> {code}
> A = matrix(2.0, rows=10, cols=10)
> n = nrow(A)
> s = 0.0
> for (i in 1:n) {
>   # print("[i,1]: " + i)
>   s = s + as.scalar(A[i,1])
> }
> {code}
> This code fails with the below exception. When uncommenting the print 
> statement it works. Notice that the For-loop block is missing from the 
> failing version.
> Exception:
> {code}
> 16/12/09 15:49:50 ERROR api.DMLScript: Failed to execute DML script.
> org.apache.sysml.runtime.DMLRuntimeException: 
> org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program 
> block generated from statement block between lines 9 and 9 -- Error 
> evaluating instruction: 
> CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
>       at 
> org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:152)
>       at org.apache.sysml.api.DMLScript.execute(DMLScript.java:674)
>       at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:354)
>       at org.apache.sysml.api.DMLScript.main(DMLScript.java:199)
> Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
> in program block generated from statement block between lines 9 and 9 -- 
> Error evaluating instruction: 
> CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:335)
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:224)
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:168)
>       at 
> org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:145)
>       ... 3 more
> Caused by: org.apache.sysml.runtime.DMLRuntimeException: Dimension mismatch - 
> unable to cast matrix '_mVar2' of dimension (10 x 1) to scalar.
>       at 
> org.apache.sysml.runtime.instructions.cp.VariableCPInstruction.processInstruction(VariableCPInstruction.java:544)
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:305)
>       ... 6 more
> Exception in thread "main" org.apache.sysml.api.DMLException: 
> org.apache.sysml.runtime.DMLRuntimeException: 
> org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program 
> block generated from statement block between lines 9 and 9 -- Error 
> evaluating instruction: 
> CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
>       at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:368)
>       at org.apache.sysml.api.DMLScript.main(DMLScript.java:199)
> Caused by: org.apache.sysml.runtime.DMLRuntimeException: 
> org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error in program 
> block generated from statement block between lines 9 and 9 -- Error 
> evaluating instruction: 
> CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
>       at 
> org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:152)
>       at org.apache.sysml.api.DMLScript.execute(DMLScript.java:674)
>       at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:354)
>       ... 1 more
> Caused by: org.apache.sysml.runtime.DMLRuntimeException: ERROR: Runtime error 
> in program block generated from statement block between lines 9 and 9 -- 
> Error evaluating instruction: 
> CP°castdts°_mVar2·MATRIX·DOUBLE·false°_Var3·SCALAR·DOUBLE
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:335)
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:224)
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:168)
>       at 
> org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:145)
>       ... 3 more
> Caused by: org.apache.sysml.runtime.DMLRuntimeException: Dimension mismatch - 
> unable to cast matrix '_mVar2' of dimension (10 x 1) to scalar.
>       at 
> org.apache.sysml.runtime.instructions.cp.VariableCPInstruction.processInstruction(VariableCPInstruction.java:544)
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:305)
>       ... 6 more
> {code}
> Plan for the failing version:
> {code}
> 16/12/09 15:49:50 INFO api.DMLScript: BEGIN DML run 12/09/2016 15:49:50
> 16/12/09 15:49:50 INFO api.DMLScript: EXPLAIN (RUNTIME):
> # Memory Budget local/remote = 2832MB/140MB/140MB
> # Degree of Parallelism (vcores) local/remote = 4/1/1
> PROGRAM ( size CP/MR = 0/0 )
> --MAIN PROGRAM
> ----GENERIC (lines 2-5) [recompile=false]
> ------CP createvar _mVar1 scratch_space//_p16109_127.0.1.1//_t0/temp1 true 
> MATRIX binaryblock 10 10 1000 1000 100 copy
> ------CP rand 10 10 1000 1000 2.0 2.0 1.0 -1 uniform 1.0 4 
> _mVar1.MATRIX.DOUBLE
> ------CP assignvar 10.SCALAR.INT.true n.SCALAR.INT
> ------CP assignvar 0.0.SCALAR.DOUBLE.true s.SCALAR.DOUBLE
> ------CP cpvar _mVar1 A
> ------CP rmvar _mVar1
> ----GENERIC (lines 9-9) [recompile=false]
> ------CP createvar _mVar2 scratch_space//_p16109_127.0.1.1//_t0/temp2 true 
> MATRIX binarycell 1 1 -1 -1 -1 copy
> ------CP rangeReIndex A.MATRIX.DOUBLE 1.SCALAR.INT.true 10.SCALAR.INT.true 
> 1.SCALAR.INT.true 1.SCALAR.INT.true _mVar2.MATRIX.DOUBLE
> ------CP castdts _mVar2.MATRIX.DOUBLE.false _Var3.SCALAR.DOUBLE
> ------CP rmvar _mVar2
> ------CP + s.SCALAR.DOUBLE.false _Var3.SCALAR.DOUBLE.false _Var4.SCALAR.DOUBLE
> ------CP rmvar _Var3
> ------CP assignvar _Var4.SCALAR.DOUBLE.false s.SCALAR.DOUBLE
> ------CP rmvar _Var4
> 16/12/09 15:49:50 INFO api.DMLScript: SystemML Statistics:
> Total execution time:         0.052 sec.
> Number of executed MR Jobs:   0.
> 16/12/09 15:49:50 INFO api.DMLScript: END DML run 12/09/2016 15:49:50
> {code}
> Plan for the successful run:
> {code}
> 16/12/09 15:50:27 INFO api.DMLScript: BEGIN DML run 12/09/2016 15:50:27
> 16/12/09 15:50:28 INFO api.DMLScript: EXPLAIN (RUNTIME):
> # Memory Budget local/remote = 2832MB/140MB/140MB
> # Degree of Parallelism (vcores) local/remote = 4/1/1
> PROGRAM ( size CP/MR = 0/0 )
> --MAIN PROGRAM
> ----GENERIC (lines 2-5) [recompile=false]
> ------CP createvar _mVar1 scratch_space//_p16143_127.0.1.1//_t0/temp1 true 
> MATRIX binaryblock 10 10 1000 1000 100 copy
> ------CP rand 10 10 1000 1000 2.0 2.0 1.0 -1 uniform 1.0 4 
> _mVar1.MATRIX.DOUBLE
> ------CP assignvar 10.SCALAR.INT.true n.SCALAR.INT
> ------CP assignvar 0.0.SCALAR.DOUBLE.true s.SCALAR.DOUBLE
> ------CP cpvar _mVar1 A
> ------CP rmvar _mVar1
> ----FOR (lines 7-10)
> ------GENERIC (lines 8-9) [recompile=false]
> --------CP + [i,1]: .SCALAR.STRING.true i.SCALAR.INT.false _Var2.SCALAR.STRING
> --------CP createvar _mVar3 scratch_space//_p16143_127.0.1.1//_t0/temp2 true 
> MATRIX binarycell 1 1 -1 -1 -1 copy
> --------CP rangeReIndex A.MATRIX.DOUBLE i.SCALAR.INT.false i.SCALAR.INT.false 
> 1.SCALAR.INT.true 1.SCALAR.INT.true _mVar3.MATRIX.DOUBLE
> --------CP print _Var2.SCALAR.STRING.false _Var4.SCALAR.STRING
> --------CP rmvar _Var2
> --------CP castdts _mVar3.MATRIX.DOUBLE.false _Var5.SCALAR.DOUBLE
> --------CP rmvar _mVar3
> --------CP + s.SCALAR.DOUBLE.false _Var5.SCALAR.DOUBLE.false 
> _Var6.SCALAR.DOUBLE
> --------CP rmvar _Var5
> --------CP assignvar _Var6.SCALAR.DOUBLE.false s.SCALAR.DOUBLE
> --------CP rmvar _Var4
> --------CP rmvar _Var6
> 16/12/09 15:50:28 INFO api.DMLScript: SystemML Statistics:
> Total execution time:         0.064 sec.
> Number of executed MR Jobs:   0.
> 16/12/09 15:50:28 INFO api.DMLScript: END DML run 12/09/2016 15:50:28
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to