7 research outputs found
SBML Level 3: an extensible format for the exchange and reuse of biological models
Systems biology has experienced dramatic growth in the number, size, and complexity of computational models. To reproduce simulation results and reuse models, researchers must exchange unambiguous model descriptions. We review the latest edition of the Systems Biology Markup Language (SBML), a format designed for this purpose. A community of modelers and software authors developed SBML Level 3 over the past decade. Its modular form consists of a core suited to representing reaction-based models and packages that extend the core with features suited to other model types including constraint-based models, reaction-diffusion models, logical network models, and rule-based models. The format leverages two decades of SBML and a rich software ecosystem that transformed how systems biologists build and interact with models. More recently, the rise of multiscale models of whole cells and organs, and new data sources such as single-cell measurements and live imaging, has precipitated new ways of integrating data with models. We provide our perspectives on the challenges presented by these developments and how SBML Level 3 provides the foundation needed to support this evolution
Performance-Portable Many-Core Plasma Simulations: Porting PIConGPU to OpenPower and Beyond
With the appearance of the heterogeneous platform OpenPower,many-core accelerator devices have been coupled with Power host processors for the first time. Towards utilizing their full potential, it is worth investigating performance portable algorithms that allow to choose the best-fitting hardware for each domain-specific compute task. Suiting even the high level of parallelism on modern GPGPUs, our presented approach relies heavily on abstract meta-programming techniques, which are essential to focus on fine-grained tuning rather than code porting. With this in mind, the CUDA-based open-source plasma simulation code PIConGPU is currently being abstracted to support the heterogeneous OpenPower platform using our fast porting interface cupla, which wraps the abstract parallel C++11 kernel acceleration library Alpaka. We demonstrate how PIConGPU can benefit from the tunable kernel execution strategies of the Alpaka library, achieving portability and performance with single-source kernels on conventional CPUs, Power8 CPUs and NVIDIA GPUs
PIConGPU, Alpaka, and cupla software bundle for IWOPH 2016 submission
<p>This is the archive containing the software used for evaluations in the publication "Performance-Portable Many-Core Plasma Simulations: Porting PIConGPU to OpenPower and Beyond" submitted to the international workshop on OpenPOWER for HPC 2016.</p>
<p>The archive has the following content:</p>
<p>PIConGPU Kelvin-Helmholtz Simulation code (picongpu-alpaka/):</p>
<ul>
<li> Remote: https://github.com/psychocoderHPC/picongpu-alpaka.git</li>
<li> Branch: topic-scaling</li>
<li> Commit: 1f004c8e0514ad1649f3958a6184878af6e75150</li>
</ul>
<p>Alpaka code (alpaka/):</p>
<ul>
<li>Remote: https://github.com/psychocoderHPC/alpaka.git</li>
<li>Branch: topic-picongpu-alpaka</li>
<li>Commit: 4a6dd35a9aff62e7f500623c3658685f827f73e5</li>
</ul>
<p>Cupla (cupla/):</p>
<ul>
<li>Remote: https://github.com/psychocoderHPC/cupla.git</li>
<li>Branch: topic-dualAccelerators</li>
<li>Commit: 4660f5fd8e888aa732230946046219f7e5daa1c9</li>
</ul>
<p>The simulation was executed for one thousand time steps and the following configuration:</p>
<ul>
<li> shape is higher then CIC, we used TSC</li>
<li> pusher is Boris</li>
<li> current solver is Esirkepov (optimized, generalized)</li>
<li> Yee field solver</li>
<li> trilinear interpolation in field gathering</li>
<li> 16 particles per cell</li>
</ul>
<p>Compile flags:</p>
<ul>
<li>CPU g++-4.9.2: -g0 -O3 -m64 -funroll-loops -march=native -ffast-math --param max-unroll-times=512</li>
<li>GPU nvcc: --use_fast_math --ftz=false -g0 -O3 -m64</li>
</ul