HSA Foundation

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

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