実現したいこと
WindowsでのLibTorchのビルドをしたいのですが、Installing C++ Distributionsこのやり方でやっても上手くいかず困っています。CMakeでのビルドについての知識が何一つないので以下のエラーをどのように処理すればいいかわからず質問させていただきました。
エラー内容
上記のリンクと同じ名前のプロジェクトを作りました。ここではClionのTerminal上で実行しています。
$ C:\path\to\example-app\build> cmake -DCMAKE_PREFIX_PATH=C:\libtorch .. ... CMake Error at C:/libtorch/share/cmake/Caffe2/public/cuda.cmake:283 (message): CUDA support not available with 32-bit windows. Did you forget to set Win64 in the generator target? Call Stack (most recent call first): C:/libtorch/share/cmake/Caffe2/Caffe2Config.cmake:88 (include) C:/libtorch/share/cmake/Torch/TorchConfig.cmake:39 (find_package) CMakeLists.txt:4 (find_package)
ここで、上記のエラーについて調べたところこのリンクを発見しましたので、VisualStudio2017のx64 Native Tools コマンドプロンプトで上記のコマンドを実行すればいいと思い、実行してみたところ、上と同じエラーが出ました。
そこで、もう一つのリンクこちらのリンクのように
-DCMAKE_GENRATOR_PLATFORM=x64
というオプションをつけてClionのTerminalで実行したところ
$ C:\path\to\example-app\build> cmake -DCMAKE_PREFIX_PATH=C:\libtorch -DCMAKE_GENERATOR_PLATFORM=x64 .. -- Caffe2: CUDA detected: 10.0 -- Caffe2: CUDA nvcc is: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/bin/nvcc.exe -- Caffe2: CUDA toolkit directory: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0 -- Caffe2: Header version is: 10.0 -- Found cuDNN: v7.4.1 (include: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/include, library: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/lib/x64/cudnn.lib) -- Autodetected CUDA architecture(s): 6.1 -- Added CUDA NVCC flags for: -gencode;arch=compute_61,code=sm_61 CMake Error at C:/libtorch/share/cmake/Caffe2/public/cuda.cmake:368 (message): Unknown cmake build type: Call Stack (most recent call first): C:/libtorch/share/cmake/Caffe2/Caffe2Config.cmake:88 (include) C:/libtorch/share/cmake/Torch/TorchConfig.cmake:39 (find_package) CMakeLists.txt:4 (find_package)
このようなエラーが出ました大事な部分はUnknown cmake build typeでしょうか。
また、念のためVisualStudio x64 Nativeのほうで同じコマンドを実行してみると、以下のエラーが出ました。こちらはVisualStudioのCMake設定の変更により改善するでしょうか?
cmTC_62817.dir\Debug\detect_cuda_version.obj : fatal error LNK1112: モジュールのコンピューターの種類 'x64' は対象コンピューターの種類 'x86' と競合しています。
補足
Python 3.6及び3.7 でPyTorch 1.0 stableをインストールし、Cudaは使えています。
もちろんCuDNNもインストール済みです。
実行環境にも示すようにCudaのバージョンは10であり、CudaのインストールにはVisualStudio2017を使用しました。
cmakeコマンドの場所は以下の通りです。
$ where cmake C:\Program Files\CMake\bin\cmake.exe
実行環境
Windows 10 x64
cmake 3.13.3 x64
cuda 10
CuDNN 7.4.1
Visual Studio 2017 Community
Clion 2018.3.3
情報が足りなければ追加します。
あなたの回答
tips
プレビュー