C++で学ぶディープラーニング のサンプルのコンパイルに関して

書籍 "C++で学ぶディープラーニング" のサンプルに出てくる cuMat/cuMat.h のコンパイルエラーに関して。
https://github.com/takezo5096/cuMat/blob/master/cuMat.h

おんちゃんの、開発環境
Windows10
VisualStudio 2017 Community (VS 2017 用 x64 Native Tools コマンド プロンプト -> cl.exe)
Cuda tool kit 10.1(cuda_10.1.105_418.96_win10.exe)
boost_1_68_0

で、上記 cuMat.h をインクルードしてプログラムサンプルをコンパイルしようとすると、エラーが出たので、その対応方法を書いてみました。

エラーの内容は、

https://so-zou.jp/software/tech/programming/cpp/grammar/pointer/array.htm
 |--> "要素の数は定数式で指定しなければなりません。"

結局は、Windows C++(cl.exe) が、配列のアロケートに変数が使えないとの事のようです。

注) 上記では、nvcc で、 test.cpp をコンパイルしていますが、
nvcc から、 ネイティブのコンパイラー( cl.exe ) がコールされて、cpp はコンパイルされるみたいです。

cuMat.h

これを変数で指定するならば、new演算子で生成します。との事なので、

Linux の gcc の方では、問題ないと、インターネットに記載がりました。

因みに、a.exe を作成する場合は、こちらをたたきます。

libcumat.lib は、同じディレクトリー(cuMat) の Makefile を実行して、作成しておきますが、こちらも Windows の nmake を使うので、 Makefile の手直しが必要です。

Makefile の例。

このブログ記事について

このページは、おんちゃんが2019年5月10日 12:29に書いたブログ記事です。

ひとつ前のブログ記事は「Pytorch 1.0 Object Detection faster-rcnn の試し」です。

次のブログ記事は「TensorRT 5.1 Windows10 での試し」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