https://github.com/yvn11/infinity
DAG-based computation graph for streaming data
https://github.com/yvn11/infinity
c-plus-plus calculation computation-graph infinity streaming-data
Last synced: about 1 year ago
JSON representation
DAG-based computation graph for streaming data
- Host: GitHub
- URL: https://github.com/yvn11/infinity
- Owner: yvn11
- License: mit
- Created: 2018-03-27T08:36:05.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2019-06-08T12:59:21.000Z (about 7 years ago)
- Last Synced: 2025-03-21T12:25:32.613Z (over 1 year ago)
- Topics: c-plus-plus, calculation, computation-graph, infinity, streaming-data
- Language: C++
- Homepage:
- Size: 7.68 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Infinity
-----------------------------------------------------
Incredible
-----------------------
- Introduction
A unit-based computation graph library. Each unit has its own
inputs, outputs and corresponding operations. By running a unit,
it does the following:
```
+------+--------------------+
| unit | |
+------+ |
| => [OP] => |
+---------------------------+
```
A unit can shared data via inputs or outputs
```
+------+--------------------+
| unit1| |
+------+ |
| => [OP] => |
+----------------------\ /-+
||
+------+----------------\/--+
| unit2| |
+------+ |
| <= [OP] <= |
+---------------------------+
```
- Example
A formula
y = (a + b) * (-c)
Represent the computation with units, it looks like this
```
+------+
|input0|--+
+------+ | +--------+
+->|unit_add|----+
+------+ | +--------+ |
|input1|--+ | +--------+ +------+
+------+ +->|unit_mul|->|output|
| +--------+ +------+
+------+ +-----------+ |
|input2|--->|unit_negate|--+
+------+ +-----------+
```
The graph accept stream data, each input changed, the output would be updated.