Hi Marcel
I have problem compiling the following example code in standalone mode. Any hints would be appreciated.
from brian2 import *
set_device('cpp_standalone', directory='standalone')
@implementation('cpp', '''
double spike_rate(t, i) {
return ta2d(t, i);
}
''')
@check_units(t=second, i=1, result=1)
def spike_rate(t, i):
raise NotImplementedError('use standalone mode')
#
N = 6
input_neurons = NeuronGroup(N, 'rate : Hz', threshold='rand()<rate*dt')
ta2d = TimedArray([[1, 2, 3, 4, 5, 6], [100, 200, 300, 400, 500, 600]], dt=0.2*ms)
#input_neurons.run_regularly('rate=ta2d(t, i)*Hz', dt=0.2*ms)
input_neurons.run_regularly('rate=spike_rate(t, i)*Hz', dt=0.2*ms)
run(0.3*ms, report='text')
print(input_neurons.rate[:])
The error is:
run(0.3*ms, report='text')
File "/home/wxie/local_pkgs/brian2/brian2/units/fundamentalunits.py", line 2428, in new_f
result = f(*args, **kwds)
File "/home/wxie/local_pkgs/brian2/brian2/core/magic.py", line 377, in run
return magic_network.run(duration, report=report, report_period=report_period,
File "/home/wxie/local_pkgs/brian2/brian2/core/magic.py", line 230, in run
Network.run(self, duration, report=report, report_period=report_period,
File "/home/wxie/local_pkgs/brian2/brian2/core/base.py", line 291, in device_override_decorated_function
return getattr(curdev, name)(*args, **kwds)
File "/home/wxie/local_pkgs/brian2/brian2/devices/cpp_standalone/device.py", line 1557, in network_run
self.build(direct_call=False, **self.build_options)
File "/home/wxie/local_pkgs/brian2/brian2/devices/cpp_standalone/device.py", line 1290, in build
self.compile_source(directory, compiler, debug, clean)
File "/home/wxie/local_pkgs/brian2/brian2/devices/cpp_standalone/device.py", line 1031, in compile_source
raise RuntimeError(error_message)
RuntimeError: Project compilation failed (error code: 512). Consider running with "clean=True" to force a complete rebuild.