File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -7,9 +7,26 @@ PORT=8888
77
88server_name=" bmk-server"
99
10+ # Ensure non-root container user can access AMD GPU devices (/dev/kfd, /dev/dri)
11+ # by inheriting the host device group IDs (render/video). File permissions are
12+ # not overridden by --privileged, so group membership is required.
13+ KFD_GID=$( stat -c ' %g' /dev/kfd 2> /dev/null || true)
14+ RENDER_NODE=$( ls -1 /dev/dri/renderD* 2> /dev/null | head -n1 || true)
15+ CARD_NODE=$( ls -1 /dev/dri/card* 2> /dev/null | head -n1 || true)
16+ RENDER_GID=$( [[ -n " $RENDER_NODE " ]] && stat -c ' %g' " $RENDER_NODE " 2> /dev/null || true)
17+ VIDEO_GID=$( [[ -n " $CARD_NODE " ]] && stat -c ' %g' " $CARD_NODE " 2> /dev/null || true)
18+
19+ GROUP_ARGS=" "
20+ for gid in " $KFD_GID " " $RENDER_GID " " $VIDEO_GID " ; do
21+ if [[ -n " $gid " ]]; then
22+ GROUP_ARGS+=" --group-add $gid "
23+ fi
24+ done
25+
1026set -x
1127docker run --rm --ipc=host --shm-size=16g --network=host --name=$server_name \
1228--user $( id -u) :$( id -g) \
29+ ${GROUP_ARGS} \
1330--privileged --cap-add=CAP_SYS_ADMIN --device=/dev/kfd --device=/dev/dri --device=/dev/mem \
1431--cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
1532-v $HF_HUB_CACHE_MOUNT :$HF_HUB_CACHE \
Original file line number Diff line number Diff line change @@ -7,9 +7,26 @@ PORT=8888
77
88server_name=" bmk-server"
99
10+ # Ensure non-root container user can access AMD GPU devices (/dev/kfd, /dev/dri)
11+ # by inheriting the host device group IDs (render/video). File permissions are
12+ # not overridden by --privileged, so group membership is required.
13+ KFD_GID=$( stat -c ' %g' /dev/kfd 2> /dev/null || true)
14+ RENDER_NODE=$( ls -1 /dev/dri/renderD* 2> /dev/null | head -n1 || true)
15+ CARD_NODE=$( ls -1 /dev/dri/card* 2> /dev/null | head -n1 || true)
16+ RENDER_GID=$( [[ -n " $RENDER_NODE " ]] && stat -c ' %g' " $RENDER_NODE " 2> /dev/null || true)
17+ VIDEO_GID=$( [[ -n " $CARD_NODE " ]] && stat -c ' %g' " $CARD_NODE " 2> /dev/null || true)
18+
19+ GROUP_ARGS=" "
20+ for gid in " $KFD_GID " " $RENDER_GID " " $VIDEO_GID " ; do
21+ if [[ -n " $gid " ]]; then
22+ GROUP_ARGS+=" --group-add $gid "
23+ fi
24+ done
25+
1026set -x
1127docker run --rm --ipc=host --shm-size=16g --network=host --name=$server_name \
1228--user $( id -u) :$( id -g) \
29+ ${GROUP_ARGS} \
1330--privileged --cap-add=CAP_SYS_ADMIN --device=/dev/kfd --device=/dev/dri --device=/dev/mem \
1431--cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
1532-v $HF_HUB_CACHE_MOUNT :$HF_HUB_CACHE \
You can’t perform that action at this time.
0 commit comments