Strömförbrukning är en vanlig fråga i dagens och framtidens datorsystem. SIMD-processorer amorterar strömförbrukningen för att hantera instruktionsströmmen genom att utföra samma instruktion parallellt på flera data. Därför har SIMD-bredden under de senaste åren stadigt ökat, och det är inte osannolikt att den kommer att fortsätta att göra det. I den här artikeln studerar vi experimentellt hur SIMD-bredden påverkar genomförandet av dataparallellprogram. Vi undersöker hur en ökande SIMD-bredd (upp till 1024) påverkar kontrollflödesskillnader och skillnader i minnesåtkomst, och hur väl tekniker för att mildra dem kommer att fungera på större SIMD-bredder. Vi utför vår studie på 76 OpenCL applikationer och visar att en grupp av program skalar väl upp till SIMD bredd 1024, medan en annan grupp av program i allt högre grad lider av kontrollflöde divergens. För dessa program, tråd omgruppering tekniker kan bli allt viktigare för större SIMD bredder. Vi visar vilka genomsnittliga hastigheter som kan förväntas vid ökning av SIMD-bredden. När man till exempel byter från skallös körning till SIMD-bredd 64, kan man förvänta sig en hastighetsökning på 60.11, vilket ökar till 62.46 vid användning av trådomgruppering. Vi analyserar också frekvensen av regelbundna (uniforma, på varandra följande) minnesåtkomstmönster och observerar en monoton minskning av regelbundna minnesåtkomster från 82,6% vid SIMD bredd 4 till 43,1% vid SIMD bredd 1024.
Schaub m.fl. studerade inusensen av att öka SIMD bredd med avseende på kontroll-ow divergens och minne-access divergens REF.
The Impact of the SIMD Width on Control-Flow and Memory Divergence
{'venue': 'TACO', 'journal': None, 'mag_field_of_study': ['Computer Science']}