Skip to content

The Task Parallel System Composer (TaPaSCo)

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

xiaoyao0512/tapasco

 
 

Repository files navigation

The Task Parallel System Composer (TaPaSCo)

Tapasco logo

Master Branch Status: pipeline status Dev Branch Status: pipeline status

System Requirements

TaPaSCo is known to work in this environment:

  • Intel x86_64 arch
  • Fedora 24/25, Ubuntu 14.04/16.01
  • Bash Shell 4.2.x+

Other setups likely work as well, but are untested.

Prerequisites

To use TaPaSCo, you'll need working installations of

  • Vivado Design Suite 2017.4 or newer
  • Java SDK 7+
  • sbt 0.13.x
  • git
  • GCC newer than 5.x.x for C++11 support
  • OPTIONAL: libncurses for the tapasco-debug application

If you want to use the High-Level Synthesis flow for generating custom IP cores, you'll also need:

  • Vivado HLS 2017.4+

Check that at least the following are in your $PATH:

  • sbt
  • vivado
  • git
  • bash
  • [vivado_hls]

Install sbt

Installing multiple versions of Java, Scala and tools like sbt can be a hassle. SDKman! simplifies the process by managing the installations without root requirements. To install sbt, simply

curl -s "https://get.sdkman.io" | bash

Then, run in a new terminal:

sdk install sbt

Try if this worked, via

sbt version

If sbt was successfully installed, it will return its version number.

Basic Setup

  1. Open a terminal in the main directory of the repository and source the TaPaSCo setup script via . setup.sh. You need to do this every time you use TaPaSCo (or put it into your ~/.bashrc or ~/.profile).
  2. Build TaPaSCo: sbt compile (this may take a while, sbt needs to fetch all dependencies etc. once).
  3. Create the necessary jar files with sbt assembly.
  4. Run TaPaSCo unit tests: sbt test
  5. Optional: Generate sample configuration file: tapasco -n config.json TaPaSCo should exit immediately and config.json will include a full configuration that can be read with --configFile, including one example for each kind of job.

When everything completed successfully, TaPaSCo is ready to use!

Acknowledgements

TaPaSCo is based on ThreadPoolComposer, which was developed by us as part of the REPARA project, a Framework Seven (FP7) funded project by the European Union.

We would also like to thank Bluespec, Inc. for making their Bluespec SystemVerilog (BSV) tools available to us and their permission to distribute the Verilog code generated by the Bluespec Compiler (bsc).

Releases

We provided pre-compiled packages for many popular Linux distributions. All packages are build for the x86_64 variant.

Ubuntu 16.04

Kernel Driver Kernel Driver Debug Runtime (DEB) Runtime Debug (DEB)

Ubuntu 18.04

Kernel Driver Kernel Driver Debug Runtime (DEB) Runtime Debug (DEB)

Fedora 27

Kernel Driver Kernel Driver Debug Runtime (RPM) Runtime Debug (RPM)

Fedora 28

Kernel Driver Kernel Driver Debug Runtime (RPM) Runtime Debug (RPM)

Fedora 29

Kernel Driver Kernel Driver Debug Runtime (RPM) Runtime Debug (RPM)

About

The Task Parallel System Composer (TaPaSCo)

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Verilog 82.7%
  • Scala 7.1%
  • C 4.3%
  • Tcl 3.4%
  • C++ 1.6%
  • Shell 0.4%
  • Other 0.5%