{"id":604,"date":"2026-10-09T12:07:15","date_gmt":"2026-10-09T10:07:15","guid":{"rendered":"https:\/\/www.ranksignal.fr\/blog\/?p=604"},"modified":"2026-10-09T12:07:17","modified_gmt":"2026-10-09T10:07:17","slug":"que-sont-les-flops","status":"publish","type":"post","link":"https:\/\/www.ranksignal.fr\/blog\/inference\/que-sont-les-flops\/","title":{"rendered":"Les FLOPS : ce que ce chiffre compte, et ce qu&rsquo;il ignore"},"content":{"rendered":"<p><\/p>\n<p>Calcule de t\u00eate 3\u00d77 + 2\u00d77 + 1\u00d77. Tu viens d&rsquo;encha\u00eener cinq op\u00e9rations : trois multiplications, puis deux additions. Un GPU H100 en r\u00e9alise 989 000 milliards chaque seconde (en FP16, calcul dense), et c&rsquo;est ce nombre que les fiches techniques appellent \u00ab 989 t\u00e9raFLOPS \u00bb. Tu vas voir ce qu&rsquo;il compte, comment le faire parler et ce qu&rsquo;il laisse dans l&rsquo;ombre.<\/p>\n<p><strong>Sommaire<\/strong><\/p>\n<ul>\n<li><a href=\"#l-essentiel-en-30-secondes\">L&rsquo;essentiel en 30 secondes<\/a><\/li>\n<li><a href=\"#une-operation-puis-des-milliers-de-milliards-par-seconde\">Une op\u00e9ration, puis des milliers de milliards par seconde<\/a><\/li>\n<li><a href=\"#qui-fait-ces-operations-dans-un-gpu\">Qui fait ces op\u00e9rations dans un GPU<\/a><\/li>\n<li><a href=\"#du-travail-au-temps-une-tete-d-attention-face-a-989-teraflops\">Du travail au temps : une t\u00eate d&rsquo;attention face \u00e0 989 t\u00e9raFLOPS<\/a><\/li>\n<li><a href=\"#de-242-teraflops-a-5-petaflops-une-gamme-de-gpu\">De 242 t\u00e9raFLOPS \u00e0 5 p\u00e9taFLOPS : une gamme de GPU<\/a><\/li>\n<li><a href=\"#ce-que-le-chiffre-ne-dit-pas\">Ce que le chiffre ne dit pas<\/a><\/li>\n<\/ul>\n<h2 id=\"l-essentiel-en-30-secondes\">L&rsquo;essentiel en 30 secondes<\/h2>\n<ul>\n<li>Les FLOPS mesurent <strong>la cadence de calcul<\/strong> : le nombre d&rsquo;op\u00e9rations sur des nombres \u00e0 virgule qu&rsquo;un GPU peut encha\u00eener en une seconde.<\/li>\n<li>Un GPU de centre de donn\u00e9es en aligne des <strong>t\u00e9raFLOPS, voire des p\u00e9taFLOPS<\/strong> : des milliers de milliards d&rsquo;op\u00e9rations chaque seconde.<\/li>\n<li>Pour l&rsquo;inf\u00e9rence, le chiffre de la fiche est celui des <strong>Tensor Cores, les unit\u00e9s \u00e0 matrices<\/strong>, pas celui du GPU entier.<\/li>\n<li>Nombre d&rsquo;op\u00e9rations \u00f7 FLOPS donne un <strong>temps plancher<\/strong>, jamais une dur\u00e9e garantie : environ 9 microsecondes pour une t\u00eate d&rsquo;attention de 4096 tokens sur un H100.<\/li>\n<li>Ce chiffre ne d\u00e9crit que <strong>l&rsquo;une des deux ressources<\/strong> d&rsquo;un GPU ; la bande passante m\u00e9moire est l&rsquo;autre.<\/li>\n<\/ul>\n<h2 id=\"une-operation-puis-des-milliers-de-milliards-par-seconde\">Une op\u00e9ration, puis des milliers de milliards par seconde<\/h2>\n<p>Reprends ton calcul du d\u00e9part. Les deux listes [3, 2, 1] et [7, 7, 7] se multiplient terme \u00e0 terme, puis on additionne les trois produits : 21 + 14 + 7 = 42. Ce r\u00e9sultat s&rsquo;appelle un produit scalaire.<\/p>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6adef46a7db1b&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6adef46a7db1b\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2400\" height=\"1350\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch01_operations_vectorielles.png\" alt=\"Quatre encadr\u00e9s empil\u00e9s : deux petits vecteurs, puis leur diff\u00e9rence, leur somme et leur produit scalaire \u00e9gal \u00e0 42\" class=\"wp-image-601\" srcset=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch01_operations_vectorielles.png 2400w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch01_operations_vectorielles-300x169.png 300w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch01_operations_vectorielles-1024x576.png 1024w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch01_operations_vectorielles-768x432.png 768w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch01_operations_vectorielles-1536x864.png 1536w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch01_operations_vectorielles-2048x1152.png 2048w\" sizes=\"auto, (max-width: 2400px) 100vw, 2400px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Concentre-toi sur le dernier encadr\u00e9 : le 42 r\u00e9sulte de trois multiplications et de deux additions, donc de cinq op\u00e9rations. Ici ce sont des entiers ; dans un GPU, ce sont des nombres \u00e0 virgule flottante, ceux qui composent les poids d&rsquo;un mod\u00e8le, \u00e9crits dans des formats comme le FP16 ou le FP8.<\/figcaption><\/figure>\n\n\n<p>Le sigle FLOPS d\u00e9signe les <strong>op\u00e9rations en virgule flottante par seconde<\/strong> que le calcul d&rsquo;un GPU peut atteindre. Le \u00ab S \u00bb final compte : le chiffre ne dit pas combien d&rsquo;op\u00e9rations un calcul demande, mais combien le GPU peut en encha\u00eener pendant une seconde. Le nombre d&rsquo;op\u00e9rations d&rsquo;un calcul se compte \u00e0 part, et tu en verras un exemple plus bas.<\/p>\n<p>\u00c0 l&rsquo;\u00e9chelle d&rsquo;un GPU de centre de donn\u00e9es, on parle de t\u00e9raFLOPS, voire de p\u00e9taFLOPS : ces acc\u00e9l\u00e9rateurs sont con\u00e7us pour effectuer des milliers de milliards d&rsquo;op\u00e9rations par seconde. Le H100 annonce ainsi 989 t\u00e9raFLOPS en FP16 (calcul dense), soit pr\u00e8s de <strong>200 000 milliards de produits scalaires<\/strong> comme le tien, chaque seconde.<\/p>\n<h2 id=\"qui-fait-ces-operations-dans-un-gpu\">Qui fait ces op\u00e9rations dans un GPU<\/h2>\n<p>Un GPU n&rsquo;est pas un processeur ordinaire en plus rapide : c&rsquo;est une machine \u00e0 d\u00e9bit. L\u00e0 o\u00f9 un CPU excelle dans l&rsquo;ex\u00e9cution s\u00e9quentielle complexe, un GPU applique la m\u00eame op\u00e9ration simple \u00e0 des milliers de donn\u00e9es ind\u00e9pendantes. Comme l&rsquo;inf\u00e9rence d&rsquo;un mod\u00e8le est une suite de multiplications de vecteurs et de matrices, il s&rsquo;y pr\u00eate naturellement.<\/p>\n<p>Le contraste se voit dans les fils d&rsquo;ex\u00e9cution, ces petites t\u00e2ches men\u00e9es de front : un CPU en compte des dizaines \u00e0 des centaines, un GPU <strong>des dizaines \u00e0 des centaines de milliers<\/strong> qui travaillent en m\u00eame temps.<\/p>\n<p>Ces ouvriers sont de trois sortes :<\/p>\n<ul>\n<li>le c\u0153ur CUDA op\u00e8re sur des nombres isol\u00e9s, les scalaires ;<\/li>\n<li>le Tensor Core op\u00e8re sur des vecteurs et des matrices ;<\/li>\n<li>l&rsquo;unit\u00e9 de fonctions sp\u00e9ciales (SFU) acc\u00e9l\u00e8re des fonctions comme sin, cos et log.<\/li>\n<\/ul>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6adef46a7e09c&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6adef46a7e09c\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1152\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch05_hierarchie_gpu-scaled.png\" alt=\"Organisation d'un GPU : une grande m\u00e9moire VRAM, un cache L2 partag\u00e9, puis des multiprocesseurs de flux (SM) contenant chacun des Tensor Cores, des c\u0153urs CUDA et des SFU\" class=\"wp-image-242\" srcset=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch05_hierarchie_gpu-scaled.png 2560w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch05_hierarchie_gpu-300x135.png 300w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch05_hierarchie_gpu-1024x461.png 1024w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch05_hierarchie_gpu-768x346.png 768w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch05_hierarchie_gpu-1536x691.png 1536w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch05_hierarchie_gpu-2048x922.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Regarde l&rsquo;un des blocs SM, en bas du sch\u00e9ma : tu y retrouves les trois sortes d&rsquo;ouvriers. Un H100 SXM peut en compter jusqu&rsquo;\u00e0 132.<\/figcaption><\/figure>\n\n\n<p>Pour l&rsquo;inf\u00e9rence, c&rsquo;est le Tensor Core qui compte. Ses instructions de multiplication-accumulation matricielle multiplient une matrice A par une matrice B, ajoutent une matrice C et rangent le r\u00e9sultat dans D. On mesure donc le calcul d&rsquo;un GPU en <strong>puissance de Tensor Core<\/strong>.<\/p>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6adef46a7e53e&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6adef46a7e53e\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2100\" height=\"1200\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b5_ch03_multiplication_matricielle.png\" alt=\"Multiplication d'une matrice A de 2 lignes et 4 colonnes par une matrice B de 4 lignes et 2 colonnes : la case c(1,2) du r\u00e9sultat est le produit scalaire de la ligne 1 de A et de la colonne 2 de B\" class=\"wp-image-602\" srcset=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b5_ch03_multiplication_matricielle.png 2100w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b5_ch03_multiplication_matricielle-300x171.png 300w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b5_ch03_multiplication_matricielle-1024x585.png 1024w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b5_ch03_multiplication_matricielle-768x439.png 768w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b5_ch03_multiplication_matricielle-1536x878.png 1536w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b5_ch03_multiplication_matricielle-2048x1170.png 2048w\" sizes=\"auto, (max-width: 2100px) 100vw, 2100px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Dans la case surlign\u00e9e, retrouve ton calcul de l&rsquo;accroche : une ligne, une colonne, des produits terme \u00e0 terme, une somme. Une multiplication de matrices en empile un par case du r\u00e9sultat.<\/figcaption><\/figure>\n\n\n<h2 id=\"du-travail-au-temps-une-tete-d-attention-face-a-989-teraflops\">Du travail au temps : une t\u00eate d&rsquo;attention face \u00e0 989 t\u00e9raFLOPS<\/h2>\n<p>Un chiffre de puissance ne prend son sens que face \u00e0 un travail \u00e0 effectuer. Compte les op\u00e9rations de l&rsquo;algorithme d&rsquo;attention de base, non optimis\u00e9, pour une t\u00eate dont la dimension vaut <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-7fcb3cc404e818fa61953e0c6a0c3aac_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#100;&#32;&#61;&#32;&#49;&#50;&#56;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"60\" style=\"vertical-align: 0px;\"\/> et un texte de <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-0bfdbce012cc2880b3c46c98e8294b3e_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#78;&#32;&#61;&#32;&#52;&#48;&#57;&#54;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"76\" style=\"vertical-align: 0px;\"\/> tokens. Le total de ses trois \u00e9tapes s&rsquo;\u00e9crit :<\/p>\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 21px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-c5cb693f03b6a3776ef8665ed10d6567_l3.png\" height=\"21\" width=\"388\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91; &#50;&#100;&#78;&#94;&#50;&#32;&#43;&#32;&#51;&#78;&#94;&#50;&#32;&#43;&#32;&#50;&#78;&#32;&#92;&#99;&#100;&#111;&#116;&#32;&#78;&#100;&#32;&#61;&#32;&#52;&#78;&#94;&#50;&#100;&#32;&#43;&#32;&#51;&#78;&#94;&#50;&#32;&#92;&#32;&#92;&#116;&#101;&#120;&#116;&#123;&#111;&#112;&eacute;&#114;&#97;&#116;&#105;&#111;&#110;&#115;&#125;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n<p>Ici <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-5793832f979c2268e3694c246d53b1bb_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#78;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"16\" style=\"vertical-align: 0px;\"\/> est le nombre de tokens lus et <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-4e8716946f6a868f015e0d62f28bc540_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#100;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"10\" style=\"vertical-align: 0px;\"\/> la dimension de la t\u00eate ; le total grandit comme le carr\u00e9 de la longueur de s\u00e9quence. Avec nos valeurs, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-57454459317975e0aad0af3065d81c68_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#52;&#78;&#94;&#50;&#100;\" title=\"Rendered by QuickLaTeX.com\" height=\"15\" width=\"43\" style=\"vertical-align: 0px;\"\/> vaut environ 8,59 milliards et <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-8f636f6a44991ff34e74d3dc355052b4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#51;&#78;&#94;&#50;\" title=\"Rendered by QuickLaTeX.com\" height=\"15\" width=\"32\" style=\"vertical-align: 0px;\"\/> environ 50 millions : <strong>8,6 milliards d&rsquo;op\u00e9rations<\/strong> en tout.<\/p>\n<p>Divise ce travail par la puissance du H100 : 8,6 milliards \u00f7 989 000 milliards par seconde, soit \u00e0 peu pr\u00e8s 0,000 009 seconde. Si le GPU tournait \u00e0 son plafond, il faudrait donc <strong>environ 9 microsecondes<\/strong>. Plafond est le mot cl\u00e9 : la fiche annonce ce que le calcul peut atteindre, donc une dur\u00e9e calcul\u00e9e ainsi est un minimum.<\/p>\n<blockquote>\n<p><strong>\ud83d\udca1 Intuition<\/strong> C&rsquo;est le calcul d&rsquo;un trajet. La distance divis\u00e9e par la vitesse de croisi\u00e8re donne la dur\u00e9e d&rsquo;un voyage sans le moindre bouchon. Ici, le nombre d&rsquo;op\u00e9rations est la distance, les FLOPS sont la vitesse affich\u00e9e au compteur, et la dur\u00e9e obtenue est un minimum.<\/p>\n<\/blockquote>\n<h2 id=\"de-242-teraflops-a-5-petaflops-une-gamme-de-gpu\">De 242 t\u00e9raFLOPS \u00e0 5 p\u00e9taFLOPS : une gamme de GPU<\/h2>\n<p>Pour sentir l&rsquo;\u00e9chelle, place quelques GPU sur la m\u00eame r\u00e8gle. Chacun vient d&rsquo;une g\u00e9n\u00e9ration d&rsquo;architecture : Lovelace pour le L4 et le L40, Hopper pour le H100, Blackwell pour le B200.<\/p>\n<table>\n<thead>\n<tr>\n<th>GPU<\/th>\n<th>Calcul annonc\u00e9<\/th>\n<th>Sa place dans l&rsquo;offre<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>L4<\/td>\n<td>242 t\u00e9raFLOPS (FP8)<\/td>\n<td>Moyen \u00e9conomique de faire tourner de petits mod\u00e8les : plongements de texte, vision par ordinateur<\/td>\n<\/tr>\n<tr>\n<td>L40<\/td>\n<td>362 t\u00e9raFLOPS<\/td>\n<td>Rarement un bon choix<\/td>\n<\/tr>\n<tr>\n<td>H100<\/td>\n<td>1 979 t\u00e9raFLOPS (FP8, dense)<\/td>\n<td>L&rsquo;un des acc\u00e9l\u00e9rateurs d&rsquo;inf\u00e9rence les plus utilis\u00e9s<\/td>\n<\/tr>\n<tr>\n<td>B200<\/td>\n<td>environ 5 p\u00e9taFLOPS (FP8, dense)<\/td>\n<td>Nouvel \u00e9talon pour l&rsquo;inf\u00e9rence, avec la plus haute performance pour les grands mod\u00e8les et la vid\u00e9o<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Du L4 au B200, le calcul annonc\u00e9 est multipli\u00e9 par <strong>une vingtaine de fois<\/strong> (5 000 \u00f7 242 \u2248 21), un ordre de grandeur plut\u00f4t qu&rsquo;une mesure exacte. Le FP8, un format flottant sur 8 bits, appara\u00eet avec Hopper ; Lovelace, elle, est plus orient\u00e9e graphisme alors que Hopper vise les applications d&rsquo;IA.<\/p>\n<p>Regarde le L40 : il annonce plus de calcul que le L4, et pourtant il est rarement un bon choix, parce qu&rsquo;\u00e0 empreinte m\u00e9moire \u00e9gale des fractions de H100 offrent bien plus de calcul. Le chiffre de FLOPS, pris seul, ne classe donc pas les GPU.<\/p>\n<h2 id=\"ce-que-le-chiffre-ne-dit-pas\">Ce que le chiffre ne dit pas<\/h2>\n<h3>Il ne r\u00e9sume pas tout le GPU<\/h3>\n<p>La fiche affiche la puissance des Tensor Cores, parce que ce sont eux qui ex\u00e9cutent les multiplications-accumulations de matrices, fondamentales pour l&rsquo;inf\u00e9rence. Les c\u0153urs CUDA et les SFU travaillent aussi, et les SFU sont essentielles pour le softmax. Le chiffre est donc <strong>un chiffre de matrices<\/strong>, pas une note globale.<\/p>\n<h3>Il ne parle que d&rsquo;une ressource sur deux<\/h3>\n<p>Un GPU a deux ressources principales : le calcul, c&rsquo;est-\u00e0-dire les op\u00e9rations en virgule flottante par seconde qu&rsquo;il peut atteindre, et la bande passante m\u00e9moire, c&rsquo;est-\u00e0-dire les octets qu&rsquo;il peut d\u00e9placer par seconde. Les FLOPS ne disent rien de la seconde : elle a son propre chiffre sur la fiche, et selon le calcul, c&rsquo;est l&rsquo;une ou l&rsquo;autre qui sature pendant que l&rsquo;autre attend.<\/p>\n<h3>Il ne dit pas si ton mod\u00e8le saura le d\u00e9penser<\/h3>\n<p>Pour des mod\u00e8les de quelques milliards de param\u00e8tres ou moins, il est difficile de bien utiliser les GPU r\u00e9cents, m\u00eame avec de grandes tailles de lot. D&rsquo;o\u00f9 les <strong>fractions de GPU<\/strong> : un H100 se d\u00e9coupe en jusqu&rsquo;\u00e0 sept morceaux gr\u00e2ce au GPU multi-instances (MIG), et un morceau de trois tranches de calcul dispose d&rsquo;environ 3\/7 du calcul.<\/p>\n<p>Pour un petit mod\u00e8le comme Orpheus, qui compte 3 milliards de param\u00e8tres, deux instances MIG utilisent parfois mieux les ressources qu&rsquo;un GPU entier allou\u00e9 \u00e0 une seule instance.<\/p>\n<blockquote>\n<p><strong>\ud83d\udccc \u00c0 retenir<\/strong> Une op\u00e9ration, c&rsquo;est un calcul \u00e9l\u00e9mentaire sur des nombres \u00e0 virgule. Les FLOPS en alignent des milliers de milliards par seconde, mais seulement dans les Tensor Cores, et seulement comme plafond : ils fixent un temps minimum, pas une promesse de vitesse.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Les FLOPS comptent les op\u00e9rations en virgule flottante qu&rsquo;un GPU encha\u00eene par seconde. Ce que le chiffre mesure, comment le lire, et ce qu&rsquo;il ignore.<\/p>\n","protected":false},"author":1,"featured_media":603,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-604","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-inference"],"_links":{"self":[{"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/posts\/604","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/comments?post=604"}],"version-history":[{"count":3,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/posts\/604\/revisions"}],"predecessor-version":[{"id":607,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/posts\/604\/revisions\/607"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/media\/603"}],"wp:attachment":[{"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/media?parent=604"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/categories?post=604"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/tags?post=604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}