Announcement

Collapse
No announcement yet.

AMDGPU-PRO's OpenCL stack crashes the whole system down to its knees on SI

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

  • AMDGPU-PRO's OpenCL stack crashes the whole system down to its knees on SI

    Hi,
    I would like to know if AMDGPU-PRO's OpenCL stack is supposed to work with mainline linux-4.12.13 with amdgpu.si (HD7950).
    I didn't install the whole AMDGPU-PRO, just the OpenCL userspace.
    I tried darktable with OpenCL enabled and it didn't work, so as suggested somewhere else I setted GPU_FORCE_64BIT_PTR=1 but it crashed the whole system so hard that even magic sysrq keys didn't work anymore.
    Am I wasting my time or is it supposed to work somehow?
    ## VGA ##
    AMD: X1950XTX, HD3870, HD5870
    Intel: GMA45, HD3000 (Core i5 2500K)

  • #2
    Is it really needed? Last time I heard it wasn't necessary for OpenCL. Can someone from AMD confirm? I would rather prefer to not use an out of tree kernel if possible.
    ## VGA ##
    AMD: X1950XTX, HD3870, HD5870
    Intel: GMA45, HD3000 (Core i5 2500K)

    Comment


    • #3
      We only test OpenCL against the hybrid kernel at the moment.

      Comment


      • #4
        Originally posted by bridgman View Post
        We only test OpenCL against the hybrid kernel at the moment.
        I need to use mainline kernels, so I backported the drm subsystem from agd5f/drm-next-4.15-dc into linux-4.13.4: https://github.com/darkbasic/linux-4.13.y-dc

        Finally OpenCL seems to work flawlessly: https://openbenchmarking.org/result/...or=y&obr_rro=y
        Edit: PTS profile was broken, real results: https://openbenchmarking.org/result/...or=y&obr_rro=y

        I also made an AUR PKGBUILD if there are ArchLinux users interested out there: https://aur.archlinux.org/packages/linux-4.13.y-dc/

        Unfortunately I'm not sure if DC is enabled or not, in fact reading from the relevant Kconfig it seems to be not compatible with Tahiti (I have an HD 7950).

        Is it true? Can you please have a look? This is my dmesg: https://paste.pound-python.org/show/...WRtzhzlnS3VNp/

        Thanks
        Last edited by darkbasic; 09-30-2017, 08:49 AM.
        ## VGA ##
        AMD: X1950XTX, HD3870, HD5870
        Intel: GMA45, HD3000 (Core i5 2500K)

        Comment


        • #5
          Michael your previous darktable results were mostly broken. Since my results aligned with yours I tought they were fine, but then I tested from the command line (which doesn't filter out my GPU_FORCE_64BIT_PTR=1 environment variable) and I found that it was previously using the cpu (like some of the cards in your test). I modified the PTS profile to add the GPU_FORCE_64BIT_PTR=1 environment variable and here are the real numbers for my HD 7950: https://openbenchmarking.org/result/...or=y&obr_rro=y
          Short story: it eats the GTX 1080 for breakfast.
          ## VGA ##
          AMD: X1950XTX, HD3870, HD5870
          Intel: GMA45, HD3000 (Core i5 2500K)

          Comment


          • #6
            Originally posted by debianxfce View Post

            Search from the source code strings "dce6" and "TAHITI". It is quite quiet. You can live without hdmi audio and freesync support but not without analog audio and B&W speakers.
            http://www.bowers-wilkins.eu/Speaker...eries/686.html
            Well to be honest I already looked at the source code, but I wanted to know if there were some real reasons to not enable it on TAHITI, especially considering that DC support was already enabled in AMDGPU-PRO for my card. Anyway let's switch it on and see what happens: https://github.com/darkbasic/linux-4...2f6f2ca7aacea4

            By the way I don't care about HDMI audio, I simply want DisplayPort MST and working OpenCL. Freesync would be a great addition too, but currently my monitors do not support it (and I'm not going to buy a FreeSync monitor until AMD clarifies their position regarding the FreeSync successor, which seems to be proprietary).
            ## VGA ##
            AMD: X1950XTX, HD3870, HD5870
            Intel: GMA45, HD3000 (Core i5 2500K)

            Comment


            • #7
              Originally posted by debianxfce View Post

              OpenCL benchmarks show that the RX560 is much faster than your current old gpu card. An upgrade to RX560 would cost less than 100 usd if you sell your old hw. Then all amdgpu open source goodies is available to you.
              I would like to upgrade to RX Vega 64 but the short availability made the prices grow (I cannot find it for less than 564€ while it should cost no more than 464€ which is the price of the GTX 1080). Anyway I'm not going to upgrade right now because I also plan to buy a threadripper/7980XE (depending on my near term incomes) and I don't want to refill my liquid cooling system twice, which means that in the meantime I will have to find a way to make the open source goodies available to me
              I would love to buy a threadripper (especially because it costs half the price) but it's capped to 4 GHz while I could easily overclock the 7980XE to 5GHz+. Single threaded performance is very important to me because in some circumstances it allows me to get my work done faster, and as everybody knows time is money.
              ## VGA ##
              AMD: X1950XTX, HD3870, HD5870
              Intel: GMA45, HD3000 (Core i5 2500K)

              Comment


              • #8
                Originally posted by darkbasic View Post
                Well to be honest I already looked at the source code, but I wanted to know if there were some real reasons to not enable it on TAHITI, especially considering that DC support was already enabled in AMDGPU-PRO for my card.
                I didn't think DC included support for SI in AMDGPU-PRO either.

                Originally posted by debianxfce View Post
                OpenCL benchmarks show that the RX560 is much faster than your current old gpu card. An upgrade to RX560 would cost less than 100 usd if you sell your old hw. Then all amdgpu open source goodies is available to you.
                Are you sure ? I would expect a 560 to be pretty close to a 7950 for FP32, both in the 2.5 TF range, but if FP64 is at all important I believe Tahiti had 1/4 speed FP64 even on the consumer cards, making it ~4x as fast as a 560 in FP64.

                This is all going from memory but I think it's correct.
                Last edited by bridgman; 09-30-2017, 01:07 PM.

                Comment


                • #9
                  Originally posted by bridgman View Post
                  I didn't think DC included support for SI in AMDGPU-PRO either.
                  Are you sure? I remember grepping something about freesync in dmesg and don't think you ever supported it in anything but amdgpu-pro.

                  Anyway I had a look at the code, especially when they added support for KAVERI with this patch series:
                  https://cgit.freedesktop.org/~agd5f/...cf7dc00f41dcbe
                  https://cgit.freedesktop.org/~agd5f/...a489093aad2ddd
                  https://cgit.freedesktop.org/~agd5f/...2bd2c3e3e2663f
                  https://cgit.freedesktop.org/~agd5f/...5103d6b7fa21c3
                  https://cgit.freedesktop.org/~agd5f/...4f39234f7d3e26
                  https://cgit.freedesktop.org/~agd5f/...dee68321494351

                  It seems it was pretty straightforward becaure everything's was already in place because of similar architectures.
                  I don't have the knowledge to dig depper and figure out how to properly enable DC for TAHITI, but since it's very similar to HAWAII (which is supported) it shouldn't be much work.
                  Can you please provide me with a patch to test-enable it on GCN1.0 to see how it works? I think it should probably be already in a decent state because of AMDGPU-PRO.

                  Thanks
                  ## VGA ##
                  AMD: X1950XTX, HD3870, HD5870
                  Intel: GMA45, HD3000 (Core i5 2500K)

                  Comment


                  • #10
                    My understanding is that Kaveri and Tahiti have quite different display controllers. Kaveri is CI, not SI.

                    https://www.x.org/wiki/RadeonFeature/#index7h2
                    Last edited by bridgman; 09-30-2017, 08:06 PM.

                    Comment

                    Working...
                    X