Ik werk de laatste tijd nogal veel met Python scripts die met name door de grote hoeveelheid te verwerken data (3D arrays) bijzonder traag zijn. Vaak komt dit neer op een opeenvolging van berekeningen die volgens mij prima te paralleliseren zijn (berekeningen onafhankelijk van elkaar). In Python zijn hiervoor een aantal opties beschikbaar (o.a. PP) maar deze gaan volgens mij vrijwel altijd uit van een berekening a die x keer parallel uitgevoerd wordt. Wat ik typisch heb:
Normaal wordt dit uitevoerd als:
maar ik zou eigenlijk de berekeningen a en b, beiden op een aparte processor, gelijktijdig willen starten waarna berekening a*b van start mag gaan:
Iemand enig idee of dit in Python eenvoudig te realiseren is?
Bij voorbaat dank
code:
1
2
3
4
5
6
7
| .. .. berekening a .. berekening b .. berekening a*b |
Normaal wordt dit uitevoerd als:
code:
1
| berekening a -> berekening b -> berekening a*b |
maar ik zou eigenlijk de berekeningen a en b, beiden op een aparte processor, gelijktijdig willen starten waarna berekening a*b van start mag gaan:
code:
1
2
3
| berekening a \ --> berekening a*b berekening b / |
Iemand enig idee of dit in Python eenvoudig te realiseren is?
Bij voorbaat dank