Skip to content

Commit

Permalink
Merge pull request #83 from kirillgarbar/dev
Browse files Browse the repository at this point in the history
BFS Push-pull, SSSP, SpMSpV
  • Loading branch information
gsvgit authored Oct 16, 2023
2 parents de357df + d2951d4 commit 099e787
Show file tree
Hide file tree
Showing 210 changed files with 4,891 additions and 1,496 deletions.
48 changes: 48 additions & 0 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: BuildDocs

on:
push:
pull_request:
workflow_dispatch:

jobs:
win-build:
name: Windows Build Docs
runs-on: windows-latest
defaults:
run:
shell: cmd
steps:
- name: System Info
run: systeminfo

- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
global-json-file: global.json

- name: Build
run: ./build.cmd BuildDocs
env:
CI: true

linux-build:
name: Linux Build Docs
runs-on: ubuntu-latest
steps:
- name: System Info
run: lscpu

- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
global-json-file: global.json

- name: Build
run: |
chmod +x ./build.sh
./build.sh BuildDocs
env:
CI: true
63 changes: 57 additions & 6 deletions .github/workflows/build-on-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ on:
workflow_dispatch:

jobs:
win-build:
name: Windows Build (No Tests)
win-build-release:
name: Windows Release Build (No Tests)
runs-on: windows-latest
defaults:
run:
Expand All @@ -28,9 +28,34 @@ jobs:
# Work around https://github.com/actions/setup-dotnet/issues/29
DOTNET_ROOT: ${{ runner.tool_cache }}/dncs/${{ matrix.dotnet }}/x64
CI: true
CONFIGURATION: Release

win-build-debug:
name: Windows Debug Build (No Tests)
runs-on: windows-latest
defaults:
run:
shell: cmd
steps:
- name: System Info
run: systeminfo

- uses: actions/checkout@v2

- name: Setup .NET Core
uses: actions/setup-dotnet@v1

- name: Build
run: ./build.cmd DotnetBuild
env:
# Work around https://github.com/actions/setup-dotnet/issues/29
DOTNET_ROOT: ${{ runner.tool_cache }}/dncs/${{ matrix.dotnet }}/x64
CI: true
CONFIGURATION: Debug


win-test:
name: Windows Build And Test
name: Windows Release Build And Test
if: github.repository_owner != 'YaccConstructor'
runs-on: windows-latest
defaults:
Expand Down Expand Up @@ -68,9 +93,32 @@ jobs:
# Work around https://github.com/actions/setup-dotnet/issues/29
DOTNET_ROOT: ${{ runner.tool_cache }}/dncs/${{ matrix.dotnet }}/x64
CI: true
CONFIGURATION: Release

linux-build-debug:
name: Linux Debug Build (No Tests)
runs-on: ubuntu-latest
steps:
- name: System Info
run: lscpu

- uses: actions/checkout@v1

- name: Setup .NET
uses: actions/setup-dotnet@v1

- name: Build
run: |
chmod +x ./build.sh
./build.sh DotnetBuild
env:
# Work around https://github.com/actions/setup-dotnet/issues/29
DOTNET_ROOT: ${{ runner.tool_cache }}/dncs/${{ matrix.dotnet }}/x64
CI: true
CONFIGURATION: Debug

linux-build:
name: Linux Build (No Tests)
linux-build-release:
name: Linux Release Build (No Tests)
runs-on: ubuntu-latest
steps:
- name: System Info
Expand All @@ -89,9 +137,10 @@ jobs:
# Work around https://github.com/actions/setup-dotnet/issues/29
DOTNET_ROOT: ${{ runner.tool_cache }}/dncs/${{ matrix.dotnet }}/x64
CI: true
CONFIGURATION: Release

linux-test:
name: Linux Build And Test
name: Linux Release Build And Test
if: github.repository_owner != 'YaccConstructor'
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -121,6 +170,7 @@ jobs:
# Work around https://github.com/actions/setup-dotnet/issues/29
DOTNET_ROOT: ${{ runner.tool_cache }}/dncs/${{ matrix.dotnet }}/x64
CI: true
CONFIGURATION: Release

linux-test-self-hosted:
name: Linux Self-Hosted Test
Expand All @@ -143,3 +193,4 @@ jobs:
# Work around https://github.com/actions/setup-dotnet/issues/29
DOTNET_ROOT: ${{ runner.tool_cache }}/dncs/${{ matrix.dotnet }}/x64
CI: true
CONFIGURATION: Release
27 changes: 27 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Publish Nuget packages

on:
push:
tags:
- '*'

jobs:
publish-self-hosted:
name: Build, test, and publish Nuget packages on self-hosted server with GPU
if: github.repository_owner == 'YaccConstructor'
runs-on: self-hosted
steps:
- uses: actions/checkout@v3

- name: OpenCL Info
run: clinfo

- name: Build, test, publish
env:
NUGET_TOKEN: ${{ secrets.NUGET_TOKEN }}
GITHUB_TOKEN: ${{ secrets._GITHUB_TOKEN }}
FAKE_DETAILED_ERRORS: true
CI: true
run: |
chmod +x ./build.sh
./build.sh Publish
27 changes: 27 additions & 0 deletions .github/workflows/release-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Release Docs

on:
push:
tags:
- '*'

jobs:

linux-build:
name: Linux Release Docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
global-json-file: global.json

- name: ReleaseDocs
run: |
chmod +x ./build.sh
./build.sh ReleaseDocs
env:
GITHUB_TOKEN: ${{ secrets._GITHUB_TOKEN }}
FAKE_DETAILED_ERRORS: true
CI: true
17 changes: 12 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,22 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
## [0.1.0-alpha1] - 2023-05-18

## [0.1.0] - 2017-03-17
First release
First release. For demo and tests. Basic linear algebra only. No graph algorithms.

### Added
- This release already has lots of features
- Basic functions for vectors and matrices creation
- Basic functions for vectors manipulation: map, reduce
- Basic functions for matrices manipulation: map, transpose
- Matrix-matrix element-wise functions (map2)
- Vector-vector element-wise functions (map2)
- Sparse matrix multiplication
- Kronecker product

[0.1.0]: https://github.com/user/MyCoolNewLib.git/releases/tag/v0.1.0
[Unreleased]: https://github.com/YaccConstructor/GraphBLAS-sharp/compare/v0.1.0-alpha1...HEAD
[0.1.0-alpha1]: https://github.com/YaccConstructor/GraphBLAS-sharp/releases/tag/v0.1.0-alpha1
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ GraphBLAS# is a GPGPU-based [GraphBLAS](https://graphblas.org/)-like API impleme
- [x] COO-COO `map2`
- [x] COO-COO `map2AtLeastOne`
- [x] CSR-CSR multiplication
- [x] CSR-CSR Kronecker product
- **Vector-Matrix**
- [x] Dense-CSR multiplication
- [ ] Sparse-CSR multiplication
Expand Down Expand Up @@ -231,6 +232,13 @@ build.cmd
```
To find more options look at [MiniScaffold](https://github.com/TheAngryByrd/MiniScaffold). We use it in our project.

### Release
The release process is automated: NuGet packages publishing process is triggered by tag pushing to any branch.
To release new version one should
1. [Add release notes to CHANGELOG](https://github.com/TheAngryByrd/MiniScaffold/blob/master/Content/Library/README.md#releasing)
2. Run ```./build.sh Release [version]``` (on local machine)


## License
This project licensed under MIT License. License text can be found in the [license file](https://github.com/YaccConstructor/GraphBLAS-sharp/blob/master/LICENSE.md).

Expand Down
Loading

0 comments on commit 099e787

Please sign in to comment.