0

opencl (v1.1) で char ベクトル型を使用していて、vector.lo および vector.hi 拡張機能を検索していましたが、cl_char 配列 s にしかアクセスできませんでした。opencl ヘッダー ファイルを検索すると、次のリストが見つかりました。これは、これらの拡張機能が GNUC と "strict 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...

これは正しいです?どうすればこれを解決できますか?

4

1 に答える 1

0

この「機能の低下」はバグが原因です。詳細については、Khronos Public Bugzilla(Bug 413)をご覧ください。

いくつかの「ずさんな」回避策は、バグ413-回避策で説明されています。これはmsコンパイラに限定されていることに注意してください。

于 2013-01-04T20:57:03.650 に答える