Submit Search
ARM Compute Library
4 likes
1,815 views
Mr. Vengineer
ARM Compute Libraryについて
Devices & Hardware
Related topics:
Image Processing Techniques
Read more
1 of 15
Download now
Downloaded 15 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
More Related Content
PDF
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
PDF
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
PPTX
研究者のための Python による FPGA 入門
ryos36
PDF
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
PDF
レシピの作り方入門
Nobuhiro Iwamatsu
PPTX
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
PDF
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
PDF
CUDAプログラミング入門
NVIDIA Japan
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
研究者のための Python による FPGA 入門
ryos36
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
レシピの作り方入門
Nobuhiro Iwamatsu
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
CUDAプログラミング入門
NVIDIA Japan
What's hot
(20)
PDF
KVM環境におけるネットワーク速度ベンチマーク
VirtualTech Japan Inc.
PDF
第9回ACRiウェビナー_セック/岩渕様ご講演資料
直久 住川
PDF
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
PDF
Ultra96ボードでYOLOを高速化
Hiroyuki Okuhata
PDF
リアルタイムレイトレーシング時代を生き抜くためのデノイザー開発入門
Silicon Studio Corporation
PDF
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
PDF
プログラムを高速化する話Ⅱ 〜GPGPU編〜
京大 マイコンクラブ
KEY
PyOpenCLによるGPGPU入門
Yosuke Onoue
PPTX
Fugaku, the Successes and the Lessons Learned
RCCSRENKEI
PPTX
OSを手作りするという趣味と仕事
uchan_nos
PDF
ACRiウェビナー:小野様ご講演資料
直久 住川
PDF
マルチコアを用いた画像処理
Norishige Fukushima
PDF
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
PDF
プログラムを高速化する話
京大 マイコンクラブ
PDF
Zynq mp勉強会資料
一路 川染
PDF
TripleOの光と闇
Manabu Ori
PDF
30分で分かる!OSの作り方 ver.2
uchan_nos
PDF
データ爆発時代のネットワークインフラ
NVIDIA Japan
PDF
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
Fixstars Corporation
PPTX
CEDEC2017 VR180 3D live streaming camera at "SHOWROOM" case
Takeyuki Ogura
KVM環境におけるネットワーク速度ベンチマーク
VirtualTech Japan Inc.
第9回ACRiウェビナー_セック/岩渕様ご講演資料
直久 住川
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
Ultra96ボードでYOLOを高速化
Hiroyuki Okuhata
リアルタイムレイトレーシング時代を生き抜くためのデノイザー開発入門
Silicon Studio Corporation
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
プログラムを高速化する話Ⅱ 〜GPGPU編〜
京大 マイコンクラブ
PyOpenCLによるGPGPU入門
Yosuke Onoue
Fugaku, the Successes and the Lessons Learned
RCCSRENKEI
OSを手作りするという趣味と仕事
uchan_nos
ACRiウェビナー:小野様ご講演資料
直久 住川
マルチコアを用いた画像処理
Norishige Fukushima
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
プログラムを高速化する話
京大 マイコンクラブ
Zynq mp勉強会資料
一路 川染
TripleOの光と闇
Manabu Ori
30分で分かる!OSの作り方 ver.2
uchan_nos
データ爆発時代のネットワークインフラ
NVIDIA Japan
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
Fixstars Corporation
CEDEC2017 VR180 3D live streaming camera at "SHOWROOM" case
Takeyuki Ogura
Ad
Viewers also liked
(20)
DOCX
Biases in military history
Agha A
PDF
In the DOM, no one will hear you scream
Mario Heiderich
PDF
グローバル理工人材のための今日から使える検索テクニック ―もう日本語でググるのはやめよう
Teng Tokoro
PDF
GroovyFX - Groove JavaFX
sascha_klein
PPTX
Alejandro Fernandez vs Luis Miguel
Susana Gallardo
PDF
マイクロソフトが創る未来 医療編 20170401
Aya Tokura
PDF
Green Behavior
Alireza Ranjbar SHourabi
PPTX
Elixir-Conf-Japan-2017-session-ohr486
Tsunenori Oohara
PPTX
Tercera Trobada #Xatac5a Tarragona
Neus Lorenzo
PDF
A deep dive into Drupal 8 routing
Naveen Valecha
PDF
フェーズI/IIに置けるベイジアン・アダプティブ・メソッド
Yoshitake Takebayashi
PDF
Marketing's important. But marketers often aren't.
London Business School
PPTX
Immunisation against bacteria
Rohit Satyam
PPTX
Mr. Nitin bassi IEWP @ 2nd India-EU Water Forum @ World Sustainable Developme...
India-EU Water Partnership
PPTX
A Building Framework for the All Renewable Energy Future
Bronwyn Barry
PPTX
Wasabi waiter game - Gamification in recruitment - Manu Melwin Joy
manumelwin
PDF
Frank Michael encore un peu plus riche
Thierry Debels
PDF
Experience WOW. A new benchmark in MDP / EDP
Pravin Rajpal
PPT
Critiques of Community Forestry
amulya123
PDF
Groeispurt voor bvba kunstenaar Koen Vanmechelen
Thierry Debels
Biases in military history
Agha A
In the DOM, no one will hear you scream
Mario Heiderich
グローバル理工人材のための今日から使える検索テクニック ―もう日本語でググるのはやめよう
Teng Tokoro
GroovyFX - Groove JavaFX
sascha_klein
Alejandro Fernandez vs Luis Miguel
Susana Gallardo
マイクロソフトが創る未来 医療編 20170401
Aya Tokura
Green Behavior
Alireza Ranjbar SHourabi
Elixir-Conf-Japan-2017-session-ohr486
Tsunenori Oohara
Tercera Trobada #Xatac5a Tarragona
Neus Lorenzo
A deep dive into Drupal 8 routing
Naveen Valecha
フェーズI/IIに置けるベイジアン・アダプティブ・メソッド
Yoshitake Takebayashi
Marketing's important. But marketers often aren't.
London Business School
Immunisation against bacteria
Rohit Satyam
Mr. Nitin bassi IEWP @ 2nd India-EU Water Forum @ World Sustainable Developme...
India-EU Water Partnership
A Building Framework for the All Renewable Energy Future
Bronwyn Barry
Wasabi waiter game - Gamification in recruitment - Manu Melwin Joy
manumelwin
Frank Michael encore un peu plus riche
Thierry Debels
Experience WOW. A new benchmark in MDP / EDP
Pravin Rajpal
Critiques of Community Forestry
amulya123
Groeispurt voor bvba kunstenaar Koen Vanmechelen
Thierry Debels
Ad
Similar to ARM Compute Library
(20)
PPTX
CMake multiplatform build-tool
Naruto TAKAHASHI
KEY
GTC2011 Japan
Takuro Iizuka
PDF
1072: アプリケーション開発を加速するCUDAライブラリ
NVIDIA Japan
PDF
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
Noriaki Ando
DOC
GPGPUによるパーソナルスーパーコンピュータの可能性
Yusaku Watanabe
PDF
OpenCVをAndroidで動かしてみた
徹 上野山
PDF
181106 02
openrtm
PPTX
C++ AMPを使ってみよう
Osamu Masutani
PDF
組み込みxAI
Yuki Kikuchi
PDF
DartVM on Android
nothingcosmos
PDF
200625material naruse
RCCSRENKEI
PDF
GPU と PYTHON と、それから最近の NVIDIA
NVIDIA Japan
PPTX
2012 1203-researchers-cafe
Toshiya Komoda
PDF
【A-1】AIを支えるGPUコンピューティングの今
Developers Summit
PDF
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
Izumi Tsutsui
PDF
GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)
Ryuuta Tsunashima
PPTX
大人の分散レンダリング
Monta Yashi
PDF
20170823【GWゼミ #2】AWS Lambda上でOpenCVを使った画像処理
Mirai Higuchi
PDF
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
yaegashi
PDF
研究を加速するChainerファミリー
Deep Learning Lab(ディープラーニング・ラボ)
CMake multiplatform build-tool
Naruto TAKAHASHI
GTC2011 Japan
Takuro Iizuka
1072: アプリケーション開発を加速するCUDAライブラリ
NVIDIA Japan
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
Noriaki Ando
GPGPUによるパーソナルスーパーコンピュータの可能性
Yusaku Watanabe
OpenCVをAndroidで動かしてみた
徹 上野山
181106 02
openrtm
C++ AMPを使ってみよう
Osamu Masutani
組み込みxAI
Yuki Kikuchi
DartVM on Android
nothingcosmos
200625material naruse
RCCSRENKEI
GPU と PYTHON と、それから最近の NVIDIA
NVIDIA Japan
2012 1203-researchers-cafe
Toshiya Komoda
【A-1】AIを支えるGPUコンピューティングの今
Developers Summit
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
Izumi Tsutsui
GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)
Ryuuta Tsunashima
大人の分散レンダリング
Monta Yashi
20170823【GWゼミ #2】AWS Lambda上でOpenCVを使った画像処理
Mirai Higuchi
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
yaegashi
研究を加速するChainerファミリー
Deep Learning Lab(ディープラーニング・ラボ)
More from Mr. Vengineer
(20)
PDF
XilinxのxsimでSoftware Driven Verification.pdf
Mr. Vengineer
PDF
VerilatorとSystemCでSoftware Driven Verification
Mr. Vengineer
PDF
VerilatorとSystemC
Mr. Vengineer
PDF
TVM VTA (TSIM)
Mr. Vengineer
PDF
Cloud TPU Driver API ソースコード解析
Mr. Vengineer
PDF
Cloud Deep Learning Chips Training & Inference
Mr. Vengineer
PDF
TensorFlow Lite Delegateとは?
Mr. Vengineer
PDF
Pixel Visual Core device driver source code analysis
Mr. Vengineer
PDF
Google Edge TPUで TensorFlow Liteを使った時に 何をやっているのかを妄想してみる 2 「エッジAIモダン計測制御の世界」オ...
Mr. Vengineer
PDF
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
Mr. Vengineer
PDF
Facebook Glow Compiler のソースコードをグダグダ語る会
Mr. Vengineer
PDF
Ultra96(UltraZed)実践勉強会
Mr. Vengineer
PDF
Bridge TensorFlow to run on Intel nGraph backends (v0.4)
Mr. Vengineer
PDF
Bridge TensorFlow to run on Intel nGraph backends (v0.5)
Mr. Vengineer
PDF
TensorFlow XLA RPC
Mr. Vengineer
PDF
TensorFlow local Python XLA client
Mr. Vengineer
PDF
Tiramisu をちょっと、味見してみました。
Mr. Vengineer
PDF
LeFlowを調べてみました
Mr. Vengineer
PDF
Tensorflow dynamically loadable XLA plugin ソースコード解析
Mr. Vengineer
PDF
Tiramisu概要
Mr. Vengineer
XilinxのxsimでSoftware Driven Verification.pdf
Mr. Vengineer
VerilatorとSystemCでSoftware Driven Verification
Mr. Vengineer
VerilatorとSystemC
Mr. Vengineer
TVM VTA (TSIM)
Mr. Vengineer
Cloud TPU Driver API ソースコード解析
Mr. Vengineer
Cloud Deep Learning Chips Training & Inference
Mr. Vengineer
TensorFlow Lite Delegateとは?
Mr. Vengineer
Pixel Visual Core device driver source code analysis
Mr. Vengineer
Google Edge TPUで TensorFlow Liteを使った時に 何をやっているのかを妄想してみる 2 「エッジAIモダン計測制御の世界」オ...
Mr. Vengineer
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
Mr. Vengineer
Facebook Glow Compiler のソースコードをグダグダ語る会
Mr. Vengineer
Ultra96(UltraZed)実践勉強会
Mr. Vengineer
Bridge TensorFlow to run on Intel nGraph backends (v0.4)
Mr. Vengineer
Bridge TensorFlow to run on Intel nGraph backends (v0.5)
Mr. Vengineer
TensorFlow XLA RPC
Mr. Vengineer
TensorFlow local Python XLA client
Mr. Vengineer
Tiramisu をちょっと、味見してみました。
Mr. Vengineer
LeFlowを調べてみました
Mr. Vengineer
Tensorflow dynamically loadable XLA plugin ソースコード解析
Mr. Vengineer
Tiramisu概要
Mr. Vengineer
ARM Compute Library
1.
ARM Compute Libraray https://developer.arm.com/technologies/compute-library ARMが公開した画像処理およびCNNライブラリ Linux
/ Android / Bare Metalで利用可能 2017.04.01(土) @Vengineer
2.
クロスコンパイラの用意 AArch64 : arm64-v8a gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu ARM
: armv7a aro/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf
3.
ビルド % scons debug=1
neon=1 opencl=0 arch=arm64-v8a Werror : Enable/disable the -Werror compilation flag (Default=1) (0|1) debug : Debug (default=0) (0|1) arch : Target Architecture (default=armv7a) (armv7a|arm64-v8a|arm64-v8.2-a|x86) os : Target OS (default=linux) (linux|android|bare_metal) build : Build type: (default=cross_compile) (native|cross_compile) opencl : Enable OpenCL support(Default=1) (0|1) neon : Enable Neon support(Default=0) (0|1)
4.
OpenCL対応 libOpenCL.so がGPU(ARM Mali)をサポートしているときのみ利用可能 この資料では、NEONのみについて説明します
5.
画像処理関連 ・Basic arithmetic, mathematical
and binary operator functions ・Colour manipulation (conversion, channel extraction, and more) ・Convolution filters (Sobel, Gaussian, and more) ・Canny Edge, Harris corners, optical flow and more ・Pyramids (such as Laplacians) ・HOG (Histogram of Oriented Gradients) ・SVM (Support Vector Machines) ・H/SGEMM (Half and Single precision General Matrix Multiply)
6.
Convolutional Neural Networks関連 ・Activation ・Convolution ・Fully
connected ・Locally connected ・Normalization ・Pooling ・Soft-max
7.
サンプルコード:scale (NEON) PPMLoader ppm;
ppmファイル Image src, dst; イメージバッファ ppm.open(argv[1]); ファイルオープン ppm.init_image(src, Format::U8); イメージ読み込み constexpr int scale_factor = 2; TensorInfo dst_tensor_info( 入力テンソル情報 src.info()->dimension(0) / scale_factor, src.info()->dimension(1) / scale_factor, Format::U8);
8.
サンプルコード:scale (NEON) dst.allocator()->init(dst_tensor_info); 初期化 NEScale
scale; スケール scale.configure(&src, &dst, コンフィギュレーション InterpolationPolicy::NEAREST_NEIGHBOR, BorderMode::UNDEFINED); src.allocator()->allocate(); メモリ割当て dst.allocator()->allocate(); メモリ割当て scale.run(); 実行
9.
サンプルコード:convolution (NEON) PPMLoader ppm;
ppmファイル Image src, tmp, dst; イメージバッファ ppm.open(argv[1]); ファイルオープン ppm.init_image(src, Format::U8); イメージ読み込み tmp.allocator()->init(*src.info()); 初期化 dst.allocator()->init(*src.info()); 初期化 NEConvolution3x3 conv3x3; 3x3 Convolution NEConvolution5x5 conv5x5; 5x5 Convolution
10.
サンプルコード:convolution (NEON) conv3x3.configure(&src, &tmp,
コンフィギュレーション gaussian3x3, 0, BorderMode::UNDEFINED); conv5x5.configure(&tmp, &dst, コンフィギュレーション gaussian5x5, 0, BorderMode::UNDEFINED); src.allocator()->allocate(); メモリ割当て tmp.allocator()->allocate(); メモリ割当て dst.allocator()->allocate(); メモリ割当て conv3x3.run(); 実行 conv5x5.run(); 実行
11.
スケジューラ arm_compute/runtime/NEON/CPPScheduler.h arm_compute/runtime/NEON/NEScheduler.h namespace arm_compute { using NEScheduler
= CPPScheduler; } NEScheduler は、CPPScheduler と同じ
12.
multithread(スレッド無し) void CPPScheduler::multithread(ICPPKernel *kernel,
const size_t split_dimension) { const Window &max_window = kernel->window(); const int num_iterations = max_window.num_iterations(split_dimension); int num_threads = std::min(num_iterations, _num_threads); if(!kernel->is_parallelisable() || 1 == num_threads) { kernel->run(max_window); } }
13.
multithread (スレッド有り) for(int t
= 0; t < num_threads; ++t) { Window win = max_window.split_window(split_dimension, t, num_threads); win.set_thread_id(t); win.set_num_threads(num_threads); if(t != num_threads - 1) { _threads[t].start(kernel, win); } else { kernel->run(win); } }
14.
サンプルカーネル:NEScaleKernel void NEScaleKernel::run(const Window
&window) { ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this); ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(INEKernel::window(), window); ARM_COMPUTE_ERROR_ON(_func == nullptr); (this->*_func)(window); } _func = &NEScaleKernel::scale_nearest; _func = &NEScaleKernel::scale_bilinear; _func = &NEScaleKernel::scale_area;
15.
おしまい
Download