GithubHelp home page GithubHelp logo

glor27 / templet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from valkovyuriy/templet

0.0 0.0 0.0 4.69 MB

a framework for actor-task computing accross multiple cores, clusters, and the Internet

Home Page: http://templet.ssau.ru

License: Apache License 2.0

Shell 0.12% C++ 76.66% C 23.22%

templet's Introduction

TEMPLET -- a framework for actor-task computing


The Templet project exists to take full advantage of computing resources in scientific, educational and industrial applications through the implementation of actor-task computing, a generic approach that adapts actor model for many-task computing across multiple cores, clusters, and the Internet.

The current implementation supports the Everest platform for managing the execution of parallel tasks on distributed computing resources over the Internet. It can also model logic and measure the performance of a complex many-task workflow on a single computer.

You can try Templet

  • interactively with Binder Binder ,
  • or use the provided MS Visual Studio project files,
  • or compile the source files in any C ++ programming environment.

Repository structure


The software package consists of three components.

  1. Code generator driven by lightweight actor specification language.
  2. The C ++ library that implements the actor engine and several task engines for integration with Everest, behavior and performance modeling, etc.
  3. Gallery of small examples of many-task applications.

The components are arranged as described below.

  • ~/bin/ – code generator executables, curl binaries for Windows, quick info on MS VC++ redistributable packages
  • ~/binder/ – Binder configuration files
  • ~/cgen/ – code generator sources
  • ~/cgen/acta - integrated actor-task model processor
  • ~/cgen/cgen - code generator for actor-task model
  • ~/cgen/skel - skeleton processor
  • ~/docs/ - books and articles, preprints and documentation related to the project
  • ~/docs/how2program.pdf - textbook (in Russian) on the programming method
  • ~/docs/VostokinGRID20203(-RUS).pdf - proposal for a new engine architecture for the project
  • ~/lib/ – Templet C++ library source files
  • ~/lib/opt/ – external packages including libcurl and JSON for Modern C++
  • ~/lib/speclang.txt – technical overview of the lightweight actor specification language
  • ~/lib/templet.hpp – core actor engine and base task engine
  • ~/lib/everest.hpp – Everest task engine
  • ~/lib/basesim.hpp – task engine for the paracomputer simulation;
  • ~/samples/ – gallery of small examples
  • ~/samples/blchsym/ – proposal for a new engine architecture for the project, sample code
  • ~/samples/booksmpl/ – code examples from the textbook "how2program.pdf"
  • ~/samples/brickmov/ – model of transferring bricks from the original heap to the new one along the chain of workers
  • ~/samples/diamond/ – demonstration of the paracomputer simulation engine
  • ~/samples/evrstagnt/ - installing and verifying the Everest agent on the Binder virtual machine
  • ~/samples/heatomp/ - solving the heat equation using multicore systems with OpenMP 2.0 or higher
  • ~/samples/parsweep/ - parameter sweep application (calculation of the Lyapunov spectrum for the Lorentz equation with different values of rho, sigma, beta)
  • ~/samples/pingpong/ – demonstration of the Everest task engine
  • ~/samples/primempi/ - distributed prime search algorithm
  • ~/samples/pythagor/ – demonstration of the lightweight actor specification language, core actor engine and base task engine APIs

Templet developers


This project is a part of learning and research activities of Samara University, Institute of IT and Cybernatics. For more details feel free to contact the author: Dr. Sergei Vostokin ([email protected]).

Thank you for your interest in the Templet project!

templet's People

Contributors

sergeyvostokin avatar valkovyuriy avatar alexander-bankov avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.