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:
sudo simd initExpected 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
...
[3/6] Installing basic dependencies...
Reading package lists... Done
Building dependency tree... 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:
sudo simd init --skip-nvidiaStep 2: System Check
Verify your worker's capabilities before connecting to the network:
simd system-checkExpected 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:
simd check --jsonStep 3: Connect to Orchestrator
Connect your worker to an orchestrator node using its multiaddr:
sudo simd worker --port 4002 --orchestrator /ip4/34.172.234.124/tcp/4001Expected 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.962193Z INFO simd::network: Discovered orchestrator PeerId: 12D3KooWEdHrqTLoXqXfqPSheytnjhR9jh9WLJpF8Q4FuwD3LTwN
2025-12-16T15:21:21.962222Z INFO simd::network: Connected to orchestrator
2025-12-16T15:21:22.010855Z INFO simd::network: HandshakeAck: vpn_ip=10.0.0.3
2025-12-16T15:21:22.010873Z INFO simd::network: Configuring WireGuard VPN tunnel...
2025-12-16T15:21:36.957275Z INFO simd::network: System check complete: ram=15788MB, gpu=Tesla T4
2025-12-16T15:21:36.957298Z INFO simd::network: NodeStatus sent to orchestrator, waiting for jobs...
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:
# Check NVIDIA driver
nvidia-smi
# Verify CUDA installation
nvcc --version
# Re-run init to detect GPU
sudo simd init