質問: こちらのサイト`http://nonbiri-tereka.hatenablog.com/entry/2017/04/11/081601`を基にCUDAを使う入門プログラムを行いたいのですが、以下のエラーが出てしまうため実行ファイルが得られません。 <環境> Windows10 64bit 以下がエラーです。 ``` c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(2637): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(3492): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(4431): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(5345): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(6252): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(7142): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(7956): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 ライブラリ a.lib とオブジェクト a.exp を作成中 ``` ファイル名はサイトと同じhello_world.cuにしました。 GCCでnvcc hello_world.cuでコンパイルするとデスクトップにa.lib 、a.expのファイルが得られます。 どうかよろしくお願いいたします。 (編集した内容) コマンドプロンプトから以下のコマンドを入力しました。 nvcc C:\Users\Name\Desktop\hello_world.cu 以上のコマンドを打ったことで載せました警告が生成され、ライブラリ a.lib とオブジェクト a.exp は得られたのですが、実行ファイルは得られませんでした。 度々すいません。エラーメッセージを書き忘れていた部分がありました。 ``` nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). hello_world.cu c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(2637): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(3492): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(4431): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(5345): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(6252): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(7142): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\math_functions.h(7956): warning C4819: ファイルは、現在 のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してくだ さい。 ライブラリ a.lib とオブジェクト a.exp を作成中 ```
回答: gccでそんなメッセージ出るっけ? VC++じゃなくて? a.exe ができてない? ``` d:\work\trial>nvcc hello_world.cu -Xcompiler -wd4819 hello_world.cu ライブラリ a.lib とオブジェクト a.exp を作成中 d:\work\trial>dir ドライブ D のボリューム ラベルは workspace です ボリューム シリアル番号は FE9C-2E7A です d:\work\trial のディレクトリ 2018/02/20 22:14 . 2018/02/20 22:14 .. 2018/02/20 22:14 197,120 a.exe <------- できてるー! 2018/02/20 22:14 635 a.exp 2018/02/20 22:14 1,650 a.lib 2018/02/20 20:36 88 hello_world.cu 4 個のファイル 199,493 バイト 2 個のディレクトリ 24,624,955,392 バイトの空き領域 d:\work\trial> ``` [追記] ``` nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). ``` これもerrorじゃなくwarning。 「(デフォルトオプションで)指定されたGPUアーキテクチャ(ここではFermi)はいずれ使えなくなるからね」 と言うてます。 [さらに追記] ふたつめのサンプルも無問題 ``` E:\ProgramData\work\trial\cuda>nvcc trial.cu -Xcompiler -wd4819 nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). trial.cu ライブラリ a.lib とオブジェクト a.exp を作成中 E:\ProgramData\work\trial\cuda>a.exe start cudaMalloc finish cudaMalloc start cudaMemcpy finish cudaMemcpy start kernel function finish kernel function E:\ProgramData\work\trial\cuda> ```