You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
echo '## Enable DEBUG log. You can ignore this but this may help you debug any issue while enabling SSHD for the first time' > /var/run/sshd_config && \
> **Note:** Passwordless SSH connection is also enabled in the image.
117
+
> The container does not contain the SSH ID keys. The user needs to mount those keys at `/root/.ssh/id_rsa` and `/root/.ssh/id_rsa.pub`.
118
+
> User also need to append content of id_rsa.pub in `/etc/ssh/authorized_keys` in the SSH server container.
119
+
> Since the SSH key is not owned by default user account in docker, please also do "chmod 644 id_rsa.pub; chmod 644 id_rsa" to grant read access for default user account.
120
+
> Users could also use "/usr/bin/ssh-keygen -t rsa -b 4096 -N '' -f ~/mnt/ssh_key/id_rsa" to generate a new SSH Key inside the container.
121
+
> Users need to mount a config file to list all hostnames at location `/root/.ssh/config` on the SSH client container.
122
+
> Once all files are added
123
+
124
+
#### Setup and Run IPEX Multi-Node Container
125
+
126
+
Some additional assembly is required to utilize this container with OpenSSH. To perform any kind of DDP (Distributed Data Parallel) execution, containers are assigned the roles of launcher and worker respectively:
127
+
128
+
SSH Server (Worker)
129
+
130
+
1.*Authorized Keys* : `/etc/ssh/authorized_keys`
131
+
132
+
SSH Client (Launcher)
133
+
134
+
1.*Config File with Host IPs* : `/root/.ssh/config`
135
+
2.*Private User Key* : `/root/.ssh/id_rsa`
136
+
137
+
To add these files correctly please follow the steps described below.
138
+
139
+
1. Setup ID Keys
140
+
141
+
You can use the commands provided below to [generate the Identity keys](https://www.ssh.com/academy/ssh/keygen#creating-an-ssh-key-pair-for-user-authentication) for OpenSSH.
142
+
143
+
```bash
144
+
ssh-keygen -q -N "" -t rsa -b 4096 -f ./id_rsa
145
+
touch authorized_keys
146
+
cat id_rsa.pub >> authorized_keys
147
+
```
148
+
149
+
2. Add hosts to config
150
+
151
+
The launcher container needs to have the a config file with all hostnames and ports specified. An example of a hostfile is provided below.
152
+
153
+
```bash
154
+
touch config
155
+
```
156
+
157
+
```txt
158
+
Host host1
159
+
HostName <Hostname of host1>
160
+
IdentitiesOnly yes
161
+
Port <SSH Port>
162
+
Host host2
163
+
HostName <Hostname of host2>
164
+
IdentitiesOnly yes
165
+
Port <SSH Port>
166
+
...
167
+
```
168
+
169
+
3. Configure the permissions and ownership for all of the files you have created so far.
bash -c 'ipexrun cpu /workspace/tests/ipex-resnet50.py --ipex --device cpu --backend ccl'
204
+
```
205
+
206
+
> [!NOTE]
207
+
> [Intel MPI](https://www.intel.com/content/www/us/en/developer/tools/oneapi/mpi-library.html) can be configured based on your machine settings. If the above commands do not work for you, see the documentation for how to configure based on your network.
208
+
116
209
---
117
210
118
211
The images below are [TorchServe*] with CPU Optimizations:
0 commit comments