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

Matthias Boehm commented on SYSTEMML-2131:
------------------------------------------

SystemML supports multiple execution types per operation - CP (control program, 
i.e., singlenode), SPARK (distributed spark operations), and MR (distributed 
map reduce operations). By default, we use a hybrid execution mode which 
selects these execution types automatically based on the data size. However, in 
order to get good test coverage with moderate data size many of our tests force 
all operations into singlenode and distributed operations.

> Add support for bias_add and bias_mult
> --------------------------------------
>
>                 Key: SYSTEMML-2131
>                 URL: https://issues.apache.org/jira/browse/SYSTEMML-2131
>             Project: SystemML
>          Issue Type: Sub-task
>            Reporter: Matthias Boehm
>            Priority: Major
>
> The functions bias_add and bias_mult (see 
> http://apache.github.io/systemml/dml-language-reference for the semantics) 
> are language constructs and operators that aim to improve performance by 
> fusing element-wise operations with the replication of bias terms. For 
> example, bias_add is defined as follows:
> {code}
> ones = matrix(1, rows=1, cols=height*width);
> output = input + matrix(bias %*% ones, rows=1, cols=numChannels*height*width)
> {code}
> The code generation frameworks will makes such custom operators obsolete. 
> However, because bias_add and bias_mult are mapped to specific 
> {{ConvolutionOp}} instances they are not yet supported by the codegen 
> framework.
> In detail this task entails:
> 1) Create new cell template tests in {{functions.codegen.CellwiseTmplTest}} 
> for both functions.
> 2) Modify the open/merge/close conditions for cell templates in 
> {{codegen.template.TemplateCell}} 
> 3) Create a new codegen primitive for a mapped index lookups (for each cell 
> in input we want to access a specific cell in the bias vector)
> 4) Modify the CPlan construction in {{codegen.template.TemplateCell}} to 
> create binary plus or multiply and the mapped index lookup for all 
> ConvolutionOp instances of type {{BIAS_ADD}} or {{BIAS_MULTIPLY}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to