- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
First of all I wish to say that Intel's alpha release of OpenCL 1.1 is currently among the best out there. However despite this it seems some features have slipped trough the cracks.
If vector indexing is used with select it simply does not work.
uchar3 xx,yy,zz;
select(min(zz.x, max(xx.z,yy.y)), zz.x, zz.x < min(xx.z,yy.y));
produces
Error: unimplemented function(s) used:
_Z6selecthhi in function foo
Obviously I use ?: notation for scalars now, but it's 'cleaner' to use select everywhere.
p.s I wonder if using an unimplemented function is a valid error according to the spec ;)
If vector indexing is used with select it simply does not work.
uchar3 xx,yy,zz;
select(min(zz.x, max(xx.z,yy.y)), zz.x, zz.x < min(xx.z,yy.y));
produces
Error: unimplemented function(s) used:
_Z6selecthhi in function foo
Obviously I use ?: notation for scalars now, but it's 'cleaner' to use select everywhere.
p.s I wonder if using an unimplemented function is a valid error according to the spec ;)
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
Your code is perfect, it looks like a bug. We will fix it in future releases.
In the mean while, I suggest to avoid this statement
Thanks, Shiri
Your code is perfect, it looks like a bug. We will fix it in future releases.
In the mean while, I suggest to avoid this statement
Thanks, Shiri
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
There is an ambiguity in select() function defintion in OCL 1.1. spec. It doesn't mention explicitely that exp3 must be of the same vector size and element size (in bits) as exp1 and exp2. That means that the folowing usages are valid:
select( double, double, long)
select( char, char, char)
while the following usages are invalid:
select( double, double, int)
select( char, char, int)
In the future, the spec will be updated with the "refined" definition (adding explicit same-sizeconstraint).
Consequently, the behaviour of Intel SDK w.r.t. select parameter type scope is correct.
Victor
There is an ambiguity in select() function defintion in OCL 1.1. spec. It doesn't mention explicitely that exp3 must be of the same vector size and element size (in bits) as exp1 and exp2. That means that the folowing usages are valid:
select( double, double, long)
select( char, char, char)
while the following usages are invalid:
select( double, double, int)
select( char, char, int)
In the future, the spec will be updated with the "refined" definition (adding explicit same-sizeconstraint).
Consequently, the behaviour of Intel SDK w.r.t. select parameter type scope is correct.
Victor

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page