FLOPS

Performanța computerului
Nume Unitate Valoare An
FLOPS FLOPS 100 1941
kilo⁠(d)FLOPS kFLOPS 103 1949
mega⁠(d)FLOPS MFLOPS 106 1964
giga⁠(d)FLOPS GFLOPS 109 1987
tera⁠(d)FLOPS TFLOPS 1012 1997
peta⁠(d)FLOPS PFLOPS 1015 2008
exa⁠(d)FLOPS EFLOPS 1018 2022
zetta⁠(d)FLOPS ZFLOPS 1021 > 2030[1]
yottaFLOPS YFLOPS 1024 N/a
xeraFLOPS XFLOPS 1027 N/a

În informatică (știința calculatoarelor), FLOPS (scris și flops sau flop/s) este un acronim ce provine de la expresia engleză floating point operations per second (tradus: operații în virgulă mobilă pe secundă). FLOPS reprezintă o unitate de măsură a puterii (= a vitezei) de calcul a unui calculator sau sistem de calcul, măsurând numărul maxim de operații în virgulă mobilă, (de regulă adunări și înmulțiri), ce sunt executate pe secundă. Unitatea FLOPS își găsește folosul mai ales în domeniul calculelor științifice, la care calculul în virgulă mobilă este frecvent folosit. FLOPS nu este unitate SI, dar poate fi apreciat ca o unitate de măsură având mărimea 1/s.

Deoarece forma este un acronim și S-ul din final înseamnă „secundă”, FLOPS este (în engleză) atât formă de singular, cât și de plural. FLOPS nu măsoară doar viteza de calcul a procesorului, ci a întregii arhitecturi a calculatorului (sistemului de calcul) în cauză: procesor + memorie centrală + bus (magistrale de date și instrucțiuni) + compilator.

Un calculator obișnuit de tip PC atinge performanțe (viteze de calcul) mici la operațiile în virgulă mobilă. Altfel spus, operațiile în virgulă mobilă durează mai mult decât cele echivalente executate în virgulă fixă. Un timp de răspuns de sub 0,1 secunde este perceput de către un operator (observator) uman totuși ca răspuns instantaneu[2].

Supercalculatorul NEC SX-9⁠(d) a fost multă vreme cel mai rapid calculator de tip paralel, depășind 100 GigaFLOPS pentru fiecare nucleu de procesor. Supercalculatorul IBM de tip Blue Gene/P⁠(d) este proiectat să opereze la 3 PetaFLOPS.[3] IBM Roadrunner a fost primul supercalculator care a atins o viteză permanentă de peste 1 petaFLOPS în 2008.[4] Frontier a fost primul supercalculator care a atins o viteză permanentă de peste 1 exaFLOPS (peste o mie de petaFLOPS) în 2022.[5]

Aritmetica în virgulă mobilă

[modificare | modificare sursă]

Pentru numere reale foarte mari sau foarte mici, este necesară aritmetica în virgulă mobilă, sau calcule ce necesită o gamă dinamică mare. Reprezentarea în virgulă mobilă este similară notației științifice, cu excepția faptului că totul se face în bază doi, în loc de zece. Schema de codificare stochează semnul, exponentul (în bază doi pentru Cray și VAX⁠(d), în bază doi sau zece pentru formatele de virgulă mobilă IEEE⁠(d), și în bază 16 pentru arhitectura de virgulă mobilă IBM⁠(d)) și mantisa (numărul de după virgulă). Se folosesc mai multe formate similare, dar cel mai comun este ANSI/IEEE Std. 754-1985⁠(d). Acest standard definește formatul pentru numere pe 32 de biți denumite „de simplă precizie”, precum și pentru numere pe 64 de biți denumite „de dublă precizie” sau unele mai lungi denumite „de precizie extinsă” (folosite pentru rezultate intermediare). Reprezentările în virgulă mobilă pot suporta o gamă mult mai largă de valori decât cele în virgulă fixă, putând să reprezinte numere foarte mici sau foarte mari.[6]

Gama dinamică și precizia

[modificare | modificare sursă]

Exponențierea inerentă în calculele cu virgulă mobilă asigură o gamă dinamică mult mai mare – cel mai mare și cel mai mic număr ce pot fi reprezentate – ceea ce este deosebit de important la procesarea seturilor de date în care unele date pot avea valori numerice pe intervale foarte mari sau acolo unde gama de valori este imprevizibilă. Ca atare, procesoarele cu virgulă mobilă sunt adecvate în mod ideal aplicațiilor intensive computațional.[7]

Performanța computațională

[modificare | modificare sursă]

FLOPS și MIPS⁠(d) sunt unități de măsură pentru performanța computațională numerică a unui calculator. Operațiile în virgulă mobilă sunt folosite de regulă în domenii cum ar fi cercetarea computațională științifică, dar apar și în unele de uz general, cum ar fi prelucrarea imaginilor. Unitatea MIPS măsoară performanța unui calculator la calculele cu întregi. Printre operațiile cu întregi se numără mutările de date (de la A la B) sau testarea valorilor (dacă A = B, atunci C). MIPS ca indice al performanței este adecvat când un calculator este folosit în interogări de baze de date, procesări de cuvinte, foi de calcul, sau pentru rularea de sisteme de operare virtuale.[8][9] Frank H. McMahon, de la Lawrence Livermore National Laboratory, a inventat termenii FLOPS și MFLOPS (megaFLOPS) pentru a putea compara supercalculatoarele acelor vremuri după numărul de calcule în virgulă mobilă pe care le efectuează în fiecare secundă. Reperul era mult mai bun decât MIPS, până atunci predominant, la compararea calculatoarelor, întrucât această statistică avea de regulă puțin impact asupra capabilității aritmetice a mașinii.

FLOPS pe un sistem HPC se poate calcula folosind ecuația:[10]

Pentru cazul cel mai comun, calculatorul cu un singur CPU, formula se poate simplifica așa:

FLOPS se poate înregistra cu diferite grade de precizie, de exemplu, lista TOP500⁠(d) de supercomputere clasifică calculatoarele după numărul de operațiuni pe 64 biți (format de virgulă mobilă cu dublă precizie⁠(d)) pe secundă, abreviat ca FP64.[11] Măsuri similare sunt disponibile și pentru operațiuni pe 32 de biți⁠(d) (FP32) și 16-biți⁠(d) (FP16).

  1. ^ Новый поворот - № 07, 2012 | Мир ПК | Издательство «Открытые системы», web.archive.org, , Arhivat din original în , accesat în  
  2. ^ en „Response Times: The Three Important Limits” (HTML). Jakob Nielsen. Accesat în . 
  3. ^ en IBM Press Release (). „IBM Triples Performance of World's Fastest, Most Energy-Efficient Supercomputer” (HTML). IBM. Accesat în . 
  4. ^ en „Military supercomputer sets record - CNET News.com”. 
  5. ^ Frontier supercomputer debuts as world’s fastest, breaking exascale barrier | ORNL, www.ornl.gov 
  6. ^ Floating Point Retrieved on December 25, 2009.
  7. ^ Summary: Fixed-point (integer) vs floating-point Arhivat în , la Wayback Machine. Retrieved on December 25, 2009.
  8. ^ Fixed versus floating point. Retrieved on December 25, 2009.
  9. ^ Data manipulation and math calculation. Retrieved on December 25, 2009.
  10. ^ "Nodes, Sockets, Cores and FLOPS, Oh, My" by Dr. Mark R. Fernandez, Ph.D”. Arhivat din original la . Accesat în . 
  11. ^ „FREQUENTLY ASKED QUESTIONS”. top500.org. Accesat în .