Abstrakta GPU och CPU:er har fundamentalt olika arkitekturer. Det är konventionell visdom att GPUs kan påskynda endast de applikationer som uppvisar mycket hög parallellism, särskilt vektor parallellism såsom bildbehandling. I denna uppsats utforskar vi möjligheten att använda GPUs för värdeförutsägelse och spekulativt utförande: vi implementerar teknik för programvaruvärdesförutsägelse för att accelerera program med begränsad parallellism, och teknik för programvaruspekulation för att accelerera program som innehåller runtime parallellism, som är svåra att parallellisera statiskt. Våra experimentresultat visar att på grund av de relativt höga overhead, kartläggning programvara värde förutsägelse tekniker på befintliga GPUs kanske inte ger någon omedelbar prestandavinst. Å andra sidan, även om programvara spekulation tekniker införa vissa overhead också, kartläggning dessa tekniker till befintliga GPUs redan kan ge viss prestanda vinst över CPU. Baserat på dessa observationer undersöker vi maskinvaruimplementeringen av spekulativa utförandeoperationer på GPU-arkitekturer för att minska programvaruprestanda overheads. Resultaten tyder på att hårdvaruförlängningarna resulterar i nästan tiofaldig minskning av kontrollen divergerande sekventiella operationer med endast måttlig hårdvara (5-8%) och strömförbrukning (1-5%) overheads.
REF visade möjligheten att använda GPU:er för spekulativ körning med hjälp av en GPU-liknande arkitektur på FPGA:er.
Value Prediction and Speculative Execution on GPU
{'venue': 'International Journal of Parallel Programming', 'journal': 'International Journal of Parallel Programming', 'mag_field_of_study': ['Computer Science']}