3 ms·
> AMD's ROCm OCI base images, ROCm docs > "Install ROCm Docker containers" > Base Image: https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/
by westurner 3y ago
> AMD's ROCm OCI base images,
ROCm docs > "Install ROCm Docker containers" > Base Image:
https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/docker.html#base-images https://rocm.docs.amd.com/projects/install-on-linux/en/lates... links to ROCm/ROCm-docker: https://github.com/ROCm/ROCm-docker https://github.com/ROCm/ROCm-docker which is the source of docker.io/rocm/rocm-terminal: https://hub.docker.com/r/rocm/rocm-terminal https://hub.docker.com/r/rocm/rocm-terminal :
docker run -it --device=/dev/kfd --device=/dev/dri --group-add video rocm/rocm-terminal
ROCm docs > "Docker image support matrix":
https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/docker-image-support-matrix.html https://rocm.docs.amd.com/projects/install-on-linux/en/lates...
ROCm/ROCm-docker//dev/Dockerfile-centos-7-complete:
https://github.com/ROCm/ROCm-docker/blob/master/dev/Dockerfile-centos-7-complete https://github.com/ROCm/ROCm-docker/blob/master/dev/Dockerfi...
Bazzite is a ublue (Universal Blue) fork of the Fedora Kinoite (KDE) or Fedora Silverblue (Gnome) rpm-ostree Linux distributions; ublue-os/bazzite//Containerfile :
https://github.com/ublue-os/bazzite/blob/main/Containerfile#L465 https://github.com/ublue-os/bazzite/blob/main/Containerfile#... has, in addition to fan and power controls, automatic updates on desktop, supergfxctl, system76-scheduler, and an fsync kernel:
rpm-ostree install rocm-hip \
rocm-opencl \
rocm-clinfo
But it's not `rpm-ostree install --apply-live` because its a Containerfile.
To install a ublue-os distro, you install any of the Fedora ostree distros: {Silverblue, Kinoite, Sway Atomic, or Budgie Atomic} from e.g. a USB stick and then `rpm-ostree rebase <OCI_host_image_url>`:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite:stable
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-nvidia:stable
rpm-ostree rebase ostree-image-signed:
ublue-os/config//build/ublue-os-just/40-nvidia.just defines the `ujust configure-nvidia` and `ujust toggle-nvk` commands:
https://github.com/ublue-os/config/blob/main/build/ublue-os-just/40-nvidia.just https://github.com/ublue-os/config/blob/main/build/ublue-os-...
There's a default `distrobox` with pytorch in ublue-os/config//build/ublue-os-just/etc-distrobox/apps.ini:
https://github.com/ublue-os/config/blob/main/build/ublue-os-just/etc-distrobox/apps.ini https://github.com/ublue-os/config/blob/main/build/ublue-os-...
[mlbox]
image=nvcr.io/nvidia/pytorch:23.08-py3
additional_packages="nano git htop"
init_hooks="pip3 install huggingface_hub tokenizers transformers accelerate datasets wandb peft bitsandbytes fastcore fastprogress watermark torchmetrics deepspeed"
pre-init-hooks="/init_script.sh"
nvidia=true
pull=true
root=false
replace=false
docker.io/rocm/pytorch:
https://hub.docker.com/r/rocm/pytorch https://hub.docker.com/r/rocm/pytorch
pytorch/builder//manywheel/Dockerfile: https://github.com/pytorch/builder/blob/main/manywheel/Dockerfile#L157 https://github.com/pytorch/builder/blob/main/manywheel/Docke...
ROCm/pytorch//Dockerfile:
https://github.com/ROCm/pytorch/blob/main/Dockerfile https://github.com/ROCm/pytorch/blob/main/Dockerfile
The ublue-os (and so also bazzite) OCI host image Containerfile has Sunshine installed; which is a 4k HDR 120fps remote desktop solution for gaming.
There's a `ujust remove-sunshine` command in system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just : https://github.com/ublue-os/bazzite/blob/main/system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just https://github.com/ublue-os/bazzite/blob/main/system_files/d... and also kernel args for AMD:
pstate-force-enable:
rpm-ostree kargs --append-if-missing=amd_pstate=active
ublue-os/config//Containerfile:
https://github.com/ublue-os/config/blob/main/Containerfile https://github.com/ublue-os/config/blob/main/Containerfile
LizardByte/Sunshine:
https://github.com/LizardByte/Sunshine https://github.com/LizardByte/Sunshine
moonlight-stream
https://github.com/moonlight-stream https://github.com/moonlight-stream
Anyways,
hopefully this PR fixes the immediate issue: https://github.com/invoke-ai/InvokeAI/pull/5714/files https://github.com/invoke-ai/InvokeAI/pull/5714/files
conda-forge/pytorch-cpu-feedstock > "Add ROCm variant?":
https://github.com/conda-forge/pytorch-cpu-feedstock/issues/198 https://github.com/conda-forge/pytorch-cpu-feedstock/issues/...
And Fedora supports OCI containers as host images and also podman container images with just systemd to respawn one or a pod of containers.
- Cu3PO42 3y agoI actually used the rocm/pytorch image you also linked. I'm not sure what you're pointing to with your reference to the Fedora-based images. I'm quite happy with my NixOS install and really don't want to switch to anything else. And as long as I have the correct kernel module, my host OS really shouldn't matter to run any of the images. And I'm sure it can be made to work with many base images, my point was just that the dependency management around pytorch was in a bad state, where it is extremely easy to break. > Anyways, hopefully this PR fixes the immediate issue: https://github.com/invoke-ai/InvokeAI/pull/5714/files https://github.com/invoke-ai/InvokeAI/pull/5714/files It does! At least for me. It is my PR after all ;)
- westurner 3y agoUnfortunately NixOS (and Debian and Ubuntu) lack SELinux policies or other LSM implementations by default out of the box, and container-selinux contains more than e.g. docker. Is there a way to 'restorecon --like / /nix/os/root72`; to apply SELonix extended filesystem attributes labels just to NixOS prefixes? Some research is done with RPM-based distros; which have become so advanced with rpm-ostree support. FWICS Bazzite has NixOS support, too; in addition to distrobox containers. Bazzite has alot of other stuff installed that's not necessary when attempting to isolate sources of variance in the interest of reproducible research; but being for gaming it has various optimizations. InvokeAI might be faster to install and to compute with with conda-forge builds.