Announcement

Collapse
No announcement yet.

Compute Code For AMD Cayman Lands In Mesa

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

  • Compute Code For AMD Cayman Lands In Mesa

    Phoronix: Compute Code For AMD Cayman Lands In Mesa

    Compute (OpenCL) support for the AMD Radeon HD 6900 "Cayman" graphics cards has now landed in Mesa Git master...

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

  • #2
    w00t!

    Congrats Tom and everyone else whose had a hand in this.

    I'm just finishing up recreating my build system after an OS reinstall, and hopefully I'll be able to get back to testing clover on my 6850 soon.

    Comment


    • #3
      Radeon 2600 XT with OpenCL?

      Originally posted by Veerappan View Post
      w00t!

      Congrats Tom and everyone else whose had a hand in this.

      I'm just finishing up recreating my build system after an OS reinstall, and hopefully I'll be able to get back to testing clover on my 6850 soon.
      I just wanna ask about Radeon 2600 XT, I know this is a little bit older one, but is there something avaiable like OpenCL, or ATI/AMD Stream?
      If so, then will be possible to implement something like that in Clover? :]

      Comment


      • #4
        If I understand correctly, OpenCL is possible only since r700. And current efforts only target Evergreen and newer.

        Comment


        • #5
          Originally posted by Camelek View Post
          I just wanna ask about Radeon 2600 XT, I know this is a little bit older one, but is there something avaiable like OpenCL, or ATI/AMD Stream?
          If so, then will be possible to implement something like that in Clover? :]
          Your hardware doesn't support all the OpenCL features so that will likely never get added to the open drivers, and I don't think there is too much interest in adding any other compute languages. If there is, it would almost certainly be CUDA instead of Stream.

          But you can probably get Stream running from the AMD binary drivers.

          Comment


          • #6
            Thank you guys for quick answers :]
            It is always the same issue with older drivers, that there is not much interest in upgrading them, even if HW got possible, or full support of some features.

            Comment


            • #7
              Originally posted by Camelek View Post
              Thank you guys for quick answers :]
              It is always the same issue with older drivers, that there is not much interest in upgrading them, even if HW got possible, or full support of some features.
              its nvidia and apples fault because they put all nvidia spezific caches into the spec.

              someone can theoretically write a OpenGL emulation in shader and emulate all nvidia spezific caches in VRAM'

              but the speed of such a solution will be very slow

              Comment


              • #8
                Originally posted by chithanh View Post
                If I understand correctly, OpenCL is possible only since r700. And current efforts only target Evergreen and newer.
                From what I understand, OpenCL is "all or nothing" approach: either you're able to implement all required features or you can't declare it's support at all. And x2600 both too old to fully support things in hardware and probably quite laughable in computation speed when compared with more recent cards.

                So good luck to find someone who would do some not so easy job without anyhow interesting rewards. Even AMD's own driver seems to lack OpenCL support for 2600XT if I got things right - see http://developer.amd.com/sdks/AMDAPP...atibility.aspx

                Comment


                • #9
                  I thought that if GPU supports ATI Stream, then automagically has OpenCL capability.

                  I have found that 2600 XT and older got ATI Stream support, but it lacks for example double precision, and kernel scatter.

                  http://developer.amd.com/archive/gpu...uirements.aspx

                  Originally posted by 0xBADCODE View Post
                  From what I understand, OpenCL is "all or nothing" approach: either you're able to implement all required features or you can't declare it's support at all. And x2600 both too old to fully support things in hardware and probably quite laughable in computation speed when compared with more recent cards.

                  So good luck to find someone who would do some not so easy job without anyhow interesting rewards. Even AMD's own driver seems to lack OpenCL support for 2600XT if I got things right - see http://developer.amd.com/sdks/AMDAPP...atibility.aspx

                  Comment


                  • #10
                    Originally posted by Camelek View Post
                    I thought that if GPU supports ATI Stream, then automagically has OpenCL capability.

                    I have found that 2600 XT and older got ATI Stream support, but it lacks for example double precision, and kernel scatter.

                    http://developer.amd.com/archive/gpu...uirements.aspx
                    You thought wrong.

                    In particular, one of the hardware requirements for OpenCL is a particular kind of cache - so that multiple shaders can share the same data - which wasn't implemented in Radeon hardware until the Evergreen generation.

                    Comment


                    • #11
                      Originally posted by smitty3268 View Post
                      You thought wrong.

                      In particular, one of the hardware requirements for OpenCL is a particular kind of cache - so that multiple shaders can share the same data - which wasn't implemented in Radeon hardware until the Evergreen generation.
                      Are you guys maybe thinking of the OpenCL 1.1 spec, which would be right for Evergreen? As I remember openCL 1.0 spec has been supported by AMD since 2008, supplanting "Close To Metal" for GPGPU.

                      IIRC DirectX10/OpenGL3 class hardware has OpenCL1.0 support, while DirectX11/OpenGL4 class hardware has OpenCL1.1 support.

                      Now though, an HD2600XT would be pretty slow for compute and does not support double percision as only the top end cards of each generation get that ability, even if the mid end cards of the next gen are just as, if not more powerful.

                      I'd just pickup an HD6670 or faster, the HD6670 would use less power, be much faster and supports OpenCL.

                      Comment


                      • #12
                        Originally posted by Kivada View Post
                        Are you guys maybe thinking of the OpenCL 1.1 spec, which would be right for Evergreen? As I remember openCL 1.0 spec has been supported by AMD since 2008, supplanting "Close To Metal" for GPGPU.

                        IIRC DirectX10/OpenGL3 class hardware has OpenCL1.0 support, while DirectX11/OpenGL4 class hardware has OpenCL1.1 support.

                        Now though, an HD2600XT would be pretty slow for compute and does not support double percision as only the top end cards of each generation get that ability, even if the mid end cards of the next gen are just as, if not more powerful.

                        I'd just pickup an HD6670 or faster, the HD6670 would use less power, be much faster and supports OpenCL.
                        R6xx hw doesn't support all the necessary bits for a full OpenCL 1,0 implementation. It could support a fair amount, but not everything. R7xx hw barely made the cut. The issue is the standards weren't finalized until after the hw was designed. It's a similar situation to with DX9 cards. OpenGL 2.x was finalized after DX9 came out so no-one actually made a card that was 100% GL 2.x compliant. The larger problem with OpenCL on 6xx/7xx cards is that they don't have a dedicated compute pipeline that matches the CL pipeline. As such, you have to translate OpenCL to something more like graphics in order to run it. Someone could implement limited CL support for 6xx/7xx cards and it would probably be useful for certain tasks.

                        Comment

                        Working...
                        X