Giter Club home page Giter Club logo

CI/CD Maven Central codecov semantic-release: conventional-commits GitHub

Collektive

Goal

The main goal of this project is to provide a DSL that allows take easily advantage of aggregate computing, which is a paradigm that takes full opportunity of the high availability of computational devices by the means of computational fields.

Using Kotlin Multiplatform allows the DSL to be used in Native, JS and JVM environments.

Usage

First of all, add the following plugin to your build.gradle.kts file:

plugins {
    id("it.unibo.collektive.collektive-plugin") version "<latest version>"
}

This plugin is used to apply the Kotlin compiler plugin used for the alignment of aggregate operator. Then, add the dependency to the project:

dependencies {
    implementation("it.unibo.collektive:dsl:<latest version>")
}

Project structure

Currently, the project is composed by three submodules:

  • plugin: it is divided in:
    • compiler-plugin: the compiler plugin is used modify a data structure used to keep track of the stack at runtime. For each function, when its called, its name is registered in the data structure;
    • gradle-plugin: necessary plugin that a gradle project uses in order to include the compiler plugin;
  • dsl: the actual DSL, where the logic is implemented and that exposes the operator of the aggregate computing;
  • collektive-test: this folder contains a test that allows to calculate the gradient between nodes using the simulation environment offered by Alchemist Simulator.

collektive's Projects

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.