# Runtime Construction of Large-Scale Spiking Neuronal Network Models on GPU Devices
## Appendix B Validation Details  
As described in Section 2.7, the new method for network construction implemented in NEST GPU needs an in-depth analysis for validating the new version against the previous version of the library. To verify the quality of the results, we collect the spiking activity of the neuron populations of the cortical microcircuit model and compute the three distributions of the spiking activity to be compared, i.e., the average firing rate of the populations, the coefficient of variation of inter-spike intervals (CV ISI), and the pairwise Pearson correlation of the spike trains for each population. The simulations are performed using a time step of 0.1 ms and 500 ms of the network dynamics are simulated before recording the spiking activity to avoid transients. Then, the spiking activity of the subsequent 600 s of network dynamics is recorded to compute the distributions. As shown in [27], this large amount of biological time to be simulated is needed to let the activity statistics converge and, thus, to be able to distinguish the statistic of the activity from random processes. Regarding the performance of such simulations, the real-time factor of NEST GPU with enabled spike recording has only a 1.5% increase with respect to the performance shown in Figure 3. Figure A2 shows the violin plots of the distributions obtained with the seaborn.violinplot function of the Seaborn [40] Python library. The function computes smoothed distribution through the Kernel Density Estimation method [41; 42] with Gaussian kernel, with bandwidth optimized using the Silverman method [43]. The distributions obtained with the two versions of NEST GPU are visually indistinguishable; the distributions of the CPU simulator (version 3.3) are likewise indistinguishable, as previously demonstrated in [9] for the comparison between the previous version of NEST and NeuronGPU, the prototype library of NEST GPU. Additionally, to quantitatively evaluate the difference between the different versions of NEST GPU, we compute the Earth Mover's Distance (EMD) between the pairs of distributions using the scipy.stats.wasserstein_distance of the SciPy library [44]. More details on this method can be found in [13]. We simulate sets of 100 simulations changing the seed for random number generation. The sets of simulations for the two versions of the NEST GPU library are, thus, pairwise compared, obtaining for each distribution and each population of the model a set of 100 values of EMD, evaluating the difference between the distributions of the two versions of NEST GPU (_offboard-onboard_). Furthermore, we compute an additional set of simulations for the previous version of NEST GPU to be compared with the other set of the same version (_offboard-offboard_). This way, we can evaluate the differences that can arise using the same simulator with different seeds for random number generation and compare it with the differences obtained by comparing the two different versions of NEST GPU. Additionally, we performed the same validation to compare NEST and NEST GPU to have a quantitative comparison between the most recent versions of the two simulators, i.e., _NEST-NEST GPU (onboard)_ and _NEST-NEST_. Figure 14 shows the EMD box plots for all the distributions computed and for all the populations. Comparing the box plots in panels A-C reveals very similar distributions in EMD for the two comparisons, meaning that the variability we measure from comparing the two versions is compatible with the one that we have by employing the previous version of NEST GPU using different seeds, ergo the new method does not add variability with respect to simulating the model with the previous version of NEST GPU using different seeds. Similar conclusions can be derived from the comparison between NEST and NEST GPU (_onboard_) (see panels D-F). As mentioned before, the real-time factor of NEST GPU marginally increased because of the activation of the spike recording.