

AMD has published the full code of the HSA Runtime library - ferrari8608
http://lkml.iu.edu/hypermail/linux/kernel/1411.1/04487.html

======
portmanteaufu
"Heterogeneous System Architecture Runtime", if you were wondering like I was.

~~~
lovelearning
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."_

~~~
masklinn
> 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.

~~~
wyldfire
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?

~~~
masklinn
> But it's not as if the GPU could just fault in pages that it needs on
> demand, right?

That seems to be the idea, actually. And Carmack has been advocating exactly
that:
[http://media.armadilloaerospace.com/misc/gpuDataPaging.htm](http://media.armadilloaerospace.com/misc/gpuDataPaging.htm)

And CUDA6 already does that:
[http://devblogs.nvidia.com/parallelforall/unified-memory-
in-...](http://devblogs.nvidia.com/parallelforall/unified-memory-in-cuda-6/)
(though there are limitations, see Mark Harris's comments and
[http://users.ices.utexas.edu/~sreepai/automem/](http://users.ices.utexas.edu/~sreepai/automem/)
notes it generates redundant transfers)

------
jerven
Great news! This is going to help java be gpu accelerated! Using Graal/Sumatra
to speed up java8 stream based computations.

