Skip to content

Commit 240e75d

Browse files
committed
[Project] Release 1.1.0
1 parent 1214391 commit 240e75d

File tree

5 files changed

+67
-12
lines changed

5 files changed

+67
-12
lines changed

CHANGELOG.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Changelog
2+
3+
All notable changes to this project are documented in this file.
4+
Changes format: version name and date, minor notes, new features, fixes, what removed.
5+
6+
Release are available at [link](https://github.com/JetBrains-Research/cuBool/releases).
7+
8+
## v1.1.0 - May 8, 2021
9+
10+
### Summary
11+
12+
Introduce sparse vector of boolean values support for Cuda and CPU computations.
13+
Added new primitive type as well as supported common operations,
14+
which involve matrix-vector operations and vector manipulation.
15+
Added new vector C API, exposed vector primitive into python-package.
16+
17+
#### New features
18+
19+
- Sparse vector support
20+
- Vector implementation for Cuda backend
21+
- Vector implementation for Sequential backend
22+
- Vector creation (empty, from data, with random data)
23+
- Matrix-vector operations (matrix-vector and vector-matrix multiplication)
24+
- Vector-vector operations (element-wise addition)
25+
- Matrix operations (equality, reduce to value, extract sub-vector)
26+
- Vector data extraction (as list of indices)
27+
- Vector syntax sugar (pretty string printing, slicing, iterating through non-zero indices)
28+
- Matrix operations (extract row or matrix column as sparse vector, reduce matrix (optionally transposed) to vector)
29+
30+
#### Deprecated
31+
32+
- Matrix reduce to matrix (compatibility feature)
33+
34+
## v1.0.0 - Apr 2, 2021
35+
36+
### Summary
37+
38+
cuBool is a sparse linear Boolean algebra for Nvidia Cuda computations.
39+
Library provides C compatible API, the core of the library is written on C++ with CUDA C/C++ API and
40+
Thrust for Cuda related computations. Library also supports CPU backend for non-Cuda devices.
41+
pycubool Python-package is shipped with the library source code and it provides high-level safe
42+
and efficient access to the library within Python runtime.
43+
44+
#### New features
45+
46+
- Cuda backend
47+
- Sequential (CPU) backend
48+
- Sparse matrix support
49+
- Matrix creation (empty, from data, with random data)
50+
- Matrix-matrix operations (multiplication, element-wise addition, kronecker product)
51+
- Matrix operations (equality, transpose, reduce to vector, extract sub-matrix)
52+
- Matrix data extraction (as lists, as list of pairs)
53+
- Matrix syntax sugar (pretty string printing, slicing, iterating through non-zero values)
54+
- IO (import/export matrix from/to .mtx file format)
55+
- GraphViz (export single matrix or set of matrices as a graph with custom color and label settings)
56+
- Debug (matrix string debug markers, logging, operations time profiling)

README.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[![JB Research](https://jb.gg/badges/research-flat-square.svg)](https://research.jetbrains.org/)
66
[![Ubuntu](https://github.com/JetBrains-Research/cuBool/workflows/Ubuntu/badge.svg?branch=master)](https://github.com/JetBrains-Research/cuBool/actions)
77
[![License](https://img.shields.io/badge/license-MIT-orange)](https://github.com/JetBrains-Research/cuBool/blob/master/LICENSE)
8-
[![Package](https://img.shields.io/badge/pypi%20package-1.0.0-%233776ab)](https://pypi.org/project/pycubool/)
8+
[![Package](https://img.shields.io/badge/pypi%20package-1.1.0-%233776ab)](https://pypi.org/project/pycubool/)
99

1010
**cuBool** is a linear Boolean algebra library primitives and operations for
1111
work with sparse matrices written on the NVIDIA CUDA platform. The primary
@@ -327,18 +327,17 @@ cuBool
327327
@MISC{cuBool,
328328
author = {Orachyov, Egor and Alimov, Pavel and Grigorev, Semyon},
329329
title = {cuBool: sparse Boolean linear algebra for Nvidia Cuda},
330-
year = 2020,
330+
year = 2021,
331331
url = {https://github.com/JetBrains-Research/cuBool},
332-
note = {Version 1.0.0}
332+
note = {Version 1.1.0}
333333
}
334334
```
335335
336336
## Algorithms
337337
338-
In this section listed all the related papers, articles and links, which
339-
were used as an algorithmic foundation for implementation of sparse linear
340-
boolean algebra operations (sparse matrix-matrix multiplication, sparse matrix-vector
341-
multiplication, sparse vector-matrix multiplication, matrix-matrix element-wise addition and etc.):
338+
In this section listed all the related papers, which were used as an algorithmic foundation for
339+
implementation of sparse linear boolean algebra operations (sparse matrix-matrix multiplication,
340+
sparse matrix-vector multiplication, sparse vector-matrix multiplication, matrix-matrix element-wise addition and etc.):
342341
343342
- High-performance and Memory-saving Sparse General Matrix-Matrix Multiplication for NVIDIA Pascal GPU,
344343
Yusuke Nagasaka, Akira Nukada, Satoshi Matsuoka

cubool/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ if (CUBOOL_WITH_CUDA)
140140
sources/cuda/kernels/slow_sort.cuh
141141
sources/cuda/kernels/bin_search.cuh
142142
sources/cuda/kernels/spgemv.cuh
143-
sources/cuda/kernels/spgemv_t.cuh
143+
sources/cuda/kernels/spgemv_t.cuh
144144
sources/cuda/kernels/spewiseadd.cuh
145145
sources/cuda/kernels/sptranspose.cuh
146146
sources/cuda/kernels/sptranspose2.cuh

python/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,9 @@ Script can be rendered by any [gviz tool](https://dreampuf.github.io/GraphvizOnl
154154
@MISC{cuBool,
155155
author = {Orachyov, Egor and Alimov, Pavel and Grigorev, Semyon},
156156
title = {cuBool: sparse Boolean linear algebra for Nvidia Cuda},
157-
year = 2020,
157+
year = 2021,
158158
url = {https://github.com/JetBrains-Research/cuBool},
159-
note = {Version 1.0.0}
159+
note = {Version 1.1.0}
160160
}
161161
```
162162

python/setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020

2121
setuptools.setup(
2222
name="pycubool",
23-
version="1.0.0",
23+
version="1.1.0",
2424
author="Egor Orachyov",
2525
author_email="egororachyov@gmail.com",
2626
license="MIT",
27-
description="cuBool library python bindings.",
27+
description="cuBool library python bindings",
2828
long_description=README,
2929
long_description_content_type="text/markdown",
3030
url="https://github.com/JetBrains-Research/cuBool",

0 commit comments

Comments
 (0)