Skip to content
VineTalk interface
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
vine_controller @ 7e229fc
vine_talk @ f2e8b29


Download Instructions

git clone --recursive

Single node deployment

First build vine_talk according to this instructions vine_talk

Then build vine_controller according to this instructions vine_controller

To write an application with Vinetalk see module: vine_talk

To import bitstreams to vine_controller use the example_config located in the vine_controller. In a nutshell create the bitsteam for the FPGA and add the path to the accel field of the example_config file. For more information refer to vine_controller

Mesos Deployment.


Mesos-1.4 Vinetalk-1.0


This guide assumes that both mesos, vine_talk and vine_controller are installed\build

(according to the Single node deployment instructions above) in all nodes,

mesos master is up and running, variable $MESOS_MASTER contains the URL of the server,

and variable MESOS_HOME points to the installation directory of the server.

  1. Launch vine-controller to all agent nodes. (for instructions see module vine_controller)
  2. Update file conf/resourcesWithVaq.txt for each node to reflect the proper amount of

resources of each node. Note the last element is the number of VAQs of each node. 3. Start mesos agents. Use script sbin/ as a reference

Application Development

This is a three-step process:

  1. Develop a single node solution that uses Vinetalk to execute some kernel. For instructions refer to the single node instructions, found at module Vinetalk
  2. Develop a Mesos executor (see folder examples)
  3. Develop a Mesos Framework (or use an existing one that knows how to accept vaq resources) of its executor) (see folder examples)


Folder examples contains an example on how Vinetalk enabled frameworks use VAQ resources. There is also an example that demonstrates a proper submission of a Vinetalk-based application via the REST API.

Instructions (We assume that all but the first instructions are invoked from folder examples):

  1. Compile kernel: from folder resources/kernels run make
  2. To compile an executor: make executorName
  3. To compile a framework: make frameworkName
  4. To run the framework found at vaq_framework.cpp: make (YYY ?)


Mavridis, S., Pavlidakis, M., Kozanitis, Ch., Chrysos, N., Stamoulias, I., Kachris, C., Soudris, D., & Bilas, A. (2017). VineTalk: Simplifying Software Access and Sharing of FPGAs in Datacenters. 26th International Conference on Field Programmable Logic and Applications (FPL 2017), Ghent, Belgium, 4 - 8 September

You can’t perform that action at this time.