Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Adept II

Qestions of ROCm and the relation between it and HSA

Hello all,

After doing some research online and reading the introduction of ROCm. I'm confused on what HSA (AMD HSA Runtime) and ROCm does.

They seems to both provide the same thing(HSA APIs) and that ROCm is a newer version of HSA Runtime? I'm really confused.

Reading more documentation online, I got even got confused.

Here are my questions

  • Is ROCm the newer version of HSA Runtime?
  • Does ROCm provides the access to HSA APIs?
  • If I want to write HSA code on recent hardware(Polaris and the upcoming Vega), which should I use?
  • Any other difference between the two?
  • Will installing ROCk effect the ability to use OpenGL on Linux(It's a kernel driver after all)
  • The ROCk repo looks like a fork of the Linux Kernel. Can I compile it as a kernel module then use it on a newer version of Linux kernel(eg: 4.11-rc6)
4 Replies

HSA is Industry Standard Specification from the HSA Foundation HSA Foundation ARM, AMD, Imagination, MediaTek, Qualcomm, Samsung, TI  The group publishes core set of specifications 

The ROCm driver is HSA Compatible Driver that has been extended to support not just APUs but also Discreet GPUs.

The ROCm driver is composed of sub compont which language runtime sit on.   HCC, HIP, OpenCL and Anaconda Python with Numba.

- First is ROCr which a HSA Compatible API runtime but is superset for needs dGPU and also HPC market Peer to Peer, RDMA and number of other runtime extentions for HPC market not included in base spec.

- Next  is the thunk layer which abstract interface to the kernel driver

- Finaly in base kernal driver is ROCk aka KFD

ROCm Software Platform is the only driver supporting Discreet GPU's  Polaris, Fji and Vega10.   Previous HSA driver which was donated to HSA Foundation as sample code ran only on APUs.

ROCm Software Platform will be extended to support more then the currrent HPC Headless optimized open source driver.  ROCm Software Platform  is really our new GPU Computing foundation for linux. So we can support broader set of language and runtime and also give developer lower level access to the hardware.

One thing the driver at. ROCm Install was really optimized for headless enviornment for Server based GPU computing.  We have been adding support for OpenGL via EGL via the mesa graphics stack with 2 way interop.  Note it does come up with head with X11/OpenGL so you can use it on Developer workstation but this was not it primary operating mode to be workstation driver in it 1.x version of ROCm. 

More info to come on this soon on new driver support beyond current ROCm driver.

Thank you for the update.   Will "more info soon" be separate updates (keep the buzz going), or part of a bigger bang at the June 27 Vega Frontier or the August SIGGraph events?  Maybe you can't say.

(So, discreet echoes of a marketing pun?  "Convert your workstation to a thin, quiet place where you can think, learn, discuss, and create.  Take the noisy, ostentatious, space-taking, separately warranteed discrete workstation GPU components with loud fans, big logos, and blinking RGB LEDs out of their deskside cages, and replace them with quietly distant, invisible, discreet server GPU appliances hidden in your datacenter or local cloud."  Nice to hear that ROCm targets will eventually expand beyond "discreet" servers.)


I don't think you understood what's meant by a "discrete GPU".  It's a dedicated card, rather than an integrated GPU.

Or, you could be commenting on the naming/term itself.


Awesome stuff!  Very helpful, indeed.  I was just going to ask about the ability to use a discreet Polaris GPU with the HSA tools/drivers.

I'd love to know if there are additional updates to this and/or where this work can be tracked, if possible.

Thanks again.