forked from apache/systemds
-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Overall expectation
(START)
|
v
[Read X (from Disk)] --> [Read y (from Disk)]
| |
v v
[OOC rblk (Start Streaming X)] [CP rblk (Load y to Memory)]
|
+-----------------------+
| |
v v
[OOC tee (Split Stream)] |
| |
+--> [Stream 1] +--> [Stream 2]
| |
v v
[OOC tsmm] [OOC r' (Transpose)]
| |
v v
[XtX (Small, in Memory)] [t(X) Stream] ----+
| |
| v
+----------------------------------> [CP ba+* (Multiply)]
|
v
[Xty (Small, in Memory)]
|
|
+------------------------------------->+
|
v
[CP solve]
|
v
[Write R (to Disk)]
|
v
(END)option 1: Rewrite rule order
if( staticRewrites )
{
//add static HOP DAG rewrite rules
_dagRuleSet.add( new RewriteRemoveReadAfterWrite() ); //dependency: before blocksize
_dagRuleSet.add( new RewriteBlockSizeAndReblock() );
_dagRuleSet.add( new RewriteInjectOOCTee() );
if( OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION )
_dagRuleSet.add( new RewriteRemoveUnnecessaryCasts() );plan
PROGRAM ( size CP/MR = 26/0 )
--MAIN PROGRAM
----GENERIC (lines 22-28) [recompile=false]
------CP createvar pREADX target/testTemp/functions/ooc/lmDSTest/in/X false MATRIX binary 2000 2000 1000 2800370 copy
------CP createvar pREADy target/testTemp/functions/ooc/lmDSTest/in/v false MATRIX binary 2000 1 1000 2000 copy
------CP createvar _mVar0 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p30140_10.89.140.127//_t0/temp0 true MATRIX binary 2000 2000 1000 2800370 copy
------OOC rblk pREADX.MATRIX.FP64 _mVar0.MATRIX.FP64 1000 true
------CP createvar _mVar1 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p30140_10.89.140.127//_t0/temp1 true MATRIX binary 2000 2000 1000 2800370 copy
------OOC tee _mVar0.MATRIX.FP64 tee_out_X_0.MATRIX.FP64 tee_out_X_1.MATRIX.FP64
------CP rmvar _mVar0
------CP createvar _mVar2 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p30140_10.89.140.127//_t0/temp2 true MATRIX binary 2000 2000 1000 2800370 copy
------OOC r' tee_out_X_0.MATRIX.FP64 _mVar2.MATRIX.FP64
------CP rmvar tee_out_X_0
------CP createvar _mVar3 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p30140_10.89.140.127//_t0/temp3 true MATRIX binary 2000 2000 1000 -1 copy
------OOC ba+* _mVar2.MATRIX.FP64 tee_out_X_1.MATRIX.FP64 _mVar3.MATRIX.FP64 8
------CP rmvar _mVar2 tee_out_X_1
------CP createvar _mVar4 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p30140_10.89.140.127//_t0/temp4 true MATRIX binary 2000 1 1000 2000 copy
------OOC rblk pREADy.MATRIX.FP64 _mVar4.MATRIX.FP64 1000 true
------CP createvar _mVar5 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p30140_10.89.140.127//_t0/temp5 true MATRIX binary 1 2000 1000 2000 copy
------CP r' _mVar4.MATRIX.FP64 _mVar5.MATRIX.FP64 8
------CP rmvar _mVar4
------CP createvar _mVar6 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p30140_10.89.140.127//_t0/temp6 true MATRIX binary 1 2000 1000 -1 copy
------OOC ba+* _mVar5.MATRIX.FP64 tee_out_X_2.MATRIX.FP64 _mVar6.MATRIX.FP64 8
------CP rmvar _mVar5 tee_out_X_2
------CP createvar _mVar7 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p30140_10.89.140.127//_t0/temp7 true MATRIX binary 2000 1 1000 -1 copy
------CP r' _mVar6.MATRIX.FP64 _mVar7.MATRIX.FP64 8
------CP rmvar _mVar6
------CP createvar _mVar8 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p30140_10.89.140.127//_t0/temp8 true MATRIX binary 2000 1 1000 -1 copy
------CP solve _mVar3.MATRIX.FP64 _mVar7.MATRIX.FP64 _mVar8.MATRIX.FP64 8
------CP rmvar _mVar3 _mVar7
------CP write _mVar8.MATRIX.FP64 target/testTemp/functions/ooc/lmDSTest/out/res.SCALAR.STRING.true binary.SCALAR.STRING.true .SCALAR.STRING.true 1000
------CP rmvar _mVar8
------CP cpvar _mVar1 tee_out_X_0
------CP cpvar _mVar1 tee_out_X_1
------CP mvvar _mVar1 tee_out_X_2option 2: Rewrite rule order
if( OptimizerUtils.ALLOW_AUTO_VECTORIZATION )
_dagRuleSet.add( new RewriteIndexingVectorization() ); //dependency: cse, simplifications
_dagRuleSet.add( new RewriteInjectOOCTee() );
_dagRuleSet.add( new RewriteInjectSparkPReadCheckpointing() ); //dependency: reblockplan
PROGRAM ( size CP/MR = 25/0 )
--MAIN PROGRAM
----GENERIC (lines 22-28) [recompile=false]
------CP createvar pREADX target/testTemp/functions/ooc/lmDSTest/in/X false MATRIX binary 2000 2000 1000 2800370 copy
------CP createvar pREADy target/testTemp/functions/ooc/lmDSTest/in/v false MATRIX binary 2000 1 1000 2000 copy
------CP createvar _mVar0 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p37620_10.89.140.127//_t0/temp0 true MATRIX binary 2000 2000 1000 2800370 copy
------OOC rblk pREADX.MATRIX.FP64 _mVar0.MATRIX.FP64 1000 true
------CP createvar _mVar1 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p37620_10.89.140.127//_t0/temp1 true MATRIX binary 2000 2000 1000 2800370 copy
------OOC tee _mVar0.MATRIX.FP64 tee_out_X_0.MATRIX.FP64 tee_out_X_1.MATRIX.FP64
------CP rmvar _mVar0
------CP createvar _mVar2 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p37620_10.89.140.127//_t0/temp2 true MATRIX binary 2000 2000 1000 2800370 copy
------OOC r' tee_out_X_0.MATRIX.FP64 _mVar2.MATRIX.FP64
------CP createvar _mVar3 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p37620_10.89.140.127//_t0/temp3 true MATRIX binary 2000 2000 1000 -1 copy
------OOC ba+* _mVar2.MATRIX.FP64 tee_out_X_1.MATRIX.FP64 _mVar3.MATRIX.FP64 8
------CP rmvar _mVar2 tee_out_X_1
------CP createvar _mVar4 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p37620_10.89.140.127//_t0/temp4 true MATRIX binary 2000 1 1000 2000 copy
------OOC rblk pREADy.MATRIX.FP64 _mVar4.MATRIX.FP64 1000 true
------CP createvar _mVar5 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p37620_10.89.140.127//_t0/temp5 true MATRIX binary 1 2000 1000 2000 copy
------CP r' _mVar4.MATRIX.FP64 _mVar5.MATRIX.FP64 8
------CP rmvar _mVar4
------CP createvar _mVar6 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p37620_10.89.140.127//_t0/temp6 true MATRIX binary 1 2000 1000 -1 copy
------OOC ba+* _mVar5.MATRIX.FP64 tee_out_X_0.MATRIX.FP64 _mVar6.MATRIX.FP64 8
------CP rmvar _mVar5 tee_out_X_0
------CP createvar _mVar7 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p37620_10.89.140.127//_t0/temp7 true MATRIX binary 2000 1 1000 -1 copy
------CP r' _mVar6.MATRIX.FP64 _mVar7.MATRIX.FP64 8
------CP rmvar _mVar6
------CP createvar _mVar8 target\testTemp\functions\ooc\lmDSTest\lmDS/target/scratch_space//_p37620_10.89.140.127//_t0/temp8 true MATRIX binary 2000 1 1000 -1 copy
------CP solve _mVar3.MATRIX.FP64 _mVar7.MATRIX.FP64 _mVar8.MATRIX.FP64 8
------CP rmvar _mVar3 _mVar7
------CP write _mVar8.MATRIX.FP64 target/testTemp/functions/ooc/lmDSTest/out/res.SCALAR.STRING.true binary.SCALAR.STRING.true .SCALAR.STRING.true 1000
------CP rmvar _mVar8
------CP cpvar _mVar1 tee_out_X_0
------CP cpvar _mVar1 tee_out_X_1
------CP rmvar _mVar1Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels