LoginSignup
2
5

More than 5 years have passed since last update.

HalideのAndroid用デモを動かしてみたい

Last updated at Posted at 2018-07-29

Halideは画像処理を高速に行うためのDSLです。Halideで適切なコードを書けば、CPUの拡張命令などを適切に使用して高速に画像処理を行うプログラムを作成することができます。

HalideはAndroidにも対応しています。より具体的に言うと、Qualcomm Snapdragon 820以降に搭載されているQualcomm Hexagon DSPで使うことができる拡張命令 (HVX) を使用したプログラムを作成することができます。

以下のREADMEに従って進めてみました。

Halideをビルドする

libHalide.a が必要なので、最初にHalideをビルドします。zlibをリンクする必要があるので、インストールしておきましょう。

$ sudo apt install zlib1g-dev

あとは Halide のルートディレクトリで make するだけです

$ git clone --depth 1 https://github.com/halide/Halide.git
$ cd Halide
$ make -j3

LLVMをビルドする

このREADMEの中ではSubversionを使ってLLVMのソースコードのダウンロードを行うこと勧めています。それに従ったのですが、少し時間がかかったので git --depth 1 オプションを付けてGitでダウンロードしたほうが高速かもしれません。

Hexagon SDKをインストーする

少し面倒ではありますが、インストーラをダウンロードする際にサインアップを要求されます(登録は無料)。

ここには罠が2つあります。

  1. Hexagon SDK 3.0を入れるとHexagon Tools 8.0がインストールされそうな雰囲気の説明がされていますが、Hexagon SDK 3.0に含まれているHexagon Toolsは7.2.12なので問題が起こります。Hexagon SDK 3.1を入れるとHexagon Tools 8.0.08がインストールされるので、Hexagon SDK 3.0とHexagon SDK 3.1を両方インストールしましょう。注意点として、Hexagon SDK 3.1に含まれるHexagon Toolsのインストール先は $HOME/Qualcomm/Hexagon_SDK/3.1/tools/HEXAGON_Tools/8.0.08/Tools です。
  2. Hexagon SDKとHexagon Toolsをインストールすればよいと書いてありますが、実際にはAndroid NDKも後で必要になってきます。↓のダイアログが表示されたときにはチェックを入れておきましょう。Eclipseは不要です。Hexagon SDK 3.0の場合は1. で述べた理由によりHexagon Toolsも不要です。

Screenshot from 2018-07-29 22-39-13.png

Hexagon HVXのデモをシミュレータ上で動作させる

HL_HEXAGON_TOOLS の環境変数を設定するときは、場所が変わっているので注意しましょう。

export HL_HEXAGON_TOOLS=$HOME/Qualcomm/Hexagon_SDK/3.1/tools/HEXAGON_Tools/8.0.08/Tools

シミュレータ上では動作したので、ビルド手順は正しいはずです。

Hexagon HVXのデモをAndroidの実機上で動作させる

実機がないので未確認です。

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5