CentOS に Neighborhood Graph and Tree を入れてみる

NGT(Neighborhood Graph and Tree)というものを入れてみます。

いわゆる高次元データを高速に検索できるOSSですね。

とりあえず先に必要なものを入れておきましょう。

sudo yum -y install git
curl -R -O https://cmake.org/files/v3.1/cmake-3.1.1-Linux-x86_64.sh
sudo sh cmake-3.1.1-Linux-x86_64.sh --prefix=/opt/toolchain
export PATH=/opt/toolchain/cmake-3.1.1-Linux-x86_64/bin/:$PATH
sudo yum -y install gcc
sudo  yum install gcc-c++

あとはgit cloneなりしてソース持ってきます。その後はReadme通りですね。

$ cd NGT-x.x.x
$ mkdir build
$ cd build 
$ cmake ..
$ make 
$ make install
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64

環境によってはライブラリがlib64じゃないところにmake installでコピーされるかもしれないので以下のように。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

コンパイル時にいろいろスイッチで指定できますが共有メモリ上で動作させる場合は以下のようにしときます。

cmake -DNGT_SHARED_MEMORY_ALLOCATOR=ON ..

インストール後はコマンドラインツール(ngt)が使えたりしますので良しなに。

入れてみたものの、上手く活用できるか自分のスキルに不安があります()