Skip to content
Cray Blitz 49h sur 486, Pentium 90, ARM9 à 30 et à 300 MHz

Laboratoire · machines virtuelles · octobre 2026

Cray Blitz sur quatre processeurs : 486, Pentium 90, ARM9 à 30 et à 300 MHz

Le programme des Cray, champion du monde des ordinateurs en 1983 et 1986, a été embarqué tel quel, en Fortran, dans quatre machines dédiées qui n’ont jamais existé. Les quatre gauntlets sont finis : 1861 sur l’ARM9 à 30 MHz, 1869 sur le 486DX à 33 MHz, 2022 sur le Pentium 90, 2034 sur l’ARM9 à 300 MHz. Le même programme, le même livre, la même cadence ; seul le processeur change, et c’est ce qui permet de peser les processeurs eux-mêmes.

2034ARM9 à 300 MHz (QEMU) · 160 parties
2022Pentium 90 (QEMU) · 250 parties
1869486DX à 33 MHz (QEMU) · 208 parties
1861ARM9 à 30 MHz (MAME) · 226 parties

De quoi on parle

Cray Blitz est le programme de Robert Hyatt, Harry Nelson et Albert Gower, écrit en Fortran pour les superordinateurs Cray. Il a remporté le Championnat du monde des ordinateurs à New York en 1983 et à Cologne en 1986, avant de céder le titre à Deep Thought en 1989. La version utilisée ici est la 4.9h, datée du 9 décembre 1990 : c’est la version publiée par Hyatt, celle de la fin de carrière du programme, qui tournait alors sur les Cray Y-MP. Son successeur direct est Crafty, du même auteur, mesuré sur la même machine ARM9.

Ce Fortran de supercalculateur a été compilé pour trois processeurs qu’il n’a jamais connus, et chargé en cartouche dans quatre machines dédiées virtuelles. Ce sont des sœurs des machines 68020, 68040 et ARM9 décrites dans Stockfish 11 & Fruit 2.1 : 68020, 68040 & ARM : un processeur, de la mémoire, une horloge en millisecondes et un port série pour parler au monde ; pas de système d’exploitation, pas de disque, pas d’écran. Le programme démarre « à nu », comme le ferait le logiciel d’un Mephisto ou d’un Fidelity.

  • ARM9 à 30 MHz (ARMv5TE), émulé par MAME, bridé au temps réel : la machine réfléchit exactement comme le ferait le matériel. 30 MHz est la fréquence du TASC R30 de 1993, valeur d’époque pour une machine dédiée.
  • 486DX à 33 MHz, Pentium à 90 MHz et ARM9 à 300 MHz, émulés par QEMU. MAME interprète ces processeurs instruction par instruction et ne tient pas le temps réel au-delà de quelques dizaines de mégahertz ; QEMU traduit le code et va bien plus vite. Son horloge virtuelle avance d’un pas fixe par instruction exécutée, et ce temps est ramené à celui du vrai processeur par une échelle étalonnée contre la machine MAME, sur les mêmes recherches. Le relais retient ensuite le coup jusqu’à ce que le temps réel écoulé soit celui du matériel : la pendule est débitée comme sur une vraie machine.

Cray Blitz ne parle pas UCI : c’est un programme de console qui pose des questions à un opérateur. Un relais Python y répond, lui pose la position, lui transmet le coup adverse et lui fixe un temps par coup ; il traduit ses coups en notation UCI pour cutechess. Deux traits du programme d’origine ont été conservés : il ne peut pas être interrompu, le coup arrive quand il a fini ; et, comme sur le Cray, il s’autorise à dépasser le temps accordé pour ne pas perdre de matériel. Le relais en tient compte dans le temps qu’il lui donne. Son livre d’ouvertures est celui de Cray Blitz, 68 679 positions, d’où les 1.b3 et les 1…b6 que l’on va voir.

MAME et QEMU donnent le même 486
Les tests BT-2450 et BT-2630 ont été passés sur le 486DX 33 MHz émulé par MAME et sur celui émulé par QEMU : 2008 et 2075 pour l’un, 2007 et 2074 pour l’autre, avec les mêmes positions résolues (18 et 14 sur 30). L’étalonnage de l’horloge virtuelle tient : les deux machines résolvent les mêmes positions dans les mêmes temps.

Le résultat

