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

Binomial implementation #178

Merged
merged 42 commits into from
Aug 19, 2020
Merged

Binomial implementation #178

merged 42 commits into from
Aug 19, 2020

Conversation

denisalevi
Copy link
Member

@denisalevi denisalevi commented Aug 19, 2020

This PR does multiple things:

  • Binomial function implementation for cuda_standalone
  • Refactoring of device side RNG buffer (into class structure)
  • Fix RNG bugs for multiple run calls
  • Implement and test Brian's seed setting mechanism

This solves part of #47 .

- Needs testing: brian2 test suite, brian2 seed mechanism
- How is the performance for using device side curand calls?
Working on #85, WIP, currently error with `cudaFree` call
This way the part copied from CPPStandaloneDevice stays unmodified
Implements _i suffixes for random number buffer classes and instances.
Maybe not optimal, probably changing to single RandomNumberBuffer class
that takes care of it.
RNG for codeobject run only once is broken currently
Also refactor some code for reusing the rng test for codeobjects running
every tick and only once.
Instead of one state per thread per kernel in one time step
Needed for host binomial implementations to have access to them.
Uncommited changes before 6 months dev break...
Important for binomial in synapses, were N is only known after synapse
generation. Adds function to check for enough curand states before
running a codeobject with binomial function.
Pointer typo, the pointer adress was used as seed which didn't change.
- Initialize curand states before network run when they are used in
  synapse connect conditions
- Write test for different rand/randn and binomial function situation
  (host/device, buffer/on the fly)
@denisalevi denisalevi merged commit f7d3bef into master Aug 19, 2020
@denisalevi denisalevi deleted the binomial_implementation branch August 19, 2020 14:11
denisalevi added a commit that referenced this pull request Jun 10, 2021
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