The Dynamical Kernel Scheduler - Part 1
Abstract
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 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.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.