sonkanit

Compiler crashes in my cl code

Discussion created by sonkanit on Mar 29, 2010
Latest reply on May 12, 2010 by renoViry

 

I tried to compile my code in Stream Kernel Analyzer (Using Stream SDK 2.01)

I got the following error. I am new to OpenCL Please help me.

OpenCL Compile Error: clBuildProgram failed (CL_BUILD_PROGRAM_FAILURE).

llc has failed

----------------------------------------

 

Stack dump:
0.      Program arguments: C:\Program Files (x86)\ATI Stream\bin\x86\llc -mcpu=a
tir710 -mattr=mwgs-3-128-1-1 -regalloc=linearscan -mtriple=amdil-pc-amdopencl C:
\Users\sonkanit\AppData\Local\Temp\OCL24A9.tmp.bc -f -o C:\Users\sonkanit\AppDat
a\Local\Temp\OCL24A9.tmp.il
1.      Running pass 'AMDIL DAG->DAG Pattern Instruction Selection' on function
'@__OpenCL_transformKernel_kernel'
0072EFF5 (0x011AFC24 0x00000000 0x01D2E584 0x0186B358)

typedef struct { uint primitiveIndex; //Index of primitive in PrimitiveBuffer uint numPrimitives; //Number of Primitives uint materialIndex; //Index of material in matBuffer uint transformIndex; //Index of transformation in tranBuffer } RTObject; typedef struct { uchar primitiveType; //Type of primitive 0 = ignore, 1 = triangle, 2 = sphere, ... float4 vertices[3]; //Vertex Positions float4 normals[3]; //Vertex Normals uint objectIndex; //Index of object in objectBaffer } RTPrimitive; typedef struct { float opacity; float ior; float reflectCoeff; float4 diffuse; float4 specular; } RTMaterial; typedef struct { float16 matrix; } RTTransformation; typedef struct { float4 position; //position float4 color; //color float falloff; //attenuation uint objectID; //area light object } RTLight; typedef struct { float4 origin; float4 direction; } RTRay; __kernel void transformKernel(__global RTObject* objects, __global RTTransformation* transformations, __global RTPrimitive* primitives) { uint i = get_global_id(0); RTPrimitive primitive = primitives[i]; //Transform vertices float16 matrix = transformations[objects[primitive.objectIndex].transformIndex].matrix; float f = matrix.s0 * 2; primitives[i].vertices[0].s0 = f * primitive.vertices[0].s0; }

Outcomes