Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/narasimha1997/bzcompute
bzCompute is a computation graph library with built-in support for domain-decomposition and prallel computation. The library can be used for expressing and executing large number of mathematical and text-processing operations using Data-Flow graphs, (Educational version of tensorflow), written in pure python code with numpy support.
https://github.com/narasimha1997/bzcompute
computer-science domain-decomposition educational-project machine-learning parallel-computing
Last synced: 6 days ago
JSON representation
bzCompute is a computation graph library with built-in support for domain-decomposition and prallel computation. The library can be used for expressing and executing large number of mathematical and text-processing operations using Data-Flow graphs, (Educational version of tensorflow), written in pure python code with numpy support.
- Host: GitHub
- URL: https://github.com/narasimha1997/bzcompute
- Owner: Narasimha1997
- License: apache-2.0
- Created: 2019-01-24T05:02:59.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-01-27T15:24:47.000Z (almost 6 years ago)
- Last Synced: 2024-10-30T03:37:48.418Z (14 days ago)
- Topics: computer-science, domain-decomposition, educational-project, machine-learning, parallel-computing
- Language: Python
- Size: 258 KB
- Stars: 15
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# bzCompute
bzCompute is a computation graph library with built-in support for domain-decomposition and prallel computation. The library can be used for expressing and executing large number of mathematical and text-processing operations using Data-Flow graphs, (Educational version of tensorflow), written in pure python code with numpy support.
### Examples :
The educational project supports limited number of text-processing and mathematical operations that are normally used frequently.
**Look at examples folder for various examples**### Parallel Computation :
The librabry supports both sequential and parallel computation on graphs. Domain Decomposition is the computation technique used to provide task-level parallelism by creating replicas of computation graphs . The library creates a Master-worker setup, where the MasterSession creates specified number of worker sessions, each worker-session is a thread. These threads can be pre-forked to memory or can be created on demand. Each worker is automatically assigned a name. The results are collected. Domain decomposition is manily used for running multiple replicas of data-flow graphs on different inputs, check out *examples*.### Supported Sessions :
The library supports three types of sessions as of now :* **SequentialSession** : SequentialSession executes computation graph in a sequential order, leaving parallelism to OS and Hardware.
* **MasterSession** : Creates a master session for parallel computation, can be used for domain-decomposition, by specifying number of worker threads.
* **StringSession** : It is a variant of SequentialSession for executing a computation graph composed of strign operations.
### Supported Operations :
bzCompute supports many operations as of now, the library also provides support for defining custom operations as per the requirements.##### Numerical Operations :
Look at *pyCompute/KernelOperations.py* to obtain list of all supported operations#### Text-Processing Operations :
Look at *pyCompute/text_processing/StringOperations.py* for all supported string operations.