“Realtime systems must guarantee a response within a specified time constraint [or] deadline” -Wikipedia

LCTES 2018 Conference paper, contact Sabar for PDF

# matrix_multiply
#
# A model that demonstrates the math capabilities of LiCoRICE
# The math operations performed by the matmul module are statically compiled against BLAS/LAPACK using numba's pycc
#
# Note: model configuration is still in alpha stage and subject to cosmetic changes
#
config:
tick_len: 10000
num_ticks: 30
source_init_ticks: 10
signals:
m1:
shape: (4, 4)
dtype: float64
history: 1
m2:
shape: (4, 4)
dtype: float64
history: 1
matmul_out:
shape: (4, 4)
dtype: float64
history: 1
log: True
modules:
matmul_init:
language: python
constructor: true # this permits the use of constructor code to intialize the module
# constructors only execute once, before the ticks have begun
out:
- m1
- m2
matmul: # define the module
language: python # language the module is written in
numba: true # compile module using numba.pycc (if true, only a subset of python is permitted, but code is statically compiled with BLAS/LAPACK support)
in:
- m1
- m2
out:
- matmul_out
matmul_print:
language: python
in:
- matmul_out# import numpy as np # numpy already imported in module template
m1_init = np.random.rand(4, 4)
m2_init = np.random.rand(4, 4)# if init only happens on first tick, only writes to first slot in history
m1[:, :] = m1_init[:, :]
m2[:, :] = m2_init[:, :]matmul_out[:, :] = np.dot(m1, m2)[:, :]
# the [:,:] notation must be used or Python will create a new matmul_out
# variable instead of copying the data into the array mapped by matmul_out
Install Python (if not installed):
Let me know if you’re having issues!
Install latest version from source:
Install versioned release:
Create a file /etc/security/limits.d/licorice.conf with the following contents, replacing
<user> - rtprio 95
<user> - memlock unlimited
<user> - nice -20
Print out the help options:
licorice -h
sine_wave demoInstall git if not installed
Clone LiCoRICE examples
How do you want to modify the audio signal?
Some examples:
Engaging with LiCoRICE: