HSA Foundation
Scopo[modifica | modifica wikitesto]
La Fondazione HSA, nata nel Giugno 2012, è un gruppo no-profit di aziende ed università che lavorano nell'ambito delle Architetture di Sistema Eterogenee (Heterogeneous System Architecture), un gruppo di specifiche hardware e software open e gratuite. La Fondazione HSA mira a sviluppare e definire funzionalità e interfacce per diversi tipi di processori di computer, tra cui CPU, processori grafici, FPGA, così come i sistemi di memoria che li collegano. L'architettura risultante, HSA, vuole facilitare la programmazione di sistemi paralleli costruiti da combinazioni eterogenee di questi dispositivi.
Sul sito ufficiale è possibile scaricare gratuitamente tutta la documentazione, gli how-to e i sorgenti dei software utilizzati e sviluppati dalla Fondazione.
Membri[modifica | modifica wikitesto]
La Fondazione HSA è stata fondata da AMD, ARM Holdings, Imagination Technologies, MediaTek, Qualcomm, Samsung e Texas Instruments. Altri membri includono licenziatari di proprietà intellettuali dei semiconduttori, sviluppatori di CPU, GPU, DSP e circuiti integrati specifici per applicazioni (ASIC) basati sulla propria e/o tecnologia con licenza, partner accademici come il Lawrence Livermore National Laboratory, l'Università di Bristol, l'Università di Edimburgo e l'Università di Bologna. La Fondazione HSA ha aderito alla Linux Foundation.
Versioni delle specifiche[modifica | modifica wikitesto]
HSA 1.0 (2014)
La prima versione delle specifiche HSA è compatibile solo con alcuni processori/gpu AMD (Carrizo APU) e offre solo limitate possibilità di programmazione.
HSA 1.1 (2016)
Questa versione estende in maniera significativa sia il supporto hw per altri vendor (ARM, MediaTek, ecc) che quello software.
HSAIL[modifica | modifica wikitesto]
HSA Intermediate Layer (HSAIL) è un insieme di istruzioni virtuali per la computazione parallela.
- Simile a LLVM e SPIR/SPIR-V
- Finalizzato ad un insieme di istruzioni del compilatore JJT
- Esplicitamente parallela
- In grado di stabilire a quale core libero assegnare il lavoro