Archives par mot-clé : cpu

prtdiag : l’Information cpu sur solaris

Voici un bonne petite commande pour connaitre des informations sur le nombre de processeurs/coeurs ainsi que leurs fréquences sur solaris.

# /usr/platform/`/usr/bin/uname -i 2> /dev/null`/sbin/prtdiag

Ce qui retourne sur une veille machine ceci :

System Configuration: Sun Microsystems  sun4u Sun Blade 2500
System clock frequency: 160 MHZ
Memory size: 2GB

==================================== CPUs ====================================
               E$          CPU     CPU       Temperature
CPU  Freq      Size        Impl.   Mask     Die    Ambient
---  --------  ----------  ------  ----  --------  --------
 0   1280 MHz  1MB         US-IIIi   2.4     66 C      29 C
 1   1280 MHz  1MB         US-IIIi   2.4     72 C      29 C

================================= IO Devices =================================
     Bus   Freq
Brd  Type  MHz   Slot        Name                          Model
---  ----  ----  ----------  ----------------------------  --------------------
 0   pci    66            2  SUNW,XVR-600 (display)        SUNW,375-3153
 0   pci    66            3  network-pci14e4,1647.108e.16+
 0   pci    66            4  scsi-pci1000,21.1000.1000.1 +
 0   pci    66            4  scsi-pci1000,21.1000.1000.1 +
 0   pci    33            7  isa/serial-su16550 (serial)
 0   pci    33            7  isa/serial-su16550 (serial)
 0   pci    33            7  isa/dma-isadma (dma)
 0   pci    33            8  sound-pci10b9,5451.10b9.5451+
 0   pci    33            8  usb-pci1033,35.1235.35.1043 +
 0   pci    33            8  usb-pci1033,35.1235.35.1043 +
 0   pci    33            8  usb-pci1033,e0.1235.e0.2004 +
 0   pci    33           10  usb-pci10b9,5237.3 (usb)
 0   pci    33           11  usb-pci10b9,5237.3 (usb)
 0   pci    33           11  firewire-pci104c,8024.1235.8+
 0   pci    33           13  ide-pci10b9,5229.c4 (ide)

============================ Memory Configuration ============================
Segment Table:
-----------------------------------------------------------------------
Base Address       Size       Interleave Factor  Contains
-----------------------------------------------------------------------
0x200000000        2GB               2           BankIDs 0,1

Bank Table:
-----------------------------------------------------------
           Physical Location
ID       ControllerID  GroupID   Size       Interleave Way
-----------------------------------------------------------
0        0             1         1GB             0,1
1        0             1         1GB

Memory Module Groups:
--------------------------------------------------
ControllerID   GroupID  Size       Labels
--------------------------------------------------
0              1        2GB        DIMM2,DIMM3

=============================== usb Devices ===============================

Name          Port#
------------  -----
mouse           2

=============================== usb Devices ===============================

Name          Port#
------------  -----
keyboard        2

Présentation d’un GPU

Mon stage de fin d’études au Centre National d’Etudes Spatiales portant sur les GPU, je vous propose une série d’articles traitant de ce thème.

Depuis ma première publication le 07 octobre, j’ai complété mon article, en lui rajoutant quelques précisions.

1.1         Historique

1.1.1        Le CPU

Les ordinateurs personnels et les stations de travail professionnel sont des systèmes autonomes dédiés à l’exécution d’applications logicielles. Au cœur de ces systèmes se trouve un microprocesseur central, ou CPU (Central Processing Unit), qui interprète les instructions et traite les données qui constituent ces applications. C’est lui qui a la charge de l’ensemble des calculs.

1.1.2        Evolution du CPU

Dans les années 80, de nouveaux besoins sont apparus nécessitant le traitement de données de plus en plus volumineuses, notamment dans les domaines de l’imagerie, de la vidéo ou du son, encore appelé multimédia. Les principales applications à l’origine de ces besoins sont logiciels professionnels de conception assistée par ordinateur (CAO) et les jeux vidéos.

Les applications multimédia s’appuient sur des algorithmes de nature très différente des applications dites « classiques » (bureautique par exemple). Alors que ces dernières traitent peu de données mais avec une logique de traitement complexe impliquant beaucoup d’interactions, de re-bouclages et de branchement conditionnels (si… alors…), les applications multimédia nécessite d’appliquer des algorithmes plus linéaires mais à de gros volumes de données. On parle de calcul vectoriel.

Les architectures des microprocesseurs se sont donc adaptées pour traiter aux mieux ces nouvelles problématiques en proposant des fonctionnalités dédiées aux applications multimédia, sous formes d’instructions spécifiques implantées au sein du processeur : MMX pour les processeurs Intel Pentium, 3D Now ! pour les processeurs AMD Opteron. Ces nouvelles instructions, qui permettent d’appliquer la même opération à plusieurs données à la fois, ont permis d’améliorer les performances des applications faisant appel à des algorithmes vectoriels, ce qui a contribué à leur succès.

Ces nouveaux microprocesseurs ont permis d’apporter des GFLOPS [1] aux ordinateurs de bureau ainsi que des centaines de GFLOPS aux serveurs. Ces nouvelles instructions et l’augmentation de performances associée ont permis d’enrichir la qualité des applications en élargissant les fonctionnalités offertes tout en améliorant les interfaces utilisateurs. Les utilisateurs, à leur tours, habitués à ces continuels progrès exigent toujours plus d’améliorations, aussi bien sur la perception des performances que sur les effets visuels, ce qui crée un cycle positif pour l’industrie informatique.

Pour répondre au besoin croissant de performance, la plupart des développeurs de logiciels ont compté sur les évolutions du matériel pour exécuter plus rapidement leurs programmes. Ainsi le même logiciel fonctionne plus rapidement sur chaque nouvelle génération de processeurs. Malheureusement cette course s’est ralentie depuis 2003 en raison de problèmes limitant l’augmentation du nombre d’instructions qu’un CPU peut exécuter par seconde (on parle de fréquence d’horloge). Ces problèmes sont principalement liés à la miniaturisation des composants (finesse de gravure) et à l’augmentation du nombre de transistors dans un microprocesseur induisant un dégagement de chaleur de plus en plus important ainsi que des interactions électromagnétiques, entrainant engendrant une augmentation de consommation électrique.

Pour palier aux problèmes de miniaturisation, plusieurs solutions ont été trouvées :

  • Combiner plusieurs processeurs en un seul, les tâches à réaliser sont alors réparties entre les unités de calcul qui le composent. C’est ce que l’on appelle le « multi-cœur ». Cette nouvelle technologie a eu un impact important sur le développement logiciel.
  • Adjoindre un microprocesseur spécifique dédié à l’accélération des applications les plus gourmandes, à savoir les applications multimédia. Cette approche a été possible de part la spécificité algorithmique (calcul vectoriel) de ces derniers. C’est ce qui deviendra le GPU (Graphic Process Unit).

[1] GFLOPS : se lit Giga Flops. Signification : milliards d’opérations à virgule flottante par seconde.
Il s’agit de l’unité de référence pour calculer la vitesse d’un processeur.