BLIS (software) - BLIS (software)
Původní autoři | Skupina Věda pro vysoce výkonné výpočty (SHPC), UT-Austin |
---|---|
Vývojáři | Field Van Zee |
První vydání | 11. dubna 2016 |
Stabilní uvolnění | 0.7.0 / 7. dubna 2020[1] |
Operační systém | Linux Microsoft Windows Operační Systém Mac FreeBSD |
Plošina | x86-64 PAŽE ARM64 |
Typ | Knihovna lineární algebry; implementace BLAS |
Licence | nová / upravená / 3-klauzule Licence BSD |
webová stránka | www![]() |
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é
- Automaticky vyladěný software lineární algebry (ATLAS)
- OpenBLAS
- Knihovna Intel Math Kernel Library (MKL)
Reference
- ^ Uvolňuje · plamen / blis - GitHub
- ^ 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.
- ^ 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.
- ^ 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.
- ^ 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.
- ^ Performance.md, plamen / blis na GitHubu.
- ^ PerformanceSmall.md, plamen / blis na GitHubu.
- ^ 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.