Compiled with #pragma omp parallel for
in front of the main loop of ONE time step
YOU CAN'T PARALLELIZE CODE OVER TIME
g++ -std=gnu++11 -Ofast -ftree-vectorize -march=native -mavx -fopenmp LIF-2.cpp -o lif
- On the Mac, OpenMP is not installed by default. Install it separately.
- use huge matrices (3d especially) to store data
- try to 'help' Numba to parallelize the code by creating loops
- do the same in c++ and #pragma
- uses the cores efficiently
- on a 32 core Intel machine -- 3000 neurons - 1 minute per 100 ms of simulation with dt=0.01
- on a 128 core AMD ROC node -- 3000 neurons - 1 minute per 1000 ms of simulation with dt=0.01
- latest with STP
- embedded assemblies
- same as LIF-4.cpp
- almost as fast
- easier to debug
- let's you plot the rasters and weights from LIF-4.cpp
- essentially a tutorial, where you can plot AMPA, NMDA, GABA and other dynamics of a network of LIF neurons. The code is essentially the same as LIF_numba_parallel-2.py