Identification de processeur sous MATLAB (1/3)

Vous pouvez identifier le modèle du processeur (CPU) installé sur votre machine avec MATLAB à l’aide de la fonction non documentée feature.

Sur mon portable, voici ce que cela donne :

feature('GetCPU')

ans =

x86 Family 6 Model 10 Stepping 7, GenuineIntel

La dernière donnée nous donne le nom du fabricant. Les deux plus courants sont « GenuineIntel » pour Intel et « AuthenticAMD » pour AMD.

Il suffit alors de se référer à une liste donnée par le fabricant du CPU. Dans mon cas, il s’agit d’Intel et la fiche est disponible à cette adresse : Intel® Processor Identification and the CPUID Instruction (voir CPUID Specification pour les processeurs AMD)

Je me reporte donc à la table 5-4 « Intel486 and Subsequent Processeor Signatures » (p23) et je cherche les valeurs 6 (Family) et 10 (Model) converties en binaire (soit respectivement 0110 et 1010) dans les deux colonnes « Family Code » et « Model No. »

J’obtiens trois résultats possibles : « Pentium III Xeon processor » ou « Intel Core i7 processor or Intel Xeon processor » ou encore « 2nd Generation Intel core Processor Family Mobile (Sandy Bridge) ».

La dernière est la bonne puisque mon portable est équipé d’un Intel Core i5-2430M

Il manque en fait une information non retournée par la fonction feature. Il s’agit de la valeur de l’Extended Model.

On trouve en effet 0000 pour les « Pentium III Xeon », « 0001 » pour les « Intel Core i7″ et 0010 pour les « Intel Core Mobile de 2ème génération ».

Essayez sur votre machine et dites-moi si vous pouvez identifier à coup sûr votre CPU avec feature(‘GetCPU’) !

Dans un prochain billet, je vous montrerai comment identifier sans erreur votre CPU. Vous saurez également comment obtenir directement son intitulé commercial comme « Intel Core i5-2430M » dans mon cas.

Quand MATLAB confond Windows 7 avec Vista

J’utilise MATLAB R2009a sur Windows 7 (sans aucun problème).

Voici ce que me retourne la commande version :

Operating System: Microsoft Windows Vista Version 6.1 (Build 7601: Service Pack 1)

« Microsoft Windows Vista » ? Ah bon !

Pour être honnête, MATLAB n’a pas tout faux. En effet le numéro de version de Windows (ici 6.1) correspond bien à Windows 7.

La version R2009a est sortie en mars 2009 alors que Windows 7 n’est sorti qu’en octobre de la même année. Ceci explique sans aucun doute l’erreur d’interprétation.

Conclusion : il est plus prudent de se référer au numéro de version plutôt qu’à son interprétation littérale.

Un petit truc au passage, ces informations peuvent être récupérées via la fonction non documentée feature :

feature('GetWinSys')

ans =

Version 6.1 (Build 7601: Service Pack 1)

Mais attention :

feature('GetOS')

ans =

Microsoft Windows Vista

Dans un prochain billet, je vous montrerai également que MATLAB sait déterminer le processeur de votre ordinateur… mais pas toujours très précisément. :(

Quand Monsieur Spock utilisait MATLAB !

Bon d’accord, j’abuse un peu, car MATLAB n’existait pas en 1979, date de la sortie du premier film Star Trek. Néanmoins, saviez-vous que l’USS Enterprise embarquait bel et bien les prémices de MATLAB lors de ces voyages intergalactiques ?

Cleve Moler a posté un billet « 1976 Matrix Singular Value Decomposition Film« , à propos d’un film scientifique qu’il a réalisé en 1976 et qui s’intitule « Les matrices et leurs décompositions en valeurs singulières ».

I produced the computer animated graphics on the CDC 7600 with the EISPACK SVD code under development and the new graphics library written by Mel Pruitt. I also wrote the script for the movie.

Voici la vidéo que Cleve a mise en ligne :

Un bel exploit technique et scientifique pour l’époque !

Quel rapport avec Monsieur Spock me direz-vous ? Voici l’anecdote que Cleve raconte :

The first Star Trek movie came out in 1979. The producers had asked Los Alamos for computer graphics to run on the displays on the bridge of the Enterprise. They chose our SVD movie to run on the science officer’s display. So, if you look over Spock’s shoulder as the Enterprise enters the nebula in search of Viger, you can glimpse a matrix being diagonalized by Givens transformations and the QR iteration.

Voici une capture de la scène illustrant ces propos :
spock

La scène se déroule à 1h15 environ dans la version « director’s edition » du film.

On peut dire que MATLAB revient de loin !

:mrgreen: