4 ms·
"Heterogeneous System Architecture Runtime", if you were wondering like I was.
by portmanteaufu 12y ago
"Heterogeneous System Architecture Runtime", if you were wondering like I was.
- lovelearning 12y agoTo 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 12y ago> 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.
- lovelearning 12y agoThanks, 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.
- wyldfire 12y agoDoes "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 12y ago> 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-cuda-6/ http://devblogs.nvidia.com/parallelforall/unified-memory-in-... (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)