Je veux paralléliser un algorithme de décomposition pour l'optimisation nommé Hedging progressif. Cette optimisation est stockée sur une fonction nommée PH qui reçoit des arguments pour le modèle, certains arguments sont matriciels mais PH n'a besoin que d'un vecteur de cette matrice de cette façon.Julia 0.6 fonction pmap
for s = 1:nS
res = PH(k,s,data,Lines,Ag,Gx,Pmax[:,s],Prmax[:,s],COpe[:,s])
push!(data,res)
end
Alors PH n'a besoin que d'un vecteur de Pmax, Prmax et COpe.
Pour paraléliser j'essaye de faire ceci.
pmap(s -> PH(k,s,data,Lines,Ag,Gx,Pmax[:,s],Prmax[:,s],COpe[:,]),1:nS)
Mais je reçois ceci:
The applicable method may be too new: running in world age 21846, while current world is 21965.
J'utilise Julia 0.6 peut-être la façon dont je suis la programmation est d'une version plus ancienne.
Une idée?
Essayez de regarder: https://docs.julialang.org/fr/stable/manual/methods/#Redefining-Methods- 1 – Liso
Vous n'avez pas donné suffisamment de code pour reproduire le problème. Les problèmes d'âge mondiaux sont dus à la définition des fonctions avec eval. Je suppose que vous devez faire cela dans 'PH' mais nous n'avons aucune idée de la façon dont vous avez défini' PH'. –