# Parallel Simulations of the Sharp Wave-Ripples of the Hippocamp on Multicore CPUs and GPUs
## 4 Discussion  
Considering the OpenMP performance reported in Figure 6, the Intel i9 processor shows a decrease in processing time as the number of threads increases from 16 to 32, but this decrease is not linear. However, there is no improvement when increasing to 64 threads. On the other hand, the Xeon Silver processor performs best with 16 threads, with processing times increasing as the number of threads increases. This behavior is maintained by both processors for the three networks. In conclusion, the Intel i9 processor performs best with 32 threads. This suggests that using more than 32 threads can lead to inefficiencies, probably due to synchronization overheads or memory contention at least with these dimensions of the problem. The Intel i9 appears to be better suited to workloads requiring moderate levels of parallelism, offering significant performance gains up to 32 threads. However, its performance does not improve and sometimes deteriorates when scaling beyond this point. Conversely, the Xeon Silver, while generally slower, handles higher thread counts more consistently, but also struggles beyond 32 threads. These observations suggest that for optimal performance, thread counts must be carefully matched to both problem size and processor architecture to avoid over-parallelization, which can lead to diminishing returns. Analyzing the GPUs performance reported in Figure 7, the following considerations can be made. For Network1, the RTX 4090 completes the task in 15.58 s, while the A16 takes longer at 29.512 s. This suggests that the RTX 4090 exhibits superior performance \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{**Network**} & \multicolumn{2}{c}{**Serial**} & \multicolumn{2}{c}{**OpenMP**} & \multirow{2}{*}{**NVIDIA A16**} \\ \cline{2-2} \cline{4-7}  & **Intel i9** & **Intel Xeon** & **Intel i9** & **Intel Xeon** & & \\ \hline Network1 & 192.95 & 552.84 & 111.96 & 169.40 & 15.58 & 29.51 \\  & & & (1.72\(\times\)) & (3.26\(\times\)) & (12.38\(\times\)) & (18.73\(\times\)) \\ Network2 & 740.54 & 2141.91 & 213.25 & 310.62 & 77.01 & 118.32 \\  & & & (3.47\(\times\)) & (6.90\(\times\)) & (9.74\(\times\)) & (18.10\(\times\)) \\ Network3 & 983.76 & 2504.97 & 253.48 & 425.37 & 88.76 & - \\  & & & (3.88\(\times\)) & (5.89\(\times\)) & (11.08\(\times\)) & \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Best processing times and speed-up. All the processing times are reported in seconds. Figure 7: Processing times of the GPUs. for smaller workloads, potentially attributable to its elevated clock frequency and a more sophisticated architectural design optimized for high-throughput computing. As the problem size increases, the processing time of the RTX 4090 rises to 77.01 s. In contrast, the A16 requires 118.32 s to process the same workload. This serves to further emphasize the performance gap between the two GPUs, with the RTX 4090 continuing to demonstrate superior efficiency and speed. The A16, despite its design for high-density, multi-user environments, appears to encounter greater challenges as the problem size increases. This observation reflects its emphasis on versatility for multi-user environments rather than on the raw performance on a single task. With regard to the largest problem size, the RTX 4090 records a processing time of 88.76 s. However, no corresponding value is available for the A16, since the available memory is not enough to perform this simulation. This indicates that while the A16 is effective in scenarios that require moderate parallelism and multi-user environments, it may not be as well-suited for extremely large, computationally intensive tasks that demand the substantial processing power provided by the RTX 4090. In conclusion, the RTX 4090 demonstrates superior performance compared to the A16 across a range of tested problem sizes, particularly when the workload is increased. The A16 is capable in specific environments, yet it is unable to match the RTX 4090's performance in high-computational tasks.