5 Replies Latest reply on Apr 20, 2010 5:50 PM by bruck

    ACML-GPU on AMD 5970

    Marix
      Library claims GPU to be unsupport

      I am using an ASUS EAH 5970 with Ubuntu 8.04 LTS in headless mode (remote via SSH). I successfully installed the Stream SDK 2.0 with the corresponding drivers. Both, the CAL FindNumDevices and the OpenCL CLInfo examples from the SDK find the two GPUs of the 5970 and the SDK examples work fine.

      I downloaded the ACML-GPU 1.0, which seems to be the latest available version. In combination with gcc 4.1 it works fine as long as I restrict it to the CPU (NO_GPU=T). If NO_GPU is not set however, I get the following message:

       

      WARNING: Detected unsupported GPU architecture
      ERROR: No GPUs available
      ERROR: Failed to initialize GPU(s) for DGEMM


      As the 5970 has all features that previous cards had I don't see, why it should be unsupported. Is there a newer version of the library which properly handles this case?

        • ACML-GPU on AMD 5970
          pkwgarcias

          The ACML-Gpu is based on the previous version of Stream Sdk that does not support your card. I hope this will be improved soon.

          • ACML-GPU on AMD 5970
            bruck

            But I fear this is not the full story.  I have the SAME problem, but with a 5870, which SHOULD be supported.

            After struggling with the usual problems --- making sure all the paths are correct, downgrading to gcc-4.1.2 (for the right gfortran version), struggling with ints vs. longs in BLAS and LAPACK (I had been using MKL, but switched to ACML when it proved faster in the non-GPU version); I finally got my program to compile, only to get the message

              WARNING: Detected unsupported GPU architecture
              ERROR: No GPUs available
              ERROR: Failed to initialize GPU(s) for DGEMM

              Warning: libCALBLAS is not reentrant!
              Multi-threaded use of this library is not supported.
              When GPU-accellerated ACML routines are called on multiple threads
              concurrently, the requests will be executed serially, even if multiple
              GPUs are present.

            Which, BTW, is the message I get when I run every single one of the precompiled examples.

            I have two cards installed:  a 5870 and a Firestream 9270.  All I can think is that I have the wrong driver.  I ran ati-driver-installer-10.3, and I don't know what else to do.  I remember that when I first got the Firestream (last October, and I STILL can't get it to work) there were special beta drivers (with a lousy beta message on the screen).  Is that still necessary?

            I'd appreciate some help.  I couldn't even REGISTER the damned Firestream, because the package insert directing me where to register was a nonexistent URL.  So far I'm not very impressed with AMD...

             

            • ACML-GPU on AMD 5970

              You are absolutely right that the 5870 and 5970 should be supported, but are not supported by ACML-GPU 1.0.

              Release 1.0 is based on an older version of the Stream SDK which did not support the newer 5xxx series of GPUs.

              A new release -- 1.1 -- of ACML-GPU has been in development for some time, and is very nearly ready for release, but is being held up by some severe driver and OS issues.

              We really regret the delay, but it won't be long now.

                • ACML-GPU on AMD 5970
                  bruck

                  Ahhh, thanks for the quick reply.  Meanwhile, I read (somewhere) on the website that to be recognized, a video card must actually have a monitor attached.  That explains why my 9270 doesn't work.

                  In fact, when I bought it, I didn't know it WAS a graphics card.  The advertising made it sound like it was a GPU with lots of RAM but didn't emphasize (mention?) it handled graphics.  (I could have saved the cost of the 5870 had I known.)

                  So I took my old Apple HD Cinema display and connected it to the 9270.  Sure enough, I was able to configure it at 1600x1200 in amdcccle.  But before I could use it, the monitor died.  (I don't understand why; but it won't work on the Apple anymore, either.)

                  I'll try buying a cheap monitor and see if that works.  OpenCL works fine now, but CAL still doesn't recognize any GPU's, so this may not be the whole story.  I was surprised to read I have to REGISTER opencl by creating /usr/lib/OpenCL/vendors and symlinking the two libraries--I don't remember seeing that in the documentation!  Is there something similar I should do for CAL?

                  -- Ron Bruck