Snapdragon 845 ARMv8.2A 半精度 fp16 演算命令を使ってみる / Deep Learning 命令
Snapdragon 845 の Kryo 385 (Cortex-A75) は ARMv8.2 の拡張命令である半精度浮動小数点演算に対応しています。半精度浮動小数点数は HDR テクスチャなど GPU ではおなじみで、符号 1bit 指数部 5bit 仮数部 10bit の合計 16bit で表現されます。 CPU でもこれまで単精度と半精度 (fp32 と fp16)...
View ArticleSnapdragon 845 ARMv8.2A 新しい Atomic/メモリバリア命令
Snapdragon 845 の CPU Kryo 385 は ARMv8.2 対応の Cortex-A75 がベースとなっています。前回新しく追加された半精度浮動小数点演算命令を使用してみましたが、他にもいろいろと生成コードに違いがあることがわかりました。そのひとつが atomic 命令です。実際に生成されたコードを比べてみました。 ● Atomic 演算 まずは fetch_add()...
View ArticleJetson Nano / Clang の Version とコンパイル速度の比較
Jetson Nano Developer Kit を入手しました。Jetson Nano は Tegra X1 を搭載した SBC です。各種インターフェースを搭載した I/O ボードがセットになっています。そのため見た目は Raspberry Pi のような印象を受けますが、上に載ってる Compute Module のような小さいカードの方が本体です。 ・NVIDIA Jetson Nano...
View ArticleJetson Nano で TensorFlow の C 言語 API を使う
メモです。参考にしたページは下記の通り。TensorFlow の C言語用ライブラリを作るために実機上でビルドしています。 ・TensorFlow: Build from source ・Building Tensorflow 1.13 on Jetson Xavier ・JK Jung's blog: Building TensorFlow 1.12.2 on Jetson Nano bazel...
View ArticleAndroid: UserLAnd + Termux を Note PC 代わりに使う
外出時のちょっとしたメモ取りやドキュメントのまとめ作業で Note PC の代わりに使っています。 UserLAnd + Termux 以前も触れていますが、UserLAnd 経由で Termux を使用しています。UserLAnd だけでなく Termux を併用している理由はいくつかあります。 ◎Termux を使う理由 ・proot オーバーヘッドが無いのでファイルアクセスが高速...
View ArticleOculus Quest で Rift のゲームをプレイする (Oculus Link)
Oculus Quest が PC 接続に対応しました。まだベータですが、Oculus Quest で PC 向けの VR ゲームも遊べるようになります。 ・Oculus Questスタートガイド。 使い方は上のページから「Oculus Questヘッドセットを設定するにはどうすればよいですか。」→「Oculus LinkでQuestを設定する」の順で開くと出てきます。 Oculus Quest は...
View ArticleHuawei P30 Lite/Fire HD 10(2019) のコンパイル速度と UserLAnd
Huawei P30 Lite と Fire HD 10 (2019年新型) のコンパイル時間を調べてみました。P30 Lite は電源設定をパフォーマンスモードにしています。いずれも Android 9.0 で Termux clang 9.0 を使用しています。 Device SoC CPU Clock core RAM time Huawei P30 Lite Kirin 710...
View Article4倍速い Ryzen 9 3950X の UE4 コンパイル速度
Ryzen 9 3950X は 16 core 32 thread の CPU です。少し前まで 4 core 8 thread の CPU をメインに使っていたことを考えると、これ 1つで従来の PC の 4台分に相当します。 実際に速度を調べてみました。UE4 のコンパイル速度の比較は下記の通り。本当に 4台分、コンパイル時間が 1/4になっています。 ● UE4 4.24.0...
View ArticleRADEON (ROCm) で PyTorch を使う。C++ API
Deep Learning フレームワークのほとんどが Python を使っています。C++ など他の言語も使えますが、Python と同じ使い方ができるものはあまり多くありません。 例えば CNTK の場合 Keras の backend として使うとこんな感じです。 # Keras model= models.Sequential([ layers.Dense( 64,...
View ArticleAndroid UserLAnd で PyTorch を使う。C++ API
Android スマートフォンの上に PyTorch の開発環境を作ってみました。かなり遅いですが、電車の中で書いたコードのビルドテストをしたり、簡単な実験をするくらいには使えそうです。 以下作業メモです。 使用した端末は Essential Phone PH-1 (Snapdragon 835, RAM 4GB, Android 10)。もちろん C++ だけでなく Python からも使えます。...
View Articleセサミmini、スマートロックを使って1年目
通勤で定期券の代わりになったり財布の代わりになったりスマートフォンの役割が増えています。全く同じように、スマートロックを使うとスマートフォンを家の鍵として使えるようになります。ドアの前でいちいち鍵(物理鍵)を取り出す必要がなくなり、スマートフォン一つで事足ります。...
View Articleセサミmini、Web Camera でセンサー対応オートロックを作ってみる (PyTorch)
スマートロックの セサミ mini を便利に使っています。(前回の記事) 物理的に鍵を使う必要がなく完全にワイヤレスで済みますし、施錠操作もオートロックのおかげで不要となりました。 非常に気に入っているのですが、セサミ mini...
View Articleセサミmini、オートロックのその後
数ヶ月走らせていますが安定して動いています。時間を意識してドアを慌てて閉めなくても良くなり、出入りのときに余裕ができました。 ● Jetson Nano (5W mode) 作成時は Windows PC を使っていましたが、コード修正無しにそのまま動くことがわかったので今は Jetson Nano を使っています。Web カメラも PC で使っていたものそのままで USB 接続です。...
View ArticleAndroid UserLAnd の日本語環境
Debian が Buster になっているので、1年前と比べて mozc の install が簡単になりました。Ubuntu と同じ手順でインストールできます。Wiki の手順を更新しました。 ・SSH + uim-mozc ・VNC + fcitx-mozc UserLAnd は Android 端末内に Linux 環境を構築するためのアプリです。Chromebook (ChromeOS)...
View ArticleWindows 10 WSL2 のコンパイル速度比較
Windows 10 May 2020 Update (2004) で WSL2 がリリースされました。 ・Microsoft: WSL 2 の新機能 I/O が速くなっているらしいので、いつも Android + Termux でテストしている「コンパイル時間の計測」をしてみました。 PC WSL1 WSL2 Core i7-6700K 4.0GHz (4C8T) 40s 29s Ryzen 7...
View ArticleUE4 プログラミング言語 Blueprint (1)
UE4 ではスクリプト言語として Blueprint を使った開発ができます。Visual 言語となっており、画面上に命令を並べて線でつなぐだけで動作フローを作成することができます。 BP_Prog01 三角マークでつながった白い線が実行順序を表しています。それ以外の丸い終端でつながっている線は、引数や返り値といったデータの流れです。データの型によって線の色が変わります。Blueprint...
View ArticleUE4 プログラミング言語 Blueprint (2)
前回の続きです。 ・前回: UE4 プログラミング言語 Blueprint (1) ●イベントグラフと関数グラフ Blueprint 命令の編集画面には 2種類あります。イベントグラフと関数グラフです。 ↓イベントグラフの画面。イベント応答、カスタムイベントの定義などを行う。 EventGraph ↓関数グラフの画面。関数単位の定義を行う。 FuncGraph イベントグラフでは、BeginPlay...
View ArticleUE4 プログラミング言語 Blueprint (3)
前回の続きです。 ・UE4 プログラミング言語 Blueprint (1) ・UE4 プログラミング言語 Blueprint (2) ●未実行命令の戻り値 イベントグラフでは複数のイベントのノードを同時に記述できるため、全く関係ないノードの値を参照することもできてしまいます。(↓不正参照に見える例A) retvalue ↑PrintInt が FuncD...
View ArticleUE4 Engine コンパイル時間の比較 4.25.2
UE4 4.25.2 のビルド時間を比較しました。 CPU Core CPU clock Thread RAM ビルド時間T ビルド時間P Ryzen 9 3950X Zen2 3.5-4.7GHz 16C32T 32GB 18分29秒 16分07秒 Ryzen 7 1800X Zen 3.6-4.0GHz 8C16T 32GB 50分10秒 45分48秒 Core i7-6700K Skylake...
View ArticleIce Lake の vfpbench 結果と AVX512 命令
Ice Lake の PC (mac) を手に入れたので vfpbench を AVX512 対応にしてみました。結果は下記のとおりです。 AVX512 reg GFLOPS fop IPC AVX512VL vmulps ymm 256bit 55.2 8 6.3 AVX512VL vaddps ymm 256bit 55.6 8 6.3 AVX512VL vfmaddps ymm 256bit...
View Article