Skip to content

Commit 2110a44

Browse files
committed
merged in master
2 parents 4617fba + 64d0914 commit 2110a44

File tree

6 files changed

+8
-90
lines changed

6 files changed

+8
-90
lines changed

spynnaker/pyNN/data/spynnaker_data_view.py

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@ class _SpynnakerDataModel(object):
5050
"_min_delay",
5151
"_neurons_per_core_set",
5252
"_populations",
53-
"_projections",
54-
"_segment_counter")
53+
"_projections")
5554

5655
def __new__(cls) -> '_SpynnakerDataModel':
5756
if cls.__singleton is not None:
@@ -72,7 +71,6 @@ def _clear(self) -> None:
7271
self._neurons_per_core_set: Set[Type[AbstractPyNNModel]] = set()
7372
self._populations: Set[Population] = set()
7473
self._projections: Set[Projection] = set()
75-
self._segment_counter = 0
7674

7775
def _hard_reset(self) -> None:
7876
"""
@@ -255,16 +253,6 @@ def set_number_of_neurons_per_dimension_per_core(
255253
neuron_type.set_model_max_atoms_per_dimension_per_core(max_permitted)
256254
cls.__spy_data._neurons_per_core_set.add(neuron_type)
257255

258-
@classmethod
259-
def get_segment_counter(cls) -> int:
260-
"""
261-
The number of the current recording segment being generated.
262-
263-
:return: the segment counter
264-
:rtype: int
265-
"""
266-
return cls.__spy_data._segment_counter
267-
268256
@classmethod
269257
def get_sim_name(cls) -> str:
270258
"""

spynnaker/pyNN/data/spynnaker_data_writer.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,11 @@ def _mock(self) -> None:
4747

4848
@overrides(FecDataWriter._hard_reset)
4949
def _hard_reset(self) -> None:
50-
if not self.is_soft_reset():
51-
# Only increase it if this is a hard not following a soft
52-
self.__spy_data._segment_counter += 1
5350
FecDataWriter._hard_reset(self)
5451
self.__spy_data._hard_reset()
5552

5653
@overrides(FecDataWriter._soft_reset)
5754
def _soft_reset(self) -> None:
58-
self.__spy_data._segment_counter += 1
5955
FecDataWriter._soft_reset(self)
6056
self.__spy_data._soft_reset()
6157

