J'ai exécuté le code de dynamique moléculaire (MD) GROMACS sur un cluster Linux Ubuntu composé de nœuds contenant 24 processeurs Intel Xeon. Mon point d'intérêt particulier se révèle être quelque peu sensible à la précision arithmétique à virgule flottante, j'ai donc dû exécuter GROMACS en double précision plutôt qu'en simple précision - malgré le coût de calcul plus élevé de la double précision. Donc sur le cluster, j'ai compilé GROMACS en double précision.
J'envisage d'acheter certains GPU, car il peut y avoir une accélération relative ("accélération du GPU") par rapport aux CPU. Cependant, j'ai besoin d'un GPU qui me permettra de faire de l'arithmétique double précision. Savez-vous si un tel matériel est disponible dans le commerce? Un récent post sur la liste de diffusion GROMACS suggère que les GPU double précision ne sont pas disponibles dans le commerce:
Le matériel ne le supporte pas [arithmétique double précision] pour le moment AFAIK.
Cette page Wikipedia semble suggérer que les GPU à double précision sont rares car ils peuvent être inefficaces:
Les implémentations de virgule flottante sur les GPU Nvidia sont pour la plupart conformes IEEE; cependant, ce n'est pas vrai pour tous les fournisseurs. Cela a des implications pour l'exactitude qui sont considérées comme importantes pour certaines applications scientifiques. Bien que les valeurs à virgule flottante 64 bits (flottant double précision) soient couramment disponibles sur les processeurs, elles ne sont pas universellement prises en charge sur les GPU; certaines architectures GPU sacrifient la conformité IEEE tandis que d'autres manquent complètement de double précision. Des efforts ont été faits pour émuler des valeurs à virgule flottante double précision sur les GPU; cependant, le compromis de vitesse annule tout avantage à décharger le calcul sur le GPU en premier lieu.
Cette page NVIDIA Tesla , en faisant référence à "Performances en virgule flottante double précision de pointe" dans le graphique, semble suggérer que les calculs en double précision peuvent , en fait, être effectués sur leurs GPU (bien qu'à un coût de calcul plus élevé).
Alors, que dois-je croire? Avez-vous une expérience avec ce problème?
Réponses:
La double précision est assez courante sur les nouveaux GPU. Par exemple, je possède une NVIDIA GTX560 Ti (assez bas de gamme en matière d'informatique) qui n'a aucun problème à exécuter ViennaCL en double précision. À partir d' ici (section 4) , toutes les cartes NVIDIA à partir de GTX4xx prennent en charge la double précision en natif.
Je suppose que les informations GROMACS sont tout simplement obsolètes.
la source
Chaque GPU avec SM 1.3 (Tesla / GTX2xx) ou mieux a un support matériel double précision. À partir de l'architecture Fermi, les variantes Quadro et Tesla ont un meilleur support en double précision que les modèles Ge Force grand public.
Ce qui est bizarre, c'est que le support à double précision Ge Force Kepler / GTX6xx est inférieur au support GeForce Fermi / GTX5xx pour améliorer la différenciation Tesla dans Kepler K20 / K20x. Pour aggraver l'étrangeté, les Tesla K10 ont un support à double précision de niveau Ge Force. Et plus récemment, cela a été complètement désorganisé par l'introduction de la Ge Force GTX Titan, qui prend en charge la double précision et de nombreuses fonctionnalités CUDA uniquement présentes sur les modèles Tesla jusqu'à présent. Un GTX Titan coûte ~ 1000 $ - une aubaine criante OMI.
la source
Vous devriez également lire le post de suivi de la liste de diffusion GROMACS: http://lists.gromacs.org/pipermail/gmx-users/2013-April/080604.html . Il est au moins aussi important de savoir si la mise en œuvre du GPU dans le MD prend en charge l'utilisation de la double précision dans une mesure comparable que si la double précision est disponible sur le matériel.
la source
Selon cette discussion , les GPU Tesla et Titan sont les plus appropriés (des GPU Nvidia) pour la double précision.
En regardant par exemple une liste de GPU Nvidia sur Wikipedia (un tableau similaire pour les GPU AMD est ici ) et en comparant la puissance de traitement de précision simple et double (en termes de GFLOP), on constate que les performances de double précision sont beaucoup plus petites que la moitié de la précision simple performances pour la plupart des autres GPU. Par exemple, pour la série GTX 900, l'article mentionne que les performances en double précision représentent 1/32 des performances en simple précision, tandis que cet article Wikipedia indique que pour les séries GTX 700, les performances en double précision représentent 1/24 de la précision simple performances (sauf pour Titan où il peut atteindre 1/3 des performances en simple précision).
la source