← retour aux snippets

Dask delayed: construire un graphe de tâches

composer des fonctions Python en DAG et exécuter en parallèle

Dask delayed: construire un graphe de tâches

objectif

Expliquer et montrer comment composer des fonctions Python en DAG et exécuter en parallèle.

code minimal

import dask
@dask.delayed
def f(x): return x + 1
@dask.delayed
def g(x): return x * 2
@dask.delayed
def h(x, y): return x + y

results = [h(g(i), f(i)) for i in range(10)]
total = dask.delayed(sum)(results)
total.compute()

utilisation

# visualiser le DAG (nécessite graphviz)
# total.visualize("dag.svg")

variante(s) utile(s)

# dask.compute pour déclencher plusieurs calculs
# a, b = dask.compute(total, results[0])

notes

  • Delayed est pratique pour paralléliser des fonctions Python pures.
  • Utilisez dask.distributed pour un scheduler multi-process/machines.