← Blog

Votre GPU, vos heures

Ce qui décide si quelqu'un laisse un GPU connecté à notre réseau, c'est rarement le tarif. C'est si la machine se tient bien : silencieuse quand on travaille, éteinte quand l'électricité est chère, hors du chemin quand on veut lancer un jeu.

C'est désormais un jeu de réglages — et, la partie qui a demandé de la réflexion, ils sont éditables des deux côtés.

$ mahout config set windows='[{"cron":"0 22 * * 1-5","duration_minutes":540}]'
$ mahout config set max_power_watts=250
$ mahout config show

Ou les mêmes valeurs sur la ligne de la machine dans le dashboard, depuis un téléphone, sans SSH-er dans son propre desktop.

Deux écrivains exigent une règle

L'implémentation facile est « le dernier qui écrit gagne », et elle est fausse d'une façon précise : l'agent synchronise sur un timer, donc une édition faite dans le dashboard peut être écrasée par une copie que la machine a lue une seconde avant votre clic. Vous n'auriez pas d'erreur. Le réglage serait juste revenu en arrière, et vous penseriez avoir mal cliqué.

Chaque sauvegarde déclare donc quelle version des réglages elle éditait. Si l'autre côté est passé d'abord, la sauvegarde est refusée et on vous montre l'état réel. Le changement de personne ne disparaît sans qu'on le lui dise — c'est toute la garantie, et elle vaut l'aller-retour supplémentaire.

Les deux côtés montrent aussi d'où vient le dernier changement accepté : « est-ce que ça a pris » se répond d'un coup d'œil plutôt que par l'expérience.

Petites décisions prises exprès

Les fenêtres restent des expressions cron des deux côtés, dashboard compris. Un sélecteur de jours sympathique qui produirait un horaire subtilement différent des mêmes clics serait pire qu'un peu de syntaxe, parce qu'alors les deux côtés décriraient la même chose différemment.

Les tailles acceptent des unités. disk_quota_bytes=500GB marche ; personne ne tape des comptes d'octets à la main. Le format de transport reste l'octet parce que c'est ce que l'agent stocke, et deux conversions par aller-retour, c'est un bug d'arrondi en attente.

Vide veut dire sans plafond, pas zéro. Effacer le champ de puissance rend à la carte son propre défaut. Un système de réglages qui transforme « pas de limite » en « zéro watt » n'est pas un système à qui confier une machine à soi.

Ce qui arrive encore

Les fenêtres sont stockées, synchronisées et affichées, et leur évaluation par l'agent arrive dans la prochaine release — l'état honnête aujourd'hui est donc qu'une fenêtre posée est enregistrée et pas encore appliquée. C'est dans le changelog plutôt que sous-entendu, pour la même raison que nous publions ce qui se passe quand un job échoue : une page de fonctionnalité qui ne décrit que les parties qui marchent n'est pas une page de fonctionnalité.

Reference

Read next

a GPU died mid-sentence. the sentence finished.

Consumer hardware disappears without notice — someone sits down at their PC, a breaker trips, Wi-Fi drops. Our streams now survive that: another machine picks the answer up mid-word, and the dead segment is billed to nobody.

one model, every card: how a 27b runs on 8 gb

Qwen3.8 27B ships in five builds, from Q5_K_M on a 24 GB card down to IQ2_XXS on 8 GB. Why we split models from builds, what quantization actually costs, and how a quantized KV cache doubled our context overnight.

Model catalogue · Knowledge base · Run a GPU