IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Fonction invoke dans une boucle parfor


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Fonction invoke dans une boucle parfor
    Bonjour à tous,

    J'utilise actuellement une simulation contenant une boucle for dont les itérations sont indépendantes et qui utilise la fonction invoke pour faire une partie des calculs avec un logiciel dédié. Tout cela marche très bien. Pour accélérer l'exécution du programme j'ai transformé ma boucle for en parfor, mais je rencontre l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    An UndefinedFunction error was thrown on the workers for 'invoke'.  This might be because the
    file containing 'invoke' is not accessible on the workers.  Use addAttachedFiles(pool, files)
    to specify the required files to be attached.  See the documentation for
    'parallel.Pool/addAttachedFiles' for more details.
    Je n'arrive pas à bien interpréter cette erreur. J'ai cru comprendre que dans la boucle parfor, matlab n'arrive pas à accéder au fichier contenant la fonction invoke, est-ce bien cela ? Si oui, savez où se trouve ce fichier, je n'ai pas réussi à mettre la main dessus ?

    Si vous avez une idée, votre aide sera la bienvenue !

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 352
    Points
    352
    Par défaut
    tu as peu être des problème d'accès concurrent a ton exe ou ton exe lui même n'est pas thread safe.
    y a t'il des ressources partagées ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Salut gpcbitnik38, après une recherche intensive , il semblerait que ce ne soit pas le soucis (en tout cas pour l'instant). En fait le handle du COM object qui est utilisé à travers la fonction invoke est perdu lors de l'entrée dans la boucle parfor. Comment gérer le passage de COM Object dans une boucle parfor, je n'ai pas réussi à trouver de la doc dessus ?

Discussions similaires

  1. fonction mail dans une boucle while
    Par tjoce dans le forum Langage
    Réponses: 5
    Dernier message: 23/04/2010, 18h39
  2. vba fonction split dans une boucle
    Par mymoi dans le forum VBA Access
    Réponses: 6
    Dernier message: 26/05/2009, 10h17
  3. [MySQL] Fonction récursive dans une boucle
    Par renaud26 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 21/02/2008, 12h18
  4. la fonction SOMMEPROD dans une boucle dynamique
    Par Mounamidou dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/10/2007, 16h32
  5. Fonction system() dans une boucle for
    Par banban56 dans le forum C
    Réponses: 3
    Dernier message: 16/06/2007, 18h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo