Teljesítmény növelés SIMD utasításkészlet segítéségével
DOI:
https://doi.org/10.35925/j.multi.2022.1.7Kulcsszavak:
SIMD, teljesítmény optimalizáció, SSE, AVXAbsztrakt
A számítógépes alkalmazás fejlesztés hosszú múltra tekint vissza. A hardver folyamatos fejlődésével mind a szoftverek, mind pedig a alkalmazások készítését lehetővé tevő programozási nyelvek és keretrendszerek is együtt változtak. Ahogy haladunk az időben előre, ahogyan az egyre nagyobb kapacitású számítógépek elérhetővé váltak, úgy emelkedett a programozási nyelvek szintje is magasabbra. Egyre magasabb szintű API-k és nyelvek váltak elérhetővé, lassan eltűntek a pointerek, memória foglalások és felszabadítások is a programozás területéről. A magas szintű nyelvekre való váltással azonban egyre inkább eltűnt a programok optimalizálása vagy annak lehetősége, mivel bizonyos hatékonyságot növelő lehetőségek a magas szintű nyelvekben nem elérhetőek. Jelen cikk ezért a hétköznapi programozás köreiben “elfeledett” CPU adta SSE/AVX SIMD párhuzamosítási lehetőségek adta előnyökkel foglalkozik mélyebben. Megmutatjuk, hogy a CPU-ban olyan tartalékok vannak, amelyekkel bizonyos teljesítménykorlátok messze kitolhatók.