[[Jetson Xavier]][[Jetson TX2]]
#contents
|SoC|Orin|
|CPU|Cortex A78AE 12 core|
|GPU|Orin (Ampere architecture 2048 CUDA Core)|
|Memory|32GB|
|L1 d-cache|768K|
|L1 i-cache|768K|
|L2 cache|3M|
|L3 cache|6M|
|Storage|64GB eMMC|
* スペック [#i6be982e]
- CPU: Cortex A78AE 12 cores
$ cat /proc/cpuinfo
processor : 0
model name : ARMv8 Processor rev 1 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp uscat ilrcpc flagm
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd42
CPU revision : 1
processor : 1
model name : ARMv8 Processor rev 1 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp uscat ilrcpc flagm
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd42
CPU revision : 1
processor : 2
model name : ARMv8 Processor rev 1 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp uscat ilrcpc flagm
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd42
CPU revision : 1
processor : 3
model name : ARMv8 Processor rev 1 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp uscat ilrcpc flagm
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd42
CPU revision : 1
processor : 4
model name : ARMv8 Processor rev 1 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp uscat ilrcpc flagm
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd42
CPU revision : 1
processor : 5
model name : ARMv8 Processor rev 1 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp uscat ilrcpc flagm
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd42
CPU revision : 1
processor : 6
model name : ARMv8 Processor rev 1 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp uscat ilrcpc flagm
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd42
CPU revision : 1
processor : 7
model name : ARMv8 Processor rev 1 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp uscat ilrcpc flagm
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd42
CPU revision : 1
processor : 8
model name : ARMv8 Processor rev 1 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp uscat ilrcpc flagm
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd42
CPU revision : 1
processor : 9
model name : ARMv8 Processor rev 1 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp uscat ilrcpc flagm
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd42
CPU revision : 1
processor : 10
model name : ARMv8 Processor rev 1 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp uscat ilrcpc flagm
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd42
CPU revision : 1
processor : 11
model name : ARMv8 Processor rev 1 (v8l)
BogoMIPS : 62.50
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp uscat ilrcpc flagm
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd42
CPU revision : 1
-lscpu
$ lscpu
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 12
On-line CPU(s) list: 0-11
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 3
Vendor ID: ARM
Model: 1
Model name: ARMv8 Processor rev 1 (v8l)
Stepping: r0p1
CPU max MHz: 2201.6001
CPU min MHz: 115.2000
BogoMIPS: 62.50
L1d cache: 768 KiB
L1i cache: 768 KiB
L2 cache: 3 MiB
L3 cache: 6 MiB
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp uscat ilrcpc flagm
-auxv: 0xe119fff
$ LD_SHOW_AUXV=1 ls
AT_SYSINFO_EHDR: 0xffffa04fb000
AT_??? (0x33): 0x1270
AT_HWCAP: e119fff
AT_PAGESZ: 4096
AT_CLKTCK: 100
AT_PHDR: 0xaaaabdb90040
AT_PHENT: 56
AT_PHNUM: 9
AT_BASE: 0xffffa04cb000
AT_FLAGS: 0x0
AT_ENTRY: 0xaaaabdb95940
AT_UID: 1000
AT_EUID: 1000
AT_GID: 1000
AT_EGID: 1000
AT_SECURE: 0
AT_RANDOM: 0xfffff90813a8
AT_HWCAP2: 0x0
AT_EXECFN: /usr/bin/ls
AT_PLATFORM: aarch64
Desktop
-Memory
$ free -h
total used free shared buff/cache available
Mem: 29Gi 897Mi 27Gi 20Mi 1.7Gi 28Gi
Swap: 14Gi 0B 14Gi
-cpufreq
$ cat /sys/bus/cpu/devices/cpu?/cpufreq/cpuinfo_max_freq
2201600
2201600
2201600
2201600
2201600
2201600
2201600
2201600
2201600
2201600
-kernel
$ uname -a
Linux jetson-orin 5.10.65-tegra #1 SMP PREEMPT Tue Mar 15 00:53:43 PDT 2022 aarch64 aarch64 aarch64 GNU/Linux
-OS
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.4 LTS
Release: 20.04
Codename: focal
$ cat /etc/nv_tegra_release
# R34 (release), REVISION: 0.1, GCID: 29955323, BOARD: t186ref, EABI: aarch64, DATE: Tue Mar 15 08:13:50 UTC 2022
-gcc
$ gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-nvcc
$ nvcc --version
-bash: nvcc: command not found
$ /usr/local/cuda-11.4/bin/nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_May__4_00:02:26_PDT_2022
Cuda compilation tools, release 11.4, V11.4.239
Build cuda_11.4.r11.4/compiler.31294910_0
-deviceQuery
$ ./deviceQuery
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "Orin"
CUDA Driver Version / Runtime Version 11.4 / 11.4
CUDA Capability Major/Minor version number: 8.7
Total amount of global memory: 30623 MBytes (32110190592 bytes)
(016) Multiprocessors, (128) CUDA Cores/MP: 2048 CUDA Cores
GPU Max Clock rate: 1300 MHz (1.30 GHz)
Memory Clock rate: 1300 Mhz
Memory Bus Width: 128-bit
L2 Cache Size: 4194304 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total shared memory per multiprocessor: 167936 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 1536
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 2 copy engine(s)
Run time limit on kernels: No
Integrated GPU sharing Host Memory: Yes
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device supports Managed Memory: Yes
Device supports Compute Preemption: Yes
Supports Cooperative Kernel Launch: Yes
Supports MultiDevice Co-op Kernel Launch: Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 0 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 11.4, CUDA Runtime Version = 11.4, NumDevs = 1
Result = PASS
-eMMC
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 16M 1 loop
mmcblk0 179:0 0 59.3G 0 disk
├mmcblk0p1 179:1 0 58G 0 part /
├mmcblk0p2 179:2 0 64M 0 part
├mmcblk0p3 179:3 0 384K 0 part
├mmcblk0p4 179:4 0 32M 0 part
├mmcblk0p5 179:5 0 64M 0 part
├mmcblk0p6 179:6 0 384K 0 part
├mmcblk0p7 179:7 0 32M 0 part
├mmcblk0p8 179:8 0 80M 0 part
├mmcblk0p9 179:9 0 512K 0 part
├mmcblk0p10 179:10 0 64M 0 part
└mmcblk0p11 179:11 0 1G 0 part
zram0 251:0 0 1.3G 0 disk [SWAP]
zram1 251:1 0 1.3G 0 disk [SWAP]
zram2 251:2 0 1.3G 0 disk [SWAP]
zram3 251:3 0 1.3G 0 disk [SWAP]
zram4 251:4 0 1.3G 0 disk [SWAP]
zram5 251:5 0 1.3G 0 disk [SWAP]
zram6 251:6 0 1.3G 0 disk [SWAP]
zram7 251:7 0 1.3G 0 disk [SWAP]
zram8 251:8 0 1.3G 0 disk [SWAP]
zram9 251:9 0 1.3G 0 disk [SWAP]
zram10 251:10 0 1.3G 0 disk [SWAP]
zram11 251:11 0 1.3G 0 disk [SWAP]
* セットアップ [#wbca166b]
- https://developer.nvidia.com/embedded/learn/get-started-jetson-agx-orin-devkit
- 映像出力が標準サイズのDPしかなく、HDMI出力がないので、注意
- 映像出力がなくてもシリアルコンソールでセットアップ可能
- [[Getting Started with Jetson AGX Orin Developer Kit | NVIDIA Developer>https://developer.nvidia.com/embedded/learn/get-started-jetson-agx-orin-devkit]]
-- セットアップ時、電源投入後30秒ぐらいしてからファンが周り始める
-- 初回が悪かったのか、セットアップ時にコンソール画面が出ず、Jetson Orinを再起動したらコンソール画面が出た
-- 電力設定はMAXNにしておいた(全力)
$ nvpmodel -q
NV Power Mode: MAXN
0
-- NanoやXavier以前と違い、初期ユーザ名、初期パスワード、ホスト名も入力を促される
-- 適当に決めて入力する
- apt のインストール
$ time sudo apt install python-is-python3 cmake ccache tmux python3-dev python3-pip libgtk-3-dev openjdk-8-jre-headless
$ time pip install cython numpy
- ネットワークコンフィグ
- Ubuntu 18.04 からコンソールでIPのコンフィグを変える場合はnetplanが必要。
$ apt sudo apt install netplan.io
$ sudo vim /etc/n
$ sudo vim /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
-JetPackのインストール
-/etc/apt/sources.list.d/nvidia-l4t-apt-source.list 内に以下の2行があるので、34.0を34.1に書き換える
$ cat /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
deb https://repo.download.nvidia.com/jetson/common r34.0 main
deb https://repo.download.nvidia.com/jetson/t234 r34.0 main
$ vim /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
$ cat /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
deb https://repo.download.nvidia.com/jetson/common r34.1 main
deb https://repo.download.nvidia.com/jetson/t234 r34.1 main
$ timee udo apt update
$ time sudo apt dist-upgrade
-しばしまつ
$ sudo apt install nvidia-jetpack
-タイムゾーン
-初期セットアップダイアログで変更可能だが、うっかり忘れたので、コマンドラインからセットアップし直し
sudo dpkg-reconfigure tzdata
* 拡張命令の対応 [#t7972243]
-見てる限りは Arm v8.2 に dotprod を加えた対応状況
nvidia@jetson-orin:~/work/simd$ ./complexNumber_v83
Illegal instruction (core dumped)
nvidia@jetson-orin:~/work/simd$ ./cryptoCRC
nvidia@jetson-orin:~/work/simd$ ./cryptoSHA3_v82_sha3
Illegal instruction (core dumped)
nvidia@jetson-orin:~/work/simd$ ./cryptoSM4_v82_sm4
Illegal instruction (core dumped)
nvidia@jetson-orin:~/work/simd$ ./dotProduct_v82_dotprod
nvidia@jetson-orin:~/work/simd$ ./fmaLongFP16
Illegal instruction (core dumped)
nvidia@jetson-orin:~/work/simd$ ./fmaLongFP16_v82_fp16fml
Illegal instruction (core dumped)
nvidia@jetson-orin:~/work/simd$ ./halfFloatOperation_v82_fp16
nvidia@jetson-orin:~/work/simd$ ./javascrptConverToSignedTowardZero_v83_jscvt
Illegal instruction (core dumped)
nvidia@jetson-orin:~/work/simd$ ./randomNumberGenerator_rng
Illegal instruction (core dumped)
nvidia@jetson-orin:~/work/simd$ ./roundingTZ_v85
Illegal instruction (core dumped)
nvidia@jetson-orin:~/work/simd$ ./roundToIntegerTowardZero_v85
Illegal instruction (core dumped)