''' Check the speed of different Brian 2 configurations (with additional models for brian2cuda) ''' from brian2 import * from brian2.tests.features import SpeedTest from brian2.tests.features.speed import * from brian2.tests.features.speed import __all__ __all__.extend([ 'DenseMediumRateSynapsesOnlyHeterogeneousDelays', 'SparseLowRateSynapsesOnlyHeterogeneousDelays', 'COBAHHUncoupled', 'COBAHHCoupled', 'COBAHHPseudocoupled1000', 'COBAHHPseudocoupled80', 'BrunelHakimHomogDelays', 'BrunelHakimHeterogDelays', 'BrunelHakimHeterogDelaysNarrowDistr', 'CUBAFixedConnectivityNoMonitor', 'STDPCUDA', 'STDPCUDAHomogeneousDelays', 'STDPCUDAHeterogeneousDelays', 'STDPCUDANoPostEffects', 'STDPEventDriven', 'MushroomBody' ]) class COBAHHBase(SpeedTest): """Base class for COBAHH benchmarks with different connectivity""" category = "Full examples" n_label = 'Num neurons' # configuration options duration = 10 * second uncoupled = False # if not uncoupled, these need to be set in child class
Check the speed of different Brian 2 configurations (with additional models for brian2cuda) ''' from brian2 import * from brian2.tests.features import SpeedTest from brian2.tests.features.speed import * from brian2.tests.features.speed import __all__ __all__.extend([ 'AdaptationOscillation', 'ThresholderOnlyAlwaysSpiking', 'ThresholderOnlyPoissonLowRate', 'ThresholderOnlyPoissonMediumRate', 'ThresholderOnlyPoissonHighRate', 'DenseMediumRateSynapsesOnlyHeterogeneousDelays', 'SparseLowRateSynapsesOnlyHeterogeneousDelays', 'BrunelHakimNeuronsOnly', 'BrunelHakimStateupdateOnly', 'BrunelHakimStateupdateOnlyDouble', 'BrunelHakimStateupdateOnlyTriple', 'BrunelHakimStateupdateThresholdOnly', 'BrunelHakimStateupdateThresholdResetOnly', 'BrunelHakimNeuronsOnlyNoXi', 'BrunelHakimNeuronsOnlyNoRand', 'BrunelHakimModelScalarDelay', 'BrunelHakimModelScalarDelayNoSelfConnections', 'BrunelHakimModelScalarDelayShort', 'BrunelHakimModelHeterogeneousDelay', 'BrunelHakimModelHeterogeneousDelayBundleSize1', 'CUBA', 'COBAHH', 'STDPEventDriven', 'STDPNotEventDriven', 'STDPMultiPost', 'STDPNeuronalTraces', 'STDPMultiPostNeuronalTraces', 'Vogels', 'VogelsWithSynapticDynamic' ]) class AdaptationOscillation(SpeedTest): category = "Full examples" name = "Adaptation oscillation" tags = ["Neurons", "Synapses"]
from brian2cuda.tests.features.cuda_configuration import insert_benchmark_point from brian2.tests.features.speed import __all__ __all__.extend(['DenseMediumRateSynapsesOnlyHeterogeneousDelays', 'SparseLowRateSynapsesOnlyHeterogeneousDelays', 'COBAHHUncoupled', 'COBAHHCoupled', 'COBAHHPseudocoupled1000', 'COBAHHPseudocoupled80', 'BrunelHakimHomogDelays', 'BrunelHakimHeterogDelays', 'BrunelHakimHeterogDelaysNarrowDistr', 'CUBAFixedConnectivityNoMonitor', 'STDPCUDA', 'STDPCUDAHomogeneousDelays', 'STDPCUDAHeterogeneousDelays', 'STDPCUDAHeterogeneousDelaysNarrowDistr', 'STDPCUDARandomConnectivityHomogeneousDelays', 'STDPCUDARandomConnectivityHomogeneousDelaysDuration50', 'STDPCUDARandomConnectivityHomogeneousDelaysDuration100', 'STDPCUDARandomConnectivityHomogeneousDelaysDuration200', 'STDPCUDARandomConnectivityHeterogeneousDelays', 'STDPCUDARandomConnectivityHeterogeneousDelaysNarrowDistr', 'STDPCUDANoPostEffects', 'STDPEventDriven', 'MushroomBody', 'StateMonitorBenchmarkCoalescedReads', 'StateMonitorBenchmarkUncoalescedReads', ]) # Add a time measurement of the `brian2.run()` call in the `timed_run()` calls
''' Check the speed of different Brian 2 configurations (with additional models for brian2cuda) ''' from brian2 import * from brian2.tests.features import SpeedTest from brian2.tests.features.speed import * from brian2.tests.features.speed import __all__ __all__.extend(['AdaptationOscillation', 'BrunelHakimModel', 'BrunelHakimModelWithDelay', 'COBAHH', 'STDPEventDriven', 'STDPNotEventDriven', 'Vogels', 'VogelsWithSynapticDynamic' ]) class AdaptationOscillation(SpeedTest): category = "Full examples" name = "Adaptation oscillation" tags = ["Neurons", "Synapses"] n_range = [10, 100, 1000, 10000, 100000, 20000, 50000, 100000] n_label = 'Num neurons' # configuration options duration = 1*second def run(self):
''' Check the speed of different Brian 2 configurations (with additional models for brian2cuda) ''' from brian2 import * from brian2.tests.features import SpeedTest from brian2.tests.features.speed import * from brian2.tests.features.speed import __all__ __all__.extend([ 'AdaptationOscillation', 'BrunelHakimModel', 'BrunelHakimModelWithDelay', 'COBAHH', 'STDPEventDriven', 'STDPNotEventDriven', 'Vogels', 'VogelsWithSynapticDynamic' ]) class AdaptationOscillation(SpeedTest): category = "Full examples" name = "Adaptation oscillation" tags = ["Neurons", "Synapses"] n_range = [10, 100, 1000, 10000, 20000, 50000, 100000] n_label = 'Num neurons' # configuration options duration = 1 * second def run(self): N_neurons = self.n sparsity = 0.05 # each neuron receives approx. N_neurons*sparsity connections => 0: uncoupled network tau_v = 10 * ms # membrane time const
''' Check the speed of different Brian 2 configurations (with additional models for brian2cuda) ''' from brian2 import * from brian2.tests.features import SpeedTest from brian2.tests.features.speed import * from brian2.tests.features.speed import __all__ __all__.extend([ 'AdaptationOscillation', 'BrunelHakimModelScalarDelay', 'BrunelHakimModelHeterogeneousDelay', 'COBAHH', 'STDPEventDriven', 'STDPNotEventDriven', 'STDPMultiPost', 'STDPNeuronalTraces', 'STDPMultiPostNeuronalTraces', 'Vogels', 'VogelsWithSynapticDynamic' ]) class AdaptationOscillation(SpeedTest): category = "Full examples" name = "Adaptation oscillation" tags = ["Neurons", "Synapses"] n_range = [10, 100, 1000, 10000, 20000, 50000, 100000] n_label = 'Num neurons' # configuration options duration = 1 * second def run(self): N_neurons = self.n sparsity = 0.05 # each neuron receives approx. N_neurons*sparsity connections => 0: uncoupled network