Skip to content

Commit e0daa0b

Browse files
committed
Merge branch 'main' into wma/levels
2 parents 78c9e92 + c9b1858 commit e0daa0b

2 files changed

Lines changed: 23 additions & 2 deletions

File tree

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ Minutes from our meetings are available [here](https://hackmd.io/0qzK4fJlQp-78t0
77

88
[View Latest Spec](https://api.csswg.org/bikeshed/?url=https://raw.githubusercontent.com/GraphBLAS/binsparse-specification/main/spec/latest/index.bs)
99

10+
## Parsers
11+
12+
Here is a table listing the current tensor frameworks that support the format:
13+
14+
| Language | Framework | Status | Notes |
15+
| -------- | ------ | ------ | ----- |
16+
| C++ | [binsparse-reference-impl](https://github.com/GraphBLAS/binsparse-reference-impl) | under development | converts between binsparse V1.0 and custom in-memory sparse matrices |
17+
| Julia | [Finch.jl](https://willowahrens.io/Finch.jl/dev/fileio/) | under development | converts between binsparse V1.0 and V2.0 and Finch matrices and tensors |
18+
| Python | [binsparse-python](https://github.com/ivirshup/binsparse-python) | under development | converts between binsparse V1.0 and scipy.sparse matrices |
19+
1020
### Editing
1121

1222
The working version of the specification can be found under `spec/latest/index.bs`.

spec/latest/index.bs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<pre class='metadata'>
2-
Title: Binary Sparse Format Specification
2+
Title: Binary Sparse Format Specification Version 0.1
33
Shortname: binsparse
44
Level: 1
55
Status: LS-COMMIT
@@ -62,6 +62,7 @@ attributes.
6262
```json
6363
{
6464
"binsparse": {
65+
"version": "0.1",
6566
"format": "CSC",
6667
"shape": [10, 12],
6768
"data_types": {
@@ -77,6 +78,14 @@ attributes.
7778

7879
</div>
7980

81+
Version {#key_version}
82+
----------------------
83+
84+
Version indicates the version of the Binsparse specification used here.
85+
This is a two digit specifier of the form `major.minor`.
86+
Any minor updates should be backwards compatible with the previous version, e.g. must be a superset of the previous versions within the major release series.
87+
Major versions may break backwards compatibility.
88+
8089
Shape {#key_shape}
8190
------------------
8291

@@ -139,7 +148,7 @@ Column-Major Dense Matrix format
139148
:: Array of size `number_of_elements` containing stored values.
140149

141150
The element of the vector located at index `i, j` has scalar value
142-
`values[j * number_of_rows + i]`.
151+
`values[i + j * number_of_rows]`.
143152

144153
#### DMAT #### {#DMAT_format}
145154

@@ -672,6 +681,7 @@ Example of a CSR Matrix whose values are all 7.
672681

673682
```json
674683
{
684+
"version": "0.1",
675685
"format": {
676686
"level": "dense",
677687
"rank": 1,
@@ -818,6 +828,7 @@ Example of a symmetric CSR matrix.
818828

819829
```json
820830
{
831+
"version": "0.1",
821832
"format": "CSR",
822833
"shape": [5, 5],
823834
"structure": "symmetric_lower",

0 commit comments

Comments
 (0)