Quatre gauntlets selon la règle habituelle du laboratoire : une échelle d’adversaires à cote fixe, dix parties par marche, arrêt quand l’échelle est perdue, puis un complément contre les adversaires du milieu de l’échelle. Cadence 60 coups en 15 minutes, 15 secondes par coup en pratique. Les cotes sont celles de la liste Performance Elo, recalculées par Ordo avec toutes les parties du laboratoire.

Machine Émulation Parties Score Elo labo BT-2450 BT-2630 Prof.
Cray Blitz 49h ARM9 300 MHz QEMU 160 82,5 · 52 % 2034 2174 · 24/30 2219 · 18/30 6,5
Cray Blitz 49h Pentium 90 MHz QEMU 250 158 · 63 % 2022 2028 · 17/29 2090 · 13/29 5,7
Cray Blitz 49h 486DX 33 MHz QEMU 208 117 · 56 % 1869 2007 · 18/30 2074 · 14/30 4,9
Cray Blitz 49h ARM9 30 MHz MAME 226 126 · 56 % 1861 2009 · 18/30 2076 · 14/30 4,8
Cray Blitz 49h, PC 1 thread Ryzen 9 7950X3D 105 84 · 80 % 2544 · · ·

Elo labo : liste Performance Elo du 20 octobre 2026. BT : tests BT-2450 et BT-2630 du laboratoire, 15 minutes par position, avec le nombre de positions résolues (le Pentium a sauté une position). Prof. : profondeur moyenne annoncée par le programme sur ses coups de plus de 8 secondes. La version compilée pour le PC est donnée pour mémoire : ses conditions d’exécution n’ont jamais été stabilisées et le laboratoire ne la juge pas fiable ; elle est écartée de toutes les comparaisons qui suivent.

Deux groupes, nets. Le 486 à 33 MHz et l’ARM9 à 30 MHz jouent à huit points l’un de l’autre, et résolvent les tests BT à deux points près : pour Cray Blitz, ces deux processeurs sont la même machine. Le Pentium 90 et l’ARM9 à 300 MHz sont à douze points l’un de l’autre, 160 points plus haut. À l’intérieur de chaque groupe, l’écart est bien en dessous de l’incertitude des mesures (une vingtaine de points à 1 σ sur 150 à 250 parties).

La profondeur suit : 4,8 à 4,9 demi-coups en moyenne sur les machines lentes, 5,7 sur le Pentium, 6,5 sur l’ARM9 rapide. Cray Blitz n’itère pas finement : à 15 secondes il termine sa profondeur 5 ou sa profondeur 6, et c’est le passage de l’une à l’autre, plus que les nœuds par seconde, qui fait les 160 points. Le programme utilise sa pendule avec régularité : 14,2 à 14,6 secondes par coup en moyenne, 7 % des coups au-delà de 20 secondes (le dépassement autorisé quand une pièce est en jeu), et aucune partie perdue au temps en 844 parties.

Parties en double
Cray Blitz et ses adversaires sont déterministes, et le livre de Cray Blitz ne tire pas au sort : quand la même ligne d’ouverture revient contre le même adversaire, la partie entière se répète. Sur les quatre gauntlets, 229 des 844 parties sont la copie exacte d’une autre (56 sur 208 pour le 486, 58 sur 226 pour l’ARM9 30 MHz, 87 sur 250 pour le Pentium, 28 sur 160 pour l’ARM9 300 MHz). Ordo les compte toutes, comme pour les machines CB-Emu de la liste, qui ont le même travers. L’échantillon utile est donc d’environ 615 parties distinctes, et les scores contre un adversaire donné (dix parties, souvent trois ou quatre lignes différentes) ne veulent pas dire grand-chose pris un par un.

Ce que valent les processeurs, vus par Cray Blitz

C’est le véritable objet de ces quatre gauntlets. Un même programme sur plusieurs machines sépare la force du programme de celle du matériel. Avec le 486DX 33 MHz comme origine :

ARM9 30 MHz
MAME · 226 p.
1861
486DX 33 MHz
QEMU · 208 p. · origine
1869
Pentium 90 MHz
QEMU · 250 p. · +153
2022
ARM9 300 MHz
QEMU · 160 p. · +165
2034

Cotes de la liste Performance Elo du 20 octobre 2026. L’échelle commence à 1700.

  • Pentium 90 contre 486DX 33 : +153. Les douze programmes DOS mesurés sur les deux machines (Rebel, Fritz, Chess Genius et MChess) donnent +165 en moyenne, de +43 pour MChess Pro 6 à +240 pour Rebel 6. Cray Blitz est dans la moyenne : le passage de génération x86 lui profite comme aux autres.
  • ARM9 300 contre ARM9 30 : +173 pour dix fois l’horloge, soit 52 points par doublement de vitesse. C’est un peu moins que les 60 à 70 points par doublement observés sur les machines dédiées accélérées du laboratoire. Les tests BT disent la même chose : +165 et +143 points BT entre les deux fréquences.
  • ARM9 30 MHz contre 486DX 33 : −8. Rien. À fréquence égale, Cray Blitz ne fait aucune différence entre le RISC de 1997 et le CISC de 1989.

Ce dernier point est celui qui compte, parce qu’un autre programme dit le contraire. Stockfish 11, sur les mêmes machines : 2695 sur le 486DX 33 MHz, 2829 sur l’ARM9 à 30 MHz, soit +134 pour l’ARM. Pour Stockfish, l’ARM9 à 30 MHz vaut presque un Pentium 90 ; pour Cray Blitz, il vaut un 486. Le gain d’un processeur n’est pas une propriété du processeur : c’est une propriété du couple programme-processeur.

Une hypothèse, à vérifier avec le profileur du pilote MAME : Stockfish passe son temps dans des bitboards 64 bits qu’il manipule par multiplications (les magic bitboards) et par recherche du premier bit ; l’ARM9 a une multiplication 32×32→64 en quelques cycles et une instruction CLZ, là où le 486 multiplie en treize cycles et plus et cherche un bit lentement. Cray Blitz, écrit pour un Cray, manipule aussi des mots de 64 bits, mais à la manière de 1980 : sans multiplication magique, avec des tables et des décalages que le compilateur Fortran traduit à peu près de la même façon pour les deux processeurs. Le code Fortran, de surcroît, passe par un compilateur dont la génération ARM n’a pas été réglée pour lui. Rien de tout cela n’est prouvé ; c’est l’objet d’un article à venir.

État du classement des plateformes

En réunissant tous les programmes mesurés sur au moins deux machines (les douze programmes DOS, Fruit 2.1, Stockfish 11, Rebel 6 natif et Cray Blitz), un ajustement par moindres carrés donne à chaque plateforme un bonus, le 486DX 33 MHz servant d’origine. Les quatre cotes de Cray Blitz entrent dans ce calcul ; c’est lui, pour l’instant, le seul pont vers l’ARM9 à 300 MHz.

Plateforme Bonus vs 486DX 33 Programmes qui la relient
68020 à 16 MHz −342 Fruit 2.1, Stockfish 11
68040 à 40 MHz −153 Fruit 2.1, Stockfish 11
486DX à 33 MHz 0 douze programmes DOS, Cray Blitz, Stockfish 11
ARM9 à 30 MHz +19 Cray Blitz, Fruit 2.1, Stockfish 11
Pentium à 90 MHz +165 douze programmes DOS, Cray Blitz
ARM9 à 300 MHz +178 Cray Blitz seul
PC Ryzen, 1 thread +465 Fruit 2.1, Rebel 6

Moindres carrés pondérés sur 37 cotes de 15 programmes, liste du 20 octobre 2026. Les résidus les plus forts sont justement ceux de l’ARM9 à 30 MHz : Stockfish y fait +78 de mieux que le modèle, Fruit −64. Les gauntlets de Stockfish 11 sur Pentium 90 et sur ARM9 300 MHz, en cours, donneront un second pont pour ces deux plateformes.

La partie remarquable : deux tours pour un roi

Mephisto Nigel Short – Cray Blitz 49h ARM9 300 MHz · gauntlet du 18 octobre 2026 · anglaise, 1…b6 · 0-1 en 38 coups

Le Mephisto Nigel Short (Ed Schröder, 1993) est coté 1956, à peu près le niveau de Cray Blitz sur le Pentium ; sur l’ARM9 à 300 MHz, Cray Blitz lui a pris les dix parties. Celle-ci est la plus courte et la plus brutale. Elle est aussi la plus instructive sur la manière de jouer du programme : une ouverture de livre douteuse, vingt coups de résistance passive pendant que le Mephisto s’installe, puis, dès que l’adversaire relâche la pression, une combinaison à deux sacrifices de tour que Cray Blitz calcule jusqu’au mat en quelques secondes. Les évaluations entre crochets sont celles de Stockfish 16 à 600 000 nœuds par coup ; les évaluations « annoncées » sont celles des deux programmes pendant la partie.

1.c4 b6 2.Cc3 Cc6 3.d4 e6 4.e4 Cge7 5.Cf3 f5 ?! Le livre de Cray Blitz, puis ses premiers coups à lui : les Noirs ont deux cavaliers mal placés et ouvrent la diagonale de leur roi [+3,0]. 6.Fg5 Le Mephisto, à profondeur 2 annoncée, ne trouve pas 6.d5 et laisse filer la moitié de l’avantage [+1,1]. 6…fxe4 7.Cxe4 h6 8.Fh4 Fb7 9.Fd3 Dc8 10.Ce5 Cxe5 11.dxe5 h5 12.O-O Cf5 13.Fg5 Fe7 14.Fxe7 Cxe7 15.f4 Cf5 16.Dd2 Fc6 17.b4 h4 18.a4 O-O 19.Cg5 De8 20.Tfd1 Td8 21.a5 De7 22.axb6 axb6 23.Ta7 d6 24.b5 Fe8 Les Blancs ont tout : la septième rangée, le pion e5 qui étouffe, un cavalier en g5, le fou d3 qui vise f5 [+3,1]. Cray Blitz annonce −0,89 et attend.

a8b7c6d5e4f3g2h1
Après 24…Fe8. Les Blancs dominent [+3,1] ; 25.Fxf5 gardait tout.
a8b7c6d5e4f3g2h1
Après 29.Txc7. Matériel égal, mais le pion f4 va avancer et tout bascule [−7,1].

25.Tda1 ? Le Mephisto double les tours sur la colonne a au lieu de prendre en f5, et l’avantage passe aux Noirs d’un seul coup [−1,2] : le centre blanc tombe. 25…dxe5 26.De2 exf4 27.Fxf5 Dxg5 28.Fxe6+ Rh8 29.Txc7 ?? Un pion de plus, et la perte de la partie [−7,1]. Il fallait 29.Dg4 pour contenir le pion f. 29…f3 ! Cray Blitz passe de −0,67 à +2,62 annoncés : il a vu. 30.Df1 Td2 ! La tour entre sur la deuxième rangée [−9,7]. 31.g3

a8b7c6d5e4f3g2h1
Cray Blitz vient de jouer 31…Txh2 : mat forcé en neuf coups [#−9].
a8b7c6d5e4f3g2h1
La position finale, 38…Df2 mat. Le roi blanc a parcouru h2, h3, g2, f1, e1, f1.

31…Txh2 !! Première tour. Cray Blitz l’annonce avec +3,70 à profondeur 4 : il ne voit pas encore le mat, il voit un roi nu. Stockfish 16 donne le mat en neuf. 32.Rxh2 hxg3+ [#−8] Cray Blitz annonce maintenant +9,57. 33.Rh3 Tf4 ! La deuxième tour vient prendre part, et le programme annonce le mat : +300 à profondeur 3, en 1,3 seconde. 34.Dxf3 Dh4+ 35.Rg2 Dh2+ 36.Rf1 Txf3+ 37.Re1 Tf1+ ! Deuxième sacrifice de tour, pour attirer le roi sur la case du mat. 38.Rxf1 Df2 mat.

Cette partie dit l’essentiel de ce qu’est Cray Blitz à 15 secondes par coup sur ces machines : un programme qui ne comprend pas grand-chose à la position tant que rien ne bouge, et qui calcule très juste dès qu’il y a quelque chose à calculer. Les 25 premiers coups sont ceux d’un joueur de 1800 ; les treize derniers, ceux d’un programme de championnat du monde.

Les adversaires

Les quatre échelles n’ont pas les mêmes marches : les deux machines lentes sont parties plus bas et se sont arrêtées plus tôt. Le tableau donne, pour chaque adversaire, le score de Cray Blitz sur chacune des quatre machines.

Adversaire Elo 486DX 33 ARM9 30 Pentium 90 ARM9 300
Rebel 6 486DX 33MHz 2206 · · · 1,5/10 · 15 %
MChess 1.71 486DX 33MHz 2198 · · · 1,5/10 · 15 %
Saitek RISC 2500 v1.04 2182 · · 3/10 · 30 % ·
Saitek Sparc (rev.518) 2175 · · 1/10 · 10 % 0,5/10 · 5 %
Fidelity Elite Avantgarde V9 2125 · · 0/10 · 0 % 3,5/10 · 35 %
Mephisto Berlin 68000 v0.03 2124 · · 5,5/10 · 55 % 2/10 · 20 %
Novag Sapphire 2106 · · 5,5/10 · 55 % 2,5/10 · 25 %
Fidelity Designer Mach IV 2091 · 0/6 · 0 % 0/10 · 0 % 2,5/10 · 25 %
Fidelity Designer Mach III 2029 0/8 · 0 % 1/10 · 10 % 4/10 · 40 % 9/10 · 90 %
Novag Zircon II 1968 2,5/10 · 25 % 3/10 · 30 % 5,5/10 · 55 % 5/10 · 50 %
Mephisto Mondial 68000 XL 1966 0/10 · 0 % 1,5/10 · 15 % 9,5/10 · 95 % 3,5/10 · 35 %
Mephisto Nigel Short 1956 4/10 · 40 % 3/10 · 30 % 4,5/10 · 45 % 10/10 · 100 %
Saitek Maestro D++ 1922 1,5/10 · 15 % 0/10 · 0 % 6/10 · 60 % 7,5/10 · 75 %
Novag Super Expert C v3.6 1882 6/10 · 60 % 2,5/10 · 25 % 7,5/10 · 75 % 7,5/10 · 75 %
Saitek President 1877 10/10 · 100 % 9/10 · 90 % 9,5/10 · 95 % 10/10 · 100 %
Novag Super Forte C v3.6 1872 7,5/10 · 75 % 4/10 · 40 % 9/10 · 90 % 6,5/10 · 65 %
Saitek Corona II (ver. D+) 1856 5,5/10 · 55 % 6/10 · 60 % 6,5/10 · 65 % 9,5/10 · 95 %
Mephisto Modena (set 3) 1834 3,5/10 · 35 % 6/10 · 60 % 9/10 · 90 % ·
Mephisto MM V (v5.1) 1824 6/10 · 60 % 8/10 · 80 % 7/10 · 70 % ·
Saitek Turbo King II (D+) 1816 2,5/10 · 25 % 6,5/10 · 65 % 9/10 · 90 % ·
Novag Constellation Forte A 1803 6/10 · 60 % 5,5/10 · 55 % 3/10 · 30 % ·
Mephisto MM IV (v7.10) 1790 7/10 · 70 % 7/10 · 70 % 9/10 · 90 % ·
Fidelity Designer 2100 1775 8/10 · 80 % 9/10 · 90 % 9/10 · 90 % ·
Saitek Simultano (ver. B) 1749 7,5/10 · 75 % 6/10 · 60 % 9,5/10 · 95 % ·
Fidelity Par Excellence (B) 1727 8/10 · 80 % 7,5/10 · 75 % 9,5/10 · 95 % ·
Saitek Prisma 1724 6,5/10 · 65 % 8,5/10 · 85 % 8/10 · 80 % ·
Fidelity Designer 2000 1672 9,5/10 · 95 % 10/10 · 100 % 8/10 · 80 % ·
Novag Super VIP v3.7 1640 7,5/10 · 75 % 7/10 · 70 % · ·
Tandy Chess Champion 2150 1577 8/10 · 80 % 8/10 · 80 % · ·
Saitek Turbo 16K 1437 · 7/10 · 70 % · ·

Cotes des adversaires : liste Performance Elo du 20 octobre 2026. Les séries de plus de dix parties viennent du complément. Les écarts d’un adversaire à l’autre entre le Pentium et l’ARM9 300 MHz (Mondial 68000 XL 9,5/10 contre 3,5/10, Nigel Short 4,5/10 contre 10/10) montrent ce que valent dix parties avec des doublons : rien de plus qu’un ordre de grandeur. Les totaux, eux, concordent.

Ce qu’il reste à faire

  • Stockfish 11 sur Pentium 90 et sur ARM9 300 MHz, dans la file des gauntlets : un second programme sur les quatre mêmes machines, et l’article sur le classement des plateformes.
  • Cray Blitz à 300 MHz contre Crafty à 30 MHz : les deux programmes de Hyatt sont désormais tous deux mesurés sur l’ARM9 ; Crafty à 30 MHz (2221) rend 187 points à son aîné à 300 MHz, et en prend 360 à horloge égale.
  • Passer le profileur du pilote MAME sur Cray Blitz et sur Stockfish, à 30 MHz, pour savoir où va le temps de chacun et vérifier l’hypothèse des multiplications.

Sources

chess.lumn.eu · laboratoire de calibration · 20 octobre 2026