GotoBLAS - GotoBLAS

GotoBLAS
Původní autořiKazushige Goto
Stabilní uvolnění
2-1.13 / 5. února 2010; před 10ti lety (2010-02-05)
TypKnihovna lineární algebry; implementace BLAS
LicenceLicence BSD
webová stránkawww.tacc.utexas.edu/ tacc-software/ gotoblas2

v vědecké výpočty, GotoBLAS a GotoBLAS2 jsou otevřený zdroj implementace BLAS (Základní podprogramy lineární algebry) API s mnoha ručně vytvořenými optimalizacemi pro konkrétní procesor typy. GotoBLAS byl vyvinut společností Kazushige Goto na Texas Advanced Computing Center. Od roku 2003, bylo použito v sedmi z deseti nejrychlejších superpočítačů na světě.[1]

GotoBLAS zůstává k dispozici, ale vývoj přestal s finální verzí propagující optimální výkon Intel Nehalem architektura (současná v roce 2008).[2]OpenBLAS je aktivně udržovaná vidlice GotoBLAS vyvinutá v laboratoři paralelního softwaru a výpočetní vědy, ISCAS.

GotoBLAS napsal Goto během svého volno odejít z Japonský patentový úřad v roce 2002. Původně byla optimalizována pro Pentium 4 procesor a podařilo se mu okamžitě zvýšit výkon a superpočítač na základě toho CPU od 1.5 TFLOPS na 2 TFLOPS.[1] Od roku 2005, knihovna byla bezplatně k dispozici pro nekomerční použití.[1] Pozdější verze open source byla vydána za podmínek Licence BSD.

GotoBLAS rutina násobení matice-matice, nazývaný GEMM v termínech BLAS, je vysoce vyladěn pro x86 a AMD64 procesorové architektury pomocí ručně montážní kód.[3] Sleduje podobný rozklad na menší „jádrové“ rutiny, které používají jiné implementace BLAS, ale kde dřívější implementace streamovala data z Mezipaměť procesoru L1, GotoBLAS používá Mezipaměť L2.[3]Jádro používané pro GEMM je rutina zvaná GEBP, pro „General block-times-panel multiply“,[4] u kterého bylo experimentálně zjištěno, že je „neodmyslitelně lepší“ oproti několika dalším jádrům, která byla v návrhu zohledněna.[3]

Několik dalších rutin BLAS je, jak je v knihovnách BLAS zvykem, implementováno ve smyslu GEMM.[4]

Viz také

Reference

  1. ^ A b C Markoff, John Gregory (2005-11-28). „Ruční psaní nejrychlejšího kódu pro zábavu: Lidský počítač zrychluje čipy“. New York Times. Seattle, Washington, USA. Archivováno od původního dne 2020-03-23. Citováno 2010-03-04. [1]
  2. ^ Milfeld, Kent. „GotoBLAS2“. Texas Advanced Computing Center. Archivováno od původního dne 2020-03-23. Citováno 2013-08-28.
  3. ^ A b C Jdi, Kazushige; van de Geijn, Robert A. (2008). "Anatomie vysoce výkonného násobení matic". Transakce ACM na matematickém softwaru. 34 (3): 12:1–12:25. CiteSeerX  10.1.1.111.3873. doi:10.1145/1356052.1356053. ISSN  0098-3500. (25 stránek) [2]
  4. ^ A b Jdi, Kazushige; van de Geijn, Robert A. (2008). „Vysoce výkonná implementace BLAS úrovně 3“ (PDF). Transakce ACM na matematickém softwaru. 35 (1): 1–14. doi:10.1145/1377603.1377607.