2 Commits

Author SHA1 Message Date
Dobromir Popov
e8ef2fd222 Merge branch 'master' of https://git.d-popov.com/popov/neuron-tai 2026-07-13 09:43:12 +02:00
Dobromir Popov
caa55b74bf md nvicia 2026-07-13 09:43:09 +02:00

View File

@@ -339,11 +339,20 @@ CC=/usr/bin/clang CXX=/usr/bin/clang++ \
not a Python dependency. Other Linux distributions should install their system `clang` package
through the OS package manager.
**Windows NVIDIA/Triton:** use native PowerShell and install `triton-windows`, then install or
upgrade `flash-linear-attention` when the selected model uses it. `triton-windows` supplies the
supported Windows compiler path; do not apply Linux `dnf`/`CC` instructions to Windows. If a
Windows Node still reports a compiler error, capture `python -c "import triton; print(triton.__version__)"`
and the exact error before installing arbitrary CUDA toolkits or `causal-conv1d`.
**Windows NVIDIA/Triton:** in native PowerShell, using the **same Python environment that
runs `meshnet-node`** (e.g. the miniforge/conda env — check with `where.exe python`):
```powershell
pip install triton-windows
pip install -U flash-linear-attention
python -c "import triton, fla; print('triton', triton.__version__, 'fla ok')"
```
Order matters: `triton-windows` must be installed before FLA so FLA detects it. It bundles
its own compiler — do **not** apply Linux `dnf`/`CC` instructions, do **not** install a CUDA
toolkit, `causal-conv1d`, or the `[cuda]` extra (Linux-only pins; see the Qwen3.5/3.6-MoE
notes below). If step 3 prints ok but the Node still reports a compiler error, capture that
exact error plus the printed triton version before changing anything else.
**Troubleshooting notes:**
@@ -484,6 +493,27 @@ curl -s https://ai.neuron.d-popov.com/v1/network/map | python3 -m json.tool
Nodes should log `Relay connected — wss://…/rpc/<peer_id>` on startup.
### Connecting a LAN tracker to the internet tracker
Use the public hostname (`https://ai.d-popov.com`), not `192.168.0.179`, as the
peer URL from the internet tracker. Configure the same `MESHNET_HIVE_SECRET` on
both trackers. Start the local tracker as one compact command:
```bash
meshnet-tracker start --host 0.0.0.0 --port 8081 --self-url https://ai.d-popov.com --cluster-peers https://meshnet.2.d-popov.com --relay-url wss://meshnet.2.d-popov.com/ws --heartbeat-timeout 120 --hive-secret "$MESHNET_HIVE_SECRET"
```
Configure the internet tracker with the reverse peer direction:
```bash
meshnet-tracker start --host 0.0.0.0 --port 8081 --self-url https://meshnet.2.d-popov.com --cluster-peers https://ai.d-popov.com --relay-url wss://meshnet.2.d-popov.com/ws --heartbeat-timeout 120 --hive-secret "$MESHNET_HIVE_SECRET"
```
Verify both trackers with `curl -s https://<tracker>/v1/raft/status` and
`curl -s https://<tracker>/v1/network/map`. For this NAT-safe setup, both
trackers advertise the internet relay URL so nodes registered through the LAN
tracker can still be reached by the internet tracker.
<details>
<summary><strong>Nginx Proxy Manager setup (public hostname)</strong></summary>