BLIS (software) - BLIS (software)

BLIS
Původní autořiSkupina Věda pro vysoce výkonné výpočty (SHPC), UT-Austin
VývojářiField Van Zee
První vydání11. dubna 2016; Před 4 lety (2016-04-11)
Stabilní uvolnění
0.7.0 / 7. dubna 2020; Před 7 měsíci (2020-04-07)[1]
Operační systémLinux
Microsoft Windows
Operační Systém Mac
FreeBSD
Plošinax86-64
PAŽE
ARM64
TypKnihovna lineární algebry; implementace BLAS
Licencenová / upravená / 3-klauzule Licence BSD
webová stránkawww.github.com/plamen/ blis Upravte to na Wikidata

v vědecké výpočty, BLIS (BLAS-like Instantiation Software)[2][3][4][5]je open-source rámec pro provádění nadmnožiny BLAS (Základní podprogramy lineární algebry) pro konkrétní procesor typy. Vystavuje tuto funkčnost prostřednictvím dvou tradičních Rozhraní pro programování aplikací (API): rozhraní BLAS a rozhraní CBLAS. BLIS také obsahuje dvě rozhraní API nativní pro rozhraní: typované rozhraní API (podobné BLAS) a objektové rozhraní API. Tato nativní rozhraní poskytují přístup k funkcím podobným BLAS, který není podporován, ale úzce souvisí s operacemi nalezenými v BLAS (a CBLAS). Rámec je vyvíjen a podporován skupinou Science of High-Performance Computing (SHPC) Oden Ústav pro výpočetní techniku ​​a vědy na Texaská univerzita v Austinu.

BLIS přináší vysoký výkon na mnoha současných mikroarchitekturách CPU v režimech provádění s jedním i více vlákny.[6] BLIS také nabízí konkurenční výkon pro některé případy násobení matic, ve kterých je jeden nebo více operandů matice neobvykle hubených a / nebo malých.[7]

Rámec dosahuje vysokého výkonu využitím specializovaných jader (obvykle napsaných v syntaxi rozšířené inline sestavy GNU) spolu s blokováním mezipaměti a registrů prostřednictvím maticových operandů. BLIS také pracuje na procesorech, pro které dosud nebyla napsána vlastní jádra; v těchto případech se rámec spoléhá na implementace přenosného jádra, které fungují při nižší rychlosti výpočtu.

BLIS je někdy popisován jako refaktoring GotoBLAS 2, který vytvořil Kazushige Goto na Texas Advanced Computing Center.[8]

Viz také

Reference

  1. ^ Uvolňuje · plamen / blis - GitHub
  2. ^ Van Zee, Field; van de Geijn, Robert (2015). „BLIS: Rámec pro rychlé vytvoření funkce BLAS“. Transakce ACM na matematickém softwaru. 41 (3): 1–33. doi:10.1145/2764454.
  3. ^ Van Zee, Field; Smith, Tyler; Igual, Francisco; Smelyanskiy, Michail; Zhang, Xiangyi; Kistler, Michael; Austel, Vernon; Gunnels, John; Nízká, Tze Meng; Marker, Bryan; Killough, Lee; van de Geijn, Robert (2016). „Rámec BLIS: Experimenty v přenositelnosti“. Transakce ACM na matematickém softwaru. 42 (2): 1–19. doi:10.1145/2755561.
  4. ^ Smith, Tyler M .; Geijn, Robert van de; Smelyanskiy, Michail; Hammond, Jeff R .; Zee, Field G. Van (2014). "Anatomie vysoce výkonného mnohovláknového násobení matic". 2014 IEEE 28. mezinárodní paralelní a distribuované sympozium zpracování. str. 1049–1059. doi:10.1109 / IPDPS.2014.110. ISBN  978-1-4799-3800-1.
  5. ^ Nízká, Tze Meng; Igual, Francisco; Smith, Tyler; Quintana, Enrique (2016). „Analytické modelování je pro vysoce výkonný BLIS dost“. Transakce ACM na matematickém softwaru. 43 (2): 1–18. doi:10.1145/2925987. hdl:10234/163618.
  6. ^ Performance.md, plamen / blis na GitHubu.
  7. ^ PerformanceSmall.md, plamen / blis na GitHubu.
  8. ^ Goto, Kazushige; Geijn, Robert A. van de (2008). "Anatomie vysoce výkonného násobení matic". Transakce ACM na matematickém softwaru. 34 (3): 1–25. doi:10.1145/1356052.1356053.

externí odkazy