Windows

Konsortiet vidtar åtgärder för att bryta multicore programmeringsbarriärer

6. Multicore Programming

6. Multicore Programming
Anonim

Programmering för multicore-system kan vara komplicerat, så ett industrikonsortium ledt av Advanced Micro Devices har tagit ett steg framåt i sitt mål att eliminera utveckling Utmaningar så att applikationer är bärbara över enheter, arkitekturer och operativsystem

Stiftelsen HSA (Heterogen System Architecture) på tisdag förväntas införa en ny enhetlig minnesarkitektur som heter HUMA som gör olika minnesformer i ett system tillgängligt för alla processorer. Genom att bryta ner hinder som skiljer olika minnetyper, har utvecklare tillgång till en större del av delat minne där koden kan utföras.

Specifikationen ingår i HSA: s standard för öppen maskinvara, så att programkörning enkelt kan distribueras till bearbetningsresurser i servrar, datorer och mobila enheter. HSAs mål är att skapa ett grundläggande gränssnitt kring industristandardparallellprogrammeringsverktyg så att kod kan skrivas och sammanställas en gång för flera enheter.

Datorer och mobila enheter kombinerar idag CPU-enheter med många samprocessorer för att påskynda datoruppgifter. Vissa av processorerna inkluderar GPU (grafikbehandlingsenheter), DSPs (digitala signalprocessorer), nätverksprocessorer, FPGA (fältprogrammerbara grinduppsättningar) och specialiserade ASIC (applikationsspecifika integrerade kretsar). Några av världens snabbaste datorer utnyttjar den gemensamma datakraften hos GPU och CPU för komplexa matematiska beräkningar, medan mobila enheter har flera processorer för grafik och säkerhet.

Effektiv behandling leder till bättre smartphone och tablettprestanda och längre batterilivslängd, sade Phil Rogers, företagskollega vid AMD, under ett konferenssamtal för att diskutera den nya specifikationen.

AMD senare i år förväntas släppa bärbara och stationära processorer med namnet Kaveri, där processorer och grafikprocessorer kommer att kunna dela minne. HSA-stiftelsens mål är löst knutna till AMDs chipstrategi där företaget integrerar immateriella rättigheter från tredje part, så att chips kan anpassas efter kundens behov. Till exempel gör AMD ett anpassat chip för Sonys kommande PlayStation 4 spelkonsol.

HSA vill också sänka utvecklingskostnaderna och minska behovet av att kompilera kod till enheter eller chiparkitekturer. Några av funktionerna i HUMA inkluderar dynamisk minnesallokering och snabb GPU-åtkomst till systemminne.

"Varje beräkningsenhet … kommer att ha samma prioritet och att alla kan se på samma minne", säger Jim McGregor, huvudanalytiker vid Tirias Research.

HUMA säkerställer att varje maskinvaruenhet har tillgång till samma data, så informationen behöver inte kopieras till olika minnetyper. GPU och CPU har idag tillgång till olika cache- och minnetyper och specifikationen skulle bryta den traditionella formen där CPU: erna tilldelar minne för kodkörning, men informationen kopieras till GPU-minne för exekvering av grafikprocessorn.

"Den andra En del är att det är enande maskinvaran och även programvaruarkitekturen. Om du skriver i C ++ kan du säga att jag vill att GPU ska utföra det, säger McGregor.

Specifikationen minskar även behovet av att överföra data mellan minnet och det underlättar flaskhalsproblem, säger McGregor. Rogers sa att specifikationen erkänner flera lagrings- och nätverkskopplingar, men sa inte om det skulle adressera ovägrare lagringsenheter som efterliknar minnet. Många serverinstallationer har solid state-enheter som en form av cache där data kopieras och lagras under en tillfällig period när en uppgift utförs. Facebook har floated idén om att använda SSD som en ersättning för DRAM.

HSA Foundation backers inkluderar också ARM, Sony, MediaTek, Qualcomm, Samsung, Texas Instruments, LG Electronics, Imagination Technologies och ST Ericsson. Intel är inte medlem i HSA Foundation och använder sina egna samprocessorer, kompilatorer och programmeringsverktyg för att följa dess chips.

Idén om gemensamma minnesresurser jagas också av AMD-rivalen Nvidia, som inte är medlem av HSA-stiftelsen. Nvidia planerar nästa år att släppa en grafikprocessor baserad på Maxwell-arkitekturen, som kommer att förena GPU- och CPU-minne. GPU: erna kommer att kunna hantera CPU-minne och vice versa, och applikationerna blir enklare att skriva med enhetliga minnesresurser. Smartphones och surfplattor kan få enhetligt minne med Nvidias kommande Tegra 5-processorns kodnamn, som heter Logan, som kommer att ha en grafikprocessor byggd på Maxwell-arkitekturen och även stödja CUDA, som är Nvidias proprietära uppsättning verktyg för parallell programmering.

HUMA är kompatibel med populära programmeringsspråk som C, C ++ och Python, och flera operativsystem, sade AMD.