StarPU

StarPU: A unified platform for task scheduling on heterogeneous multicore architectures. Multicore machines equipped with accelerators are becoming increasingly popular. The TOP500-leading RoadRunner machine is probably the most famous example of a parallel computer mixing IBM Cell Broadband Engines and AMD opteron processors. Other architectures, featuring GPU accelerators, are expected to appear in the near future. To fully tap into the potential of these hybrid machines, pure offloading approaches, in which the main core of the application runs on regular processors and offloads specific parts on accelerators, are not sufficient. The real challenge is to build systems where the application would permanently spread across the entire machine, that is, where parallel tasks would be dynamically scheduled over the full set of available processing units. To face this challenge, we propose a new runtime system capable of scheduling tasks over heterogeneous, accelerator-based machines. Our system features a software virtual shared memory that provides a weak consistency model. The system keeps track of data copies within accelerator embedded-memories and features a data-prefetching engine. Such facilities, together with a database of self-tuned per-task performance models, can be used to greatly improve the quality of scheduling policies in this context. We demonstrate the relevance of our approach by benchmarking various parallel numerical kernel implementations over our runtime system. We obtain significant speedups and a very high efficiency on various typical workloads over multicore machines equipped with multiple accelerators.


References in zbMATH (referenced in 16 articles )

Showing results 1 to 16 of 16.
Sorted by year (citations)

  1. Ghysels, Pieter; Li, Xiaoye S.; Rouet, François-Henry; Williams, Samuel; Napov, Artem: An efficient multicore implementation of a novel HSS-structured multifrontal solver using randomized sampling (2016)
  2. Gonnet, Pedro: Efficient and scalable algorithms for smoothed particle hydrodynamics on hybrid shared/distributed-memory architectures (2015)
  3. Tillenius, Martin: Superglue: a shared memory framework using data versioning for dependency-aware task-based parallelization (2015)
  4. Bigot, Julien; Hou, Zhengxiong; Pérez, Christian; Pichon, Vincent: A low level component model easing performance portability of HPC applications (2014)
  5. Ciznicki, Milosz; Kurowski, Krzysztof; Węglarz, Jan: Evaluation of selected resource allocation and scheduling methods in heterogeneous many-core processors and graphics processing units (2014)
  6. Dastgeer, Usman; Li, Lu; Kessler, Christoph: The PEPPHER composition tool: performance-aware composition for GPU-based systems (2014)
  7. Ghosh, Sayan; Liao, Terrence; Calandra, Henri; Chapman, Barbara M.: Performance of CPU/GPU compiler directives on ISO/TTI kernels (2014)
  8. Holm, Marcus; Engblom, Stefan; Goude, Anders; Holmgren, Sverker: Dynamic autotuning of adaptive fast multipole methods on hybrid multicore CPU and GPU systems (2014)
  9. Gastineau, Mickaël; Laskar, Jacques: Highly scalable multiplication for distributed sparse multivariate polynomials on many-core systems (2013)
  10. Bosilca, George; Bouteiller, Aurelien; Danalis, Anthony; Herault, Thomas; Lemarinier, Pierre; Dongarra, Jack: DAGuE: A generic distributed DAG engine for high performance computing (2012)
  11. Breß, Sebastian; Geist, Ingolf; Schallehn, Eike; Mory, Maik; Saake, Gunter: A framework for cost based optimization of hybrid CPU/GPU query plans in database systems (2012)
  12. Hartley, Timothy D.R.; Saule, Erik; Çatalyürek, Ümit V.: Improving performance of adaptive component-based dataflow middleware (2012)
  13. Igual, Francisco D.; Chan, Ernie; Quintana-Ortí, Enrique S.; Quintana-Ortí, Gregorio; Van De Geijn, Robert A.; Van Zee, Field G.: The FLAME approach: from dense linear algebra algorithms to high-performance multi-accelerator implementations (2012)
  14. Moore, Nicholas; Leeser, Miriam; King, Laurie Smith: VForce: an environment for portable applications on high performance systems with accelerators (2012)
  15. Sandrieser, Martin; Benkner, Siegfried; Pllana, Sabri: Using explicit platform descriptions to support programming of heterogeneous many-core systems (2012)
  16. Wernsing, John R.; Stitt, Greg: Elastic computing: A portable optimization framework for hybrid computers (2012)


Further publications can be found at: http://starpu.gforge.inria.fr/#publications