Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

Je suis confronté à un problème un peu particulier.

Dans mon dessin AutoCAD, j'ai environ 35 000 points. Pour chacun d'eux, j'extrais ses coordonnées, puis je lance un EXE externe en passant ces coordonnées en paramètre. Ce programme externe tourne environ 2 à 3 minutes et produit un fichier TXT que je lis et que je mouline pour créer un nouvel objet dans AutoCAD.

Le programme externe est mono threat, alors que je dispose de 20 cœurs dispo (variable d'environnement NUMBER_OF_PROCESSORS dispo pour connaître ce nombre).

Ce que j'aimerais, c'est lancé en parallèle 15 process chacun tournant sur son cœur, mais chacun de manière synchrone pour attendre le résultat avant d'en chaîner un autre.

L'idée c'est que les 15 cœurs soient occupés en permanence. Même à ce rythme, ça va prendre 4 jours, sinon c'est 2 mois 😞 

Actuellement, j'ai fait le programme en Lisp (plus rapide à mettre en place), mais s'il faut passer en C# ça sera possible sans souci. 

J'ai regardé du côté du traitement multithreat, mais ça ne semble pas adapté, puisque ce n'est pas un seul processus à répartir sur plusieurs threat.

SI vous avez une idée, je suis preneur de toutes réflexions.

 

Merci

 

Olivier

Posté(e)

Bonjour,

Je sais que tu n'est pas trop fan de Python, mais il me semble que tu as ce que tu veux avec ce module:

multiprocessing 

j'ai été confronté à un problème similaire avec le traitement de nuages de points.

Et finalement, j'ai abandonné la gestion de threads qui ne faisais pas gagner tant de temps que cela, et rend le programme plus complexe. (le contraire de l'esprit Python)

 

Posté(e)

Salut,

 

Ok, je crois que je vais partir sur la création de fichier .BAT pour traiter par paquet de 400 points.

Ca fera environ 10 heures de traitement par BAT.

Si j'en lance 30 par nuit sur ma station de calcul à 32 cœurs, je devrais avoir la totalité calculée en 3 nuits.

Ca sera plus simple à mettre en œuvre.

 

Merci

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité