MEDCoupling, multiprocessing
-----------------------------
+-----------------------------
Cet exercice fait la supposition de Numpy Scipy sont correctement maîtrisés, sinon voir :ref:`medcouplingnumpyptr`.
On va faire simuler un traitement un peu long (ici l'interpolation d'un maillage de 64000 cells avec un autre de 64000 cells).
from scipy.sparse import csr_matrix
Créer un maillage cartésien régulier 3D avec 40 cells en X, Y et Z
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Créons un maillage cartésien 3D m de pas régulier entre 0. et 1. en X, Y et Z : ::
nbCells=40
m2.translate(t.getValues())
Calculer séquentiellement la matrice d'interpolation M de la projection entre m et m2 en P0P0
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m sera considéré comme le maillage source et m2 sera considéré comme le maillage cible.
Profitons en pour chronométrer le temps necessaire pour le traitement séquentiel.
matSeq=remap.getCrudeCSRMatrix()
-Calculer cette même matrice M en parallèle avec multiprocessing.
+Calculer cette même matrice M en parallèle avec multiprocessing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commencons par récupérer le nombre de coeur de notre machine. ::