Knihovna maticových operací pro Intel

Firma Intel připravila knihovnu funkcí pro C++ prostředí pro práci s malými maticemi do 6x6 s využitím SSE instrukcí procesorů Intel Celeron, Pentium III a Pentium 4.
Firma Intel připravila knihovnu funkcí pro C++ prostředí pro práci s malými maticemi do 6x6 s využitím SSE instrukcí (Streaming SIMD Extensions) procesorů Intel Celeron (od A verze 533 MHz výše), Pentium III a Pentium 4. Knihovna dostala název Small Matrix Library (SML).

Při využití této knihovny trvá násobení dvou matic 6x6 na procesoru Intel Pentium II 652 taktů, zatímco na procesoru Intel Pentium III pouze 307 taktů. Inverze matice 6x6 by na stejném procesoru mělo podle informací firmy Intel trvat 625 taktů a LU dekompozice matice s rozměrem 30x30 pod 70 tisíc taktů. Pro představu by procesor Intel Pentium III s taktem 1,0 GHz mohl vykonat teoreticky 3,257 milionů násobení matic rozměru 6x6 za sekundu, inverzi matic 6x6 by mohl provést 1,6 milionkrát za sekundu a LU dekompozici matice 30x30 by provedl častěji než 14285x za sekundu.

Knihovna vyžaduje Microsoft Visual C++ 5.x nebo vyšší, případně Intel C/C++ Compiler verze 4.0 nebo vyšší. Je možné ji stáhnout ze serveru Intelu na adrese http://developer.intel.com/design/PentiumIII/sml/src.zip nebo za serveru VypalCD na adrese http://www.vypalcd.cz/soub.asp?id=8521

Živě komentuje: Maticové operace jsou jedny z nejčastěji používaných matematických operací této úrovně. Doposud není jejich podpora v instrukčních sadách x86 procesorů přímo podporována. Pro jejich zpracování však lze výhodně využít nových instrkčních sad, ať to je již zmíněná SSE sada procesorů Intel nebo instrukční sada Enhanced 3DNow! procesorů firmy AMD. Pro ty ovšem není bohužel obdobná knihovna k dispozici.

Pamětníci však mohou správně namítat, že hardwarová podpora maticových operací se v X86 světě již vyskytla, i když poměrně dávno. Firma IIT vyráběla ve své době matematické koprocesory pro procesory třídy 286 a 386. Právě koprocesory IIT 3C87 obsahovaly instrukce pro maticové operace s maticí rozměru 4x4. Bohužel v době uvedení koprocesoru nebyly tyto výpočty tak aktuální, jak je tomu v dnešní době, proto nebyly tyto speciální instrukce v žádném dalším matematickém koprocesoru podporovány.

Diskuze (1) Další článek: Velké dokumenty na webu

Témata článku: , , , , , , , , , , ,