spynnaker/pyNN/models/recorder.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ def extract_neo_block(
236236
SpynnakerDataView.check_user_can_act()
237237

238238
block: Optional[neo.Block] = None
239-
for previous in range(SpynnakerDataView.get_segment_counter()):
239+
for previous in range(SpynnakerDataView.get_reset_number()):
240240
block = self.__append_previous_segment(
241241
block, previous, variables, view_indexes, clear, annotations)
242242

@@ -265,7 +265,7 @@ def csv_neo_block(
265265
pop_label = self.__population.label
266266

267267
wrote_metadata = False
268-
for segment in range(SpynnakerDataView.get_segment_counter()):
268+
for segment in range(SpynnakerDataView.get_reset_number()):
269269
with NeoBufferDatabase.segement_db(segment) as db:
270270
if not wrote_metadata:
271271
wrote_metadata = db.csv_block_metadata(
@@ -279,7 +279,7 @@ def csv_neo_block(
279279
logger.warning(
280280
"Due to the call directly after reset, "
281281
"the data will only contain {} segments",
282-
SpynnakerDataView.get_segment_counter() - 1)
282+
SpynnakerDataView.get_reset_number() - 1)
283283
return
284284
else:
285285
raise ConfigurationException(
@@ -316,7 +316,7 @@ def __append_current_segment(
316316
logger.warning(
317317
"Due to the call directly after reset, "
318318
"the data will only contain {} segments",
319-
SpynnakerDataView.get_segment_counter() - 1)
319+
SpynnakerDataView.get_reset_number() - 1)
320320
else:
321321
db.add_segment(
322322
block, self.__population.label, variables, view_indexes,

spynnaker/pyNN/spinnaker.py

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -181,20 +181,6 @@ def clear(self) -> None:
181181
# Stop any currently running SpiNNaker application
182182
self.stop()
183183

184-
def reset(self) -> None:
185-
"""
186-
Reset the state of the current network to time t = 0.
187-
"""
188-
if not self.__writer.is_ran_last():
189-
if not self.__writer.is_ran_ever():
190-
logger.error("Ignoring the reset before the run")
191-
else:
192-
logger.error("Ignoring the repeated reset call")
193-
return
194-
195-
# Call superclass implementation
196-
AbstractSpinnakerBase.reset(self)
197-
198184
@property
199185
def state(self) -> 'SpiNNaker':
200186
"""
@@ -285,7 +271,7 @@ def segment_counter(self) -> int:
285271
:return: the segment counter
286272
:rtype: int
287273
"""
288-
return self.__writer.get_segment_counter()
274+
return self.__writer.get_reset_number()
289275

290276
@segment_counter.setter
291277
def segment_counter(self, _):

spynnaker/pyNN/utilities/neo_buffer_database.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def __init__(self, database_file: Optional[str] = None,
118118

119119
super().__init__(database_file, read_only=read_only)
120120

121-
segment = SpynnakerDataView.get_segment_counter()
121+
segment = SpynnakerDataView.get_reset_number()
122122
if (segment not in segment_cache or
123123
segment_cache[segment] != database_file):
124124
with open(self.__NEO_DDL_FILE, encoding="utf-8") as f:
@@ -154,7 +154,7 @@ def write_segment_metadata(self) -> None:
154154
dt, simulator)
155155
VALUES (?, ?, ?, ?, ?)
156156
""", (SpynnakerDataView.get_simulation_time_step_ms(),
157-
SpynnakerDataView.get_segment_counter(),
157+
SpynnakerDataView.get_reset_number(),
158158
datetime.now(),
159159
SpynnakerDataView.get_simulation_time_step_ms(),
160160
SpynnakerDataView.get_sim_name()))

unittests/data/test_simulator_data.py

Lines changed: 0 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -139,58 +139,6 @@ def test_populations_and_projections(self):
139139
with self.assertRaises(TypeError):
140140
writer.add_projection("bacon")
141141

142-
def test_segment_counter(self):
143-
writer = SpynnakerDataWriter.setup()
144-
self.assertEqual(0, SpynnakerDataView.get_segment_counter())
145-
146-
# Not changed by running
147-
writer.start_run()
148-
self.assertEqual(0, SpynnakerDataView.get_segment_counter())
149-
writer.finish_run()
150-
self.assertEqual(0, SpynnakerDataView.get_segment_counter())
151-
152-
# Not changed by running again
153-
writer.start_run()
154-
writer.finish_run()
155-
self.assertEqual(0, SpynnakerDataView.get_segment_counter())
156-
157-
# Changed by a soft reset
158-
writer.soft_reset()
159-
self.assertEqual(1, SpynnakerDataView.get_segment_counter())
160-
writer.start_run()
161-
writer.finish_run()
162-
self.assertEqual(1, SpynnakerDataView.get_segment_counter())
163-
164-
# Changed by a hard reset
165-
writer.hard_reset()
166-
self.assertEqual(2, SpynnakerDataView.get_segment_counter())
167-
writer.start_run()
168-
writer.finish_run()
169-
170-
# Changed once by a soft than not by the hard reset before run
171-
writer.soft_reset()
172-
self.assertEqual(3, SpynnakerDataView.get_segment_counter())
173-
writer.hard_reset()
174-
self.assertEqual(3, SpynnakerDataView.get_segment_counter())
175-
writer.start_run()
176-
writer.finish_run()
177-
self.assertEqual(3, SpynnakerDataView.get_segment_counter())
178-
179-
# Changed once by a soft than not by the hard reset in run
180-
writer.soft_reset()
181-
self.assertEqual(4, SpynnakerDataView.get_segment_counter())
182-
writer.start_run()
183-
writer.hard_reset()
184-
self.assertEqual(4, SpynnakerDataView.get_segment_counter())
185-
writer.finish_run()
186-
self.assertEqual(4, SpynnakerDataView.get_segment_counter())
187-
188-
# shutting down does not change the value
189-
writer.stopping()
190-
self.assertEqual(4, SpynnakerDataView.get_segment_counter())
191-
writer.shut_down()
192-
self.assertEqual(4, SpynnakerDataView.get_segment_counter())
193-
194142
def test_sim_name(self):
195143
self.assertEqual(SpynnakerDataView.get_sim_name(), sim.name())
196144
self.assertIn("sPyNNaker", SpynnakerDataView.get_sim_name())

0 commit comments

Comments
 (0)