4 Replies Latest reply on Nov 15, 2011 5:00 PM by tdma

    Using 32-bit APPML application on 64-bit Windows

    svs1
      clAmdBlasDgemv() fails

      Evaluating APPML v1.4 on x64 Windows 7 with APP SDK v2.5 and with Radeon HD 6970, driver version 8.841, the following problems manifested,

      1. clAmdBlasDgemv() fails with CL_BUILD_PROGRAM_FAILURE when CPU device is selected for 32-bit application

      2. clAmdBlasDgemv() fails with CL_INVALID_BUILD_OPTIONS when GPU device is selected for 32-bit application. It used to work until I upgraded the graphics card driver. However, performance was significantly slower comparing to 64-bit application

      3. clAmdBlasTune is counterproductive, at least for clAmdBlasDgemv() for x64 application

      Could anyone please comment if any of those issues are by design?

        • Using 32-bit APPML application on 64-bit Windows
          kknox

          Hi svs1,

          Our first step is to reproduce the problem you are seeing.  Can you post simple OpenCL code to repro these build failures?  

          Your first sentence says that were testing with driver 8.841, but in bullet #2 you say that your problem was working until you upgraded your graphics card driver?  What driver did you upgrade too?

          We have noticed that our tuning algorithm does sometimes slow performance down, especially for smaller problems; we tend to optimize for big problems.  If you notice performance getting worse, delete the tuning database and we should get tuning better over time.

            • Using 32-bit APPML application on 64-bit Windows
              svs1

              Hi kknox,

              The OpenCL kernel code is inside APPML. This is the code that is optimised via turning, isn't it? The CPU code is from samples, example_sgemv, example_sgemm. The examples from bin32 directory fail with -43 (CL_INVALID_BUILD_OPTIONS) on x64 Windows. If you modify clGetDeviceIDs() to switch from GPU into CPU, the examples will fail with CL_BUILD_PROGRAM_FAILURE.

              The driver was upgraded to version 8.841. Unfortunately I do not remember the old version, and do not know how to downgrade.

                • Using 32-bit APPML application on 64-bit Windows
                  kknox

                  Hi svs1~

                   

                  If you are using AMD APP SDK v2.5, you should upgrade your driver to Catalyst 11.7 (8.872), as documented here: 

                  http://developer.amd.com/sdks/AMDAPPSDK/pages/DriverCompatibility.aspx



                  The SDK and the math libraries are tested in a software stack, and those are the drivers that received the most testing in our labs.  Please let me know if you see these issues with 8.872.

                    • Using 32-bit APPML application on 64-bit Windows
                      tdma

                      Maybe I need to start new thread but:

                      I get "-1" from clGetDeviceIDs() when I run the clAmdBlasTune from the clAmdBlas 1.4 library.

                      Also, all precompiled examples return segmentation fault; same error when I compile an example and run it.

                      This is on opensuse 11.4 (64-bit) with an intel i5 cpu, only (laptop). And I have the SDK 2.5 installed, and all my other opencl programs compile and run.

                      Can I see the source code of the clAmdBlasTune? Is there specified to look only for GPUs? I have seen others reporting clAmdBlas runs on the CPU for them.

                      Any hint greatly appreciated.

                       

                      Thanks

                      Tom