👷 Worker Node
Overview
Worker nodes are the computational backbone of the SIMD network. They execute CFD simulation jobs assigned by the orchestrator and return results when complete.
Workers can be configured with various capabilities:
- GPU Workers — Equipped with NVIDIA GPUs for accelerated simulations
- CPU Workers — Use CPU-only computation for compatible workloads
- Docker Support — Can run containerized simulation environments
- Python Runtime — Have Python environment for scripted jobs
Subcommands
| Command | Alias | Description |
|---|---|---|
simd init | setup | Initialize a new worker node |
simd worker | — | Start and connect to orchestrator |
simd system-check | check | Check system capabilities |
Step 1: Initialize Worker
Before connecting to the network, initialize your worker node. This sets up the required directories, generates keys, and installs dependencies:
Terminal
sudo simd initExpected output:
Output
==========================================
SIMD Worker Node Initialization
==========================================
Extracting setup files...
Setup files extracted to: "/root/.simd/docker"
==========================================
SIMD Worker Node Setup
==========================================
[1/6] Detected OS: ubuntu 24.04
[2/6] Updating system packages...
Hit:1 http://us-east-2.ec2.archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://us-east-2.ec2.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
...
[3/6] Installing basic dependencies...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
curl is already the newest version (8.5.0-2ubuntu10.6).
[4/6] Installing Docker...
Docker already installed
[5/6] Installing NVIDIA drivers and container toolkit...
NVIDIA GPU detected
NVIDIA drivers already installed
Tesla T4, 535.274.02
NVIDIA Container Toolkit already installed
[6/6] Building SIMD OpenFOAM Docker image...
[+] Building 0.5s (14/14) FINISHED
Docker image built successfully
==========================================
Setup Complete!
==========================================
Next steps:
1. Log out and log back in (for docker group)
2. Run: simd-network worker --orchestrator <address>
To verify setup:
- Docker: docker --version
- NVIDIA: nvidia-smi
- GPU in Docker: docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi
==========================================
Initialization complete!
==========================================CPU-Only Mode
If your machine doesn't have an NVIDIA GPU, use the --skip-nvidia flag:
Terminal
sudo simd init --skip-nvidiaStep 2: System Check
Verify your worker's capabilities before connecting to the network:
Terminal
simd system-checkExpected output:
Output
>>> System Check @ 1765898367
[x] WireGuard tools: true
[x] Python 3: true
[x] Docker: true
[x] NVIDIA/CUDA: true
GPU: Tesla T4 (15360 MB)
CPU: Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
RAM: 15788 MB
OS: Ubuntu 24.04.3 LTS
Kernel: 6.14.0-1018-awsGet JSON output for automation:
Terminal
simd check --jsonOutput
{
"checked_at_unix": 1765898402,
"has_wireguard_tools": true,
"has_python": true,
"has_docker": true,
"has_cuda": true,
"gpu": {
"name": "Tesla T4",
"vram_mb": 15360
},
"cpu_model": "Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz",
"ram_mb": 15788,
"os_pretty": "Ubuntu 24.04.3 LTS",
"kernel": "6.14.0-1018-aws",
"public_ip": null,
"vpn_ip": null,
"network": {
"ip_route_get_1.1.1.1": "1.1.1.1 via 172.31.0.1 dev ens5 src 172.31.2.102 uid 1000
cache",
"hostname_I": "172.31.2.102 172.18.0.1 172.17.0.1 10.0.0.3"
}
}
ubuStep 3: Connect to Orchestrator
Connect your worker to an orchestrator node using its multiaddr:
Terminal
sudo simd worker --port 4002 --orchestrator /ip4/34.172.234.124/tcp/4001Expected output:
Output
==========================================
SIMD Worker Node
==========================================
Node ID: 12D3KooWDJUFekzwCRGbcj1kTb4Fz6PxeLCFsrdmrYAr2V45k9M9
Key Dir: "/root/.simd/worker"
==========================================
2025-12-16T15:21:21.921171Z INFO simd::network: Worker WG pubkey: 8GqBh5K5PdGfNC1cOV2XZ3iKe0/+xSxEqHp9iYTD118=
2025-12-16T15:21:21.921967Z INFO libp2p_swarm: local_peer_id=12D3KooWDJUFekzwCRGbcj1kTb4Fz6PxeLCFsrdmrYAr2V45k9M9
2025-12-16T15:21:21.922263Z INFO simd::network: Worker listening on /ip4/127.0.0.1/tcp/4002
2025-12-16T15:21:21.922285Z INFO simd::network: Worker listening on /ip4/172.31.2.102/tcp/4002
2025-12-16T15:21:21.922300Z INFO simd::network: Worker listening on /ip4/172.18.0.1/tcp/4002
2025-12-16T15:21:21.922316Z INFO simd::network: Worker listening on /ip4/172.17.0.1/tcp/4002
2025-12-16T15:21:21.922339Z INFO simd::network: Worker listening on /ip4/10.0.0.3/tcp/4002
2025-12-16T15:21:21.962193Z INFO simd::network: Discovered orchestrator PeerId: 12D3KooWEdHrqTLoXqXfqPSheytnjhR9jh9WLJpF8Q4FuwD3LTwN
2025-12-16T15:21:21.962222Z INFO simd::network: Connected to orchestrator 12D3KooWEdHrqTLoXqXfqPSheytnjhR9jh9WLJpF8Q4FuwD3LTwN
2025-12-16T15:21:22.010855Z INFO simd::network: HandshakeAck: vpn_ip=10.0.0.3, endpoint=34.172.234.124
2025-12-16T15:21:22.010873Z INFO simd::network: Configuring WireGuard VPN tunnel...
2025-12-16T15:21:22.010878Z INFO simd::network: Interface: simd0
2025-12-16T15:21:22.010887Z INFO simd::network: My VPN IP: 10.0.0.3
2025-12-16T15:21:22.010893Z INFO simd::network: Orchestrator endpoint: 34.172.234.124:51820
2025-12-16T15:21:32.174155Z WARN simd::network: VPN tunnel verification failed: VPN peer 10.0.0.1 not reachable
2025-12-16T15:21:32.174179Z WARN simd::network: The worker will continue but VPN connectivity is not confirmed.
2025-12-16T15:21:32.174187Z INFO simd::network: Bearer token: ccc4455221450750c35cd45079a453281a61dec1898adcce5587d1813fc3da00
2025-12-16T15:21:32.174194Z INFO simd::network: Running system check...
2025-12-16T15:21:36.957275Z INFO simd::network: System check complete: ram=15788MB, gpu=Tesla T4, python=true, docker=true, cuda=true
2025-12-16T15:21:36.957298Z INFO simd::network: NodeStatus sent to orchestrator, waiting for jobs...
2025-12-16T15:21:36.957390Z WARN libp2p_kad::behaviour: Failed to trigger bootstrap: No known peers.
2025-12-16T15:21:36.957499Z INFO simd::network: Worker listening on /ip4/10.0.0.3/tcp/4002
2025-12-16T15:21:36.999440Z INFO simd::network: Orchestrator acknowledged, worker is readyTroubleshooting
Connection Issues
If you can't connect to the orchestrator:
- Verify the orchestrator address is correct and complete
- Check that port 4001 is open on both ends
- Ensure both nodes are on the same network
GPU Not Detected
If your GPU isn't detected:
Terminal
# Check NVIDIA driver
nvidia-smi
# Verify CUDA installation
nvcc --version
# Re-run init to detect GPU
sudo simd init