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>