1

ODEi​​nt を使用して、結合された ode 方程式のセットを解いています。CPU用の作業コードがあり、CUDAを使用してGPUに同じコードを実装しようとしています. スラスト ライブラリで指定された CUDA コードをコンパイルしましたが、それらは CUDA コンピューティング ツールキットで提供されているものと同様に正常に動作するようです。ただし、スラスト セクションの下の ODEint に付属する CUDA コードの例をコンパイルしているときに、コンパイル中に次のエラーが発生します。

------ Build started: Project: try, Configuration: Debug Win32 ------
1>Compiling with CUDA Build Rule...
1>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\\bin\nvcc.exe"    -gencode=arch=compute_10,code=\"sm_10,compute_10\" -gencode=arch=compute_20,code=\"sm_20,compute_20\"  --machine 32 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin"    -Xcompiler "/EHsc /W3 /nologo /O2 /Zi   /MT  "  -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\\include" -maxrregcount=0  --compile -o "Debug/lorenz_parameters.cu.obj" lorenz_parameters.cu 
1>lorenz_parameters.cu
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\boost/config/compiler/visualc.hpp(292) : warning C4005: 'BOOST_COMPILER' : macro redefinition
1>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\boost/config/compiler/nvcc.hpp(11) : see previous definition of 'BOOST_COMPILER'
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\boost/numeric/odeint/util/unit_helper.hpp(134): error: name followed by "::" must be a class or namespace name
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\boost/numeric/odeint/util/unit_helper.hpp(134): error: too many arguments for class template "boost::numeric::odeint::inverse_time"
1>2 errors detected in the compilation of "C:/Users/a0092778/AppData/Local/Temp/tmpxft_00002634_00000000-8_lorenz_parameters.compute_20.cpp1.ii".
1>Project : error PRJ0019: A tool returned an error code from "Compiling with CUDA Build Rule..."
1>Build log was saved at "file://c:\Users\a0092778\Desktop\galib247\Projects\try\try\Debug\BuildLog.htm"
1>try - 3 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

CPUコードにもブーストライブラリを以前に使用しましたが、それらは正常に機能しているようです。しかし、boost ライブラリを組み込み、コードを変換して GPU で実行しようとすると、再び同じエラーが表示されました。私はコンパイルに Visual Studio 2008 IDE を使用しています。

4

0 に答える 0