# Parallel Simulations of the Sharp Wave-Ripples of the Hippocamp on Multicore CPUs and GPUs
## 1 Introduction
Another interesting study [15] presents a model network comprising simple integrate-and-fire neurons with Tsodyks-Markram synapses, devised to assess the efficacy of simulation. The hippocampal simulation involved over 40 billion synaptic connections and required substantial computational resources, including 2400 processors and 19.2 TB of memory, on the Piz Daint Cray XC40 supercomputer. Again, the primary limitations include high computational complexity, memory constraints, and the necessity for specialised hardware, which may restrict accessibility and scalability for broader research applications. Finally, the work in [16] presents a discussion of the development and testing of hippocampal memory prostheses, with a particular focus on the utilisation of input-output models (multi-input multi-output and memory decoding models) for the simulation of hippocampal functions. The models simulate spike trains in the Cornu Ammonis region 3 (CA3) (input) and CA1 (output) regions of the hippocampus. Data were collected from neurons of 11 human subjects. Simulations were accelerated using parallel computing on a high-performance computing cluster at the University of Southern California. However, the neurons are modelled adopting an approach that does not consider the biological behaviours of the cells. The lack of parallel and biologically realistic hippocampus models that can be simulated on desktop PCs equipped with multicore CPUs and GPUs is a notable shortcoming in the field of computational neuroscience. It is of great importance to be able to simulate the hippocampus on accessible hardware for several reasons. First, desktop PCs with multicore CPUs and GPUs are more affordable and more widely available than supercomputers, thereby facilitating greater accessibility to advanced research for a broader range of scientists and institutions. Second, these hardware platforms are capable of extensive parallel processing, which is well aligned with the complex, interconnected nature of hippocampal neural networks. In contrast to supercomputers, which may be overly sophisticated for this particular application, desktop systems can be optimized to achieve balance between performance and cost-effectiveness. Moreover, the utilisation of CPUs and GPUs allows researchers to undertake rapid iterations of their models and incorporate real-time adjustments based on experimental findings, thereby fostering a more agile research process. Last, the computational demands of simulating hippocampal dynamics often align well with the capabilities of modern GPUs, which are specifically designed to handle large-scale parallel computations efficiently. By leveraging these more accessible platforms, researchers can also develop scalable models that can be more easily adapted and optimised for various applications, from understanding neurological disorders to developing new AI algorithms inspired by brain functions. This paper proposes the development of parallel simulations for the model described in [5], with a particular focus on multicore CPUs and GPUs. The parallelised code has been subjected to rigorous validation against the reference implementation provided by the authors of [5], with the objective of ensuring accuracy and reliability. To evaluate the performance, experimental simulations were conducted using identical network configuration to those employed in [5], successfully reproducing two seconds of cellular activity across a range of CPU and GPU models. Furthermore, scalability tests were conducted using both smaller and larger network configurations than those originally employed, thus enabling a comprehensive evaluation of the model's scalability with varying network sizes. The results demonstrated that the GPU implementation consistently exhibited superior performance compared to the other versions of the code, achieving simulation times of less than two seconds even for the largest network configurations tested.