cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

drstrip
Journeyman III

atomic_xchg not recognized by compiler

Windows Vista, ATI SKD2.2, Driver 10.7b, Vis Studio 2008
all with current updates

I have Vis Studio set up to run the OpenCL compiler as part of the build process and I get a clean compile. When I call clBuildProgram, however, I get an error -

     "atomic_xchg" declared implicitly.

The program contains

int4 link;
int4 src = ....;
int foo = ...;
atomic_xchg(&q[src.x], foo);

and q is an input parameter __global int * q

 

Why does it compile outside my program, but not called from within? Could I somehow be calling the OpenCL 1.0 rather than 1.1 compiler somehow? I uninstalled everything along the way to installing 2.2, so I don't see where the old compiler would come from.

I've searched my hard disk and have only one file named clc.exe, dated 8/9/2010, 12:34PM. Is this what gets called by clBuildProgram?

Also, I notice that the openclsdk_.vsprops  files have changes the paths where to look for the various .lib files. I can replace my old copies of this file with the new, but the change doesn't seem to impact the project settings.

0 Likes
5 Replies
himanshu_gautam
Grandmaster

drstrip,

are you able to run the samples.If yes plz send the Output of clInfo sample.

0 Likes

Originally posted by: himanshu.gautam drstrip,

 

are you able to run the samples.If yes plz send the Output of clInfo sample.

 

I ran clInfo and I immediately saw what you were driving at. For the target device I get -

  Version:                                       OpenCL 1.0 ATI-Stream-v2.2 (302)

ie, OpenCL 1.1 is apparently not supported on this device (a Firestream 9270), nor is it supported on my other device, a FirePro 3750.

So the next question is - will these devices ever be supported at the 1.1 level, or does the hardware not permit it?

This page - http://developer.amd.com/gpu/ATIStreamSDK/Pages/default.aspx - lists both of my devices as being supported by SDK 2.2 and makes no mention that any devices are not supported at the OpenCL 1.1 level.

0 Likes

drstrip,
Both of those devices are based on the RV770 core, which does not have the requisite hardware to support OpenCL 1.1.
0 Likes

Presumably that means there is no way to do any  sort of atomic operation on these devices. Right?

0 Likes

That is correct, the hardware in that generation did not support any atomic operations.
0 Likes