Archives pour la catégorie CPU

Identifier le processeur avec MATLAB via la base de registre de Windows

La fonction winqueryreg de MATLAB permet de récupérer les valeurs stockées dans la base de registre de Windows. Il est donc possible de s’en servir pour identifier le processeur présent sur la machine en interrogeant la clé « HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor ». En fonction du nombre de cœurs (N) présents sur le processeur, vous obtenez autant de sous-clés, numérotées de 0 à N-1 :

base-registre-windows-processeur

Les codes MATLAB qui suivent sont exécutés sur un ordinateur portable Asus K53SC. Comme vous pourrez le remarquer, seul le troisième argument change à chaque exemple.

Note : un souci d’édition avec le blog ne me permet pas de vous fournir des lignes de codes facilement copiables. Désolé.

Désignation du vendeur

winqueryreg-matlab-cpu-vendoridentifier

ans =

GenuineIntel

C’est donc ici un processeur Intel. Pour AMD, la valeur serait « AuthenticAMD ».

Identifiant du processeur

winqueryreg-matlab-cpu-identifier

ans =

Intel64 Family 6 Model 42 Stepping 7

Voir ici pour quelques explications sur ces valeurs.

Désignation du processeur

winqueryreg-matlab-cpu-processornamestring

ans =

Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz

C’est le bon !

Fréquence du processeur

winqueryreg-matlab-cpu-mhz

ans =

        2394

Ce qui correspond bien à la fréquence affichée précédemment (2394 MHz contre 2,40 GHz)

Conclusion

Vous connaissez maintenant une méthode rapide pour identifier le processeur présent sur votre machine avec MATLAB sur Windows. Pour aller plus loin, je vous renvoi vers la série de trois billets sur le thème de l’identification de processeur avec MATLAB (1, 2 et 3).

Vous pouvez explorer le registre en tapant « regedit » dans la barre de commandes du menu Démarrer de Windows. Mais prenez bien garde à ne rien modifier.

Ce billet a été inspiré par le code source de la fonction getdebuginfo de Scilab.

Récupérer des informations sur le processeur avec MATLAB et la SDL 2

La bibliothèque SDL 2 (Simple DirectMedia Layer) possède quelques fonctionnalités pour récupérer des informations sur le CPU (voir CPU Feature Detection). J’ai donc écrit un fichier MEX qui permet de récupérer ces informations avec MATLAB. Vous pouvez télécharger le code ici.

Il faut installer les outils de développement de la SDL 2 et compiler le fichier MEX avant la première utilisation. Toutes les informations sont contenues dans les entêtes des fichiers getCpuInfoSdl2.m et getCpuInfoSdl2mx.c. Pour les utilisateurs sur Mac, vous pouvez vous référer à ce billet pour la compilation du MEX.

Les information suivantes sont renvoyées :

  • cpuCacheLineSize : taille du cache L1 en Ko
  • cpuCount : nombre de cœurs (Intel hyperthreading compris)
  • systemRAM : quantité de mémoire RAM installée

Le code renvoi également, sous forme de booléens, la disponibilité des jeux d’instructions suivants :

Récupérer la désignation du CPU en ligne de commandes avec Windows, Linux et Mac OS X

Il y a quelques temps déjà, j’avais posté une série de trois billets sur le thème de l’identification de processeur avec MATLAB (1, 2 et 3) dans laquelle j’exposais plusieurs méthodes plus ou moins fiables et portables.

J’ai récemment appris une méthode permettant de récupérer le modèle du processeur avec Mac OS X et, de fil en aiguille, avec Windows. J’ai donc complété le deuxième billet de la série en conséquence.

Voici synthétisées ici, les trois lignes de commandes pour les trois systèmes d’exploitation que l’on trouve majoritairement sur nos machines.

L’information renvoyée est du type :

Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz

Bien entendu, il est possible d’extraire d’autres informations à propos du CPU en utilisant des variantes de ces commandes.

Windows

Avec Windows, il suffit d’utiliser le système de gestion WMI :

for /f "tokens=2 delims==" %A in ('wmic cpu get name /value') do @(echo %A)

Testé avec Windows 7.

Linux

Avec Linux, il suffit d’analyser le contenu de /proc/cpuinfo :

grep -m 1 "model name" /proc/cpuinfo | cut -d: -f2

Testé avec Xubuntu 12.04.

Mac OS X

Avec Mac OS X, il suffit d’utiliser l’interface sysctl :

sysctl machdep.cpu | grep brand_string | cut -d: -f2

Testé avec Mac OS X 10.9