cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

settle
Challenger

AMD APP KernelAnalyzer and cl_amd_vec3

I'm using AMD APP KernelAnalyzer 1.12.1288 with CAL 12.4 and attempting to use vec3 data types in my kernels.

Source Code:

#pragma OPENCL EXTENSION cl_amd_vec3 : enable

__kernel void u3d(uint3 n, uint3 pitch, float h, __global float *u)

{

    uint3 global_offset = (uint3)(get_global_offset(0), get_global_id(1), get_global_id(2));

    uint3 global_id = (uint3)(get_global_id(0), get_global_id(1), get_global_id(2));

    uint l = dot(convert_float3(global_id - global_offset), convert_float3(pitch));

    float3 x = -1 + convert_float3(global_id - global_offset) * h;

    u = dot(sin(M_PI_F * x), 1);

}

If I include the pragma line I get:

OpenCL Compile Error: clBuildProgram failed (CL_BUILD_PROGRAM_FAILURE).

error: can't enable all OpenCL extensions or unrecognized OpenCL extension

  #pragma OPENCL EXTENSION cl_amd_vec3 : enable

                                                                       ^

1 error detected.

If I exclude the pragma line I get:

OpenCL Compile Error: clBuildProgram failed (CL_BUILD_PROGRAM_FAILURE).

calclCompile failedError: Creating kernel u3d failed!

Can anyone tell me what I may be doing wrong or if this is a problem with the KernelAnalyzer?  Thanks!

0 Likes
1 Solution
rouellet
Staff

This appears to be a bug in the OpenCL support.

When I add these pragmas to one of the APP SDK samples I see the same errors.

I used the BoxFilter example, because it has code to report compilation errors.

I will report open a bug report.

c:\Users\rouellet.AMD\Documents\AMD APP\samples\opencl\bin\x86_64>BoxFilter.exe

Running SAT version..

Platform 0 : Advanced Micro Devices, Inc.

Platform found : Advanced Micro Devices, Inc.

Selected Platform Vendor : Advanced Micro Devices, Inc.

Device 0 : Capeverde Device ID is 00000000001DF650

                        BUILD LOG

************************************************

"C:\Users\rouellet.AMD\AppData\Local\Temp\OCLE085.tmp.cl", line 1: error:

          can't enable all OpenCL extensions or unrecognized OpenCL extension

  #pragma OPENCL EXTENSION cl_amd_vec3 : enable

                                         ^

"C:\Users\rouellet.AMD\AppData\Local\Temp\OCLE085.tmp.cl", line 2: warning:

          ignore unrecognized OpenCL extension

  #pragma OPENCL EXTENSION cl_khr_fp64 : enable

                                               ^

1 error detected in the compilation of "C:\Users\rouellet.AMD\AppData\Local\Temp\OCLE085.tmp.cl".

Internal error: clc compiler invocation failed.

************************************************

Error: clBuildProgram failed. Error code : CL_BUILD_PROGRAM_FAILURE

Location : SDKCommon.cpp:1614

Error: sampleCommon::buildOpenCLProgram() failed

Location : BoxFilterSAT.cpp:338

View solution in original post

0 Likes
14 Replies