使用microsoft编译器减少opencl内置向量类型的功能?

时间:2013-01-04 19:17:12

标签: c opencl header-files

我在opencl(v1.1)中使用了char矢量类型并正在搜索 对于vector.lo和vector.hi扩展,但只能访问cl_char数组。 搜索opencl头文件,我发现了以下列表, 这表明这些扩展可用于GNUC和“严格的ansi”。

/* Define cl_vector types in cl_platform.h */
/* ---- cl_charn ---- */
typedef union
{
  cl_char  CL_ALIGNED(2) s[2];
#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ )
  __extension__ struct{ cl_char  x, y; };
  __extension__ struct{ cl_char  s0, s1; };
  __extension__ struct{ cl_char  lo, hi; };
#endif
#if defined( __CL_CHAR2__) 
  __cl_char2     v2; 
#endif  
}cl_char2;

// other vector type definitions follow...

这是对的吗?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这种“减少功能”是由错误引起的。 详细信息可在Khronos Public Bugzilla (Bug 413)

找到

Bug 413 - Workaround描述了一些“草率”解决方法。 请注意,这仅限于ms编译器。