Où vont les supercalculateurs ? D’où on vient, quels sont les problèmes, où l’on va (1re partie)

Posté par  . Édité par Davy Defaud, Ontologia, Thomas Debesse, Nÿco, patrick_g, Benoît, Yala, Benoît Sibaud et palm123. Modéré par Nÿco. Licence CC By‑SA.
121
5
juil.
2013
Technologie

Il y a un bail, j’avais dit que je voulais un jour parler des architectures haute performance, et de leur potentiel futur. Je me lance donc ici, en espérant que certains se permettront de me corriger là où j’aurai fait des erreurs (sans doute nombreuses).

Je vais diviser ces explications en trois parties. La première (qui suit juste après) va juste faire un rappel sur les architectures « séquentielles » de base. La deuxième partie (à venir très bientôt) s’occupera de décrire les systèmes multi‐processeurs et multi‐cœurs, ainsi que la raison de leur existence. J’en profiterai pour aussi expliquer les problèmes récurrents liés à l’exploitation de systèmes haute performance. La dernière partie parlera des efforts effectués en ce moment pour fabriquer les supercalculateurs du futur (disons à l’horizon 2020-2025).

2018, l’année de la libération des processeurs ?

Posté par  (site web personnel, Mastodon) . Édité par palm123, bubar🦥, Davy Defaud et Benoît Sibaud. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
71
23
déc.
2018
Matériel

2018 aura été l’année du RISC-V. Ce jeu d’instructions libre existait bien sûr avant 2018, puisqu’il a été créé en 2010, mais c’est véritablement en 2018 qu’il aura pris son envol.

Entendons‐nous bien, le RISC-V, pour Reduced Instructions Set Computing version V, n’est pas un microprocesseur. C’est une définition du jeu d’instructions ainsi que des registres internes du processeur. Bref, cela doit être vu comme une standardisation open‐source du langage d’un processeur. Libre aux fondeurs de développer leurs architectures de processeur compatible RISC-V. Il définit les instructions assembleur et leurs formats (codage) mais il ne définit pas le nombre d’étages de pipelines, comment est gérée la prédiction de branche ni le format de bus de données et d’instructions. Tout cela relève de l’implémentation.

Journal De Intel/Nvidia à AMD.

Posté par  . Licence CC By‑SA.
42
2
juin
2021

Hola 'nal,

Depuis quelques mois, j'ai mis fin à une relation de plus de 15 ans de trouple avec Intel et Nvidia. J'ai voulu voir si l'herbe était plus verte chez le voisin rouge… elle l'est.

Depuis que je suis en âge d'utiliser un ordinateur, toutes mes machines (x86) ont eu un CPU Intel avec un GPU Nvidia. Toutes sans exception jusqu'à il y a peu.

J'ai commencé avec un HP Pavillion dv9051ea équipé d'un surpuissant Intel Core 2 Duo (…)

Journal Free HardWare Designs : le site !

Posté par  (site web personnel) . Licence CC By‑SA.
33
13
sept.
2015

Vous avez probablement lu la tribune de rms de mars 2015 :
http://www.wired.com/2015/03/need-free-digital-hardware-designs

J'ai été étonné que rms sorte de sa torpeur à ce sujet, puisque la question est pressante depuis très, très longtemps, au point de susciter la création du projet F-CPU en 1998. L'ouverture du matériel remonte à encore plus loin, d'ailleurs, et trouve ses sources à l'émergence des logiciels… Ce qui explique d'ailleurs le vieux mantra "Il ne peut y avoir de Logiciel Libre sans Matériel Libre" (…)

Journal C'est quoi ce bordel dans les CPU.

Posté par  . Licence CC By‑SA.
32
13
jan.
2020

J'ai du monter un PC pour un proche qui souhaite changer de laptop pour un desktop, donc je suis allé voir mon revendeur Lyonnais du net , et j'ai débuté la tâche, et rien à dire mais le marché du processeur, c'est un vrai bordel. J'aété étonné moi avec mon vieil ivy bridge i3.
Le pire est qu'il a fallu lui expliquer que le i5/i7 n'était pas forcément meilleur qu'un i3, c qui importait était la génération (il voulait absolument (…)

Journal Silence ! Contrôler le bruit des ventilos du portable

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
31
16
juin
2020

J’aime les PC silencieux.

Du coup, les ventilos des PC sont rarement mes amis et je n’aime pas que mon ordi chauffe trop. Pour ça, en plus de systématiquement utiliser une meilleure pâte thermique, je garde toujours un œil sur sa température :

Ici, en haut à droite, affiché en vert dans le Panel de xfce : la température est de 47°. Dans le terminal à gauche, vous pouvez voir des infos plus précises ainsi que la vitesse des ventilos (…)

Journal OpenJDK 8, JEP 142 & False Sharing

Posté par  .
Étiquettes :
30
2
avr.
2014
Ce journal a été promu en dépêche : OpenJDK 8, JEP 142 & False Sharing.

Java 8 est sorti ce mois-ci; tu as même eu droit à une dépêche ici même qui parle des lambdas, la stream API etc.

Cependant derrière ces gros changements qui impactent le monde hétérogène des devs Java, il y a des petits changements qui eux servent plutôt aux devs qui font des briques de base, de l'infra ou du code qui va vite. Je te propose donc d'explorer quelques JDK Enhancement Proposals d'OpenJDK.

Pour ce premier journal, on commence avec (…)

Journal NaxRiscv, un CPU rapide open source

Posté par  (site web personnel) . Licence CC By‑SA.
28
4
jan.
2024

En parcourant le journal sur le 37C3, sur les conférences du Chaos Computer Club Allemand, je suis tombé sur la présentation d'un CPU open source, le NaxRiscv.

Pour ceux qui se souviennent, c'était le rêve d'un groupe d'illuminé autour du F-cpu dans les années 2000.

Le NaxRiscv est donc un CPU RISC-V out-of-order. Il exécute maximum 3 instructions à la volée ce qui permet d'être plus rapide qu'un ARM M4 à fréquence égale.

Ce CPU est écrit non pas (…)

Formation OpenCL en contribuant à GIMP

Posté par  (site web personnel, Mastodon) . Édité par Benoît Sibaud. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
27
1
fév.
2016
Technologie

L'encyclopédie Wikipédia introduit OpenCL ainsi:

OpenCL (Open Computing Language) est la combinaison d'une API et d'un langage de programmation dérivé du C, proposé comme un standard ouvert par le Khronos Group. OpenCL est conçu pour programmer des systèmes parallèles hétérogènes comprenant par exemple à la fois un CPU multi-cœur et un GPU. OpenCL propose donc un modèle de programmation se situant à l'intersection naissante entre le monde des CPU et des GPU, les premiers étant de plus en plus parallèles, les seconds étant de plus en plus programmables.

Il s'agit donc d'une API permettant d'améliorer les performances algorithmiques en parallélisant les calculs complexes sur les périphériques divers présents de nos jours sur les ordinateurs (CPU, GPU…).
Côté pilotes, le support de cette API sur Linux fut notamment détaillé il y a quelques jours dans un autre article. Si vous êtes plutôt intéressé par le côté "utilisation" d'OpenCL, pour l'intégrer par exemple dans vos propres programmes, la société StreamComputing lance l'initiative "OpenCL training" (en français: "formation OpenCL") proposant une formation gratuite (à distance, par Internet interposé), avec GEGL — le nouveau moteur de traitement d'image de GIMP — comme "support de cours".

La ruse est donc de vous faire contribuer à GEGL tout en vous enseignant la technologie OpenCL. Moi je dis que c'est "double victoire", mais certains pourraient prétendre que les libristes sont fourbes! :P

Journal Une base de données libre pour les CPU x86 grand public

Posté par  . Licence CC By‑SA.
Étiquettes :
24
2
jan.
2022

Pour un projet personnel, je cherchais à obtenir une base de donnée qui liste les jeux d'instruction des CPU x86 grand public et la présence éventuelle d'un GPU intégré. Malheureusement, je n'en ai trouvée aucune qui soit complète et réutilisable librement :
- CPUWorld est une mine d'informations non téléchargeables et non libres,
- Techpowerup est synthétique mais non libre,
- CPU-DB est un projet de l'université de Standford à l'arrêt depuis 2016, manquant d'informations sur les instructions prises en (…)

Journal sched_deadline est dans les temps

Posté par  (site web personnel) . Licence CC By‑SA.
22
15
oct.
2017

Cher Nal,
Lors de la conférence Embedded Recipes à Paris, SCHED_DEADLINE a fait l'objet d'une présentation claire et accessible à toutes et tous. Un planificateur (ou ordonnanceur) pour CPU est le bout de code qui décide quand une tâche doit être exécuté. Basiquement : l'ordre d'exécution. Cet ordonnanceur pour CPU n'est pas nouveau, mais il va devenir l'ordonnanceur par défaut à partir de Linux 4.14.

SCHED_DEADLINE implémente l'algorithme « le délai au plus tôt possible » (Earliest Deadline First) auquel (…)