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

POSIX C Discussion :

Affectation des taches avec POSIX


Sujet :

POSIX C

  1. #1
    Nouveau Candidat au Club
    Affectation des taches avec POSIX
    Bonjour a tous

    Je suis nouveau dans le forum et j'aimerais savoir quelque info sur la bibliothèque POSIX.
    J'ai besoin d'une bibliothèque pour paralléliser mon code. En effet, mon code doit être s'exécuter séquentiellement et à certain moment le traitement se partage sur deux processeurs(exécution parallèle) puis il revient à l'exécution séquentielle.
    Donc ce traitement est faisable avec POSIX (exécution :séquentielle => parallèle=> séquentielle)??
    Et si oui, et ce que je peux agir sur l'affectation des tache??c'est-à-dire est ce que je peux contrôler les tache(tache 1 =>cor1,tache2=>core2)??ou bien ordonnanceur va les affecter automatiquement?

    Merci d'avance.
    Mokhtar.

  2. #2
    Membre expert
    Salut,

    POSIX est une norme, pas une bibliothèque. Une bibliothèque implémentant la norme posix pour les threads est la gnu libc sous linux (la bibliothèque standard quand tu compiles avec gcc sou linux en gros).
    Un bon endroit qui devrait faire ton bonheur : https://computing.llnl.gov/tutorials/pthreads/

  3. #3
    Nouveau Candidat au Club
    Salut kwariz,
    Merci pour ta réponse.
    Oui je veux dire ça,c'est à dire pour la bibliothèque Pthread sous Linux.
    Est ce que je peux le faire avec Pthread?
    Merci pour le lien c'est très intéressant.

    Merci.

  4. #4
    Membre expert
    Oui,

    tu vas devoir gérer toi-même les threads pour une exécution parallèle, mais tu vas pouvoir faire tout ce que tu as décrit.

    Une option qui pourrait-être intéressante, suivant tes contraintes et buts pour la parallélisation de ton code, serait d'utiliser OpenMP : http://openmp.org/wp/resources/#Tutorials. Le lien renvoie vers les tuto mais la doc est intéressante à consulter.

    Enfin tout dépend du pourquoi tu veux le faire et avec quoi.

    EDIT: tu as aussi comme autres solutions, des processus distincts qui communiquent, ou utiliser fork() ...

  5. #5
    Nouveau Candidat au Club
    ok,merci.
    J'ai une autre question Kwariz;svp; j'ai une petite idée sur OpenMP,MCAPI et MPI. Est ce que ces bibliothèque ne nécessitent pas un OS tel que Linux?(puisque je fais de l'embarqué)

  6. #6
    Membre expert
    Si tu fais de l'embarqué je ne pourrais pas t'aider du tout malheureusement...

  7. #7
    Nouveau Candidat au Club
    Ok,merci en tout cas pour ton aide.