Bonjour à tous,
Je souhaiterais me lancer dans un petit projet perso. Je n'ai pas encore décidé le langage que j'allais utiliser. Ma préférence va pour le moment pour Python grâce à sa simplicité et toutes les bibliothèques scientifiques disponibles. Cependant il me reste une interrogation quand au parallélisme, qui pourrait peut-être me faire aller vers Scala...
Il se trouve que dans mon appli, il y a beaucoup (vraiment beaucoup) de boucles imbriquées à exécuter de type
Je voudrais savoir si ce bout de code est facilement parallélisable d'un point de vue pratique (en coupant A en 2 par exemple). Si la réponse est oui, comment faut-il s'y prendre?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 from numpy import * nA=10 nB=20 A=[random.rand(5,5) for i in range(nA)] B=[random.rand(5,3) for i in range(nB)] C=[] for i in range(nA): for j in range(nB): C.append(dot(A[i],B[j]))
Merci pour votre aide
PS: Petite question annexe, est-ce que je peux pré-allouer la taille de la liste C pour aller plus vite?
Partager