2018年10月26日金曜日

CAFFE: Using Apple BLAS

Caffeをソースコードからビルドするときには、一般的にはMakefile.configを編集して自分の環境に合わせるのがまっとうなやり方。LINUX上では、CMakeが使えたけど、macOSではうまくいかなかった。
CAFFEをなるべくmacOSで用意されているライブラリを極力使おうと思えば、BLASをAccelerate Frameworkのものを使いたい。そのための設定としては、Makefile.config内のBLASの設定の部分を、適当にblasとでもいれておけばAccelerate FrameworkのBLASを使ってくれる。問題は、このCAFFEのライブラリを使った自前のプログラムを動かすときに、

d.cpp:2:10: fatal error: 'cblas.h' file not found

というメッセージが出てしまう。これはBLASのCバインディング用のヘッダが見つからないというエラーだ。この手のヘッダは、/usr/includeあたりにリンクが張られていると思っていたが、macOS 10.12 (Sierra)のXcode9.2ではそうではないようだ。仕方が無いので、直接Frameworkのヘッダを指定する。つまり、
-I/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/Headers/


と指定してやらなければならない、みたいだ。面倒だな。/usr/includeにシンボリックリンクを張ってしまっても良いんじゃ無いか。

0 件のコメント:

コメントを投稿