Abstract-GPUs traditionellt erbjuder hög beräkningsförmåga, ofta högre än deras CPU motsvarigheter. Medan high-end mobila GPU-leverantörer introducerade nyligen allmänna API:er, såsom OpenCL, för att utnyttja sin beräkningskraft, saknar den stora majoriteten av de mobila enheterna sådant stöd. Trots att deras grafik API:er har likheter med skrivbordsgrafik API:er, de har betydande skillnader, vilket förhindrar användningen av välkända tekniker som erbjuder allmänna beräkningar över sådana gränssnitt. I detta dokument visar vi hur dessa hinder kan övervinnas, för att uppnå allmän programmerbarhet för dessa enheter. Som ett bevis på konceptet genomförde vi vårt förslag på en verklig inbäddad plattform (Raspberry Pi) baserat på Broadcoms VideoCore IV GPU, få en hastighetsuppgång på 7,2× över CPU. Högvärdiga mobila GPU:er, dvs. OpenGL ES 3 uppfyller kraven och kan programmeras i allmänna syften med hjälp av OpenCL, men den stora majoriteten av marknaden är fortfarande beroende av mobila GPU-enheter i den låga delen av spektrumet. I synnerhet, från och med september 2015 mer än 50 % av slutanvändarna av spel utformade med den populära multi-plattforms spelmotor Unity, använda låg-end mobiltelefoner [4], som stöder bara den tidigare versionen av grafik API, OpenGL ES 2. Detta minskar avsevärt potentialen för att utnyttja GPU:s beräkningskraft på krävande och innovativa mobila applikationer. Dessutom har de flesta enskilda datorer (ODROID, BeagleBoard, PandaBoard och andra) en OpenGL ES 2-kompatibel GPU. Bland dem, Raspberry Pi, en prisvärd ($25) utbildningssystem för utvecklingsländer, förlitar sig på VideoCore IV GPU, kan 24 GFlops. En allmän modell för GPU-programmering skulle avsevärt öka dess utbildningsvärde genom att utbilda en ny generation av parallella programmerare. Dessutom, på grund av sitt pris har den använts av miljontals hobbyister för en stor mängd olika tillämpningar. Även om denna GPU är kapabel till allmänna ändamål beräkningar, är detta för närvarande endast möjligt med låg nivå monteringsprogrammering, vilket resulterar i en handfull människor som kan göra det. Därför är det endast få tillämpningar som använder GPU [6] [1] [17]. Men, många mer kraftfulla applikationer skulle utvecklas, om allmänna syfte programmerbarhet på en hög nivå språk underlättade 24 GFlops av dess GPU för att användas för beräkningar, i stället för att stanna sysslolös större delen av tiden. Det mobila API som stöds av dessa low-end-enheter, OpenGL ES 2, är en begränsad delmängd av OpenGL-implementationen för stationära datorer med liknande funktionalitet. Programmeringsgränssnittet saknar dock grundläggande funktioner som krävs för att utföra allmänna beräkningar. I detta arbete presenterar vi en uppsättning lösningar för att övervinna de hinder som skapats genom OpenGL ES 2-specifikationen [7], för att möjliggöra allmänna ändamål beräkningar på low-end mobile
Den andra kategorin, baserad på grafik API:er för att utföra allmänna ändamål beräkningar har först nyligen dykt upp REF.
Towards general purpose computations on low-end mobile GPUs
{'venue': '2016 Design, Automation & Test in Europe Conference & Exhibition (DATE)', 'journal': '2016 Design, Automation & Test in Europe Conference & Exhibition (DATE)', 'mag_field_of_study': ['Computer Science']}