En bred grupp av tillämpningar omfattar indirekt eller databeroende åtkomst till minnet och kallas oregelbundna tillämpningar. Den senaste utvecklingen inom SIMD-arkitekturer - specifikt framväxten av bredare SIMD-filar, kombination av SIMD-parallalism med mångkärnig MIMD-parallalism och mer flexibla programmerings API - ger nya möjligheter samt utmaningar för denna klass av applikationer. I detta dokument föreslår vi en allmän optimeringsmetod för att effektivt optimera olika underklasser av oregelbundna tillämpningar. Baserat på observationen att alla applikationer med indirekt minnesåtkomst kan ses som glesa matrisberäkningar, designar vi en optimeringsmetod, som inkluderar tre delsteg: 1) lokalitetsförbättring genom tiling, 2) dataåtkomst mönsteridentifiering, och 3) skriva konfliktborttagande på både SIMD- och MIMD-nivåer. Denna metod har tillämpats på ostrukturerade rutnät, molekylär dynamik och graftillämpningar, förutom glesa matrisberäkningar. De speedups som uppnås genom vår enda gängade vektoriserad kod över seriell kod är upp till 9.05, medan den totala speedup samtidigt som vi använder både SIMD och MIMD (61 kärnor i Intel Xeon Phi) med vårt tillvägagångssätt är upp till 467.1. Ytterligare optimering med hjälp av matris omordning på oregelbundna minskningar och grafalgoritmer kan uppnå en stegvis hastighetsökning på upp till 1,69, men till en relativt hög förbehandlingskostnad. Dessutom, SpMM använder vår strategi överträffar rutiner från ett högt optimerat kommersiellt bibliotek med upp till 2,81x.
Detta beslut träder i kraft dagen efter det att det har offentliggjorts i Europeiska unionens officiella tidning. föreslå en allmän optimeringsteknik för data-parallell problem med indirekta minnesåtkomster REF, genom att se problemet som en gles matris beräkning.
Exploiting recent SIMD architectural advances for irregular applications
{'venue': 'CGO 2016', 'journal': None, 'mag_field_of_study': ['Computer Science']}