/
Julia Processor

Julia Processor

The julia processor is currently in development and only available in the 'jvoigts' branch - we'll move it to the main branch when we launch the plugin architecture.
This module is in dev and shouldnt be used by anyone not familiar with its function.

 

Background

Julia is a very young matlab-like programming language with a performance close to compiled c.
 
Julia vs. other languages (source: Jacob Quinn, on the julia google group, data from http://benchmarksgame.alioth.debian.org/) 

Function

The julia processor sends all neural data (and events) to Julia, where it can be processed by the user-defined Julia function oe_process!(data, events) and returned to the GUI.
oe_process currently works by just modifying data and events (events are still not functioning though).
The module works by embedding Julia into c, using the method described in the julia doc. For a good example of this method, also see the example in /julia/examples/embedding.c.

One function that's currently missing is a intermediate buffer (Nbuf. samples of data) that makes sure that the julia module always sees a specified amount of data. This could also be implemented in julia, but would be a nice feature to make the behaviour of the code more consistent even when changing the size of the GUI data buffer

Installation

Build julia from sources, some debian packages are missing the example code and seem to cause errors.
Test embedding by building and running the examples included with julia.

The path to the julia executable is currently hardcoded in juliaProcessor.cpp line 92. 

Parameters saved

none for now.

Upgrades needed

  • fix event passing
  • implement the variable buffer size with a rolling buffer  
  • add config options for julia executable path

 

Related content

Google Summer of Code
Google Summer of Code
More like this
MATLAB Interface
MATLAB Interface
More like this
Program structure
Program structure
More like this
Tutorial
More like this
Individual modules
Individual modules
More like this
Learning C++
Learning C++
More like this