Hallo zusammen,
ich moechte eine Schleife parallelisieren. Die Struktur ist die folgende:
Code: Alles auswählen
class1 = open_some_class()
for i in range(4):
for j in range(4):
for k in range(4):
class1.function1(i,j)
class1.function2(k)
class1.function3()
function1 und function2 der Klasse class1 setzen mir einige self.parameter fest indem es verschieden Daten abhaengig von i,j und k einliesst. function3 erstellt mir dann eine output.dat nachdem es einige Berechnungen durchgefuehrt hat. Ich wuerde nun gerne diese Schleife parallelisieren, sodass jedes (i,j,k) auf einem seperaten Kern berechnet wird. Im Internet habe ich hierzu das Module Joblib gefunden. Eine einfache einzelne Funktion wie f(x)=x**2 fuer verschiedene x zu parallesieren ist relativ einfach:
Code: Alles auswählen
from joblib import Parallel,delayed
Parallel()(delayed(f)(i) for i in range(10))
Allerdings ist mir unklar, wie ich das auf meinen etwas anderen Fall verallgemeinern kann. Hat hier jemand eine Idee und koennte mir bitte weiterhelfen?
Vielen Dank und viele Gruesse,
Simon