Comments (4)
thanks for the report @ZJUGuoShuai. we recently moved most reductions to cub, so I will check for a regression
from matx.
BTW, it works great with 1D and 2D tensors :)
from matx.
Hi @ZJUGuoShuai, it looks like the order isn't quite what we expect, and we should have errored. The way our reductions work is the output tensor must have the same inner ranks as the input tensor. In other words,
{2,3,2} -> {2} // valid
{2,3,2} -> {6} // not valid
By going from a rank 3 to a rank one you are asking it to sum over the outer 2 dimensions, and the final output would have two values that are the sum of the two 3x2 matrices:
auto mat = vec.View({2, 3, 2});
auto mat_sum = matx::make_tensor<float, 1>({2});
matx::sum(mat_sum, mat);
000000: 21.0000
000001: 57.0000
It looks like instead you want to just sum over 6 rows of 2 columns each, which would be:
auto vec = matx::make_tensor<float, 1>({12});
vec.SetVals({1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12});
auto mat = vec.View({6,2});
auto mat_sum = matx::make_tensor<float, 1>({6});
matx::sum(mat_sum, mat);
mat_sum.Print();
000000: 3.0000
000001: 7.0000
000002: 11.0000
000003: 15.0000
000004: 19.0000
000005: 23.0000
I also had to make a small change since we did have a regression when using CUB for row-wise reductions, so that's back to take a slower path for now and will be fixed next week. You should be able to get the correct answer now with the latest code and the example above.
from matx.
@cliffburdick Thanks, now I know how to use Reduce operations:
the output tensor must have the same inner ranks as the input tensor
from matx.
Related Issues (20)
- [BUG] `matmul` do not support int32 tensors. HOT 4
- [BUG] SVDBPI nans emitted
- [QST] Cannot call device executor using host compiler HOT 7
- print on diag operator appears broken [BUG] HOT 3
- [FEA] Add vector and matrix norm operators
- [BUG] Renamed `rmax`/`rmin`
- [QST] After running some computations on a tensor, how to fetch the entire tensor back to host memory? HOT 3
- [DOC] Document enumerated types
- [DOC] Add host/cuda support to docs
- [FEA] Consider custom reduction if using non-contiguous stride
- [FEA] Add support for mdspan
- [FEA] Add support to extract the exponents of tensor with float / complex values HOT 1
- [BUG] `cmake_sample_project` cannot build when setting `MATX_EN_CUTLASS=ON` HOT 6
- [BUG] `cmake_sample_project` cannot build when setting `MATX_EN_PYBIND11=ON` on Python >= 3.11 HOT 6
- [FEA] cuTENSOR 2.0 support HOT 9
- [BUG] `clone(slice(diag(A)))` failed HOT 1
- [BUG] Simple einsum program failed to compile HOT 4
- [FEA] Add a `find_peaks` function
- [BUG] Compilation error with MATX_ENABLE_CUTLASS in transforms/matmul.h HOT 3
- [BUG]: #define print replaces print functions in other libraries HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from matx.