Solo cinque anni fa, l'azienda Intel era orgogliosa di poter offrire un modello di programmazione unico e tradizionale per il settore basato su istruzioni compatibili con x86. Questo modello comprendeva sistemi mobili su SoC Atom, acceleratori di calcolo Xeon Phi (un'architettura di grafica condizionata - in origine Larrabee) e processori. Oggi, il concetto "x86 è il nostro tutto" non è più attuale per l'azienda. Intel presenterà presto architetture grafiche discrete uniche e ha già lanciato processori per lavorare con reti neurali. Per la programmazione su nuove piattaforme e framework, Intel richiede un nuovo modello di programmazione che deve essere anch'esso unificato.

Recentemente, a Londra, durante un evento di Intel Software Technology, l'azienda ha presentato un tale modello. Il nuovo modello di programmazione unificato si sta sviluppando come parte del progetto "One API". Secondo il progetto, programmare per l'intero spettro di soluzioni e piattaforme Intel sarà più semplice indipendentemente dalla scelta della piattaforma. Come ha dichiarato Bill Savage, vicepresidente di Intel e general manager della divisione Compute Performance Developer Products: "L'obiettivo del progetto 'One API' è fornire agli sviluppatori un insieme di strumenti che offre un modello di programmazione unificato e semplifica la creazione di carichi di lavoro per diverse architetture. Con lo sviluppo delle nostre capacità computazionali, che ora includono acceleratori specializzati, Intel offrirà soluzioni software che permetteranno agli sviluppatori di ottenere la massima prestazione dall'hardware."
Un esempio recente delle possibilità di lavorare con diverse architetture è rappresentato dagli strumenti di sviluppo Intel Distribution of OpenVINO Toolkit. Abbiamo ripetutamente questo strumento offre funzionalità ottimizzate per l'apprendimento profondo per tutte le architetture Intel SVMS (scalar, vector, matrix, spatial). Ciò significa che OpenVINO consente di creare programmi per processori generali, grafici, neurali e FPGA. Il progetto One API consentirà di fare lo stesso con la programmazione diretta e attraverso API, ma in modo più ampio e un po' più semplice, il che si tradurrà, ad esempio, nella liberazione dall'esigenza di mantenere separati i database del codice sorgente, diversi linguaggi di programmazione e vari strumenti e flussi di lavoro.
«Programmazione diretta: il progetto One API comprende un nuovo linguaggio di programmazione diretto chiamato Data Parallel C++ (DPC++), che offre un'alternativa aperta e cross-settoriale ai linguaggi di programmazione proprietari per singole architetture. Alla base di DPC++ c'è C++, mentre il linguaggio utilizza il modello SYCL* del The Khronos Group. Inoltre, è implementato il supporto per estensioni linguistiche sviluppate nell'ambito della comunità aperta».
La programmazione utilizzando API fornirà librerie uniche per diversi tipi di carichi di lavoro con supporto per accelerazione hardware. Le funzioni di libreria sono sviluppate per ogni architettura target. Versioni avanzate degli strumenti con supporto per DPC++ e architetture SVMS vengono create per analisi e debug. Va notato che la versione beta degli strumenti per sviluppatori e ulteriori dettagli sul progetto One API sono attesi nel quarto trimestre del 2019.
Fonte: 3dnews.ru
