@inproceedings {25016,
	title = {Enabling Tissue-Scale Cardiac Simulations Using Heterogeneous Computing on Tianhe-2},
	journal = {IEEE 22nd International Conference on Parallel and Distributed Systems (ICPADS)},
	year = {2016},
	month = {12/2016},
	pages = {843-852},
	publisher = {ACM/IEEE},
	abstract = {We develop a simulator for 3D tissue of the human cardiac ventricle with a physiologically realistic cell model and deploy it on the supercomputer Tianhe-2. In order to attain the full performance of the heterogeneous CPU-Xeon Phi design, we use carefully optimized codes for both devices and combine them to obtain suitable load balancing. Using a large number of nodes, we are able to perform tissue-scale simulations of the electrical activity and calcium handling in millions of cells, at a level of detail that tracks the states of trillions of ryanodine receptors. We can thus simulate arrythmogenic spiral waves and other complex arrhythmogenic patterns which arise from calcium handling deficiencies in human cardiac ventricle tissue. Due to extensive code tuning and parallelization via OpenMP, MPI, and SCIF/COI, large scale simulations of 10 heartbeats can be performed in a matter of hours. Test results indicate excellent scalability, thus paving the way for detailed whole-heart simulations in future generations of leadership class supercomputers.},
	keywords = {Calcium handling, multiscale cardiac tissue simulation, supercomputing, Xeon Phi},
	issn = {1521-9097},
	doi = {10.1109/ICPADS.2016.0114},
	author = {Langguth, Johannes and Lan, Qiang and Gaur, Namit and Cai, Xing and Wen, Mei},
	editor = {Zhang, Chunyuan}
}
@article {23328,
	title = {An Analytical GPU Performance Model for 3D Stencil Computations from the Angle of Data Traffic},
	journal = {The Journal of Supercomputing},
	volume = {71},
	year = {2015},
	month = {02/2015},
	pages = {2433-2453},
	publisher = {Springer},
	abstract = {The achievable GPU performance of many scientific computations is not determined by a GPU{\textquoteright}s peak floating-point rate, but rather how fast data are moved through different stages of the entire memory hierarchy. We take low-order 3D stencil computations as a representative class to study the reachable GPU performance from the angle of data traffic. Specifically, we propose a simple analytical model to estimate the execution time based on quantifying the data traffic volume at three stages: (1) between registers and on-SMX storage, (2) between on-SMX storage and L2 cache, (3) between L2 cache and GPU{\textquoteright}s device memory. Three associated granularities are used: a CUDA thread, a thread block, and a set of simultaneously active thread blocks. For four 3D stencil computations, NVIDIA{\textquoteright}s profiling tools have been used to verify the accuracy of the quantified data traffic volumes, by trying a large number of executions with different problem sizes and thread block configurations. Moreover, by introducing an imbalance coefficient, together with the known realistic memory bandwidths, we can predict the execution time usage based on the quantified data traffic volumes. For the four 3D stencils, the average error of the time prediction is 6.9\% for a baseline implementation approach, whereas for a blocking implementation approach the average prediction error is 9.5\%.},
	keywords = {3D stencil methods, GPU, performance modeling},
	issn = {0920-8542},
	doi = {10.1007/s11227-015-1392-1},
	url = {http://link.springer.com/article/10.1007/s11227-015-1392-1},
	author = {Su, Huayou and Cai, Xing and Wen, Mei and Zhang, Chunyuan}
}
@article {19137,
	title = {Communication-Hiding Programming for Clusters with Multi-Coprocessor Nodes},
	journal = {Concurrency and Computation: Practice and Experience},
	volume = {27},
	year = {2015},
	note = {Published online before print.},
	month = {05/2015},
	pages = {4172{\textendash}4185},
	publisher = {John Wiley \& Sons, Ltd},
	abstract = {Future exascale systems are expected to adopt compute nodes that incorporate many accelerators. To shed some light on the upcoming software challenge, this paper investigates the particular topic of programming clusters that have multiple Xeon Phi coprocessors in each compute node. A new offload approach is considered for intra-node communication, which combines Intel\&rsquo;s APIs of coprocessor offload infrastructure (COI) and symmetric communication interface (SCIF) for achieving low latency. While the conventional pragma-based offload approach allows simpler programming, the COI-SCIF approach has three advantages in (1) lower overhead associated with launching offloaded code, (2) higher data transfer bandwidths, and (3) more advanced asynchrony between computation and data movement. The low-level COI-SCIF approach is also shown to have benefits over the MPI-OpenMP counterpart, which belongs to the symmetric usage mode. Moreover, a hybird programming strategy based on COI-SCIF is presented for joining the computational force of all CPUs and coprocessors, while realizing communication hiding. All the programming approaches are tested by a real-world 3D application, for which the COI-SCIF-based approach shows a performance advantage on Tianhe-2.},
	keywords = {hybrid programming, Intel Xeon Phi coprocessor, offload model, SCIF, Tianhe-2},
	doi = {10.1002/cpe.3507},
	author = {Dong, Xinnan and Wen, Mei and Chai, Jun and Cai, Xing and Zhao, Mandan and Zhang, Chunyuan}
}
@article {19140,
	title = {Enabling a Uniform OpenCL Device View for Heterogeneous Platforms},
	journal = {IEICE Transactions on Information and Systems},
	volume = {E98-D},
	year = {2015},
	month = {04/2015},
	pages = {812-823},
	publisher = {IEICE},
	abstract = {Aiming to ease the parallel programming for heterogeneous architectures, we propose and implement a high-level OpenCL runtime that conceptually merges multiple heterogeneous hardware devices into one\&nbsp;virtual heterogeneous compute device\&nbsp;(VHCD). Moreover, automated workload distribution among the devices is based on offline profiling, together with new programming directives that define the device-independent data access range per work-group. Therefore, an OpenCL program originally written for a single compute device can, after inserting a small number of programming directives, run efficiently on a platform consisting of heterogeneous compute devices. Performance is ensured by introducing the technique of virtual cache management, which minimizes the amount of host-device data transfer. Our new OpenCL runtime is evaluated by a diverse set of OpenCL benchmarks, demonstrating good performance on various configurations of a heterogeneous system.},
	keywords = {automated workload distribution, data transfer minimization, heterogeneous devices, OpenCL, virtualized single device},
	issn = {1745-1361},
	doi = {10.1587/transinf.2014EDP7244},
	author = {Huang, Dafei and Xun, Changqing and Wu, Nan and Wen, Mei and Zhang, Chunyuan and Cai, Xing and Yang, Qianming}
}
@article {Simula.simula.2246,
	title = {Towards Simulation of Subcellular Calcium Dynamics at Nanometre Resolution},
	journal = {International Journal of High Performance Computing Applications},
	volume = {29},
	year = {2015},
	pages = {51-63},
	publisher = {SAGE},
	abstract = {Numerical simulation of subcellular\&nbsp;\&nbsp;dynamics with a resolution down to one nanometre can be an important tool for discovering the physiological cause of many heart diseases. The requirement of enormous computational power, however, has made such simulations prohibitive so far. By using up to 12,288 Intel Xeon Phi 31S1P coprocessors on the new hybrid cluster Tianhe-2, which is the new number one supercomputer of the world, we have achieved 1.27 Pflop/s in double precision, which brings us much closer to the nanometre resolution. This is the result of efficiently using the hardware on different levels: (1) a single Xeon Phi (2) a single compute node that consists of a host and three coprocessors, and (3) a huge number of interconnected nodes. To overcome the challenge of programming Intel{\textquoteright}s new many-integrated core (MIC) architecture, we have adopted techniques such as vectorization, hierarchical data blocking, register data reuse, offloading computations to the coprocessors, and pipelining computations with intra-/inter-node communications.},
	doi = {10.1177/1094342013514465},
	author = {Chai, Jun and Johan Elon {Hake} and Wu, Nan and Wen, Mei and Cai, Xing and Glenn T. {Lines} and Yang, Jing and Su, Huayou and Zhang, Chunyuan and Liao, Xiangke}
}
@inproceedings {Simula.simula.2870,
	title = {Automated Transformation of GPU-Specific OpenCL Kernels Targeting Performance Portability on Multi-Core/Many-Core CPUs},
	journal = {Proceedings of Euro-Par 2014},
	volume = {8632},
	year = {2014},
	pages = {210-221},
	publisher = {Springer},
	type = {Conference},
	address = {Berlin Heidelberg New York},
	keywords = {Conference},
	doi = {10.1007/978-3-319-09873-9_18},
	author = {Huang, Dafei and Wen, Mei and Xun, Changqing and Chen, Dong and Cai, Xing and Qiao, Yuran and Wu, Nan and Zhang, Chunyuan},
	editor = {Silva, F.}
}
@article {Simula.simula.2096,
	title = {High Efficient Sedimentary Basin Simulations on Hybrid CPU-GPU Clusters},
	journal = {Cluster Computing},
	volume = {17},
	number = {2},
	year = {2014},
	pages = {359-369},
	publisher = { },
	doi = {10.1007/s10586-013-0300-9},
	author = {Wen, Mei and Su, Huayou and Wei, Wenjie and Wu, Nan and Cai, Xing and Zhang, Chunyuan}
}
@inproceedings {Simula.simula.2872,
	title = {Utilizing Multiple Xeon Phi Coprocessors on One Compute Node},
	journal = {International Conference on Algorithms and Architectures for Parallel Processing},
	volume = {8631},
	year = {2014},
	pages = {68-81},
	publisher = {Springer},
	type = {Conference},
	address = {Berlin Heidelberg New York},
	doi = {10.1007/978-3-319-11194-0_6},
	author = {Dong, Xinnan and Chai, Jun and Yang, Jing and Wen, Mei and Wu, Nan and Cai, Xing and Zhang, Chunyuan and Chen, Zhaoyun},
	editor = {Sun, X.-H.}
}
@article {Simula.simula.1490,
	title = {Balancing Efficiency and Accuracy for Sediment Transport Simulations},
	journal = {Computational Science \& Discovery},
	volume = {6},
	number = {1},
	year = {2013},
	pages = {015011},
	abstract = {Simulating multi-lithology sediment transport requires numerically solving a fully-coupled system of nonlinear partial differential equations. The most standard approach is to simultaneously update all the unknown fields at each time step. Such a fully-implicit strategy is computationally demanding due to the need of Newton-Raphson iterations, each having to set up and solve a large system of linearized algebraic equations. Fully-explicit numerical schemes that do not solve linear systems are possible to devise, but suffer from lower numerical stability and accuracy. If we count the total number of floating-point operations needed to achieve stable numerical solutions with a prescribed level of accuracy, the fully-implicit approach probably wins over its fully-explicit counterpart. However, the latter may nevertheless win in the overall computation time, because computers achieve higher hardware efficiency for simpler numerical computations. Adding to this competition, there are semi-implicit numerical schemes that lie between the two extremes. This paper has two novel contributions. First, we device a new semi-implicit scheme that has secondorder accuracy in the temporal direction. Second, and more importantly, we propose a simple prediction model for the overall computation time on multicore architectures, applicable to many numerical implementations. Based on performance prediction, appropriate numerical schemes can be chosen by considering accuracy, stability, and computing speed at the same time. Our methodology is tested by numerical experiments modeling the sediment transport in Monterey Bay.},
	doi = {10.1088/1749-4699/6/1/015011},
	author = {Wei, Wenjie and Clark, Stuart and Su, Huayou and Wen, Mei and Cai, Xing}
}
@inproceedings {Simula.simula.1972,
	title = {On the GPU Performance of 3D Stencil Computations Implemented in OpenCL},
	journal = {Proceedings of International Supercomputing Conference, ISC 2013},
	volume = {7905},
	year = {2013},
	pages = {125-135},
	publisher = {Springer},
	type = {Conference},
	address = {Berlin Heidelberg New York},
	keywords = {Conference},
	doi = {10.1007/978-3-642-38750-0_10},
	author = {Su, Huayou and Wu, Nan and Wen, Mei and Zhang, Chunyuan and Cai, Xing},
	editor = {Julian Martin {Kunkel} and Ludwig, Thomas and Hans Werner {Meuer}}
}
@inproceedings {Simula.simula.2100,
	title = {On the GPU-CPU Performance Portability of OpenCL for 3D Stencil Computations},
	journal = {Proceedings of IEEE 19th International Conference on Parallel and Distributed Systems},
	year = {2013},
	pages = {78-85},
	publisher = {IEEE},
	type = {Conference},
	address = {Los Alamitos, California  {\textbullet} Washington {\textbullet} Tokyo},
	keywords = {Conference},
	doi = {10.1109/ICPADS.2013.23},
	author = {Su, Huayou and Wu, Nan and Wen, Mei and Zhang, Chunyuan and Cai, Xing}
}
@inproceedings {Simula.simula.1970,
	title = {Performance of Sediment Transport Simulations on NVIDIA{\textquoteright}s Kepler Architecture},
	journal = {The International Conference on Computational Science, ICCS 2013},
	volume = {18},
	year = {2013},
	pages = {1275-1281},
	publisher = {Elsevier},
	type = {Conference},
	keywords = {Conference},
	doi = {10.1016/j.procs.2013.05.294},
	author = {Su, Huayou and Wu, Nan and Wen, Mei and Zhang, Chunyuan and Cai, Xing},
	editor = {Alexandrov, Vassil and Lees, Michael and Krzhizhanovskaya, Valeria and Dongarra, Jack and Peter M.A. {Sloot}}
}
@article {Simula.simula.1394,
	title = {Resource-Efficient Utilization of CPU/GPU-Based Heterogeneous Supercomputers for Bayesian Phylogenetic Inference},
	journal = {The Journal of Supercomputing},
	volume = {66},
	number = {1},
	year = {2013},
	pages = {364-380},
	doi = {10.1007/s11227-013-0911-1},
	author = {Chai, Jun and Su, Huayou and Wen, Mei and Cai, Xing and Wu, Nan and Zhang, Chunyuan}
}
@article {Simula.simula.2098,
	title = {Simulating Cardiac Electrophysiology in the Era of GPU-Cluster Computing},
	journal = {IEICE Transactions on Information and Systems},
	volume = {E96-D},
	number = {12},
	year = {2013},
	pages = {2587-2595},
	doi = {10.1587/transinf.E96.D.2587},
	author = {Chai, Jun and Wen, Mei and Wu, Nan and Huang, Dafei and Yang, Jing and Cai, Xing and Zhang, Chunyuan and Yang, Qianming}
}
@misc {Simula.simula.1446,
	title = {Simulating Basin Evolution on GPU-Enhanced Hybrid Supercomputers},
	year = {2012},
	abstract = {According to the Top500 list that was published in November 2011, three of the world{\textquoteright}s five most powerful supercomputers are GPU-enhanced clusters of multicore CPUs. This hardware trend is expected to prevail for the foreseeable future. It is therefore our intention to report here some experiences of using one such cutting-edge GPU-CPU cluster, when applied to simulations of sediment deposition in connection with basin evolution. Our observations are twofold: (1) Simple numerical algorithms are to be favored on homogeneous clusters of CPUs, and even more so on hybrid CPU-GPU clusters. (2) It is possible but challenging to utilize the computing power of both the CPU and GPU sides on a hybrid cluster.},
	author = {Cai, Xing and Wen, Mei}
}
@inproceedings {Simula.simula.1342,
	title = {Using 1000+ GPUs and 10000+ CPUs for Sedimentary Basin Simulations},
	journal = {Proceedings of IEEE Cluster 2012},
	year = {2012},
	pages = {27-35},
	publisher = {IEEE},
	type = {Conference},
	address = {Los Alamitos, California  {\textbullet} Washington {\textbullet} Tokyo},
	keywords = {Conference},
	doi = {10.1109/CLUSTER.2012.37},
	author = {Wen, Mei and Su, Huayou and Wei, Wenjie and Wu, Nan and Cai, Xing and Zhang, Chunyuan}
}
