Comments (17)
from brian2genn.
Hah good idea - sorry for confusing the issue!
Unless you have any strong objections my plan is, in the short term, to add support for independantly setting double-precision time in GeNN and, in the longer term, I'll remove the transcendental function name mangling along with a lot of essentially legacy stuff meaning that you'll have much more control over precision.
from brian2genn.
I think this is a good plan. After phase one (introducing the independent precision control for t
) we can adjust Brian2genn and finally get to benchmarking.
Remains the question about a version info functionality for GeNN ...
from brian2genn.
Excellent! I'll implement that ASAP so as not to hold you up. Regarding the versioning, if you want a hack you can read the PROJECT_NUMBER from doxygen/genn-doxygen.conf
😄 however we really should do it properly - would a #define work for you @mstimberg?
from brian2genn.
genn-doxygen.conf
could be a stop-gap solution :) a #define
wouldn't be the ideal solution for us, since we need the version before compiling anything...
from brian2genn.
I'll add a version.txt ASAP as well - I fear that any cunning attempt at reading a version.txt into the doxygen will break any stop gap hack involving parsing it so probably best not to do that...
from brian2genn.
I assume we will then have to do the logic in a away that has GeNN version < XXX if the version.txt does not exist and otherwise its content ... don't think it is possible to introduce retrospectively into earlier versions ...
from brian2genn.
@mstimberg - does genn-team/genn#206 work for you?
from brian2genn.
@neworderofjamie : yes looking good to me
@tnowotny : yes, not having it for older versions is perfectly fine
from brian2genn.
@mstimberg , once we have merged genn-team/genn#207 we should be ready to enable float32 support for brian2genn. Just needs inserting the setTimePrecision command if the GeNN used is new enough to have it.
from brian2genn.
Great, I'll take care of this tomorrow.
from brian2genn.
@tnowotny , @neworderofjamie Which version should we require for this feature? Current version.txt
still says 3.1.1, but that release did not yet contain the feature. Should we require 3.1.2
or will the next release be 3.2
?
from brian2genn.
When do you expect single precision to be available in the brian2genn? I guess it depends on the GeNN 3.2 release?
We will start running final benchmarks on Friday. If single precision is available by then, we would be happy to include it.
from brian2genn.
I just opened PR #72 which removes the need to wait for GeNN 3.2 -- it just raises a warning for now, we can change this into an error as soon as GeNN 3.2 is released.
from brian2genn.
being lazy I will ask and not inspect the code: What happens of one tries to use the single precision brian2genn with an older GeNN version before the setTimePrecision
function was introduced? I suspect it crashes during compilation?
from brian2genn.
Yes, unfortunately it will raise a warning and then crash... Maybe it would be cleaner to say something about the GeNN version in the error message you get for the failed compilation?
from brian2genn.
on the other hand it could have crashed during compilation for many different reasons ... on second thought, I think it is fine with warning + crash as you have it for now. Once GeNN 3.2. is released we change it to an error and everything is clean.
from brian2genn.
Related Issues (20)
- Question: How to work around restriction of synaptic output variable or summed variable? HOT 4
- Cannot open include file: 'brianlib/stdint_compat.h from clocks.h HOT 22
- Building genn executable fails after a certain number of successful runs when parameter fitting HOT 12
- Workaround for network-operation? HOT 30
- Use GeNN's new run_regularly mechanisms for run_regularly statements
- Use GeNN's initvar snippets for synapse creation
- Brian2genn model build is completed, but system cannot find the path specified HOT 17
- RuntimeError: Project compilation failed HOT 2
- Undeclared Identifier Error for Multiple Runs HOT 6
- potential problem with handling of build_options
- Custom header files are missing when used in `device.insert_code` calls HOT 1
- C99 math functions fail on integer type arguments HOT 18
- Inaccurate updates when having multiple differential equations in neuron groups HOT 3
- StateMonitor fails to collect data from some Synapses HOT 3
- use individually named dir instead of GeNNworkspace HOT 1
- [Feature request] Support for slower clocks in Monitors HOT 3
- RNG & seeding HOT 4
- SpikeGenerator problem HOT 2
- Error code 50 HOT 3
- Failed to build, error: ‘spikeCount_neurongroup’ was not declared in this scope HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from brian2genn.