[jira] [Commented] (SINGA-341) Add stride field to Tensor class

2018-06-30 Thread ASF subversion and git services (JIRA)


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

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

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

SINGA-370 Improvement to tensor reshape and various misc. changes related to 
SINGA-341 and 351

converted some upper-case functions to lower-case

fixed return types for some non-void cuda functions

added check_cudnn to check for CUDNN_STATUS_SUCCESS for all cudnn functions

removal of set_strides usage in cuda file and replacement with additional cudnn 
transform functions

updated all unary and binary cuda functions for transform

updated reshape function to return tensor

fixed FromProto function by removing original reshape

change to reshape to support in-place operations as well as return new tensor

added constructors for Transform function (GenUnaryTensorFn) similar to cudnn's 
transform function

updated tensor_math.h for transform

added Transform function for cpp and cuda

added Transform to reshape instead of add


> 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)


[jira] [Commented] (SINGA-341) Add stride field to Tensor class

2018-05-13 Thread ASF subversion and git services (JIRA)

[ 
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)


[jira] [Commented] (SINGA-341) Add stride field to Tensor class

2018-03-06 Thread Ng Yi Sen (JIRA)

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

Ng Yi Sen commented on SINGA-341:
-

Yi Sen is working on this issue.

> 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)