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 :

Organisation des tâches pour le calcul sur N matrices


Sujet :

CUDA

  1. #1
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut Organisation des tâches pour le calcul sur N matrices
    Bonsoir,

    Je veux anticiper un petit peu, pour le parallélisme voici ma question :
    Disposant d'un tableau en 3D (X, Y, Z), je souhaite faire les mêmes calculs sur les sous tableaux 2D (X, Y) pour l'ensemble des couches Z, Est-ce que je suis sur la bonne voie ?

    Autrement dit, j'ai Z matrice (X, Y) qui doivent subir le même traitement, puis-je songer à utiliser Cuda dans mon cas ?

    Merci pour vos réponses.
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Salut

    Réponse facile : ça dépend ! (ok, cette réponse est un peu la réponse universelle, qui marche dans 99 % des cas)

    Est-ce que c'est faisable ? Oui, sans problème. Regarde l'exemple sur la multiplication de 2 grosses matrices, on découpe les matrices en plus petites matrices et l'on fait les calculs comme si on avait Z matrices. Dans ton cas, tu supprimes simplement l'étape consistant à rassembler tous les résultats en 1 seul.

    Est-ce intéressant d'utiliser CUDA ? Cela va dépendre de tes données. Avec le GPU computing, tu vas avoir un surcoût lié au transfert des données entre le CPU et le GPU. Plus le ration temps-transfert/temps-calcul est élevé, moins ça sera intéressant d'utiliser le GPU.

    Comment organiser les tâches ? A mon sens (surtout si tu débutes avec le GPU Computing) le plus important est de ne pas se fier à des arguments "théorique" pour trouver la meilleure organisation, mais faire du profiling sur plusieurs solutions pour trouver la plus performante (après optimisation, en particulier l'overlapping). Ensuite, ça dépend de la taille et du nombre de matrices. A priori (mais crois moi pas sur parole, fais des tests), je dirais que si tu as beaucoup de petites matrices, le plus efficace sera de donner 1 calcul par thread. Si tu as peu de grosses matrices, 1 calcul à la fois. Un intermédiaire, 1 calcul par SM.

    Bon courage

  3. #3
    Membre confirmé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Points : 616
    Points
    616
    Par défaut
    Comme le dit gbdivers, il y a beaucoup de façon de faire, plus tu pratiqueras et plus tu seras à même de choisir les bonnes solutions.
    J'avais une problématique assez similaire à la tienne, j'ai utilisé des textures memory pour lire les matrices 2D et une surface memory pour l'écriture et j'ai gagné pas mal de temps (x30 je crois, je sais plus exactement).
    Après il y a d'autres moyens pour gagner du temps encore (mutli-GPU, double stream, ...) ça dependra de la taille et de la nature de tes données.

Discussions similaires

  1. [W98] Un équivalent au gestionnaire des tâches (pour arrêter des processus)
    Par annedeblois dans le forum Windows 2000/Me/98/95
    Réponses: 2
    Dernier message: 28/09/2007, 17h36
  2. Besoin d'aide pour un calcul sur un site
    Par barre dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/02/2007, 08h36
  3. Réponses: 5
    Dernier message: 13/10/2006, 16h22
  4. [Conception] - Organisation des pages pour une requete.
    Par ShinJava dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 24/10/2005, 15h33

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