Originalmente impulsado únicamente por AMD y llamado FSA, la idea se amplió para abarcar otras unidades de procesamiento además de las GPU, como los DSP de otros fabricantes.Las GPU modernas son muy adecuadas para realizar single instruction, multiple data (SIMD) y single instruction, multiple threads (SIMT), mientras que las CPU modernas todavía se están optimizando para la bifurcación.
Entre sus características principales, HSA define un espacio de dirección virtual unificado para dispositivos informáticos: cuando las GPU tradicionalmente tienen su propia memoria, separada de la memoria principal (CPU), HSA requiere que estos dispositivos compartan tablas de página para que los dispositivos puedan intercambiar datos compartiendo punteros.
[11] Esta primera implementación, conocida como amdkfd, se centra en las APU "Kaveri" o "Berlin" y funciona junto con el controlador de gráficos Radeon kernel existente.
Además, amdkfd admite cola heterogénea (HQ), que tiene como objetivo simplificar la distribución de trabajos computacionales entre múltiples CPU y GPU desde la perspectiva del programador.
Bolt es una biblioteca de plantillas C ++ optimizada para computación heterogénea.
[cita requerida] Las APU Carrizo y Bristol Ridge posteriores a 2015 también incluyen la versión 2 de la funcionalidad IOMMU para la GPU integrada.