cvl-robot's diary

研究ノート メモメモ https://github.com/dotchang/

COIN-ORのIpoptをARMコアCPUのLinux環境にインストール

NVIDIAのJetson TX2で、最適化ライブラリのIpoptを使いたいと思います。
Raspberry Piでも動くといいなぁ。誰か試したら教えてください。)

一般的なインストールの流れは、とてもよくまとまった記事があるので、
d.hatena.ne.jp
を参考にしてください。

最後の引数の環境指定 -build=armが差分です。

../configure --prefix=/usr/local -enable-static CXX=g++ CC=gcc F77=gfortran -build=arm

上手くコンパイルできるかどうかをtestのコードで試してみたいと思います。

cd ~/Ipopt-3.12.8/build/Ipopt/test
g++ hs071_main.cpp hs071_nlp.cpp -I/usr/local/include/coin /usr/local/lib/libipopt.a /usr/local/lib/libcoinmumps.a -lgfortran -lblas -llapack -ldl

で、出来たファイルa.outを実行すると、

This is Ipopt version 3.12.8, running with linear solver mumps.
~中略~
Final value of the constraints:
g(0) = 25
g(1) = 40

と表示が出て上手く動いていそうだと分かります。

再起動したら、

g++ hs071_main.cpp hs071_nlp.cpp -I/usr/local/include/coin -L/usr/local/lib -lipopt -llapack -lblas -coinmumps -lgfortran -lm -ldl

で大丈夫でした。。。

自動微分ライブラリCppADのUbuntuへのインストール

sudo apt update
sudo apt install cppad

apt-getでいけます。