12/11/2015

Station de travail pour la CFD

Introduction:

Aujourd’hui, il existe beaucoup de logiciels de simulation CFD comme : ANSYS, FLOW 3D, OpenFOAM, COMSOL Multiphysics, XFLOW, etc. Ces logiciels de CFD demandent des ordinateurs performants pour avoir des calculs rapides d’où l’importance du choix du bon matériel informatique.

Les éléments qu'il faut prendre en considération dans votre configuration sont:

  • Le processeur
  • La mémoire vive (RAM)
  • La carte mère
  • La carte graphique
  • Le disque dur

Une sélection appropriée de ses éléments permet un gain considérable en temps de calcul. Il existe plusieurs choix sur le marché pour choisir son ordinateur, mais deux facteurs seulement à prendre en considération qui sont le prix et les performances.

Le processeur:

Cet élément est le cœur de l’ordinateur. Actuellement, il existe deux fournisseurs qui sont Intel et AMD. Ces deux constructeurs en deux catégories deux processeurs qui peuvent nous intéressé pour du calcul scientifique. Pour Intel il y a les processeurs i7 et Xeon, pour AMD il y a les processeurs FX et Opteron.
Processeurs pour calcul scientifique 

Intel ou AMD:

Laquelle des deux marques faut-il choisir ? Les deux marques sont bonnes, mais lequel à plus d’avantages que l’autre. Intel à de meilleures performances que AMD qui beaucoup moins cher. Lors des simulations avec peu de maillage la différence n’est pas très grande. 
La figure ci-dessous (source ICI) montre bien que les processeurs Intel sont plus performants que les processeurs AMD, mais ils sont plus chers. Le processeur Intel Core i7 5960X est plus performant que les autres processeurs, mais c’est le plus cher, car il est plus récent. Maintenant, vous pouvez faire un premier choix qui dépendra de ce que vous êtes prêt à investir.     
Intel vs AMD

Xeon ou i7:

Les processeurs Intel i7 et AMD FX sont moins chers que les processeurs Intel Xeon et AMD Opteron, mais ces derniers permettent l’utilisation de deux processeurs identique sur la même machine, la figure suivante résume les différences.

Xeon vs i7
Dans le cadre d’une utilisation pour des calculs CFD (applications fortement parallélisées) il faut opter pour la gamme professionnelle Intel Xeon et AMD Opteron. 

La mémoire (RAM):

La RAM charge toutes les instructions en cours d’exécution sur le processeur. Nous sommes à la quatrième génération (DDR4) et seulement les processeurs les plus récents permettent son insertion. Les RAM DDR4 permettent une plus grande vitesse et une moindre consommation (voir figure ci-dessous).  

Les différentes génération de RAM
Les DDR4 sont actuellement chers. Vous pouvez opter pour des DDR3, mais il faut s’assurer de la compatibilité avec le processeur. Vous devriez avoir assez de RAM pour vos applications de façon à ne pas arriver à 100% des capacités, sinon votre ordinateur risque de « swapper » (c.-à-d. Il utilise une partie du disque dur comme une mémoire virtuelle déplaçant ainsi sans cesse les informations entre la mémoire et le disque nettement plus lent). Dans une chaîne de calcul CFD, la RAM est très sollicitée lors du maillage et de l’utilisation du solveur.
La fréquence d’une RAM est un élément important.Plus elle est importante plus la RAM est rapide et permet un Overlocking intéressant.
Il est préférable d’éviter les marques 'no name' qui peuvent poser des problèmes et d’acheter des mémoires de marques comme Corsair, Crucial, G-Skill, Kingston, OCZ, Samsung...etc.
Il est préférable d’acheter des RAM de même marque pour tout le PC pour écarter complètement les risques d’incompatibilités entre les RAM.

Processeur vs RAM:

Pour un processeur Intel Xeon, vous pouvez mettre de 24 GB à 128 GB et pour un processeur Intel i7 c’est de 16 à 32 GB. Il faudrait mieux avoir peux barrettes RAM avec de grandes capacités (c’est mieux d’avoir 2*16 GB que 4*8 GB).

Carte mère:

Il existe plusieurs marques de carte mère sur le marché (ASUS, GIGABYTE, MSI...etc.). Une fois le processeur et la mémoire vive (RAM) choisie vient le choix de la carte mère. Il faut bien choisir une carte mère compatible avec votre processeur et votre RAM. Premièrement il faut décider si vous voulez une carte mère avec un ou deux processeurs.  
Le choix d’une carte mère dépend en grande partie du chipset et du socket :

Le chipset : 

C’est un ensemble de composants intégrés à la carte mère. Son rôle s’apparente à celui d’un chef de gare. Il régule les connexions entre la mémoire, le ou les disques durs, les ports d’extension, et bien évidemment le processeur.

Le socket : 

C’est le réceptacle du processeur. Le socket assure la parfaite communication entre les différents éléments (processeur, carte graphique, disque dur...) de l’ordinateur. Il doit également gérer différentes connexions annexes, mais indispensables : les différents ports (USB, Ethernet...), la vidéo, l’audio, etc. C’est donc un point déterminant puisque, lorsque vous aurez choisi le processeur répondant à vos besoins, il faudra lui trouver le socket adapté. Le tableau ci-dessous montre les capacités de quatre différents sockets (cource ICI).

