-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Description
Running this script (with GeNN 4.5.1 and brian2GeNN 1.6)
from brian2 import *
import brian2genn
set_device('genn')
target = NeuronGroup(2, 'dv/dt = - exp(1)/ms : 1')
run(0*second)fails with
...
GeNNworkspace/magicnetwork_model_CODE/neuronUpdateCUDAOptim.cc(79): error: calling a __host__ function("std::exp<int> ") from a __global__ function("updateNeuronsKernel") is not allowed
GeNNworkspace/magicnetwork_model_CODE/neuronUpdateCUDAOptim.cc(79): error: identifier "std::exp<int> " is undefined in device code
2 errors detected in the compilation of "GeNNworkspace/magicnetwork_model_CODE/neuronUpdateCUDAOptim.cc".
terminate called after throwing an instance of 'std::runtime_error'
what(): optimizeBlockSize: NVCC failed
genn/bin/genn-buildmodel.sh: line 92: 1780082 Aborted (core dumped) "$GENERATOR" "$BASEDIR/../" "$OUT_PATH" "$FORCE_REBUILD"
...
CUDA math functions are overloaded only for floating point types in device code. That seems the source of the issue here. But I'm pretty sure that this used to work in older brian2GeNN / GeNN versions as the COBAHH example uses exp(<integer>) as well and is currently failing (at least for me).
Can someone reproduce this?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels