Cray Blitz : L'Héritage échiquéen sur PC
L'Épopée de Cray Blitz
L'histoire de Cray Blitz est indissociable de la quête de la puissance brute. Né de la collaboration entre Robert Hyatt, professeur d'informatique à l'Université d'Alabama à Birmingham (UAB), Harry Nelson du Lawrence Livermore National Laboratory, et Albert Gower, ce programme n'était pas seulement un algorithme d'échecs — c'était un banc d'essai vivant pour le calcul massivement parallèle, financé en creux par les institutions scientifiques les plus puissantes des États-Unis.
Initialement développé sous le nom de Blitz en Fortran pour les architectures Data General, le programme prend sa véritable dimension lors de son portage sur les supercalculateurs de Seymour Cray. C'est cet accès privilégié — et parfois officieux — aux machines du gouvernement américain qui permettra à Cray Blitz de dominer une décennie entière de compétition mondiale.
Les hommes derrière la machine
Robert Hyatt est le moteur intellectuel du projet. Enseignant-chercheur à l'UAB, il bénéficie de connexions institutionnelles lui donnant accès aux Cray du National Center for Atmospheric Research (NCAR) et d'autres centres de calcul fédéraux. Son génie est double : algorithmique d'abord, avec des innovations comme le YBWC (Young Brothers Wait Concept), mais aussi pratique — il sait exploiter chaque microseconde d'un processeur vectoriel avec une maîtrise de l'assembleur CAL qui force l'admiration de ses contemporains.
Harry Nelson apporte la rigueur du laboratoire national. Physicien habitué aux simulations nucléaires tournant sur ces mêmes Cray, il comprend instinctivement les architectures parallèles et contribue de façon décisive à l'implémentation du parallélisme dans les versions 4.x. Albert Gower, moins documenté dans la littérature, contribue aux premières versions et à la fonction d'évaluation initiale.
L'innovation algorithmique : le YBWC
Sur le plan logiciel, l'évolution fut radicale. Pour exploiter pleinement le Cray-1, Hyatt réécrit les segments critiques en Cray Assembly Language (CAL), tirant parti des registres 64 bits et de l'unité vectorielle du processeur — une architecture conçue pour les calculs météorologiques, pas pour les échecs, mais que Hyatt plie à sa volonté avec un talent rare.
L'innovation majeure réside dans l'algorithme YBWC (Young Brothers Wait Concept), permettant de diviser l'arbre de recherche Alpha-Bêta sur plusieurs processeurs. Le principe : dans un arbre de recherche, le premier nœud fils ("frère aîné") est traité immédiatement et en priorité ; les nœuds suivants ("frères cadets") attendent que leur aîné ait produit une borne avant de lancer leur propre recherche parallèle. Cette synchronisation évite que les processeurs parallèles ne gaspillent des cycles sur des branches que l'élagage Alpha-Bêta aurait de toute façon coupées — une prouesse d'ingénierie pour l'époque.
Le palmarès en compétition
| Année / Tournoi | Machine de Combat | Résultat / Performance |
|---|---|---|
| 1981 – ACM North American | Cray-1 | Victoire, s'impose face aux programmes sur micro-ordinateurs |
| 1983 – WCCC New York | Cray X-MP/4 | Champion du Monde – premier titre mondial |
| 1984 – ACM North American | Cray X-MP/48 | 1re place (score parfait) |
| 1986 – WCCC Cologne | Cray X-MP/416 | Champion du Monde – conserve son titre |
| 1989 – WCCC Edmonton | Cray Y-MP | Dépassé par Deep Thought – début du déclin face aux puces VLSI |
| 1994 – Dernière compétition | Cray C90 | Retraite progressive, Hyatt travaille déjà sur Crafty |
La victoire de 1983 : contexte et vérité historique
La victoire au WCCC 1983 de New York est souvent racontée de façon simplifiée. Belle, la machine spécialisée d'AT&T Bell Labs conçue par Ken Thompson et Joe Condon, était le tenant du titre depuis 1980. Belle reposait sur du matériel dédié aux échecs — des puces spécialisées dans la génération de coups — et non sur un supercalculateur généraliste. Face à elle, Cray Blitz incarnait l'approche opposée : un logiciel sophistiqué tournant sur une machine de calcul scientifique.
La victoire de Cray Blitz fut acquise sur le terrain du jeu pur, non sur un incident technique. Elle marqua un tournant philosophique majeur : le triomphe de l'intelligence logicielle sur un supercalculateur polyvalent face à l'optimisation matérielle dédiée. Ce débat — matériel spécialisé contre logiciel universel — traversera toute l'histoire du jeu d'échecs informatique jusqu'à Deep Blue.
Le déclin face à Deep Thought (1989)
Le WCCC 1989 d'Edmonton constitue le moment charnière. Deep Thought, le programme d'Hsu Feng-hsiung développé à Carnegie Mellon University, fait son entrée sur la scène mondiale avec ses puces VLSI spécialisées capables d'évaluer des centaines de millions de positions par seconde. Cray Blitz, malgré ses 8 processeurs Y-MP, est surpassé. La suprématie des supercalculateurs vectoriels sur les puces dédiées aux échecs atteint sa limite physique.
Hyatt tire les conséquences : les supercalculateurs Cray, aussi puissants soient-ils, ne peuvent rivaliser sur le long terme avec du matériel conçu spécifiquement pour calculer des positions d'échecs. C'est cette lucidité qui le pousse à entreprendre, parallèlement, l'écriture d'un nouveau programme — portable, élégant, open-source — qui deviendra Crafty.
Bien que finalement surpassé par les puces dédiées de Deep Thought puis de Deep Blue, l'héritage de Cray Blitz perdure à travers Crafty, dont la fonction d'évaluation hérite directement de la version 49h. Ce fil génétique invisible relie les supercalculateurs des années 1980 aux moteurs open-source qui ont défini les standards de la programmation d'échecs pour deux décennies.
De l'assembleur CAL au parallélisme moderne — Une étude pour l'Arène Valter
Généalogie de Cray Blitz
L'évolution de Cray Blitz s'étend sur près de deux décennies de recherche intensive, marquant chaque étape clé de l'histoire du calcul de haute performance. L'analyse des versions successives révèle une adaptation constante aux limites matérielles de chaque époque, passant des mini-ordinateurs Data General aux supercalculateurs multiprocesseurs de Cray Research, avant de se conclure par un portage communautaire UCI qui lui offre une seconde vie sur les processeurs modernes.
Le moteur d'origine, simplement nommé Blitz, est écrit en Fortran pour les architectures Data General — des mini-ordinateurs de bureau qui représentaient alors l'état de l'art du calcul universitaire. Robert Hyatt, jeune chercheur à l'Université d'Alabama à Birmingham (UAB), développe le programme comme objet de recherche autant que comme compétiteur sportif. Cette période sert de laboratoire pour les premières implémentations de l'élagage Alpha-Bêta et définit les fondements de la fonction d'évaluation qui fera la renommée du programme pendant quinze ans.
Dès 1975, Blitz participe aux championnats ACM (Association for Computing Machinery) — le tournoi annuel nord-américain qui constitue à l'époque la principale arène de compétition. Les premiers résultats sont modestes mais les progrès rapides : Hyatt affine à chaque tournoi la sélectivité de sa recherche et la précision de son évaluation positionnelle.
Cette phase correspond au portage critique sur Cray-1. L'accès au supercalculateur est rendu possible par les relations institutionnelles de Harry Nelson avec le Lawrence Livermore National Laboratory et de Hyatt avec le National Center for Atmospheric Research (NCAR). Le code subit une réécriture partielle en Cray Assembly Language (CAL), un langage de bas niveau spécifique à l'architecture vectorielle Cray, permettant d'exploiter directement les registres 64 bits et l'unité de traitement vectoriel — conçue pour les prévisions météorologiques, mais que Hyatt détourne brillamment pour les calculs d'échecs.
Cette optimisation vectorielle conduit au titre de champion du monde au WCCC 1983 à New York, où Cray Blitz détrône Belle, la machine spécialisée d'AT&T Bell Labs. Belle reposait sur des puces dédiées conçues par Ken Thompson et Joe Condon — une approche matérielle radicalement différente. La victoire de Cray Blitz sur Belle sur le terrain du jeu pur, sans incident technique, marque le triomphe de l'intelligence logicielle sur supercalculateur généraliste face à l'optimisation matérielle dédiée.
La série 4.x marque l'introduction du vrai multiprocesseur. La version 4.0 implémente l'algorithme Young Brothers Wait Concept (YBWC), conçu par Hyatt et Nelson pour paralléliser la recherche Alpha-Bêta sans gaspillage de cycles. Le principe : le premier fils dans l'arbre de recherche est traité en priorité ; ses "frères cadets" attendent sa borne avant de lancer leur propre calcul en parallèle. Sur un Cray X-MP à 4 processeurs, cette stratégie multiplie la profondeur effective de recherche de façon significative.
La version 4.4, pilier de cette ère, permet de conserver le titre mondial à Cologne en 1986 grâce notamment à une gestion optimisée des tables de transposition adaptée aux contraintes mémoire spécifiques du Cray X-MP/416. C'est la version que l'on associe au summum de la puissance "classique" de Cray Blitz.
Le WCCC 1989 d'Edmonton marque cependant la fin de la suprématie. Deep Thought, le programme d'Hsu Feng-hsiung de Carnegie Mellon, présente ses puces VLSI spécialisées capables d'évaluer des centaines de millions de positions par seconde. Cray Blitz, avec son Y-MP à 8 processeurs, est dépassé pour la première fois depuis 1983. La limite des supercalculateurs généralistes face aux puces dédiées aux échecs est atteinte.
Les dernières versions de la série, de 4.5 à 4.9, représentent l'optimisation ultime d'une architecture arrivée à maturité. Hyatt les développe en sachant déjà qu'il travaille en parallèle sur un successeur fondamentalement différent : Crafty, conçu pour être portable, élégant, écrit en C standard — l'exact opposé du code CAL spécialisé de Cray Blitz. Cette coexistence temporaire des deux projets explique les choix conservateurs des dernières versions : Hyatt consolide plutôt qu'il n'innove, préservant la stabilité du programme de compétition.
La version 49h représente l'aboutissement technique de la lignée Cray Blitz avant la transition complète vers Crafty. Elle cristallise l'intégralité des connaissances accumulées pendant vingt ans de développement. Son importance historique dépasse son usage compétitif : c'est cette version dont la fonction d'évaluation a été directement héritée par les premières versions de Crafty, créant un fil génétique invisible mais décisif entre les supercalculateurs des années 1980 et le moteur open-source le plus influent des années 1990-2000.
Le portage UCI moderne repose sur cette itération, traduite du Fortran et de l'assembleur CAL vers un C standard, conservant l'intégrité algorithmique originale tout en permettant une exécution native sur les architectures x86 et ARM contemporaines.
| Version | Innovation Majeure | Support Matériel | Contexte compétitif |
|---|---|---|---|
| Blitz (1975-1980) | Fondations Alpha-Bêta en Fortran | Data General | Participations ACM, base de recherche |
| CB 1.0 – 3.0 | Optimisation assembleur CAL, registres 64 bits | Cray-1 (vectoriel) | Champion du Monde WCCC 1983 |
| CB 4.0 – 4.4 | Algorithme parallèle YBWC | Cray X-MP (multiprocesseur) | Champion du Monde WCCC 1986 |
| CB 4.5 – 4.8 | Optimisation tables de transposition, gestion mémoire | Cray Y-MP, C90 | Dépassé par Deep Thought (1989), retraite progressive |
| CB 49h (UCI) | Synthèse finale, portage C — héritée par Crafty | Ryzen 9 / PC modernes | Lien vivant entre l'ère Cray et l'open-source |
La version 49h est considérée comme le "chant du cygne" de l'époque Cray. Elle possède le moteur d'analyse le plus abouti de la lignée, tout en restant structurellement proche des versions ayant opéré sur les systèmes C90. Son utilisation dans les tests actuels permet d'établir un lien direct entre l'ingénierie des supercalculateurs d'État et les capacités des processeurs grand public — une machine à remonter le temps algorithmique.
Focus sur l'itération 49h — Référence pour l'étalonnage Elo · Arène Valter
Chroniques de l'Ère Vectorielle
L'histoire de Cray Blitz ne se résume pas à des lignes de code et des millions de nœuds par seconde. Derrière la froideur du silicium des supercalculateurs se cachent des épisodes humains — parfois cocasses, parfois émouvants — qui témoignent de la complexité et de l'audace de la compétition à cette époque. Une compétition qui se jouait autant dans les salles des machines gouvernementales que dans les salles de tournoi.
Lors du championnat du monde à New York, Cray Blitz affronte Belle, le tenant du titre depuis 1980. Belle est une machine spécialisée conçue par Ken Thompson et Joe Condon aux Bell Labs d'AT&T — des puces dédiées à la génération de coups d'échecs, capables d'évaluer environ 160 000 positions par seconde. Cray Blitz, lui, est un pur logiciel tournant sur un ordinateur scientifique généraliste.
La victoire de Cray Blitz fut acquise sur le terrain du jeu pur. Elle déclenche une polémique philosophique qui court encore : la puissance logicielle sur supercalculateur est-elle plus "légitime" que la puissance matérielle dédiée ? Deep Blue, une décennie plus tard, tranchera définitivement en faveur du matériel spécialisé — mais en 1983, c'est Hyatt et son Fortran-CAL qui l'emportent.
À l'époque, une heure de calcul sur un supercalculateur Cray coûtait plusieurs milliers de dollars. Robert Hyatt et ses collègues utilisaient les machines du National Center for Atmospheric Research (NCAR) au Colorado et d'autres institutions gouvernementales — souvent la nuit, dans les créneaux que les simulations météorologiques et les calculs nucléaires laissaient libres.
La situation était à la fois précaire et fascinante : un programme d'échecs compétitif se glissait dans les interstices du temps de calcul national américain. Il se dit que certaines sessions de préparation aux tournois ont failli être interrompues en urgence parce qu'une simulation prioritaire — prévision de tempête majeure, calcul balistique — nécessitait de réquisitionner immédiatement les processeurs. Le titre mondial de 1983 a peut-être été préparé entre deux modélisations de l'atmosphère.
En 1968, l'Écossais David Levy — joueur d'échecs de bon niveau (environ 2200 Elo, titre de Maître International honorifique par ses écrits, mais pas en tant que joueur compétitif) et journaliste spécialisé dans les échecs informatiques — fait un pari célèbre : aucun ordinateur ne le battra aux échecs dans les dix ans. Il gagne son pari en 1978, battant Chess 4.7 du Northwestern University, alors le meilleur programme du monde. Puis il le gagne à nouveau, en 1979, contre Cray Blitz lui-même.
La défaite vient en 1989, mais pas contre Cray Blitz : c'est Deep Thought qui bat finalement Levy dans un match officiel. Levy reconnaîtra plus tard avoir sous-estimé la vitesse de progression des programmes. Cray Blitz, pour sa part, avait bien battu Levy lors de parties informelles ou de tournois ouverts dans les années 1980 — symbolisant que la barre humaine des 2200 Elo était désormais franchie en routine par les supercalculateurs — sans que cela constitue une défaite officielle au sens du pari.
Le WCCC 1989 d'Edmonton est le moment où Cray Blitz comprend que son temps est compté. Deep Thought se présente avec ses puces VLSI spécialisées, conçues par Hsu Feng-hsiung à Carnegie Mellon University, capables d'évaluer des centaines de millions de positions par seconde — soit cent à mille fois plus vite que Cray Blitz sur son Y-MP à 8 processeurs.
La défaite est nette. Hyatt n'en minimise pas la signification : les supercalculateurs généralistes, aussi impressionnants soient-ils, ne peuvent plus suivre le rythme d'une puce conçue spécifiquement pour les échecs. La course à la puissance brute est perdue d'avance. C'est cette lucidité — rare dans la communauté des programmeurs de l'époque — qui pousse Hyatt à concevoir Crafty non pas comme un successeur musclé, mais comme un programme fondamentalement différent : portable, open-source, conçu pour vivre sur les PC du grand public.
L'anecdote technique la plus significative de la fin de l'histoire Cray Blitz concerne sa transformation en Crafty. Robert Hyatt a décrit l'écriture de Crafty comme une nécessité face à la rigidité croissante du code de Cray Blitz — un "monstre" de Fortran et d'assembleur CAL dont la maintenance devenait cauchemardesque à mesure que les exigences évoluaient.
Crafty est conçu pour être "élégant et portable" — écrit en C standard, compilable sur n'importe quelle machine, sans une ligne d'assembleur. Mais il hérite directement de la fonction d'évaluation de la version 49h de Cray Blitz. C'est pourquoi Crafty s'est immédiatement imposé comme programme de référence dès sa sortie : il portait en lui vingt ans de raffinement algorithmique. La décision de Hyatt de publier Crafty en open-source à partir de 1994 transforme cet héritage en bien commun de toute la communauté des programmeurs d'échecs.
Un dernier fait marquant, souvent négligé : Robert Hyatt est avant tout un professeur d'université. À l'UAB, il enseigne l'informatique tout en développant ses programmes de jeu d'échecs. Cette double casquette explique sa décision de rendre Crafty open-source — une démarche académique naturelle, dans la tradition de la recherche universitaire américaine qui valorise le partage des connaissances.
Cray Blitz, dans ce contexte, n'était pas un produit commercial mais un objet de recherche. Aucune version n'a jamais été vendue. Aucun titre de champion du monde n'a généré de revenus. C'est cette posture — celle du chercheur désintéressé, qui utilise les ressources institutionnelles disponibles pour repousser les frontières du possible — qui distingue Hyatt de tous ses contemporains commerciaux et qui fait de son œuvre une contribution unique à l'histoire de l'intelligence artificielle.
Ces récits soulignent que la version 49h n'est pas seulement un moteur de recherche, mais le témoin d'une époque où l'on pouvait devenir champion du monde en utilisant les machines destinées à la recherche atomique pour jouer aux échecs — et où la générosité intellectuelle d'un professeur de Birmingham a semé les graines de toute la programmation d'échecs moderne.
De l'usage des supercalculateurs à la naissance de l'open-source moderne · Arène Valter
La Renaissance : Cray Blitz UCI
Longtemps resté prisonnier des archives et des émulateurs de supercalculateurs complexes, le code source de Cray Blitz a fait l'objet d'un projet de portage communautaire ambitieux. L'objectif, discuté passionnément sur les forums spécialisés, était de transformer ce programme "vectoriel" en un moteur compatible UCI (Universal Chess Interface), capable de s'exécuter nativement sous Windows ou Linux sans aucune couche d'émulation.
Le défi technique du portage
Le chantier fut considérable. Il s'agissait de traduire trois couches de code radicalement différentes : le Fortran des premières versions, l'assembleur CAL (Cray Assembly Language) des optimisations vectorielles, et la logique de parallélisme YBWC conçue pour une architecture multiprocesseur spécifique à Cray Research. Chacune de ces couches supposait des idiomes, des contraintes et des hypothèses matérielles entièrement différentes.
Le travail des porteurs a consisté à identifier, dans chaque couche, la logique algorithmique pure — indépendante du matériel — et à la transcrire en C standard. La difficulté principale n'était pas syntaxique mais sémantique : comprendre ce qu'une instruction CAL "voulait dire" en termes d'intention algorithmique, puis l'exprimer dans un C moderne sans en trahir l'esprit. Le résultat préserve l'intégrité de la fonction d'évaluation et de la logique de recherche originales.
Crafty vs. Cray Blitz UCI : deux héritages, deux esprits
Un point crucial mérite d'être précisé pour quiconque souhaite comprendre la généalogie de ces programmes. Crafty a été écrit par Robert Hyatt lui-même comme successeur voulu et assumé de Cray Blitz — une réécriture consciente, un changement de paradigme. La version UCI de Cray Blitz, elle, a été portée par la communauté, sans intervention directe de Hyatt dans ce travail spécifique.
Les deux programmes partagent une fonction d'évaluation génétiquement commune (celle de la version 49h), mais ils représentent des philosophies différentes. Crafty est tourné vers l'avenir : portable, modulaire, conçu pour évoluer. Cray Blitz UCI est tourné vers le passé : un conservatoire vivant de la pensée algorithmique des années 1980, dopé par la fréquence d'horloge du XXIe siècle.
Le gain de performance : un laboratoire temporel
Sur un processeur moderne, le moteur atteint des vitesses de calcul qui auraient paru miraculeuses à Hyatt en 1983. Cette surpuissance crée une opportunité expérimentale unique : en bridant délibérément le processeur — en limitant le nombre de nœuds par seconde à une valeur correspondant à un Cray-1 ou à un Cray X-MP — il devient possible de recréer les conditions de calcul des tournois historiques. L'intelligence algorithmique des années 1980, intacte, joue à la vitesse d'un Cray-1 ou d'un X-MP selon le réglage.
C'est grâce à cette version UCI que nous pouvons aujourd'hui, dans l'arène Valter, calibrer précisément sa force de frappe sur Ryzen 9. En isolant un thread et en limitant sa puissance, nous recréons un laboratoire temporel où le passé et le présent se mesurent enfin à armes comparables.
Dompter la légende dans Arena : protocole de configuration
Intégrer Cray Blitz UCI dans une interface moderne comme Arena requiert cependant une subtilité de configuration propre aux héritages logiciels complexes. Pour que le moteur utilise correctement sa bibliothèque d'ouvertures et se comporte de façon stable dans un contexte de tournoi, un protocole précis doit être suivi.
Voici la marche à suivre pour une intégration optimale dans Arena :
- Gestion du temps : Configurer le moteur pour une moyenne de 15 secondes par coup en mode Fixed Time — ce seuil garantit l'activation du book d'ouvertures.
- Mode tournoi : Déclarer Cray Blitz comme nouveau moteur UCI et lancer le tournoi en utilisant le contrôle "partie en x minutes" — pas le mode blitz ou bullet, qui désactive le book.
- Désactivation de l'adjudication : Étant donné l'incertitude sur la durée totale d'une partie, désactiver l'adjudication automatique par Arena. Cela permet aux moteurs de puiser, si nécessaire, au-delà du temps initialement alloué par la moyenne des 15 secondes sans être interrompus arbitrairement.
- Réinitialisation entre les parties : Activer l'option "Redémarrer le moteur après chaque partie" dans les paramètres d'Arena. Cette mesure garantit la virginité des tables de transposition et évite que des résidus de calcul d'une partie n'influencent les suivantes — un comportement documenté sur les moteurs à forte mémoire de transposition comme Cray Blitz.
- Limitation des threads : Pour simuler les conditions historiques, fixer le nombre de threads à 1 et ajuster le hash à une valeur correspondant à la mémoire disponible des Cray simulés (entre 16 et 256 Mo selon l'époque recréée).
C'est grâce à cette rigueur de paramétrage que l'arène Valter peut calibrer précisément la force de frappe du moteur sur Ryzen 9 — sans que le génie algorithmique de Cray Blitz ne soit ni bridé par une interface capricieuse, ni amplifié de façon anachronique par la puissance brute du processeur moderne. Le passé joue enfin dans des conditions qui lui ressemblent.
Configuration optimisée pour Arena — Épreuve de vérité sur architecture Ryzen 9 · Arène Valter
