# Bare Metal Quickstart

***

Your node has Linux (Ubuntu) OS. It comes pre-loaded with some tools to simplify your set-up process.

## Connecting to Your Node

When your bare metal node is ready, you will be provided its username and IP address. To connect to your node, use the following command on a device with one of the SSH keys:

```bash
ssh [username]@[ip_address]
```

This command will be your primary method of accessing and managing your node.

***

## Node Basics

Your node comes with Ubuntu 22.04 LTS and ROCm. All SSH keys you've initially provided will have root user access.

### Adding More SSH Keys

In the event that you would like to provide more users SSH access to your node, follow these steps:

1. Copy your key, which should be structured like:

```
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDxAZn... user@host
```

2. SSH into your node using:

```bash
ssh [username]@[ip_address]
```

3. Open your authorized keys file using:

```bash
nano /home/[username]/.ssh/authorized_keys
```

4. Paste your key at the bottom of the file
5. Save and exit
6. Restart the sshd service using:

```bash
sudo systemctl restart sshd
```

### Monitoring Your GPUs

To get more information on your GPUs, use `amd-smi` in your terminal. To continue to monitor this, you can run `watch -n 0.5 amd-smi`. This will provide information on both IDs and usage in intervals of 0.5 seconds, as shown below:

```
+------------------------------------------------------------------------------+
| AMD-SMI 26.2.0+021c61fc      amdgpu version: 6.16.6   ROCm version: 7.1.1    |
| VBIOS version: 00160474                                                      |
| Platform: Linux Baremetal                                                    |
|-------------------------------------+----------------------------------------|
| BDF                        GPU-Name | Mem-Uti   Temp   UEC       Power-Usage |
| GPU  HIP-ID  OAM-ID  Partition-Mode | GFX-Uti    Fan               Mem-Usage |
|=====================================+========================================|
| 0000:05:00.0    AMD Instinct MI325X | 0 %      26 °C   0          126/1000 W |
|   0       1       6        SPX/NPS1 | 0 %        N/A           283/262128 MB |
|-------------------------------------+----------------------------------------|
| 0000:15:00.0    AMD Instinct MI325X | 0 %      26 °C   0          126/1000 W |
|   1       3       7        SPX/NPS1 | 0 %        N/A           283/262128 MB |
|-------------------------------------+----------------------------------------|
| 0000:65:00.0    AMD Instinct MI325X | 0 %      27 °C   0          133/1000 W |
|   2       2       5        SPX/NPS1 | 0 %        N/A           283/262128 MB |
|-------------------------------------+----------------------------------------|
| 0000:75:00.0    AMD Instinct MI325X | 0 %      26 °C   0          132/1000 W |
|   3       0       4        SPX/NPS1 | 0 %        N/A           283/262128 MB |
|-------------------------------------+----------------------------------------|
| 0000:85:00.0    AMD Instinct MI325X | 0 %      26 °C   0          124/1000 W |
|   4       5       2        SPX/NPS1 | 0 %        N/A           283/262128 MB |
|-------------------------------------+----------------------------------------|
| 0000:95:00.0    AMD Instinct MI325X | 0 %      27 °C   0          126/1000 W |
|   5       7       3        SPX/NPS1 | 0 %        N/A           283/262128 MB |
|-------------------------------------+----------------------------------------|
| 0000:e5:00.0    AMD Instinct MI325X | 0 %      25 °C   0          126/1000 W |
|   6       6       1        SPX/NPS1 | 0 %        N/A           283/262128 MB |
|-------------------------------------+----------------------------------------|
| 0000:f5:00.0    AMD Instinct MI325X | 0 %      28 °C   0          120/1000 W |
|   7       4       0        SPX/NPS1 | 0 %        N/A           283/262128 MB |
+-------------------------------------+----------------------------------------+
+------------------------------------------------------------------------------+
| Processes:                                                                   |
|  GPU        PID  Process Name          GTT_MEM  VRAM_MEM  MEM_USAGE     CU % |
|==============================================================================|
|    0       8645  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    0     543182  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    1       8645  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    1     543182  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    2       8645  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    2     543182  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    3       8645  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    3     543182  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    4       8645  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    4     543182  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    5       8645  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    5     543182  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    6       8645  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    6     543182  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    7       8645  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
|    7     543182  N/A                     0.0 B     0.0 B      0.0 B    0.0 % |
+------------------------------------------------------------------------------+
Process Name may require elevated permissions.
```

### Downloading and Uploading Files

To download files from your server, use the `scp` command:

```bash
// For individual files
scp [username]@[ip_address]:/path/to/remote/file /path/to/local/destination
// For subdirectories
scp -r [username]@[ip_address]:/path/to/remote/directory /path/to/local/destination
```

To upload files to your server, you may also use the scp command:

```bash
// For individual files
scp /path/to/local/file [username]@[ip_address]:/path/to/remote/destination
// For subdirectories
scp -r /path/to/local/file [username]@[ip_address]:/path/to/remote/destination
```

### Accessing Remote Services Locally

Often times, you will find yourself needing to access a service being exposed on your remote server, locally. To do so, use the following command:

```bash
ssh -L local_port:remote_host:remote_port [username]@[ip_address]
```

For example, let's assume you want to access a Jupyter Notebook that you've exposed on port 8888. From your **local** command line, you'll want to use the following:

```bash
ssh -L 8888:localhost:8888 [username]@[ip_address]
```

Then, you can access this in your browser at [http://localhost:8888<br>](<http://localhost:8888&#xA;>).

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tensorwave.com/welcome-to-tensorwave/bare-metal-quickstart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
