Dlouho očekávaná podpora SIMD operací v programovacím jazyku Go
Před 4 dny
Popíšeme si, jak je v programovacím jazyku Go implementována podpora pro SIMD (vektorové) operace. Do Go 1.26 totiž byly přidány experimentální balíčky s podporou SIMD. V dnešním článku si popíšeme, jakým způsobem jsou v nových verzích Go (1.26 a především 1.27) podporovány SIMD operace (někdy nepřesně nazývané vektorové instrukce). Přitom SIMD/vektorové instrukce v současnosti patří ke standardní výbavě prakticky všech variant moderních mikroprocesorů – jedná se totiž o jednu z technologií umožňujících zvýšení jejich výpočetního výkonu. Připomeňme si, že z hlediska dosahovaného výpočetního výkonu leží na samém „výkonnostním dně“ klasické mikroprocesory s architekturou CISC, které vykonávají všechny instrukce postupně a dokončení jedné instrukce může v závislosti na jejich složitosti trvat i několik desítek strojových taktů.

