Sujet : Re: Threads vs Process
De : lecoat (at) *nospam* atari.org (Francois LE COAT)
Groupes : fr.comp.sys.atariDate : 14. Aug 2024, 17:55:23
Autres entêtes
Organisation : To protect and to server
Message-ID : <v9inhr$30tgg$1@paganini.bofh.team>
References : 1 2 3 4 5 6 7 8 9 10 11
User-Agent : Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Firefox/91.0
Salut,
OL écrit :
Et moi je te répond que dans le monde moderne sur une machine de bureau actuel le parallèlisme pour faire du calcul (on parlait bien de cela il me semble) se fait par thread pas par process, faudrait te mettre à jours.
Bien pour faire du traitement d'images, et de la vision artificielle,
qui sont des calculs assez complexes, principalement sur des entiers,
j'utilise les ressources parallèles des machines multi-coeurs, en
lançant des processus concurrents. Il suffit souvent de découper les
images, et de lancer des calculs identiques, sur des morceaux d'images,
et de regrouper les calculs sur les différents morceaux indépendants.
Avec ce principe il est très facile de charger au maximum, une machine
avec de très nombreux coeurs, comme le fait Persistence Of Vision, mais
lui avec de nombreux threads, ce qui est paramétrable avec POV-Ray.
On peut lancer des processus avec l'appel système fork() dans un
programme, ou même utiliser un script shell, en lançant plusieurs
instances d'un même programme, sur des données d'images différentes,
en tâche d'arrière plan, avec un rendez-vous de fin, avec la commande
système `wait` qui attend la fin de processus lancés en "background".
C'est le système Unix (GNU/Linux ou macOS) qui s'occupe de la
répartition équitable de charge de calcul des processus. Ce principe
existe depuis toujours, et même avec freeMiNT, sauf qu'à l'origine,
la répartition de charge ne se faisait que sur un seul CPU, sur ATARI.
C'est un bon moyen sur un seul CPU de le charger au maximum à 100%.
Très souvent sur un ordinateur, le(s) processeur(s) sont sous-utilisé(s)
-- François LE COATAuteur de Eurêka 2.12 (Grapheur 2D, Modeleur 3D)https://eureka.atari.org/