systemml-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthias Boehm (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SYSTEMML-1288) Additional meta operator templates
Date Sat, 08 Apr 2017 00:35:42 GMT

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

Matthias Boehm updated SYSTEMML-1288:
-------------------------------------
    Description: 
This task aims to add further codegen templates besides the existing SpoofCellwise, SpoofRowAggregate,
and SpoofOuterProduct. 

1) SpoofMultiOutput: There are quite a number of scenarios where we have expressions like
(a) sum(Y == check_min), sum(Y == check_max), or (b) overlapping expressions with large common
subexpression, i.e., fusable operations over a shared input with multiple aggregation roots.
Since SystemML's compiler/runtime only supports single-output operations (with very few exceptions),
it would be beneficial to generate a single fused operator with a combined aggregate output,
which is subsequently split via traditional right indexing operations. 

2) Row Templates: In addition to our row aggregate template we want to be able to fuse rowwise
operations without aggregate in order to avoid unnecessary intermediates for expressions like
B = (A <= rowMins(A)); C = B / rowSums (B), which should become a single operator instead
of 4 scans and two matrix and two vector intermediates.

  was:
This task aims to add further codegen templates besides the existing SpoofCellwise, SpoofRowAggregate,
and SpoofOuterProduct. 

1) SpoofMultiOutput: There are quite a number of scenarios where we have expressions like
(a) sum(Y == check_min), sum(Y == check_max), or (b) overlapping expressions with large common
subexpression, i.e., fusable operations over a shared input with multiple aggregation roots.
Since SystemML's compiler/runtime only supports single-output operations (with very few exceptions),
it would be beneficial to generate a single fused operator with a combined aggregate output,
which is subsequently split via traditional right indexing operations. 


> Additional meta operator templates
> ----------------------------------
>
>                 Key: SYSTEMML-1288
>                 URL: https://issues.apache.org/jira/browse/SYSTEMML-1288
>             Project: SystemML
>          Issue Type: Sub-task
>          Components: Compiler, Runtime
>            Reporter: Matthias Boehm
>            Assignee: Matthias Boehm
>             Fix For: SystemML 1.0
>
>
> This task aims to add further codegen templates besides the existing SpoofCellwise, SpoofRowAggregate,
and SpoofOuterProduct. 
> 1) SpoofMultiOutput: There are quite a number of scenarios where we have expressions
like (a) sum(Y == check_min), sum(Y == check_max), or (b) overlapping expressions with large
common subexpression, i.e., fusable operations over a shared input with multiple aggregation
roots. Since SystemML's compiler/runtime only supports single-output operations (with very
few exceptions), it would be beneficial to generate a single fused operator with a combined
aggregate output, which is subsequently split via traditional right indexing operations. 
> 2) Row Templates: In addition to our row aggregate template we want to be able to fuse
rowwise operations without aggregate in order to avoid unnecessary intermediates for expressions
like B = (A <= rowMins(A)); C = B / rowSums (B), which should become a single operator
instead of 4 scans and two matrix and two vector intermediates.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message