1- ## Refactoring and Optimization Update
1+ ## Refactoring and Optimization Update (22/1)
22
33---
44
@@ -10,7 +10,6 @@ This method is the primary interface for the async update mode in the PP model.
1010
1111Kernel execution: ``` self._kernel.update(..) ``` uses pre-allocated ``` PPKernel ``` to modify the gruid and parameter arrays on place.
1212
13-
1413We mutate the ``` grid ``` and the ```p_death_arr`` at the same time.
1514
1615---
@@ -216,4 +215,69 @@ Directed Hunting Overhead
216215
217216As a resultl, we can probably use a 1000x1000 grid for our HPC simulation!
218217
218+ ## Testing and HPC Run Update (23/1)
219+
220+ HPC Run Estimate (we are using 32 cores)
221+
222+ bash
223+ ```
224+ 2026-01-22 21:09:55,625 [INFO] ============================================================
225+ 2026-01-22 21:09:55,625 [INFO] PP Evolutionary Analysis - OPTIMIZED VERSION
226+ 2026-01-22 21:09:55,625 [INFO] ============================================================
227+ 2026-01-22 21:09:55,625 [INFO] Mode: full
228+ 2026-01-22 21:09:55,626 [INFO] Output: results
229+ 2026-01-22 21:09:55,626 [INFO] Cores: -1
230+ 2026-01-22 21:09:55,626 [INFO] Numba: ENABLED
231+ 2026-01-22 21:09:55,626 [INFO] Directed hunting: DISABLED
232+ 2026-01-22 21:09:55,626 [INFO] Estimated: 23,000 sims, ~0.1h on 96 cores (~5 core-hours)
233+ 2026-01-22 21:09:55,626 [INFO] Dry run - exiting
234+ (snellius_venv) [kanagnostopoul@int5 ~]$
235+ ```
236+
219237### Tests
238+
239+ ``` test_pp_analysis ```
240+
241+ We have 58 test cases (one might fail to to messing with the grid size init default):
242+
243+ ```
244+ Run with:
245+ pytest test_pp_analysis.py -v
246+ pytest test_pp_analysis.py -v -x # stop on first failure
247+ ```
248+
249+ Do not be alarmed by this if I forgot to change the test case to match the default value. The final grid size should be solidified by Friday.
250+
251+ ```
252+ def test_config_default_values(self, default_config):
253+ """Config should have sensible defaults."""
254+ > assert default_config.default_grid == 100
255+ E assert 1000 == 100
256+
257+ ```
258+ ---
259+
260+ ``` test_numba_optimized ```
261+
262+ Run with:
263+ ```
264+ pytest test_numba_optimized.py -v
265+ pytest test_numba_optimized.py -v --tb=short # shorter traceback
266+ python test_numba_optimized.py # without pytest
267+ ```
268+
269+
270+ We have 48 tests cases validating the folloiwing:
271+
272+ - Imports
273+ - Kernel Initialization
274+ - Buffer allocation
275+ - Async updates
276+ - Evolution
277+ - Directed and undirected kernel methods
278+ - PCF behavior
279+ - Cluster metrics
280+ - Warmup
281+ - Edge cases with extreme parameter values
282+
283+
0 commit comments