Skip to content

Crypto-TII/GPU4SNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPU4SNN: GPU-based Acceleration for Spiking Neural Network Simulations

(This work has been accepted at PPAM 2022 - 14th INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING AND APPLIED MATHEMATICS)

This repository includes the CUDA implementation of state-of-the-art (AP, N, S) algorithms and two new proposed (AB, SKL) algorithms for SNN simulation based on a network of randomly connected pulse-coupled Izhikevich neurons (Izhikevich, 2003).

The reference code is taken from the state-of-the-art (SOTA) implementation: "Dynamic parallelism for synaptic updating in GPU-accelerated spiking neural network simulations" (Paper) (Code).

Commands to execute

Please note that this repository contains a demo-notebook under GPU4SNN Demo Notebook.
Alternatively, execute the following commands:

RUN -------------- > python gpu4snn.py $GPU_NAME$ $NUMBER_OF_ITERATIONS$
FOR EXAMPLE ------ > python gpu4snn.py Quadro 2000
RESULTS   -------- > ./$GPU_NAME$/$NUMBER_OF_ITERATIONS$/Results

Notes

  • The dynamic parallelism is used by AP algorithm at the synaptic update step in the spiking neural network simulations. Note that dynamic parallelism requires compute capability 3.5 and separate compilation.
  • Cooperative Groups are used for Inter Block GPU Synchronization by AB and SKL algorithms. This is supported by CUDA Toolkit 9.0 and later versions.
  • The code is developed under Ubuntu with Quadro and Titan GPUs, CUDA Toolkit 11.5.
  • Change Neurons (N) and Synapses (Nsyn) in the gpu4snn.py file
N    = 2500
Nsyn = 1000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published