Skip to content
/ spider2 Public

Synchronous Parameterized and Interfaced Dataflow Embedded Runtime (second version)

License

Notifications You must be signed in to change notification settings

preesm/spider2

Repository files navigation

SPIDER 2.0

Synchronous Parameterized and Interfaced Dataflow Embedded Runtime

SPIDER is an open-source Dataflow based runtime for running signal processing applications based on the Parameterized and Interfaced Based Synchronous Dataflow (PiSDF) model. The purpose of this runtime is to provide rapid-prototyping capabilities to developpers to see how much parallelism they can leverage from their applications. The framework is developped as a C++ shared library and use as much as possible standard features of the language in order to provide stable experience on different platforms. Any compiler compliant with the C++11 standard should be able to compile the Spider 2.0 library.

Spider 2.0 is developped at the Institute of Electronics and Telecommunications-Rennes (IETR).

Overview

Continuous Integration

All branches Travis Status
master Build Status
develop Build Status

Build and Install Spider 2.0

Build tools

The build process of SPIDER 2.0 relies on cmake to configure a project for a wide variety of development environments and operating systems. Install cmake on your system before building the library.

The SPIDER 2.0 code is annotated with the doxygen syntax. Install doxygen on your system if you want to build the documentation of the library.

Compiling SPIDER 2.0

To build the shared library, a variety of scripts are provided.

  • Building SPIDER 2.0 shared library on Linux using GCC:
  • Note: by default the following does not enable the build of unit tests. To change this behavior, set the BUILD_TESTING option to ON instead of OFF.
git clone https://github.com/preesm/spider2.git
cd spider2/bin
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF
make spider2 -j$(nproc)
  • Building SPIDER 2.0 shared library on Linux using CodeBlock:
git clone https://github.com/preesm/spider2.git
cd spider2/libspider/build-scripts/linux
./CMakeCodeblock.sh
  • Building SPIDER 2.0 shared library on Windows using CodeBlock:
git clone https://github.com/preesm/spider2.git
cd spider2/libspider/build-scripts/windows
./CMakeCodeblock.bat
  • Building SPIDER 2.0 shared library on Windows using Visual Studio 2017:
git clone https://github.com/preesm/spider2.git
cd spider2/libspider/build-scripts/windows
./CMakeVS2017.bat
  • IMPORTANT: If there is an error during the cmake command on failing to find Gtest framework, look at the README.md in the test subfolder.

System wide installation

  • Linux platforms:
PREFIX=/usr/local/
sudo cp libSpider2.0.so  ${PREFIX}/lib/
sudo cp libspider/api/*.h ${PREFIX}/include/
  • Windows platforms:

(coming soon...)

Generating the Doxygen documentation

  • Building SPIDER 2.0 documentation on Linux:
git clone https://github.com/preesm/spider2.git
cd spider2/bin
cmake ..
make doc -j$(nproc)

How to Use the Spider 2.0 Library

  • Using CMake based projects:
  • Copy the FindSpider2.cmake file from the cmake folder into your project cmake modules directory.
  • Add include(FindSpider2) into your CMakeList.txt.
  • Add ${SPIDER2_INCLUDE_DIR} ${SPIDER2_INCLUDE_DIR}/api to your include_directories directive.
  • Add ${SPIDER2_LIBRARY} to your target_link_library directive.

Contact

This project is maintained by the Preesm maintainers. Contact us using one of the following:

License

This project is distributed under the CeCILL-C license (see LICENSE file).

About

Synchronous Parameterized and Interfaced Dataflow Embedded Runtime (second version)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages