Épisode 3 de la série « Préparer un nœud mineur Flop sous Linux ».
Dans l'épisode 2, la RTX 5070 Ti a quitté Windows pour un serveur Rocky Linux 10.2, avec le pilote verrouillé, Docker et Ollama. Restait à vérifier deux choses : que les chiffres tiennent quand on les mesure proprement, et que la machine tienne 24 heures sur 24 sans broncher. C'est l'exigence de base d'un mineur sur le Flop Network : une machine qui décroche perd des tâches, et une tâche sans réponse se paie.
Cet article donne la méthode de mesure, les résultats d'un test d'endurance de 24 heures à pleine charge, ce que ces chiffres valent (et ne valent pas) face au réseau, puis une checklist provisoire du jour J, construite à partir de la documentation opérateur que Flop Labs publie pour son réseau de développement.
Avertissement. Au 19 octobre 2026, le testnet du Flop Network n'est pas ouvert et n'a pas de date officielle. La checklist de la fin s'appuie sur la documentation du devnet (le réseau privé de l'équipe) : elle changera probablement. Rien ne garantit une récompense future.
J'utilise un petit script Python, bench_ollama.py, que j'ajoute à mon dépôt avec cet épisode. Il interroge l'API locale d'Ollama, relève pour chaque requête les deux vitesses qui comptent, et note en parallèle la température, la puissance et l'occupation du GPU :
Le modèle de test est Hermes-4-14B en quantification Q4_K_M, avec un contexte de 8 192 tokens : environ 9 Go de poids, ce qui laisse de la place au cache de plusieurs conversations sur une carte de 16 Go.
Trois règles que j'ai apprises à mes dépens :
Les commandes :
# Mesure en flux simple : 5 passages, prompt de 4 000 tokens, réponse de 512
python3 tools/bench_ollama.py --runs 5 --prompt-tokens 4000 --output-tokens 512
# Mesure en parallèle : 4 requêtes simultanées, prompt de 1 500 tokens, réponse de 192
python3 tools/bench_ollama.py --runs 3 --parallel 4 --prompt-tokens 1500 --output-tokens 192
Mesures du 10 octobre 2026 : Rocky Linux 10.2, pilote 615.71.09, Ollama 0.40.2 avec OLLAMA_NUM_PARALLEL=4.
| Mesure | Windows 11 (09/09) | Rocky Linux 10 (10/10) |
|---|---|---|
| Lecture du prompt, une requête (médiane) | 3 344 tokens/s | 3 577 tokens/s |
| Génération, une requête (médiane) | 72,0 tokens/s | 78,5 tokens/s |
| Génération, 2 requêtes simultanées (total) | 62,6 tokens/s | 67,2 tokens/s |
| Génération, 4 requêtes simultanées (total) | — | 151,2 tokens/s (53,8 par requête) |
| VRAM occupée | 11,9 Go | 13,7 Go |
| Pic GPU | 64 °C, 284 W | 67 °C, 301 W |
Deux lectures :
Un benchmark de quelques minutes ne dit rien sur ce qui se passe à la dix-huitième heure : chauffe de la mémoire, limitation de puissance, erreur du pilote, fuite de mémoire. J'ai donc lancé le même script pour 24 heures, à 4 requêtes simultanées en permanence (le réglage de production), avec des réponses longues de 2 048 tokens pour que la génération domine.
Pour que le test survive à la fermeture de ma session SSH, je l'ai lancé comme unité systemd utilisateur, en autorisant mon utilisateur à garder des services actifs sans session ouverte :
sudo loginctl enable-linger "$USER"
systemd-run --user --unit=flop-soak -p WorkingDirectory="$PWD" \
-p StandardOutput=append:"$PWD/bench/soak.log" -p StandardError=append:"$PWD/bench/soak.log" \
python3 tools/bench_ollama.py --minutes 1440 --parallel 4 --output-tokens 2048
systemctl --user status flop-soak # suivi
tail -f bench/soak.log # journal en direct
Pendant ce temps, le script relève la température, la puissance, l'occupation et la mémoire du GPU toutes les cinq secondes (17 215 relevés en 24 heures). À la fin, le pilote donne aussi le temps cumulé passé en ralentissement thermique ou en limitation de puissance :
nvidia-smi -q -d PERFORMANCE
| Indicateur | Valeur |
|---|---|
| Requêtes | 2 258 séries de 4 = 9 032 requêtes, 0 erreur |
| Tokens générés | 17,6 millions |
| Débit total (médiane) | 205,8 tokens/s, entre 202 et 208 d'heure en heure |
| Dérive sur 24 h | 204,9 tokens/s sur les 200 premières séries, 206,3 sur les 200 dernières |
| Par requête (médianes) | 56,9 tokens/s en génération, 2 825 tokens/s en lecture |
| Température GPU | 71-72 °C en moyenne chaque heure, pic à 77 °C |
| Puissance | 294-296 W en moyenne, pic à 307 W |
| Occupation GPU | 94 % en moyenne |
| Ralentissement thermique | 0 seconde (matériel comme logiciel) |
| Limitation de puissance | 652 s cumulées, soit 0,75 % du temps |
| Système | aucune erreur dans le journal du noyau (ni Xid NVIDIA, ni erreur PCIe), Ollama jamais redémarré, VRAM fixe à 13 712 Mio |
Verdict : la machine tient un fonctionnement 24/7 à pleine charge. Le débit ne baisse pas, la température se stabilise en une heure et ne bouge plus.
Trois remarques :
nvidia-smi renvoie N/A sur cette GeForce. Je surveille donc la température du GPU.En intégrant le relevé de puissance, le GPU a consommé 7,07 kWh en 24 heures, soit environ 2,5 millions de tokens générés par kWh. À 0,20 € le kWh (à remplacer par le prix de votre contrat), cela fait environ 1,40 € par jour et 130 € pour les 90 jours annoncés du testnet, pour le GPU seul : il faut y ajouter le reste de la machine, que je n'ai pas mesuré.
C'est la question que j'avais laissée en suspens dans l'épisode 2, et la réponse honnête est : pas grand-chose pour prédire un gain, beaucoup pour la fiabilité.
miner-vllm-toploc), pas Ollama. vLLM regroupe les requêtes bien plus efficacement : mes chiffres Ollama sont un plancher et un indicateur de santé de la machine, pas la capacité que le réseau retiendra.Ce qui reste vrai quoi qu'il arrive : la disponibilité. Un mineur qui ne répond pas à une tâche dans le délai imparti est sanctionné sur son stake. Un test d'endurance réussi est le meilleur investissement avant le jour J.
Cette liste reprend la documentation opérateur de Flop Labs (ask.flop.finance, pages run-miner et run-operator, mises à jour le 16 et le 19 octobre 2026). Elle décrit le devnet, et indique elle-même qu'il n'existe pas encore de procédure publique pour demander un accès mineur. À revérifier ligne par ligne le jour de l'ouverture.
flop uniquement depuis un lien officiel (flop.finance, @flop_labs), en vérifiant l'empreinte de l'image. Sur le devnet, il est distribué en image Docker publique sur GHCR, épinglée par son empreinte sha256.0600.Ma 5070 Ti n'a pas d'environnement d'exécution de confiance (TEE) : elle relève du niveau SOFT. La documentation du devnet le dit clairement : « SOFT is the default tier and needs no confidential-computing hardware ». Mais deux réserves demeurent : le registre des modèles exige encore un type de TEE, si bien qu'un mineur SOFT reçoit son trafic par un routage hors chaîne, et le règlement des paiements et litiges en SOFT n'est pas finalisé. La question est posée sur le dépôt du Yellow Paper (issue #104) ; je mettrai l'article à jour quand l'équipe y répondra.
Mon DID : did:key:z6MkgzG86nL4pgoytHsEUAshr24ByY8pvmRxYWFuVS2Y1DQi
Épisode 1 : Technocore et DID
Épisode 2 : Serveur Linux et GPU
Me suivre : @bvivi57 — le projet : @flop_labs
bench_ollama.py : https://github.com/bvivi57/flopMesures effectuées sur Rocky Linux 10.2 du 10 au 11 octobre 2026 ; documentation du Flop Network consultée le 19 octobre 2026.