Loading...
Searching...
No Matches
1. StarPU Handbook - StarPU Extensions

# Foreword

This manual documents the version 1.4.5 of StarPU. Its contents was last updated on 2024-04-19. This is a sub-part of the StarPU documentation, go here to read the whole documentation.

This part explains the advanced concepts of StarPU. It is intended for users whose applications need more than basic task submission.

You can learn more knowledge about some important and core concepts in StarPU:

- After reading Chapter Tasks In StarPU, you can get more information about how to manage tasks in StarPU in Chapter Advanced Tasks In StarPU.
- After reading Chapter Data Management, you can know more about how to manage the data layout of your applications in Chapter Advanced Data Management.
- After reading Chapter Scheduling, you can get some advanced scheduling policies in StarPU in Chapters Advanced Scheduling, Scheduling Contexts and Scheduling Context Hypervisor.
- Chapter How To Define A New Scheduling Policy explains how to define a StarPU task scheduling policy either in a basic monolithic way, or in a modular way.

Other chapters cover some further usages of StarPU.

- Chapters CUDA Support and OpenCL Support show how to use GPU devices with CUDA or OpenCL. Chapter Maxeler FPGA Support explains how StarPU support Field Programmable Gate Array (FPGA) applications exploiting DFE configurations.
- If you need to store more data than what the main memory (RAM) can store, Chapter Out Of Core presents how to add a new memory node on a disk and how to use it.
- Chapter MPI Support shows how to integrate MPI processes in StarPU.
- Chapter TCP/IP Support shows a TCP/IP master slave mechanism which can execute application across many remote cores without thinking about data distribution.
- Chapter Transactions shows how to cancel a sequence of already submitted tasks based on a just-in-time decision.
- Chapter Fault Tolerance explains how StarPU provide supports for failure of tasks or even failure of complete nodes.
- Chapter FFT Support explains how StarPU provides a similar library to both `fftw` and `cufft`, but by adding a support from both CPUs and GPUs.
- Chapter SOCL OpenCL Extensions explains how OpenCL applications can transparently be run using StarPU, by givings unified access to every available OpenCL device.
- We propose a hierarchical tasks model in Chapter Hierarchical DAGS to enable tasks subgraphs at runtime for a more dynamic task graph.
- You can find how to partition a machine into parallel workers in Chapter Creating Parallel Workers On A Machine.
- Chapter Interoperability Support shows how StarPU can coexist with other parallel software elements without resulting in computing core oversubscription or undersubscription.
- Chapter SimGrid Support shows you how to simulate execution on an arbitrary platform.
- Tools to help debugging applications are presented in Chapter Debugging Tools.

And finally, chapter Helpers gives a list of StarPU utility functions.