mirror of
https://github.com/allaunthefox/Research-Stack.git
synced 2026-07-31 03:05:21 +00:00
- ray_vcn_transport.py: @ray.remote wrappers for braid VCN encode/decode - Distributed encode on CPU workers, compute on GPU workers - RayVCNTransport actor with frame counter + ObjectRef storage - FAMM-gated encode task, batch encode/decode helpers - 20 strands in 576ms (28.8ms/strand), 20/20 CRC ok - raycluster.yaml: KubeRay cluster on qfox-1 - Head + CPU worker + GPU worker (RTX 4070 SUPER via /dev/dri) - No NVIDIA device plugin — Mesa direct device access - Tolerations for desktop taint on qfox-1 - num-gpus instead of custom GPU resource - fix-nftables-k3s.sh: nftables forward rules for flannel/cni0 - nftables default policy=drop blocks pod-to-pod networking - systemd service nftables-k3s-fix for persistence - KubeRay operator moved to nixos (control plane can reach API server) - FFmpeg 8.0 + reedsolo installed in Ray head pod via conda
130 lines
3 KiB
YAML
130 lines
3 KiB
YAML
apiVersion: ray.io/v1
|
|
kind: RayCluster
|
|
metadata:
|
|
name: raycluster
|
|
namespace: ray
|
|
spec:
|
|
rayVersion: "2.41.0.dev0"
|
|
headGroupSpec:
|
|
serviceType: ClusterIP
|
|
rayStartParams:
|
|
num-cpus: "2"
|
|
dashboard-host: "0.0.0.0"
|
|
template:
|
|
spec:
|
|
tolerations:
|
|
- key: "desktop"
|
|
operator: "Equal"
|
|
value: "true"
|
|
effect: "NoSchedule"
|
|
containers:
|
|
- name: ray-head
|
|
image: rayproject/ray:nightly-py313-gpu
|
|
ports:
|
|
- containerPort: 6379
|
|
name: gcs
|
|
- containerPort: 8265
|
|
name: dashboard
|
|
- containerPort: 10001
|
|
name: client
|
|
- containerPort: 8000
|
|
name: serve
|
|
resources:
|
|
requests:
|
|
cpu: "2"
|
|
memory: "4Gi"
|
|
limits:
|
|
cpu: "4"
|
|
memory: "8Gi"
|
|
volumeMounts:
|
|
- name: dshm
|
|
mountPath: /dev/shm
|
|
- name: dri
|
|
mountPath: /dev/dri
|
|
volumes:
|
|
- name: dshm
|
|
emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 2Gi
|
|
- name: dri
|
|
hostPath:
|
|
path: /dev/dri
|
|
nodeSelector:
|
|
kubernetes.io/hostname: qfox-1
|
|
workerGroupSpecs:
|
|
- replicas: 1
|
|
minReplicas: 0
|
|
maxReplicas: 4
|
|
groupName: cpu-workers
|
|
rayStartParams:
|
|
num-cpus: "4"
|
|
template:
|
|
spec:
|
|
tolerations:
|
|
- key: "desktop"
|
|
operator: "Equal"
|
|
value: "true"
|
|
effect: "NoSchedule"
|
|
containers:
|
|
- name: ray-worker
|
|
image: rayproject/ray:nightly-py313-gpu
|
|
resources:
|
|
requests:
|
|
cpu: "4"
|
|
memory: "4Gi"
|
|
limits:
|
|
cpu: "8"
|
|
memory: "8Gi"
|
|
volumeMounts:
|
|
- name: dshm
|
|
mountPath: /dev/shm
|
|
- name: dri
|
|
mountPath: /dev/dri
|
|
volumes:
|
|
- name: dshm
|
|
emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 2Gi
|
|
- name: dri
|
|
hostPath:
|
|
path: /dev/dri
|
|
nodeSelector:
|
|
kubernetes.io/hostname: qfox-1
|
|
- replicas: 1
|
|
minReplicas: 0
|
|
maxReplicas: 1
|
|
groupName: gpu-worker
|
|
rayStartParams:
|
|
num-gpus: "1"
|
|
template:
|
|
spec:
|
|
tolerations:
|
|
- key: "desktop"
|
|
operator: "Equal"
|
|
value: "true"
|
|
effect: "NoSchedule"
|
|
containers:
|
|
- name: ray-worker
|
|
image: rayproject/ray:nightly-py313-gpu
|
|
resources:
|
|
requests:
|
|
cpu: "2"
|
|
memory: "8Gi"
|
|
limits:
|
|
cpu: "4"
|
|
memory: "16Gi"
|
|
volumeMounts:
|
|
- name: dshm
|
|
mountPath: /dev/shm
|
|
- name: dri
|
|
mountPath: /dev/dri
|
|
volumes:
|
|
- name: dshm
|
|
emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 4Gi
|
|
- name: dri
|
|
hostPath:
|
|
path: /dev/dri
|
|
nodeSelector:
|
|
kubernetes.io/hostname: qfox-1
|