You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.4 KiB
47 lines
1.4 KiB
#!/bin/bash |
|
|
|
# Example use: |
|
# ./buildFromScratch.sh --cuda --master --workspace /home/username/datapath/ |
|
|
|
WORKSPACE=$(pwd) |
|
|
|
|
|
while [[ $# -gt 0 ]]; do |
|
key="$1" |
|
case $key in |
|
--cuda) |
|
CUDA_BUILD_ARGS="--build-arg CUDA=1 --build-arg BASE_IMAGE=nvidia/cuda:11.8.0-devel-ubuntu22.04" |
|
|
|
CUDA_RUNTIME_ARGS="--gpus all -e NVIDIA_DRIVER_CAPABILITIES=compute,utility,graphics" |
|
|
|
CUDA_CONTAINER_SUFFIX="-cuda" |
|
shift |
|
;; |
|
--master) |
|
MASTER_ARGS="--build-arg MASTER=1" |
|
shift |
|
;; |
|
--workspace) |
|
WORKSPACE=$2 |
|
shift |
|
shift |
|
;; |
|
*) |
|
echo "Unknown argument: $key" |
|
exit 1 |
|
;; |
|
esac |
|
done |
|
|
|
# no need to do `xhost +` anymore |
|
XSOCK=/tmp/.X11-unix |
|
XAUTH=/tmp/.docker.xauth |
|
touch $XAUTH |
|
xauth nlist "$DISPLAY" | sed -e 's/^..../ffff/' | xauth -f $XAUTH nmerge - |
|
DISPLAY_ARGS="--volume=$XSOCK:$XSOCK:rw --volume=$XAUTH:$XAUTH:rw --env=XAUTHORITY=$XAUTH --env=DISPLAY=unix$DISPLAY" |
|
|
|
echo Running with workspace: "$WORKSPACE" |
|
|
|
docker build -t="openmvs-ubuntu$CUDA_CONTAINER_SUFFIX" --build-arg "USER_ID=$(id -u)" --build-arg "GROUP_ID=$(id -g)" $CUDA_BUILD_ARGS $MASTER_ARGS . |
|
docker run $CUDA_RUNTIME_ARGS --entrypoint bash --ipc=host --shm-size=4gb -w /work -v "$WORKSPACE:/work" $DISPLAY_ARGS -it openmvs-ubuntu$CUDA_CONTAINER_SUFFIX |
|
|
|
|