The Dynamical Kernel Scheduler – Part 1
Paul Scherrer Institut, Villigen, CH-5232, Switzerland
arXiv:1509.07685 [physics.comp-ph], (25 Sep 2015)
@article{adelmann2015dynamical,
title={The Dynamical Kernel Scheduler – Part 1},
author={Adelmann, Andreas and Locans, Uldis and Suter, Andreas},
year={2015},
month={sep},
archivePrefix={"arXiv"},
primaryClass={physics.comp-ph}
}
Emerging processor architectures such as GPUs and Intel MICs provide a huge performance potential for high performance computing. However developing software using these hardware accelerators introduces additional challenges for the developer such as exposing additional parallelism, dealing with different hardware designs and using multiple development frameworks in order to use devices from different vendors. The Dynamic Kernel Scheduler (DKS) is being developed in order to provide a software layer between host application and different hardware accelerators. DKS handles the communication between the host and device, schedules task execution, and provides a library of built-in algorithms. Algorithms available in the DKS library will be written in CUDA, OpenCL and OpenMP. Depending on the available hardware, the DKS can select the appropriate implementation of the algorithm. The first DKS version was created using CUDA for the Nvidia GPUs and OpenMP for Intel MIC. DKS was further integrated in OPAL (Object-oriented Parallel Accelerator Library) to speed up a parallel FFT based Poisson solver and Monte Carlo simulations for particle matter interaction used for proton therapy degrader modeling. DKS was also used together with Minuit2 for parameter fitting, where $chi^2$ and $max-log-likelihood$ functions were offloaded to the hardwareaccelerator. The concepts of the DKS, first results together with plans for the future will be shown in this paper.
September 29, 2015 by hgpu