2

今のところ、そのようなタイプが存在すること、それらが持つフィールドは知っていますが、それらの定義を見つけることができませんでした. つまり、私は見つけました:

typedef __device_builtin__ struct uint2 uint2;

しかし、これは私が持っているすべての質問をそのまま残します-それらのコンストラクターはどうですか? オペレーターはどうですか?等々。

では、これらの型の定義 (実際のもの) はどこかに公開されていますか? 特に最適化されていない車輪を再発明したくありません(そのような構造を初期化する方法を開始します)。

4

1 に答える 1

8

これらのベクター タイプのほとんどの定義は、次のファイルに含まれています。

/usr/local/cuda/include/vector_types.h

(標準のcudaインストールパスを想定)。それらのほとんどは構造体であり、構造体メンバーを操作するための特定の演算子定義を必要とせず、公式の C++ スタイルのコンストラクターもありません。

たとえば、参照する「コンストラクター」は、make_int2次で定義されたインライン関数です。

/usr/local/cuda/include/vector_functions.h

繰り返しますが、これらは構造体メンバーで動作する通常の c スタイルの関数であり、c++ スタイルのクラス/構造体メソッドではありません。

于 2013-03-14T14:49:59.983 に答える