Capacité des différents socket
AM3 + sera à privilégier pour les entrée et moyen de gamme, le socket 1150 support la DDR3 , avec ou sans overclocking.Le socket 1151 (SKYLAKE) est la dernière génération, il amène environ 10% de performance en plus que le socket 1150. Il va devenir le nouveau standard et est donc à privilégier. Le socket 2011-3 , c’est le haut de gamme d’Intel. C’est un socket plutôt destiné aux professionnelles ayant besoin de beaucoup de puissance pour des logiciels lourds.

Carte graphique:

La carte graphique est un complément important. Actuellement, il y a deux constructeurs qui sont Nvidia et ATI (AMD depuis 2010).     

ATI et Nvidia
  
Il faut privilégié les cartes graphiques Nvidia Quadro et ATI FirePro pour les logiciels CAD/CAE et CFD. Ces cartes graphiques ont été conçues pour les jeux. On peut développer des calculs CFD à l’aide des cartes graphiques GeForce et Radeon, mais elles seront plus lentes. La figure ci-dessous montre la qualité offerte par les cartes graphiques GeForce et Radeon en conception mécanique. Les cartes graphiques Nvidia Quadro donneront aussi un meilleur rendu des résultats des simulations CFD.
GeForce vs Quadro
Si vous utilisez votre ordinateur pour du développement et du calcul vous aurez surement besoin d’installer une carte graphique Nvidia Quadro.
Les cartes graphiques peuvent être aussi utilisées pour accélérer le calcul en parallèle (voire la figure ci-dessous). ANSYS démontre que l’utilisation des cartes graphiques permet un doublement de la productivité sous ANSYS fluent.



Bénéfices d'utilisation des cartes graphique sous ANSYS Fluent (source
Les cartes graphiques Nvidia Tesla et AMD FireStream ont une architecture développée pour faire du calcul parallèle. Elles permettent d’accroître la parallélisation d’une partie du code de notre logiciel CFD, car elle possède plus de cœurs que les CPU (voir figure ci-dessous). 


Accélération du calcul parallèle à l'aide d'une carte graphique (source1 et source2
Intel a mis en place aussi un accélérateur de calcul qui s’appelle Xeon Phi. Les coprocesseurs Intel Xeon Phi offrent jusqu’à 61 cœurs, 244 threads et des performances pouvant atteindre 1,2 téraflops. Ils offrent des performances intéressantes (voire figure ci-dessous), mais il y a plein de logiciels de calculs qui n’ont pas encore été adaptés.
Performances des coprocesseurs Intel Xeon Phi (source)

AMD FirePro vs Intel Xeon Phi vs Nvidia Tesla (source):

AMD propose toujours plus de cœurs, afin de proposer une puissance brute maximale. La puissance réellement utilisable risque d’être un peu faible, car la bande passante mémoire n’est pas suffisante. Côté programmation, la firme favorise l’OpenCL.
Les cartes Intel Xeon Phi contiennent moins de cœurs, mais permet aussi de proposer une puissance unitaire supérieure. Côté programmation, des outils maison sont utilisés, en attendant la montée de l’OpenMP.
Les cartes graphiques de Nvidia en une bonne marge côté fréquence de fonctionnement. Nvidia permet une exploitation maximale de la puissance brute offerte. Via des astuces architecturales, mais aussi via Cuda.



Rapport prix/performance des carte graphique pour le calcul parallèle (source)

Disques durs:

Il existe deux types de disques durs. Les disques durs (HDD), qui utilisent un ou plusieurs disques rotatifs et comptent sur le stockage magnétique, et les disques SSD, qui ne disposent pas de pièces mécaniques mobiles, mais utilisent de la mémoire flash comme dans les lecteurs USB.
Dans le cadre des calculs CFD, il est souhaitable d’utiliser des disques durs SSD, car ils sont plus performants, mais leurs prix sont plus élevés.  
Souvent, il faut combiner les deux technologies. On utilise les disques durs SSD pour la simulation et les disques durs HDD pour le stockage.


SSD vs HDD

J’espère qu’avec toutes ces informations vous allez pouvoir choisir les bons éléments pour crée votre station de travail.  

Voici un aperçu d'ordinateur que j'utilise: 

PC1:

2 processeurs Intel Xeon E5-2630 v2 (12C, 2.6GHz)  
64 Go de mémoire DDR3 (8 x 8 Go) 1866 MHz  
Carte graphique Nvidia Quadro NVS510 (2Go de mémoire)  
Disque dur 3 To 7200 tr/min 3"5 SATA 16Mo cache 
Microsoft Windows 7 Pro, 64 bits Français 

Dans cette configuration il manque un disque dur SSD pour améliorer les performances

PC2: 
Processeur Intel Xeon E3-1270 v3 (4C, 3.5GHz)  
16 Go de mémoire DDR3 (4 x 4 Go) 798 MHz  
Carte graphique Nvidia Quadro NVS310  
Disque dur 3 To 7200 tr/min  
Microsoft Windows 7 Pro, 64 bits Français 


Dans cette configuration il manque un disque dur SSD et une augmentation à 32 Go de la mémoire vive pour améliorer les performances