SyntaxHigh

Monday, November 9, 2015

Boost.Numpy Ubuntu メモ


cmake を使ってインストールするのだけど、apt-getで入る boost (/usr/ 以下) ではなく /usr/local にインストールされてしまうので、 cmake .. をやったあとに

if(NOT DEFINED CMAKE_INSTALL_PREFIX)
  set(CMAKE_INSTALL_PREFIX "/usr")
endif()

を弄くるか、

cmake -D CMAKE_INSTALL_PREFIX= /usr .. 

とすると、コンパイラへのディレクトリへの指定が最低限で済みます。

CMakeLists.txt はこんな感じ。

cmake_minimum_required(VERSION 2.8)
# set(CMAKE_VERBOSE_MAKEFILE 1)

find_package(Boost COMPONENTS python REQUIRED)
find_package(PythonLibs REQUIRED)
include_directories(${Boost_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS})

#add_library(mymodule SHARED core.cpp)
add_executable(mymodule core.cpp)
target_link_libraries(mymodule ${Boost_LIBRARIES} ${PYTHON_LIBRARY} boost_numpy)

これで、Boost.Numpy チュートリアルのプログラムが動きます。

やりたいこと

シリアスなアルゴリズム開発の効率化です。

Boost.Numpy を使うと、同じメモリを Numpy と C++ から使えるので、アルゴリズムを開発する時に必要になる「統計処理、Visualization、並列処理のためのスクリプティング」等を Python で行いつつ、コアのアルゴリズムを C++ で書くことが可能になります。すると、「1000個のデータで試す」みたいなことが気軽にできるようになり、プログラムの開発サイクルが早くなります。

Boost.Python はよくわかんないのでこっちを使います。つかえりゃなんでもいいです。

No comments:

Post a Comment