Jetson Xavier NXにHalide環境を入れてみた(docker)

初めての投稿ですが、メモ的な内容を書きます。少しずつ整理していきます。

高速で画像処理したいことがあったので、色々調べていたらHalideに辿り着きました。なんだか凄そうなので、勉強してみようと思い立ったものの、手元にGPUを積んだデバイスはJetson(借物)しかなかったので、Jetsonを使う事にしたのですが、沼にはまりました。
当初は、環境構築はこちらのDockerfileで一発楽勝じゃん、と思っていましたが、全くダメでした。

linuxとかdockerとか良く分からない素人なりにGoogleでひたすら検索しながら進めました。

【環境】

  • Jetson Xavier NX

  • Jetpack4.5

【Docerfile】

FROM ubuntu:18.04
RUN apt-get update && apt install -y --no-install-recommends \
          ca-certificates build-essential python python3 wget git unzip \
          ninja-build zlib1g-dev libssl-dev libtinfo-dev libxml2-dev clang
          
RUN cd /tmp && wget https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.1/clang+llvm-12.0.1-aarch64-linux-gnu.tar.xz
RUN cd /tmp && tar -Jxvf clang+llvm-12.0.1-aarch64-linux-gnu.tar.xz
RUN export PATH/tmp/clang+llvm-12.0.1-aarch64-linux-gnu/bin/llvm-config:$PATH
RUN ldconfig

RUN cd / && git clone https://github.com/Kitware/CMake
RUN cd CMake && ./bootstrap && make && make install
RUN echo export PATH=$HOME/cmake-3.17.1/bin/:$PATH
RUN cd / && git clone https://github.com/halide/Halide.git
RUN ldconfg

RUN cd /Halide && mkdir halide_build
RUN cd /Halide/halide_build && make -f ../Makefile

dockerを立ち上げた後、halideのライブラリパスを書いた"halide.conf"を"/etc/ld.do.conf.d/"に入れる。

【注意】

【動作確認】

とりあえずhalideのlesson_01_basic.cppをビルドしてみたらSuccess!と出たので上手くいったのかな。 lesson_01_basic.cppはこちら ビルドのコマンドはこちら

g++ lesson_01*.cpp -g -I <path/to/Halide.h> -L <path/to/libHalide.so> -lHalide -lpthread -ldl -o lesson_01 -std=c++17

【参考】


いいなと思ったら応援しよう!