EN FR
EN FR


Section: Software

StarPU

Participants : Cédric Augonnet, Olivier Aumage, Nicolas Collin, Nathalie Furmento, Cyril Roelandt, Ludovic Stordeur, Samuel Thibault, Ludovic Courtès.

  • StarPU permits high performance libraries or compiler environments to exploit heterogeneous multicore machines possibly equipped with GPGPUs or Cell processors.

  • StarPU offers a unified offloadable task abstraction named codelet.In case a codelet may run on heterogeneous architectures, it is possible to specify one function for each architectures (e.g. one function for CUDA and one function for CPUs).

  • StarPU takes care to schedule and execute those codelets as efficiently as possible over the entire machine. A high-level data management library enforces memory coherency over the machine: before a codelet starts (e.g. on an accelerator), all its data are transparently made available on the compute resource.

  • StarPU obtains portable performances by efficiently (and easily) using all computing resources at the same time.

  • StarPU also takes advantage of the heterogeneous nature of a machine, for instance by using scheduling strategies based on auto-tuned performance models.

  • StarPU can also leverage existing parallel implementations, by supporting parallel tasks, which can be run concurrently over the machine.

  • StarPU provides a reduction mode, which permit to further optimize data management when results have to be reduced.

  • StarPU provides integration in MPI clusters through a lightweight DSM over MPI.

  • StarPU comes with a plug-in for the GNU Compiler Collection (GCC), which extends languages of the C family with syntactic devices to describe StarPU 's main programming concepts in a concise, high-level way.

  • http://runtime.bordeaux.inria.fr/StarPU/