1 Reply Latest reply on Jun 16, 2009 9:29 PM by jim.conyngham@amd.com

    acml sgemm error

    joferl

      Hi All,

       

      I installed my new redaon hd4870 1Gb and tested the sdk exemple, ans they seems to work fine.

       

      I then installed acml-gpu and gcc 4.1.2.

       

      my code is as follow :

      #include "acml.h"
      #include <stdlib.h>

      main(){

          float *fA,*fB,*fC;

          fA = (float*)malloc(i*i*sizeof(float));
          fB = (float*)malloc(i*i*sizeof(float));
          fC = (float*)malloc(i*i*sizeof(float));

         ->FILL fa and fb

          sgemm('N', 'N', i, i, i, 1.0, fA, i, fB, i, 0.0, fC, i);

          free(fA);
          free(fB);
          free(fC);

      }

       

      I compile this :

      gcc run.cxx -I/opt/ati/acmlg1.0/gfortran64/include -L/opt/ati/acmlg1.0/gfortran64/lib -lacml -lacml_mv -L. -lgfortran -lCALBLAS -laticalcl -laticalrt -lm -lg2c

      The execution gives the following :

      ERROR: unable to allocate minimum uncached system (GART) memory

                     Total   Available   Last Request
      Local:       1024 MB       97 MB    838860800 ( 800 MB) ok
      Remote (NC):    0 MB        0 MB      8519680 (   8 MB) FAILED
      Remote (C):  2044 MB     1626 MB    419430400 ( 400 MB) ok

      ERROR: Failed to initialize GPUs
      ERROR: Failed to initialize GPU(s) for SGEMM

      Does anyone have any idea/suggestion ?

       

      thanks

        • acml sgemm error

          Hi Joferl,

          First of all let me apologize that nobody responded to your posting before now.  (There's a separate forum for ACML questions, and I like to think you'd have gotten a prompt answer if you had posted there, but that's really no excuse.)

          In order for ACML-GPU, or any application to get data to- and from the GPU, it has to allocate memory buffers that can be shared between the CPU and the PCIe bus.  That's what's failing.  The error line shows that there is no memory whatsoever available in the non-cached system sharable memory poll.

          This is probably a bug or incompatibility in the device driver, which manages that memory pool.  I suspect that you are using an older version of the Linux Catalyst driver.  If upgrading the driver doesn't solve the issue, please post back and I'll try to help.