Comment utiliser efficacement le GPGPU ?

prepa75prepa75 Membre
18:01 modifié dans API AppKit #1
Bonjour,

j'ai lu sur plusieurs articles que les processeurs des cartes graphiques étaient très performantes pour les calculs en parallele,comparé au CPU qui lui est performant dans des calculs en série !

Ma question est la suivante : peut-on coder facilement le GPGPU ? ou alors c'est même pas la peine  :'(

Réponses

  • zoczoc Membre
    18:01 modifié #2
    OpenCL est fait pour cela.


    Mais attention, ne pas croire que le GPGPU sera efficace dans tous les cas: Il faut des algorithmes adaptés (massivement parallélisables) pour un tirer réellement un avantage.

  • prepa75prepa75 Membre
    18:01 modifié #3
    Salut Zoc,

    donc OpenGl utilise par défaut le proc de la CG ? je vais me renseigner à  ce sujet, pour les algorythmes je pensais surtout aux attaques par bruteforce,qui sont paralélisable à  l'infini  B) ça fait peur si un mec prend une carte mère qui accepte 3 ou 4 CG en SLI  :(
  • zoczoc Membre
    18:01 modifié #4
    CL, pas GL...

  • AliGatorAliGator Membre, Modérateur
    18:01 modifié #5
    OpenCL est en effet tout adapté pour la parallélisation de tâches, mais faut déjà  s'y connaà®tre en algos et comment ça se passe côté architecture matérielle, genre faut déjà  savoir coder un algo efficace de décodage vidéo (donc avoir les notions de codecs et traitement d'image nécessaire) avant de pouvoir réfléchir à  comment l'optimiser avec OpenCL... si tu ne maà®trises pas déjà  correctement le C et l'algorithmie (avoir connaissance des concepts de parallélisation, des optimisations processeurs, des ressources partagées et leurs contraintes, ...) c'est pas la peine : d'une part ça va te paraà®tre compliqué si tu ne maà®trises pas ces concepts de base d'algorithmie, mais en plus tu ne vas pas forcément réussir à  optimiser des masses du coup si tu ne sais pas par quel bout optimiser etc.


    Pour moi GCD est un angle d'attaque plus intéressant si tu veux te lancer dans de l'optimisation, permettant déjà  d'optimiser et paralléliser pas mal de choses avec une syntaxe plus simple et abordable (et encore il est préférable de comprendre les stacks de threads et les synchronisations des blocks mais bon). Et si tu t'en sors avec GCD et comprend déjà  tous les principes et est à  l'aise avec, alors tu seras prêt pour attaquer OpenCL. Mais on ne se lance pas dans OpenCL sans connaissances de base.
  • prepa75prepa75 Membre
    18:01 modifié #6
    Ok merci Ali, jvais donc commencer par me mettre à  GCD et surtout bien comprendre l'architecture matérielle,qui a mon avis me sera trés utile pour la suite de mes études.
Connectez-vous ou Inscrivez-vous pour répondre.