singa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SINGA-341) Add stride field to Tensor class
Date Sun, 13 May 2018 15:27:00 GMT

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

ASF subversion and git services commented on SINGA-341:
-------------------------------------------------------

Commit a44d2e76b70a54e6ad1e063c0b8e895c43018b63 in incubator-singa's branch refs/heads/master
from Vaan Ng
[ https://git-wip-us.apache.org/repos/asf?p=incubator-singa.git;h=a44d2e7 ]

Merge branch 'master' of github.com:apache/incubator-singa into SINGA-341-351


> Add stride field to Tensor class
> --------------------------------
>
>                 Key: SINGA-341
>                 URL: https://issues.apache.org/jira/browse/SINGA-341
>             Project: Singa
>          Issue Type: Improvement
>            Reporter: wangwei
>            Priority: Major
>
> The current Tensor class stores data in a contiguous chunk of memory. It is a very simple
implementation. However, it is difficult to support some operations. For example,
> {code}
> Tensor a = b.transpose()
> Tensor d = a + c
> {code}
>  
> Like other tensor implementation (e.g. numpy), Tensor a and b shares memory. The addition
operation has to do real transpose, which incurs some overhead. With stride, we can avoid
the transpose operation. Instead, we enumerate each element of a and c using the index, shape
and stride information. https://stackoverflow.com/questions/32034237/how-does-numpys-transpose-method-permute-the-axes-of-an-array
> More over, stride is necessary for broadcasting operations. [https://stackoverflow.com/questions/39626233/how-did-numpy-implement-multi-dimensional-broadcasting.]
>  
> Code in src/core/tensor.cc tensor_math_cpp.h tensor_math_cuda.h needs modification when
stride is added as a field/member of Tensor.



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

Mime
View raw message