Porting a Java-based Brain Simulation Software to C++
Main Authors: | Breitwieser, Lukas Johannes, Bauer, Roman, Manca, Marco, Rademakers, Fons |
---|---|
Format: | Report Journal |
Terbitan: |
, 2015
|
Subjects: | |
Online Access: |
https://zenodo.org/record/46842 |
Daftar Isi:
- Abstract This report describes the process of porting the Java-based Brain Simulation Software Cortex3D (Cx3D) to C++. Cx3D was originally developed in Java, which is not ideal for high-performance computing. This is the first step towards the goal to create a software tonbsp;simulate richer and deeper structures of the brain. An iterative porting approach has beennbsp;chosen for this task. This means, that one Java class is translated at each iteration. Afternbsp;the C++ representation of this class has been created, it replaces the Java version. Interfacing C++ code from Java is done via Java Native Interface (JNI). The tool SWIG has beennbsp;used to minimize the amount of boilerplate code that must be written for this interlanguagenbsp;communication. The major benefitnbsp;of this approach is that each iteration results in an executable that can be automatically compared with the outcome of the original simulation.nbsp;This facilitates debugging of the C++ code as the number of added code lines remains manageable. Large parts of the spatial organization layer have already been ported using thisnbsp;procedure. nbsp;/p>