@mastersthesis {27042,
	title = {Solving the monodomain model efficiently on GPUs},
	journal = {The University of Oslo},
	year = {2019},
	month = {09/2019},
	pages = {117},
	publisher = {Department of Informatics, University of Oslo},
	abstract = {Patients who have suffered a myocardial infarction have an elevated risk of developing arrhythmia. The use of in silico experiments of the electrical activity in the hearts of these patients, is emerging as an alternative to traditional, more invasive in situ examinations. One of the principal barriers to the use of in silico experiments is the tremendous amount of computational power required to perform such simulations.Building on an existing code, we create a complete solver for the monodomain model, which describes the electrical activity in the heart. Through extensive optimisations, we manage to efficiently utilise an NVIDIA DGX-2 machine, which is currently the most powerful single-box general-purpose computer with its 16 V100 GPUs.With this solver, we achieve simulation speeds of 2 heartbeats per wall clock minute on the DGX-2 using a realistic unstructured tetrahedral mesh with 11.7 million cells, and we show that the achieved execution time using all 16 GPUs in the DGX-2 is only 30.2\% higher than the theoretical lower bound.},
	keywords = {CUDA, electrocardiology, GPU, heterogeneous computing, High-performance computing, monodomain model},
	url = {http://urn.nb.no/URN:NBN:no-74080},
	author = {Kristian Gregorius {Hustad}}
}
@misc {25985,
	title = {Heterogeneous HPC Computations in Cardiac Electrophysiology},
	howpublished = {19th IEEE International Workshop on Parallel and Distributed Scientific and Engineering Computing (PDSEC 2018), Vancouver, Canada},
	year = {2018},
	type = {Keynote},
	abstract = {Detailed organ-scale simulations of calcium handling and electrical signal transmission in the human heart require stochastic simulation of a large number of ion channels in each cell, which consumes immense processing power for the simulation of a single heartbeat, thereby creating the need for large scale parallel implementations. We present codes for solving such cardiac models on structured and unstructured meshes, and discuss the challenges involved in modernizing these codes to run on heterogeneous supercomputers. We focus on the interaction between OpenMP, MPI, and CUDA in such computations, as well as optimizations to communication and vector processing, and illustrate practical experiences with these applications on different supercomputers.},
	keywords = {Cardiac modeling, GPU, heterogeneous computing, HPC},
	url = {http://cse.stfx.ca/~pdsec18/keynote.php},
	author = {Langguth, Johannes}
}
@article {24934,
	title = {Panda: A Compiler Framework for Concurrent CPU+GPU Execution of 3D Stencil Computations on GPU-accelerated Supercomputers},
	journal = {International Journal of Parallel Programming},
	year = {2016},
	month = {10/2016},
	publisher = {ACM/Springer},
	abstract = {We present a new compiler framework for truly heterogeneous 3D stencil computation on GPU clusters. Our framework consists of a simple directive-based programming model and a tightly integrated source-to-source compiler. Annotated with a small number of directives, sequential stencil C codes can be automatically parallelized for large-scale GPU clusters. The most distinctive feature of the compiler is its capability to generate hybrid MPI+CUDA+OpenMP code that uses concurrent CPU+GPU computing to unleash the full potential of powerful GPU clusters. The auto-generated hybrid codes hide the overhead of various data motion by overlapping them with computation. Test results on the Titan supercomputer and the Wilkes cluster show that auto-translated codes can achieve about 90\% of the performance of highly optimized handwritten codes, for both a simple stencil benchmark and a real-world application in cardiac modeling. The user-friendliness and performance of our domain-specific compiler framework allow harnessing the full power of GPU-accelerated supercomputing without painstaking coding effort.},
	keywords = {code generation, code optimisation, CPU+GPU computing, CUDA, heterogeneous computing, MPI, OpenMP, source-to-source translation, stencil computation},
	doi = {10.1007/s10766-016-0454-1},
	author = {Sourouri, Mohammed and Baden, Scott and Cai, Xing}
}
