Skip to content

Commit a4e15f1

Browse files
authored
Features description.
1 parent 70ee284 commit a4e15f1

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
# GraphBLAS-sharp
22

3-
GraphBLAS# is a GPGPU-based GraphBLAS implementation in F#. To utilize GPGPUs we use [Brahma.FSharp](https://github.com/YaccConstructor/Brahma.FSharp). So, GraphBLAS# can utilize any OpenCL compatible device.
3+
GraphBLAS# is a GPGPU-based [GraphBLAS](https://graphblas.org/) implementation in F#. To utilize GPGPUs we use [Brahma.FSharp](https://github.com/YaccConstructor/Brahma.FSharp). So, GraphBLAS# can utilize any OpenCL compatible device.
4+
5+
### Features
6+
- ```Option<'t>``` to solve [explicit/implicit zeroes problem](https://github.com/GraphBLAS/LAGraph/issues/28#issuecomment-542952115). If graph has labels of type ```'t``` then adjacency matrix is ```Matrix<Option<'t>>```. Sparse storage contains only values for ```Some<'t>``` cells.
7+
- Elementwise operations have type ```AtLeastOne<'t> -> Option<'t>``` to be shure that ```None op None``` is ```None```. Also developer explicitly controls what should be ```None```. So, type of matrix-matrix elementwise oertion is ```Matrix<Option<'t1>> -> Matrix<Option<'t2>> -> (AtLeastOne<'t1,'t2> -> Option<'t3>) -> Matrix<Option<'t3>>```.
8+
- No semirings. Just functions. Ofcourse one can implement semirings on the top of implemented API.
49

510
---
611

@@ -17,12 +22,13 @@ Package | Stable | Prerelease
1722
--- | --- | ---
1823
GraphBLAS-sharp | [![NuGet Badge](https://buildstats.info/nuget/GraphBLAS-sharp)](https://www.nuget.org/packages/GraphBLAS-sharp/) | [![NuGet Badge](https://buildstats.info/nuget/GraphBLAS-sharp?includePreReleases=true)](https://www.nuget.org/packages/GraphBLAS-sharp/)
1924

25+
26+
2027
## Contributing
2128
Contributions, issues and feature requests are welcome.
2229
Feel free to check [issues](https://github.com/YaccConstructor/GraphBLAS-sharp/issues) page if you want to contribute.
2330

24-
25-
### Build
31+
## Build
2632
Make sure the following **requirements** are installed on your system:
2733
- [dotnet SDK](https://dotnet.microsoft.com/en-us/download/dotnet/5.0) 5.0 or higher
2834
- OpenCL-compatible device and respective OpenCL driver

0 commit comments

Comments
 (0)