私はCUDAコードではなく、大規模な構造体を持っているCUDA:大規模な構造体でコンパイル失敗> 4ギガバイト
struct cDevData {
~5GB worth of stuff ...
};
私は窓が静的コードとデータを制限するためcudaMallocとシステムのセットアップ時にその構造を保持するために必要な領域を割り当て2GBまで。迷惑ですが、ファイン。もちろん、私は、64ビットアプリケーションをコンパイルするんだけど、私はデバッグ構成のために、次のエラーを取得ないとき:
ptxas C : /Users/user/AppData/Local/Temp/tmpxft_0000123c_00000000-4_kernel.ptx, line 2897; error : Value out of range for type .b32
ptxas fatal : Ptx assembly aborted due to errors
そして不思議Release構成のための異なる1:
error C2089: 'cDevData' : 'struct' too large
をそれだけで起こって開始しました私はこの構造のサイズを4GB以上に増やしました。 私は32ビットアプリケーションをコンパイルしようとしましたが、別の(予期される)エラーclass is too large
が表示されます。 何が起こっていて、その周りに道があるのですか?
システム:Windows 7、Visual Studio 2012、CUDAツールキット8.0、GPU = Titan。
実際のコードをコンパイル、ディスアセンブル、調査することなく、私は誰でもあなたの最初の診断を超えて答えを与えることができない、つまり構造が大きすぎるとは思わない。 – talonmies
こんにちは、SOユーザーからの助けが必要な場合は、[最小限の完全かつ実証可能な例](http://stackoverflow.com/help/mcve)を提供する必要があります。 – Taro
それを受け入れるのは大きすぎて分割するのはどうですか?とにかく周囲に多くの人を抱かせることができるようなものではありません。 – tera