{"id":17632784,"url":"https://github.com/brian-team/brian2cuda","last_synced_at":"2025-04-05T08:09:57.948Z","repository":{"id":37803762,"uuid":"45057564","full_name":"brian-team/brian2cuda","owner":"brian-team","description":"A brian2 extension to simulate spiking neural networks on GPUs","archived":false,"fork":false,"pushed_at":"2025-01-10T12:39:18.000Z","size":128205,"stargazers_count":62,"open_issues_count":130,"forks_count":13,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-29T07:05:49.066Z","etag":null,"topics":["biological-simulations","brian","brian2","code-generation","computational-neuroscience","differential-equations","gpu","gpu-acceleration","neuroscience","python","science","simulation","simulation-framework","spiking-neural-networks"],"latest_commit_sha":null,"homepage":"https://brian2cuda.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brian-team.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-10-27T17:21:17.000Z","updated_at":"2025-02-13T14:31:09.000Z","dependencies_parsed_at":"2024-10-23T07:19:08.627Z","dependency_job_id":"02839540-bcbe-41b2-b79e-d458cb7c55f9","html_url":"https://github.com/brian-team/brian2cuda","commit_stats":{"total_commits":1156,"total_committers":8,"mean_commits":144.5,"dds":"0.10121107266435991","last_synced_commit":"b01fa83c9dae330b5415ce7c093bf4c7d914e950"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brian-team%2Fbrian2cuda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brian-team%2Fbrian2cuda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brian-team%2Fbrian2cuda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brian-team%2Fbrian2cuda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brian-team","download_url":"https://codeload.github.com/brian-team/brian2cuda/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305935,"owners_count":20917208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["biological-simulations","brian","brian2","code-generation","computational-neuroscience","differential-equations","gpu","gpu-acceleration","neuroscience","python","science","simulation","simulation-framework","spiking-neural-networks"],"created_at":"2024-10-23T01:45:43.682Z","updated_at":"2025-04-05T08:09:57.924Z","avatar_url":"https://github.com/brian-team.png","language":"Python","readme":"\n# Benchmark results from 28.11.2017\n## Description:\n\n\n\n## Last git log:\n```\ncommit 8987de24ed9f4a3b1a276496407fca1087f04004\nAuthor: Denis Alevi \u003cmail@denisalevi.de\u003e\nDate:   Mon Nov 20 14:31:09 2017 +0100\n\n    Fix critical section to include the actual pushing\n\n```\nThere is also a `git diff` saved in the current directory.\n\n## Results\n\n### BrunelHakimModelHeterogeneousDelay\n![](plots/speed_test_BrunelHakimModelHeterogeneousDelay_absolute.png)\n![](plots/speed_test_BrunelHakimModelHeterogeneousDelay_profiling.png)\n![](plots/speed_test_BrunelHakimModelHeterogeneousDelay_relative.png)\n\n\u003cdetails\u003e\u003csummary\u003eExamplary `nvprof` results for **CUDAStandaloneConfigurationBrunelHeterogAndPushAtomicResize**\u003c/summary\u003e\u003cp\u003e\nProfile summary for `N = 1000`:\n\n```\n==2700== NVPROF is profiling process 2700, command: ./main\n==2700== Profiling application: ./main\n==2700== Profiling result:\n            Type  Time(%)      Time     Calls       Avg       Min       Max  Name\n GPU activities:   36.32%  123.91ms      2523  49.113us  14.176us  1.3924ms  _run_synapses_pre_push_spikes_push_kernel(unsigned int, unsigned int, unsigned int, int*)\n                   18.81%  64.168ms     10000  6.4160us  3.5840us  8.5440us  kernel_synapses_pre_codeobject(unsigned int, unsigned int, unsigned int, int*, unsigned int, double*, int, int*, int, double, int*, int, double*, int*)\n                   12.89%  43.962ms     10000  4.3960us  4.1600us  5.4080us  kernel_neurongroup_stateupdater_codeobject(unsigned int, unsigned int, double, double*, double*, double*, bool*, float*)\n                    8.62%  29.419ms     10000  2.9410us  2.8800us  4.2880us  _run_synapses_pre_push_spikes_advance_kernel(void)\n                    6.74%  22.995ms     10000  2.2990us  2.0160us  2.8800us  kernel_neurongroup_thresholder_codeobject(unsigned int, unsigned int, int*, double, double*, double*, bool*)\n                    6.03%  20.585ms     10000  2.0580us  2.0160us  4.0960us  [CUDA memcpy DtoH]\n                    5.48%  18.689ms     10000  1.8680us  1.7280us  2.2400us  kernel_neurongroup_resetter_codeobject(unsigned int, unsigned int, double*, int*)\n                    4.89%  16.676ms     10000  1.6670us  1.6000us  2.7520us  _GLOBAL__N__69_tmpxft_000008bc_00000000_6_neurongroup_thresholder_codeobject_cpp1_ii_97ebdcc0::_reset_neurongroup_thresholder_codeobject(int*)\n                    0.21%  732.10us         1  732.10us  732.10us  732.10us  void gen_sequenced\u003ccurandStateXORWOW, float2, normal_args_st, __operator_\u0026__(float2 curand_normal_scaled2\u003ccurandStateXORWOW\u003e(curandStateXORWOW*, normal_args_st))\u003e(curandStateXORWOW*, float2*, unsigned long, unsigned long, normal_args_st)\n      API calls:   63.43%  648.25ms     62524  10.368us  8.7500us  8.8943ms  cudaLaunch\n                   28.22%  288.45ms     10000  28.844us  18.477us  1.3838ms  cudaMemcpy\n                    5.61%  57.386ms    350097     163ns     124ns  335.99us  cudaSetupArgument\n                    1.38%  14.127ms     62524     225ns     161ns  321.95us  cudaConfigureCall\n                    1.30%  13.336ms     52525     253ns     200ns  300.39us  cudaGetLastError\n                    0.03%  268.04us         1  268.04us  268.04us  268.04us  cudaMalloc\n                    0.02%  166.72us         1  166.72us  166.72us  166.72us  cudaMemGetInfo\n                    0.00%  30.363us        39     778ns     650ns  2.4670us  cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags\n                    0.00%  29.284us         8  3.6600us  2.8650us  6.1410us  cudaFuncGetAttributes\n                    0.00%  13.545us         1  13.545us  13.545us  13.545us  cudaDeviceSynchronize\n                    0.00%  6.1940us        12     516ns     337ns  1.4590us  cudaDeviceGetAttribute\n                    0.00%  3.8130us         3  1.2710us     863ns  1.9980us  cudaGetDevice\n\n```\n\n\u003c/p\u003e\u003c/details\u003e\n\n\n\u003cdetails\u003e\u003csummary\u003eExamplary `nvprof` results for **CUDAStandaloneConfiguration**\u003c/summary\u003e\u003cp\u003e\nProfile summary for `N = 1000`:\n\n```\n==1993== NVPROF is profiling process 1993, command: ./main\n==1993== Profiling application: ./main\n==1993== Profiling result:\n            Type  Time(%)      Time     Calls       Avg       Min       Max  Name\n GPU activities:   56.03%  352.83ms     10000  35.283us  2.0480us  87.201us  kernel_synapses_pre_codeobject(unsigned int, unsigned int, unsigned int, int*, unsigned int, double*, int, int*, int, double, int*, int, double*, int*)\n                   23.69%  149.15ms     10000  14.915us  1.6320us  1.3164ms  _run_synapses_pre_push_spikes_push_kernel(unsigned int, unsigned int, unsigned int, int*)\n                    6.70%  42.158ms     10000  4.2150us  3.8080us  5.6320us  kernel_neurongroup_stateupdater_codeobject(unsigned int, unsigned int, double, double*, double*, double*, bool*, float*)\n                    4.32%  27.228ms     10000  2.7220us  2.4960us  4.5120us  _run_synapses_pre_push_spikes_advance_kernel(void)\n                    3.61%  22.747ms     10000  2.2740us  1.9200us  3.7760us  kernel_neurongroup_thresholder_codeobject(unsigned int, unsigned int, int*, double, double*, double*, bool*)\n                    3.00%  18.918ms     10000  1.8910us  1.7280us  3.7440us  kernel_neurongroup_resetter_codeobject(unsigned int, unsigned int, double*, int*)\n                    2.53%  15.914ms     10000  1.5910us  1.3440us  3.8080us  _GLOBAL__N__69_tmpxft_000005de_00000000_6_neurongroup_thresholder_codeobject_cpp1_ii_97ebdcc0::_reset_neurongroup_thresholder_codeobject(int*)\n                    0.12%  731.65us         1  731.65us  731.65us  731.65us  void gen_sequenced\u003ccurandStateXORWOW, float2, normal_args_st, __operator_\u0026__(float2 curand_normal_scaled2\u003ccurandStateXORWOW\u003e(curandStateXORWOW*, normal_args_st))\u003e(curandStateXORWOW*, float2*, unsigned long, unsigned long, normal_args_st)\n      API calls:   89.24%  744.81ms     70001  10.639us  8.5770us  8.8242ms  cudaLaunch\n                    7.22%  60.281ms    380005     158ns     121ns  336.34us  cudaSetupArgument\n                    1.85%  15.427ms     70001     220ns     159ns  319.22us  cudaConfigureCall\n                    1.60%  13.340ms     60002     222ns     175ns  326.16us  cudaGetLastError\n                    0.04%  332.76us         1  332.76us  332.76us  332.76us  cudaDeviceSynchronize\n                    0.03%  253.93us         1  253.93us  253.93us  253.93us  cudaMalloc\n                    0.02%  146.47us         1  146.47us  146.47us  146.47us  cudaMemGetInfo\n                    0.00%  29.198us         8  3.6490us  2.7670us  6.3670us  cudaFuncGetAttributes\n                    0.00%  27.382us        39     702ns     578ns  1.8100us  cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags\n                    0.00%  6.0870us        12     507ns     326ns  1.3870us  cudaDeviceGetAttribute\n                    0.00%  3.7450us         3  1.2480us     822ns  2.0410us  cudaGetDevice\n\n```\n\n\u003c/p\u003e\u003c/details\u003e\n\n\n","funding_links":[],"categories":["Frameworks"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrian-team%2Fbrian2cuda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrian-team%2Fbrian2cuda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrian-team%2Fbrian2cuda/lists"}