hai letto correttamente ed interpretato in maniera coerente.
In realtà lo strato software necessario è direttamente connesso al s.o. ma, seppur stando alla
complessità della soluzione, è realizzato comunque in una modalità abbastanza lineare.
Tutta questa infrastruttura è definita HSA Runtime:
HSA può esser usato sia per implementare linguaggi tradizionali di programmazione GPGPU (OpenCL),
così come nuovi standard emergenti: un esempio di questi ultimi ne è Microsoft C++ Accelerated
Massive Parallelism.
Allo stesso modo HSA può anche supportare un ampio set di altri linguaggi (System Programming,
Application Programming, Domain Specific Language) che sapranno dare spazio e accesso ad ogni
tipo e livello di programmatori.
Il compilatore HSA (LLVM), sarà in grado di produrre codice binario HSAIL, il linguaggio intermedio
HSA: in pratica un formato assembly di veri e propri oggetti a livello binario.
Sarà questa tipologia di oggetti ad esser infine traslata nel codice macchina nativo dell'unità allo
scopo delegata (Throughput Computing Unit), sia essa CPU o GPU.
HSA Developer Tools - HSA Foundation