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

CUDA Discussion :

CUDA et calculs scientifiques.


Sujet :

CUDA

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    décembre 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2004
    Messages : 172
    Points : 68
    Points
    68
    Par défaut CUDA et calculs scientifiques.
    Bonjour,

    Je réalise des programmes en C de polynôme cherchant des nombres premiers. Ces programmes me demandent un grand temps de calcul. Je voudrais savoir si vous pensez que CUDA puisse être utile pour améliorer les performances de mes programmes ? Ce qui prend le plus de temps est de définir si un nombre est premier ou non, je pense qu'il doit être possible de partager les calculs entre différents treads en utilisant CUDA, mais n'étant pas un expert dans le domaine je voudrais avoir votre avis avant d'investir dans une carte NVIDIA.

    Je vous remercie.

  2. #2
    Membre éprouvé
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2003
    Messages
    917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : novembre 2003
    Messages : 917
    Points : 1 139
    Points
    1 139
    Billets dans le blog
    3
    Par défaut
    Si ton code est parallélisable tu peux effectivement fortement gagner du temps de calcul. Si ta machine est déjà équipée d'une carte graphique NVIDIA ça peut suffire.
    Il y a des jours où j'éprouve une haine profonde envers microsoft
    Venez vous défouler ici ou c'est amusant
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    décembre 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2004
    Messages : 172
    Points : 68
    Points
    68
    Par défaut
    J'aimerai comprendre le principe du codage sur GPU, j'utilise généralement une fonction simple pour calculer si un nombre est premier ou non :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    int isprem(long int a)
    {
         long int test=0, rest =0, f;
     
            if(a%2==0) return 0 ;
          for(f=3;(f*f)<=a;f=f+2)
          {
             rest = a%f;
     
             if(rest == 0)
             {
               return 0 ;
     
             }
         }
     
         return 1 ;
    }

    Si je devais le faire sur un GPU, de quelle façon il faudrait procéder ? Je n'ai pas besoin du code mais juste du principe général.

    Merci.

  4. #4
    Membre éprouvé
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2003
    Messages
    917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : novembre 2003
    Messages : 917
    Points : 1 139
    Points
    1 139
    Billets dans le blog
    3
    Par défaut
    L'idée est de transformer la boucle en calcul en un tableau. Disons que tu connais tous les nombres premier de 2 à N et tu cherche à savoir si X est premier.
    Un méthode consisterais à diviser X par chaque nombre entier connu et à vérifier que le reste est nul
    En cuda ça donne
    Mettre en mémoire le tableau des nombres premier et les diviser par X et mettre le reste dans un tableau
    Récupérer le tableau et regarder si l'un des résultats est nul
    C'est très grossier et il y a surement plus subtile. Mais en gros l'idée est de remplacer des boucles par une opération sur des gros tableaux ce qui peut se faire de manière parallèle sur le GPU
    Il y a des jours où j'éprouve une haine profonde envers microsoft
    Venez vous défouler ici ou c'est amusant
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    décembre 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2004
    Messages : 172
    Points : 68
    Points
    68
    Par défaut
    Ok je te remercie, c'est encore assez obscur pour moi mais je comprend l'idée générale. Il va falloir que je prenne le temps de m'y mettre sérieusement.

  6. #6
    Membre éprouvé
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2003
    Messages
    917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : novembre 2003
    Messages : 917
    Points : 1 139
    Points
    1 139
    Billets dans le blog
    3
    Par défaut
    Effectivement il faut plonger dedans et s'y mettre sérieusement.
    Il y a des jours où j'éprouve une haine profonde envers microsoft
    Venez vous défouler ici ou c'est amusant
    Mon modeste site et mes modestes oeuvres sont
    Rémi

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/11/2009, 11h12
  2. Technique adéquate pour du calcul scientifique
    Par delire8 dans le forum API graphiques
    Réponses: 3
    Dernier message: 10/12/2008, 15h45
  3. calcul scientifique & compilateur
    Par kw1k dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 12/06/2006, 10h09

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