Announcement

Collapse
No announcement yet.

AMD Evergreen Compute Support Lands Mainline

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

  • AMD Evergreen Compute Support Lands Mainline

    Phoronix: AMD Evergreen Compute Support Lands Mainline

    There were more OpenCL/compute-related commits to Mesa Git master on Friday afternoon. The main item is that the Radeon HD 5000 series has its compute support hooked-up...

    http://www.phoronix.com/vr.php?view=MTExMTk

  • #2
    For everybody who wants to go to libclc without going through one additional phoronix page and one mailing list page:
    http://libclc.llvm.org/

    Not to confuse with libclc:
    http://libclc.sourceforge.net/

    Please, somebody rename one of those projects.


    So my real question: How do I build libclc? There's an awful lack of documentation on that page
    Code:
     /tmp/libclc (git)-[master] % for i in **/*.py; do sed -i 's#/usr/bin/python#/usr/bin/python2#g' "$i"; done
     /tmp/libclc (git)-[master] % ./configure.py --prefix=~/libclc
     /tmp/libclc (git)-[master] % make
    LLVM-CC nvptx--nvidiacl/lib/convert.cl.bc
    error: unknown target triple 'nvptx--nvidiacl', please use -triple or -arch
    make: *** [nvptx--nvidiacl/lib/convert.cl.bc] Error 1
     /tmp/libclc (git)-[master] %
    Is my llvm lacking PTX support?

    Comment


    • #3
      nice work devs


      benchmarks please

      Comment


      • #4
        Originally posted by ChrisXY View Post
        For everybody who wants to go to libclc without going through one additional phoronix page and one mailing list page:
        http://libclc.llvm.org/

        Not to confuse with libclc:
        http://libclc.sourceforge.net/

        Please, somebody rename one of those projects.


        So my real question: How do I build libclc? There's an awful lack of documentation on that page
        Code:
         /tmp/libclc (git)-[master] % for i in **/*.py; do sed -i 's#/usr/bin/python#/usr/bin/python2#g' "$i"; done
         /tmp/libclc (git)-[master] % ./configure.py --prefix=~/libclc
         /tmp/libclc (git)-[master] % make
        LLVM-CC nvptx--nvidiacl/lib/convert.cl.bc
        error: unknown target triple 'nvptx--nvidiacl', please use -triple or -arch
        make: *** [nvptx--nvidiacl/lib/convert.cl.bc] Error 1
         /tmp/libclc (git)-[master] %
        Is my llvm lacking PTX support?
        You need the current SVN version of LLVM to build the libclc from trunk. However, if you want to test out clover on r600g, you'll need to fetch my patched version of libclc here: http://cgit.freedesktop.org/~tstellar/libclc

        Full instructions for getting clover going on r600g can be found here: http://dri.freedesktop.org/wiki/GalliumCompute

        Comment


        • #5
          Originally posted by tstellar View Post
          Full instructions for getting clover going on r600g can be found here: http://dri.freedesktop.org/wiki/GalliumCompute
          If I need to patch llvm, then it too much for me right now. The article just made it sound so easy. ^That link should have been in the article...

          And by the way: keep up the good work.

          Comment


          • #6
            Great news

            Great news for all Evergreen owners.
            Watch out, maybe soon AMD drop support for the Evergreen too.
            They just dropped 2000, 3000, and 4000 series support. You're guys next.

            Comment


            • #7
              Congrats on this. Hopefully NI and SI support won't be too far behind (but in reality they probably will be, at least for SI).

              This came about 3 months too late for me. My HD5970 is no longer in my immediate possession.

              Comment


              • #8
                Originally posted by allquixotic View Post
                Congrats on this. Hopefully NI and SI support won't be too far behind (but in reality they probably will be, at least for SI).
                The Evergreen code covers all NI cards too, except for Cayman/Trinity, which have a slightly different compute / 3D engine. I was able to get compute working on Cayman/Trinity recently, and I'm hoping to push that code out next week.

                You're right, SI will take longer, because it is a completely different architecture.

                Comment


                • #9
                  Originally posted by tstellar View Post
                  Full instructions for getting clover going on r600g can be found here: http://dri.freedesktop.org/wiki/GalliumCompute
                  I build all with this instruction, but all opencl-examples shows me
                  Code:
                   /home/downloads/git/opencl-example/hello_world 
                  radeon: Failed to get PCI ID, error number -13
                  There are 1 platforms.
                  clGetDeviceIDs() failed: CL_DEVICE_NOT_FOUND
                  I use hd6770 (juniper).
                  In what may be the problem?

                  libclc has same warnings at build time
                  Code:
                  LINK utils/prepare-builtins
                  LLVM-CC r600--/lib/workitem/get_global_id
                  LLVM-CC r600--/lib/workitem/get_global_size.cl.bc
                  LLVM-CC r600--/lib/convert.cl.bc
                  ./generic/lib/convert.cl:69:19: warning: shift count >= width of type [-Wshift-count-overflow]
                    return l > ((1UL<<32)-1) ? ((1UL<<32)-1) : l;
                                    ^ ~~
                  ./generic/lib/convert.cl:69:35: warning: shift count >= width of type [-Wshift-count-overflow]
                    return l > ((1UL<<32)-1) ? ((1UL<<32)-1) : l;
                                                    ^ ~~
                  2 warnings generated.
                  LLVM-CC r600--/lib/geometric/cross.cl.bc
                  LLVM-CC r600--/lib/geometric/dot.cl.bc
                  LLVM-CC r600--/lib/geometric/length.cl.bc

                  Comment


                  • #10
                    Originally posted by Pontostroy View Post
                    I build all with this instruction, but all opencl-examples shows me
                    Code:
                     /home/downloads/git/opencl-example/hello_world 
                    radeon: Failed to get PCI ID, error number -13
                    There are 1 platforms.
                    clGetDeviceIDs() failed: CL_DEVICE_NOT_FOUND
                    I use hd6770 (juniper).
                    In what may be the problem?
                    You need to run those programs as root if X is running.

                    Originally posted by Pontostroy View Post
                    libclc has same warnings at build time
                    Code:
                    LINK utils/prepare-builtins
                    LLVM-CC r600--/lib/workitem/get_global_id
                    LLVM-CC r600--/lib/workitem/get_global_size.cl.bc
                    LLVM-CC r600--/lib/convert.cl.bc
                    ./generic/lib/convert.cl:69:19: warning: shift count >= width of type [-Wshift-count-overflow]
                      return l > ((1UL<<32)-1) ? ((1UL<<32)-1) : l;
                                      ^ ~~
                    ./generic/lib/convert.cl:69:35: warning: shift count >= width of type [-Wshift-count-overflow]
                      return l > ((1UL<<32)-1) ? ((1UL<<32)-1) : l;
                                                      ^ ~~
                    2 warnings generated.
                    LLVM-CC r600--/lib/geometric/cross.cl.bc
                    LLVM-CC r600--/lib/geometric/dot.cl.bc
                    LLVM-CC r600--/lib/geometric/length.cl.bc
                    These warning shouldn't affect anything.

                    Comment

                    Working...
                    X