Python/fr: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Tags: Mobile edit Mobile web edit
Line 448: Line 448:
</tabs>
</tabs>


<div class="mw-translate-fuzzy">
Remarquez que dans cet exemple, la fonction <code>cube</code> est en elle-même séquentielle. Il est possible qu'une fonction appelée d'une bibliothèque externe comme <code>numpy</code> soit en elle-même parallèle. Pour distribuer des processus avec la technique précédente, vérifiez d'abord si les fonctions appelées sont en elles-mêmes parallèles et si c'est le cas, vous devrez contrôler le nombre de fils qu'elles utiliseront. Si comme dans l'exemple les fonctions utilisent la totalité des cœurs disponibles (ici 32) et que vous lancez 32 processus, votre code sera plus lent et le nœud sera possiblement surchargé.
Remarquez que dans cet exemple, la fonction <tt>cube</tt> est en elle-même séquentielle. Il est possible qu'une fonction appelée d'une bibliothèque externe comme <tt>numpy</tt> soit en elle-même parallèle. Pour distribuer des processus avec la technique précédente, vérifiez d'abord si les fonctions appelées sont en elles-mêmes parallèles et si c'est le cas, vous devrez contrôler le nombre de fils qu'elles utiliseront. Si comme dans l'exemple les fonctions utilisent la totalité des cœurs disponibles (ici 32) et que vous lancez 32 processus, votre code sera plus lent et le nœud sera possiblement surchargé.
</div>


Comme le module <tt>multiprocessing</tt> ne peut utiliser qu'un seul nœud de calcul, le gain en performance est habituellement limité au nombre de cœurs CPU du nœud. Si vous voulez dépasser cette limite et utiliser plusieurs nœuds, considérez mpi4py ou [[Apache Spark#PySpark|PySpark]]. Il existe [https://wiki.python.org/moin/ParallelProcessing d'autres méthodes de parallélisation], mais elles ne peuvent pas toutes être utilisées avec nos grappes. Souvenez-vous toutefois qu'un code de qualité fournira toujours la meilleure performance; avant de le paralléliser, assurez-vous donc que votre code est optimal. Si vous doutez de l'efficacité de votre code, contactez le [[Technical support/fr|soutien technique]].
Comme le module <tt>multiprocessing</tt> ne peut utiliser qu'un seul nœud de calcul, le gain en performance est habituellement limité au nombre de cœurs CPU du nœud. Si vous voulez dépasser cette limite et utiliser plusieurs nœuds, considérez mpi4py ou [[Apache Spark#PySpark|PySpark]]. Il existe [https://wiki.python.org/moin/ParallelProcessing d'autres méthodes de parallélisation], mais elles ne peuvent pas toutes être utilisées avec nos grappes. Souvenez-vous toutefois qu'un code de qualité fournira toujours la meilleure performance; avant de le paralléliser, assurez-vous donc que votre code est optimal. Si vous doutez de l'efficacité de votre code, contactez le [[Technical support/fr|soutien technique]].
rsnt_translations
56,426

edits

Navigation menu