Announcement

Collapse
No announcement yet.

ROCm 1.6 Radeon Open Compute Released

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ROCm 1.6 Radeon Open Compute Released

    Phoronix: ROCm 1.6 Radeon Open Compute Released

    Just as scheduled, last night marked the release of Radeon Open Compute (ROCm) v1.6 being released...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Why does it need its own kernel driver?

    Comment


    • #3
      Not all the features are mainline yet. That's all.

      Comment


      • #4
        Would like to try the new opencl support, but man tonga just doesn't work..

        Comment


        • #5
          Reading the ROCm readme I am a little confused about what cpu can I use with ROCm. E.g. if I want to use ROCm for OpenCL with Polaris dGPU, is my only option right now from AMD to use Ryzen? That seems like a very drastic cutoff, especially since much older Intel cpus seems to be supported?

          As I understand the issue is related to missing PCIe Atomics operations, but does it mean such setup will not work at all or just not as fast as it could otherwise?

          Experimental support for our GFX7 GPUs Radeon R9 290, R9 390, AMD FirePro S9150, S9170 note they do not support or take advantage of PCIe Atomics.
          so it would seem like PCIe Atomics might not be intrinsically necessary? or at least such requirement be lifted in the future versions?

          Comment


          • #6
            Originally posted by fl1pm View Post
            Reading the ROCm readme I am a little confused about what cpu can I use with ROCm. E.g. if I want to use ROCm for OpenCL with Polaris dGPU, is my only option right now from AMD to use Ryzen? That seems like a very drastic cutoff, especially since much older Intel cpus seems to be supported?

            As I understand the issue is related to missing PCIe Atomics operations, but does it mean such setup will not work at all or just not as fast as it could otherwise?


            so it would seem like PCIe Atomics might not be intrinsically necessary? or at least such requirement be lifted in the future versions?
            Think ROCm like a low level CUDA. It provides low level compute API for AMD GPUs, on which different higher-level APIs can be implemented. (Ex: OpenCL, HIP(aka AMD's CUDA), C++ AMP, etc..)
            Regards to supported CPU. The READEME states that PCIe Atomis are required to run ROCm(I guess it means that it won't work without aromics). Which is only implemented on PCIe Gen 3. However the current Polaris driver does not require it(Might change in the future.). Thus, to guarantee that ROCm can run on your hardware. PCIe Gen3 and atomics is required. And that's the only requirement. So any CPU with PCIe Gen 3 and atomics will work, Which includes Ryzen, Xeon v3 or later and Intel Core I CPUs later than Haswell.

            Comment


            • #7
              ROCm shares most of the same kernel driver with amdgpu. There are just some pieces that are not upstream yet. We are working on that. As for the requirements, you need pcie gen3 for pcie atomics. If you don't need those, you should be ok with older CPUs, we've just done most of our validation on pcie gen3 platforms so that is what we recommend.
              Last edited by agd5f; 02 July 2017, 07:33 AM. Reason: clarify.

              Comment


              • #8
                Thanks for the answers. It looks I am not ok with older cpu though. Firstly, it explicitly checks in the kfd driver for polaris gpus if pci atomics are supported by the cpu, and fail to recognize the card for ROCm if they don't. Once I modifed the checks for polaris to look more like the ones for the older cards without pci atomics support, the card was recognized, but the execution hangs on the sample programs on

                Code:
                hsa_executable_freeze(executableOut, nullptr)
                which if I understand correctly is in the still closed source part of the ROCm from libhsa-runtime64.so.1, so couldn't really investigate further what exactly is going on.

                I know this is not officially supported scenario, but anyone's got any ideas?

                Comment


                • #9
                  Thanks for the answers. It looks I am not ok with older cpu though. Firstly, it explicitly checks in the kfd driver for polaris gpus if pci atomics are supported by the cpu, and fail to recognize the card if they don't. Once I modifed the checks for polaris to look more like the ones for the older cards without pci atomics support, the card was recognized, but the execution hangs on the sample programs on

                  Code:
                  hsa_executable_freeze(executableOut, nullptr);
                  which if I understand correctly is in the still closed source part of the ROCm from libhsa-runtime64.so.1, so couldn't really investigate further what exactly is going on.

                  I know this is not officially supported scenario, but anyone's got any ideas?

                  Comment


                  • #10
                    Most of the sample programs still use the HSAIL compiler path (which is where the closed source code comes in) but AFAIK HCC/HIP and OpenCL all use the open source direct-to-ISA compiler path, so testing one of those would probably be more useful. Not saying that will work (I don't know if anyone has tried) but maybe worth trying.

                    AFAIK we are updating the sample programs so that they use the same direct-to-ISA compiler paths as everything else.
                    Test signature

                    Comment

                    Working...
                    X