-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup-jetson.yml
133 lines (127 loc) · 3.25 KB
/
setup-jetson.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
---
- name: Initial setup of device
hosts: jetsons
become: yes
become_user: root
become_method: sudo
tasks:
- name: Update system package cache
ansible.builtin.apt:
update_cache: true
- name: Install jetpack
ansible.builtin.apt:
name: nvidia-jetpack
- name: Install useful developer tools
apt:
name:
- python3-pip
- python3-virtualenv
- htop
- curl
- name: Install jtop
pip:
name: jetson-stats
state: latest
- name: Add user to docker group to be able to execute commands
ansible.builtin.user:
append: true
groups: ["docker"]
name: intrinsic
- name: Set nvidia-container-runtime as default Docker runtime
copy:
src: daemon.json
dest: /etc/docker/daemon.json
owner: root
group: root
mode: '0644'
backup: no
- name: User setup
hosts: jetsons
become: no
vars:
vimrc: '{{ansible_env.HOME}}/.vimrc'
tasks:
- name: Initial vim settings
copy:
src: vimrc
dest: '{{vimrc}}'
backup: no
mode: '0640'
## PyTorch play. Based on documented steps from https://docs.nvidia.com/deeplearning/frameworks/install-pytorch-jetson-platform/index.html
- name: ML Tools
hosts: jetsons
vars:
pytorch:
'5.1.1':
url: 'https://developer.download.nvidia.com/compute/redist/jp/v511/pytorch/torch-2.0.0+nv23.05-cp38-cp38-linux_aarch64.whl'
'5.1.2':
url: 'https://developer.download.nvidia.com/compute/redist/jp/v512/pytorch/torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl'
tasks:
- name: Collect current JetPack version
become: yes
become_user: root
become_method: sudo
shell: >
apt info nvidia-jetpack 2>/dev/null | grep 'Version:' | cut -f 2 -d' ' | cut -f1 -d'-'
register: jetpack_version
- name: log jetpack_version
debug: msg='{{jetpack_version.stdout}}'
- name: log url
debug: msg='{{pytorch[jetpack_version.stdout].url}}'
- name: Install PyTorch deps
become: yes
become_user: root
become_method: sudo
apt:
name:
- autoconf
- bc
- build-essential
- g++-8
- gcc-8
- clang-8
- lld-8
- gettext-base
- gfortran-8
- iputils-ping
- libbz2-dev
- libc++-dev
- libcgal-dev
- libffi-dev
- libfreetype6-dev
- libhdf5-dev
- libjpeg-dev
- liblzma-dev
- libncurses5-dev
- libncursesw5-dev
- libpng-dev
- libreadline-dev
- libssl-dev
- libsqlite3-dev
- libxml2-dev
- libxslt-dev
- locales
- moreutils
- openssl
- python-openssl
- rsync
- scons
- python3-pip
- libopenblas-dev
- name: Create working directory for install
file:
path: '{{ansible_env.HOME}}/ml-setup'
state: directory
mode: '0755'
- name: Install pytorch from wheel
environment:
LD_LIBRARY_PATH: '/usr/lib/llvm-8/lib'
pip:
name:
- '{{pytorch[jetpack_version.stdout].url}}'
extra_args: "--no-cache"
- name: Check PyTorch installation
register: cuda_enabled
shell: >
python3 -c 'import torch;print(torch.cuda.is_available())'
- debug: msg="Torch installed with CUDA support? {{cuda_enabled.stdout}}"