GraphBLAS / binsparse-specification

A cross-platform binary storage format for sparse data, particularly sparse matrices.
https://graphblas.org/binsparse-specification/
BSD 3-Clause "New" or "Revised" License
15 stars 4 forks source link

Add `attributes` to the specification #49

Closed BenBrock closed 4 months ago

BenBrock commented 5 months ago

Add the attributes key to the specification. Attributes provide optional information about a matrix which may be useful for certain optimizations, such as when reading a symmetric matrix from disk and creating a non-symmetric matrix in memory.

github-actions[bot] commented 5 months ago

Automated Review URLs

BenBrock commented 5 months ago

Possible attributes to add:

willow-ahrens commented 5 months ago

Can we safely scope out numerical properties, such as invertible, rank, positive definite, etc., as they aren't really related to accelerating the reading and writing of the tensor?

willow-ahrens commented 4 months ago

I wonder if this could have been more user-defined. Since many more users may come along with special purpose acceleration attributes for their particular use cases, I'm not sure we want to be in the business of legislating what all of those optional attributes are, and we might have wanted to take the stance that those variables should live outside the spec, with perhaps a section of the JSON to describe user-defined attributes.

BenBrock commented 4 months ago

That's a fair point, and we could always reverse this. I will add this to the agenda for our next meeting.