Skip to content

Split #75

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 46 commits into from
Apr 29, 2023
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
7e0d060
add: ClArray.chunk*
IgorErin Apr 13, 2023
babe90e
add: Split
IgorErin Apr 13, 2023
b30a9f8
add: ClArray.chunk* tests
IgorErin Apr 13, 2023
0cfe112
add: ClArray.append
IgorErin Apr 14, 2023
a79542d
add: Vector.map
IgorErin Apr 14, 2023
d0133ec
wip: Vector.map2
IgorErin Apr 14, 2023
2db0be2
merge: dev
IgorErin Apr 14, 2023
4b7c3ed
wip: expand refactor, tests in progress
IgorErin Apr 16, 2023
7d1ee0e
add: Reduce.ByKey.Option.sequintialSegments
IgorErin Apr 16, 2023
98d41dd
add: ClArray.assign tests
IgorErin Apr 16, 2023
1f273d1
add: ClArray.concat tests
IgorErin Apr 16, 2023
830b2f9
wip: ClArray.pairwise
IgorErin Apr 17, 2023
92b186f
add: ClArray.pairwise
IgorErin Apr 17, 2023
089e11e
add: Matrix.Rows.Convert
IgorErin Apr 17, 2023
6f2adb3
wip: SpGeMM expand phase
IgorErin Apr 18, 2023
cf48196
add: CSR.RowsLengths tests
IgorErin Apr 19, 2023
a60b12a
add: spgemm row wise
IgorErin Apr 20, 2023
3d0b07b
refactor: formatting
IgorErin Apr 20, 2023
c75fd57
wip: ArithmeticOps
IgorErin Apr 20, 2023
2441558
refactor: formatting
IgorErin Apr 21, 2023
abdd46c
refactor: ...
IgorErin Apr 21, 2023
7bdaf88
refactor: include gather tests
IgorErin Apr 21, 2023
ad66391
refactor: ClArray.assign -> *.blit
IgorErin Apr 21, 2023
5b94160
refactor: paths
IgorErin Apr 22, 2023
9cc2155
wip: benchmarks
IgorErin Apr 22, 2023
9e8b9bc
refactor: benchmarks
IgorErin Apr 22, 2023
b25bc97
refactor: benchmarks
IgorErin Apr 22, 2023
1d45950
refactor: README
IgorErin Apr 23, 2023
2a5617b
refactor: operations early binding
IgorErin Apr 23, 2023
d9dd757
wip: SpGeMM benchmark
IgorErin Apr 23, 2023
f5c6fe6
fix: count in CSR.byRows
IgorErin Apr 23, 2023
ad9b528
add: CSR.byRows tests
IgorErin Apr 24, 2023
acaa0c1
fix: host COO -> CSR
IgorErin Apr 24, 2023
a449754
add: host tests
IgorErin Apr 25, 2023
2972803
refactor: paths
IgorErin Apr 25, 2023
efa50f4
refactor: clean
IgorErin Apr 25, 2023
655fe67
refactor: list instead array in LIL
IgorErin Apr 28, 2023
7f3cb90
refactor: SpGeMM.expand
IgorErin Apr 28, 2023
bf1cd58
refactor: tests
IgorErin Apr 28, 2023
76de19b
refactor: benchmark workflow
IgorErin Apr 28, 2023
4ea099c
refactor: formatting
IgorErin Apr 28, 2023
743491e
merge: dev
IgorErin Apr 28, 2023
ecb4eb5
refactor: remove *.map2ToCOO
IgorErin Apr 28, 2023
dffcb5f
refactor: Matrix.map*, ClArray.choose
IgorErin Apr 29, 2023
1e3b53c
refactor: Dense.reduce
IgorErin Apr 29, 2023
45e4536
refactor: Matrix.AtLeastOne
IgorErin Apr 29, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,23 +25,24 @@ GraphBLAS# is a GPGPU-based [GraphBLAS](https://graphblas.org/)-like API impleme

### Operations
- **Matrix-Matrix**
- [x] COO-COO element-wize
- [x] CSR-CSR element-wize
- [ ] CSR-CSR multiplication
- [ ] COO transpose
- [ ] CSR transpose
- [x] COO-COO `map2`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about masking?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't quite understand, masking is expressed through map2. Should I explicitly state this?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmmm... I think, you are right. I guess, we should provide mapping between GraphBLAS# and GraphBLAS API.

- [x] CSR-CSR `map2`
- [x] CSR-CSR multiplication
- **Vector-Matrix**
- [x] Dense-CSR multiplication
- [ ] COO-CSR multiplication
- **Vector-Vector**
- [x] Dense-Dense element-wise
- [x] Sparse-Sparse element-wise
- [ ] ...
- **Matrix**
- [ ] `map`
- [x] `map`
- [x] COO transpose
- [x] CSR transpose
- [ ] `iter`
- [ ] ...
- **Vector**
- [ ] `map`
- [x] `map`
- [ ] `iter`
- [ ] `filter`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about filter and contains?

- [ ] `contains`
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/GraphBLAS-sharp.Benchmarks/BenchmarksMxm.fs
Original file line number Diff line number Diff line change
Expand Up @@ -75,15 +75,15 @@ type MxmBenchmarks<'elem when 'elem : struct>(
member this.FunCSR2CSC =
match funCSR2CSC with
| None ->
let x = Matrix.toCSCInplace this.OclContext this.WorkGroupSize
let x = Matrix.toCSCInPlace this.OclContext this.WorkGroupSize
funCSR2CSC <- Some x
x
| Some x -> x

member this.FunCSC2CSR =
match funCSC2CSR with
| None ->
let x = Matrix.toCSRInplace this.OclContext this.WorkGroupSize
let x = Matrix.toCSRInPlace this.OclContext this.WorkGroupSize
funCSC2CSR <- Some x
x
| Some x -> x
Expand Down
2 changes: 1 addition & 1 deletion paket.dependencies
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,4 @@ group Docs
group Analyzers
source https://www.nuget.org/api/v2
source https://api.nuget.org/v3/index.json
nuget BinaryDefense.FSharp.Analyzers.Hashing 0.2.2
nuget BinaryDefense.FSharp.Analyzers.Hashing 0.2.2
4 changes: 2 additions & 2 deletions src/GraphBLAS-sharp.Backend/Algorithms/BFS.fs
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ module BFS =
let ofList = Vector.ofList clContext workGroupSize

let maskComplementedTo =
DenseVector.map2Inplace clContext Mask.complementedOp workGroupSize
Vector.map2InPlace clContext Mask.complementedOp workGroupSize

let fillSubVectorTo =
DenseVector.assignByMaskInplace clContext (Convert.assignToOption Mask.assign) workGroupSize
Vector.assignByMaskInPlace clContext (Convert.assignToOption Mask.assign) workGroupSize

let containsNonZero =
ClArray.exists clContext workGroupSize Predicates.isSome
Expand Down
45 changes: 0 additions & 45 deletions src/GraphBLAS-sharp.Backend/COOVector/AssignSubVector.fs

This file was deleted.

52 changes: 0 additions & 52 deletions src/GraphBLAS-sharp.Backend/COOVector/EWiseAdd.fs

This file was deleted.

36 changes: 0 additions & 36 deletions src/GraphBLAS-sharp.Backend/COOVector/FillSubVector.fs

This file was deleted.

This file was deleted.

Loading