2 Replies Latest reply on Jun 8, 2017 7:56 AM by gc9

    Qestions of ROCm and the relation between it and HSA

    marty1885

      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)
        • Re: Qestions of ROCm and the relation between it and HSA
          gstoner

          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 http://www.hsafoundation.com/html_spec111/HSA_Library.htm 

           

          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.

           

           

           

           

          https://rocm.github.io/

            • Re: Qestions of ROCm and the relation between it and HSA
              gc9

              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.)