Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update brian2 submodule to last version using nosetest #217

Merged
merged 52 commits into from
Aug 8, 2021

Conversation

denisalevi
Copy link
Member

@denisalevi denisalevi commented Jul 22, 2021

PR for #200

There will be multiple PRs to merge specific updates into this branch (e.g. PR #209), this is to keep an overview of the changes in the separate PRs.

This PR will be merged once everything is updated for a specific brian2 version (see update steps in #200).

EDIT 08.08.2021
This PR merges the following PRs into master:

@denisalevi denisalevi force-pushed the update-brian2-submodule branch 4 times, most recently from 15472ce to 06f1d94 Compare July 27, 2021 09:13
Two changes from future brian2 commits: `_namespace` variables in some
user functions and an added monitor test. Both will have to be removed
once brian2 is updated.
This is the last brian2 version using nosetest before switching to
pytest.
Instance attributes were declared as class attributes. Also removes
two unused attributes.
See PR brian-team/brian2#1038
This change had been committed and reverted previously (824624) due to
wrong brian2 version. Now brian2 is updated and the commit is reapplied.
The test file `brian2.tests.test_cpp_standalone` has only CPP Standalone
only tests which were not run in the Brian2CUDA test suite.

Some of these tests are not passing and need separate debugging.
Brian2 has only `cpp-standalone` only tests. I just copied them to be
`cuda-standalon` only tests for now. But should probably just make the
brian2 tests `standalone-compatible` instead? See comment in #183
Add support for deleting standalone code / results, see brian-team/brian2#1104
Brian2 tests is marked as `codegen-independent`. We now have a CUDA
version. Should probably instead be `standalone-compatible` in brian2
instead, see #183.
We initialized the entire spikespace with `-1`, including the last array
item, which is the counter variable. That one is now initialized to 0.
After brian2 change in PR brian-team/brian2#1042, the template has
access to all variables in units of dt, which makes the template much
easier.
Adds tests from TODO list in PR #194:
- Tests from brian2's test_spikegenertor.py which where not
  'standalone-compatible'
- Test for spikegenerator eventspaces for homog. / heterog. delays
- Test for spikegenerator on a different clock (currently not passing)
Update and fix spikegenerator.
Fixes #48.
New issue for spikegenerator on differnt clock in #222 
Additional optimization suggestions in #193
Because brian2 did that too 😀 brian-team/brian2@cb77dd
Fixes #50. Issue was the same as in PR brian-team/brian2#1119. We need
to update the monitor's `N` variable on CUDA side and we need to update
the device variable since it is copied to the host variable in
`write_arrays()`. And we need to use `WRITES_TO_READ_ONLY_VARIABLES`,
otherwise `N` will be cached in brian2 and not loaded after simulation.
RNG by precalculating needed number of random numbers is implemented but
returning the correct random numbers when calling `poisson` is not
implemented yet
Not tested. Missing: different lambda across codeobject
This commit mostly cleans up the random number generation. That means,
changing variable names, restructuring variable types etc. and adding
code documentation.
There was a bug due to functions being used before definition or
declaration
@denisalevi denisalevi changed the title Update brian2 submodule Update brian2 submodule to last version using nosetest Aug 8, 2021
@denisalevi denisalevi merged commit 8a9c3ae into master Aug 8, 2021
@denisalevi denisalevi deleted the update-brian2-submodule branch August 8, 2021 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant