Giter Site home page Giter Site logo

pipeline status coverage report

SkePU 3

SkePU 3 consists of four parts:

  1. A sequential interface and accompanying implementation for C++ skeleton programming.
  2. A source-to-source precompiler tool built on top of the Clang C-language compiler front-end, transforming code written for the sequential interface for parallel and heterogeneous execution.
  3. Minor patches to Clang to support said tool.
  4. A collection of parallel and/or heterogeneous back-ends targeting various architectures and systems.

Setting up the SkePU source-to-source compiler

Cloning with submodules

This repository should be cloned with git clone --recursive $URL in order to also clone the submodules it links to. git submodule update --init can be used to clone submodules to an existing repository.

Building - Automatically

To compile SkePU-tool, run the foolowing commands in the project root:

$ mkdir build && cd build

$ cmake -DCMAKE_BUILD_TYPE=Release ..

$ make

To install SkePU into , run the following command from <project_root>/build:

$ make DESTDIR=<path> install

If cmake does not generate Makefiles, use the option -G "Unix Makefiles". For more information about build options, run ´cmake -LAH` in the build directory. For information about how to configure cmake with compilers, linkers, flags, and other such options, please refer to the cmake manuals at the cmake homepage.

Compatibility with SkePU 1 and 2

SkePU v3 is not compatible with version 2 nor with version 1. Check the user guide for more information.

SkePU 1 code is not compatible with SkePU 2 and vice-versa. SkePU 2 is in large part based on concepts from SkePU 1, and the data structures are the same, so it should be fairly straightworward to port a SkePU 1 project to SkePU 2. It may require some effort to fit the SkePU 2 precompiler into a large project with non-trivial build system, however.

Directory layout

skepu-headers/src/

As SkePU 3 is a header library, this directory contains headers and source files for the SkePU runtime. Herafter refered to as .

<skepu-headers>/skepu3

Contains the serial skeleton interface (headers with inline implementations), along with headers for SkePU containers.

<skepu-headers>/skepu3/impl

Helpers.

<skepu-headers>/skepu3/backend

Contains header files for the SkePU skeleton backends.

<skepu-headers>/skepu3/backend/impl

Contains implementations of the various SkePU skeleton backends and containers.

<skepu-headers>skepu3/cluster

Containes the implementation of the StarPU MPI backend.

examples

Contains SkePU 3 example programs. Note that the Makefile requires skepu-tool to have been built in /build to find skepu-tool.

llvm

Sources for the source-to-source Clang tool. This directory is part of the LLVM directory tree, and a symlink named <path_to_llvm>/llvm/tools/clang/tools/skepu should link here.

skepu's Projects

skepu icon skepu

SkePU open source distribution

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.