7 comments

[ 3.2 ms ] story [ 22.4 ms ] thread
"Heterogeneous System Architecture Runtime", if you were wondering like I was.
To add to that, it's an alternative to OpenCL as I understood it.

"...HSA Foundation seeks to create applications that seamlessly blend scalar processing on the CPU, parallel processing on the GPU, and optimized processing on the DSP via high bandwidth shared memory access enabling greater application performance at low power consumption. The HSA Foundation is defining key interfaces for parallel computation utilizing CPUs, GPUs, DSPs, and other programmable and fixed-function devices, thus supporting a diverse set of high-level programming languages and creating the next generation in general-purpose computing."

> it's an alternative to OpenCL

It's also complementary in that the goal of the hardware part is to offer zero-copy and unified memory between CPU and GPU (unified virtual memory and pointer-passing for dedicated GPU, unified main memory for IGP/APU), which I expect would be useful to OpenCL.

Thanks, good info there! After some digging, I realize calling it an alternative to OpenCL is wrong. From their FAQ:

HSA is an optimized platform that will be leveraged to enhance the OpenCL runtime. HSA is not an alternative to OpenCL. HSA benefits OpenCL by removing memory copies, bringing low latency dispatch, and improving memory model and pointers shared between the CPU and GPU.

Does "unified virtual memory and pointer-passing for dedicated GPU" suggest some kind of cooperative paging between the CPU and GPU? But it's not as if the GPU could just fault in pages that it needs on demand, right?
Great news! This is going to help java be gpu accelerated! Using Graal/Sumatra to speed up java8 stream based computations.