def _get_sdram_usage_for_neuron_params(self, vertex_slice): per_neuron_usage = ( self._input_type.get_sdram_usage_per_neuron_in_bytes() + self._threshold_type.get_sdram_usage_per_neuron_in_bytes()) if self._additional_input is not None: per_neuron_usage += \ self._additional_input.get_sdram_usage_per_neuron_in_bytes() return ( (common_constants.DATA_SPECABLE_BASIC_SETUP_INFO_N_WORDS * 4) + ReceiveBuffersToHostBasicImpl.get_recording_data_size(3) + (per_neuron_usage * vertex_slice.n_atoms) + self._neuron_model.get_sdram_usage_in_bytes(vertex_slice.n_atoms))
def get_sdram_usage_for_atoms(self, vertex_slice, graph): poisson_params_sz = self.get_params_bytes(vertex_slice) total_size = \ ((front_end_common_constants. DATA_SPECABLE_BASIC_SETUP_INFO_N_WORDS * 4) + ReceiveBuffersToHostBasicImpl.get_recording_data_size(1) + ReceiveBuffersToHostBasicImpl.get_buffer_state_region_size(1) + SpikeSourcePoissonPartitionedVertex.get_provenance_data_size(0) + poisson_params_sz) total_size += self._get_number_of_mallocs_used_by_dsg( vertex_slice, graph.incoming_edges_to_vertex(self)) * \ front_end_common_constants.SARK_PER_MALLOC_SDRAM_USAGE if self._using_auto_pause_and_resume: total_size += self._minimum_buffer_sdram else: spike_buffer_size = self._spike_recorder.get_sdram_usage_in_bytes( vertex_slice.n_atoms, self._no_machine_time_steps) total_size += recording_utils.get_buffer_sizes( self._spike_buffer_max_size, spike_buffer_size, self._enable_buffered_recording) return total_size