2016-12-09 10 views
1

私はOpenCLのでdouble3を使用しようとしているが、私は次のエラーを取得する:MacでOpenCLのダブルベクトルを有効にする方法はありますか?

error: field has incomplete type 'double3' (aka 'struct__Unsupported_Type__Do_not_use_double3_on_this_device') 

私はおそらく#pragma OPENCL EXTENSION cl_khr_fp64 : enableと浮動小数点データ型の倍精度を有効にしているが、私は「なぜ私にはわかりませんこれを得る。これはMac OSの制限ですか?

答えて

3

はい、mac proのようなワークステーションクラスのカードを使用しています。コンシューマビデオカードを搭載したシステムでは、ダブルスは利用できません。

あなたのエラーメッセージがかなりそれをすべて言う:ハードウェアでダブルスを支える

"struct__Unsupported_Type__Do_not_use_double3_on_this_device" 

はスペースと電力を占めるとされ、ほとんどの人が必要としないという特徴を、そのほとんどのビデオカードは、それをサポートしていません。そのようなものは、32ビット浮動小数点専用のトランジスタ数と同じものより一般的なグラフィックスタスクを実行する速度が遅いものです。ここで

は、ワークステーションや民生用ビデオカードとの間の相対的な二重のパフォーマンス上の記事です: https://www.microway.com/knowledge-center-articles/comparison-of-nvidia-geforce-gpus-and-nvidia-tesla-gpus/

ショートバージョンは、非常に高価な消費者カード($ 1000)を取得約10%のハイエンドワークステーションカードの2倍の性能であります同様の製造上の複雑さを伴う。

関連する問題