Comments (6)
I return UINT64_MAX if the product of nrows times ncols can cause int64_t overflow, but I might be overly cautious in this case because ncols is 1 for a GrB_Vector.
It would be a good idea to use 1152921504606846976L to make sure that value is a 64-bit constant.
from graphblas.
Gotcha. I actually cause this error from Python via python-graphblas
(where types are handled correctly):
v = Vector(int, size=2**60)
v[:] = 1
v.nvals # bad value!
This worked correctly with previous versions of SuiteSparse:GraphBLAS. v8.0.0 introduced a regression.
from graphblas.
Try the latest push to the master branch. I changed how I handle checking integer overflow in Source/GB_uint64_multiply.h in v8.0.0 and I think I introduced this bug then. The latest push to the master branch should fix this.
from graphblas.
That fixed it. I added a new test (GraphBLAS/Test/GB_mex_test25.c) that fails with v8.0.0 (triggering this error) but works fine for the draft v8.0.1.
from graphblas.
The fix isn't perfect because the integer overflow guard is not exact (it wasn't exact in v7.x either). For example, if you ask for GrB_Matrix_nvals for a matrix of size 2 by 2^30, it will report INT64_MAX, or 'infinity' because that case triggers the overflow guard. That's by design. It's too costly to put in a precise integer overflow guard.
from graphblas.
I confirm that this is now fixed in v8.0.1. Thanks @DrTimothyAldenDavis! Closing.
from graphblas.
Related Issues (20)
- atomic*: Undefined symbol on armel and mipsel architectures HOT 33
- "ZEROB" Binary Operator HOT 3
- GxB sort with smaller (or larger) output objects
- cpu_features: Build error for MinGW HOT 13
- Size of Static Library HOT 16
- Link error with Intel igx and Ninja generator on Windows HOT 9
- Optimisation report causing build failure when using Intel oneAPI HOT 2
- Where is `GxB_Context_error`? HOT 3
- Why was `nthreads` and `chunks` remove from the descriptor? HOT 5
- dynamic connectivity in the language of graphblas HOT 1
- Fastest Way to Exfiltrate a Matrix HOT 3
- no JIT kernels produced? HOT 3
- Modify CMake options to build without bundled libraries HOT 1
- Sublinear Performance with n Threads HOT 6
- [BUG]: Incorrect result(!) in vector-matrix multiply with accumulation in versions 8.0.2 and 8.2.0 HOT 13
- Allow enabling and disabling JIT for operators and types with get/set HOT 1
- Monoid Creation with Scalar HOT 1
- Excess allocation in dense apply HOT 2
- Proposal: GxB_CASTOP 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 graphblas.