Repository navigation
Conversation
Reuploading without changes due to rebase
|
Did you try to build the Image ? When I tried using my own |
|
@Niko1221 PR has been updated addressing your requested changes. Header updated; docker-entrypoint.sh to add backend arg. Docker run logsdocker run --rm --device=/dev/kfd --device=/dev/dri --group-add video -p 8080:8080 --ulimit memlock=-1 -v strata-data:/data -e MODEL=IQ2_XS strata Setting up iq2_xs: downloading the model (~70 GB; the engine is already in the image). Strata - Qwen3.8-Flash-Next on a normal PC (a GPU + system RAM + CPU)=== Step 1: checking your PC === === Step 2: your choices ===
EXPERIMENTAL - speed projection: a small control vector applied while the model runs (layers 4-44). === Step 3: Python packages ===
=== Step 4: the Strata engine === === Step 5: downloading Qwen3.8-Flash-Next IQ2_XS === === Step 6: preparing the model for Strata ===
MTP block in the BF16 checkpoint31 tensors, 5.214 GB, in 28 shards.
mtp.fc_embedding.weight 100%
=== Step 7: writing the start script === All set. Starting qwen3.8-flash-next-iq2_xs: it loads about 39 GB into RAM and locks part of it for the GPU.
|
|
@luckylinux I don't have a gfx1030 GPU handy for testing at the moment but as far as the Docker image goes, I was able to build targeting gfx1030 without any hiccups. |
|
@jintakhan: Uhm OK I fixed my So I guess one of the |
|
@luckylinux You have more than double the compile steps compared to this Dockerfile build. If you are building against your own Dockerfile I cannot help because I don't know how you structured yours. Please try the build instructions in this PR's Dockerfile instead. Thanks |
|
Also good news: ROCm 10.1.0 build verified. Keeps the same rocBLASLt version as 10.0.0, so the base image is a drop-in replacement. |
|
Well I did what I could based on the Informations that were available Yesterday. Then I opened my Issue (this PR or Issue was not present yet).
Double the lines is a bit misleading:
I don't get why a multi stage Build (build Image -> transfer compiled Binaries into the target Image) is not the default. |
|
@luckylinux This PR's scope is strictly the commits I am trying to get merged. If you want feedback/help on your multi-stage build Dockerfile, please open a competing PR, because this is not the right place for it. Regarding structure, I deliberately kept the Dockerfile as analogous as possible to the preexisting CUDA one to respect the original design and standardize it for easier maintenance across different backends because I reckon we'll eventually end up with one Dockerfile for each backend. |
|
Fair enough. As I said, I already opened an Issue about it. I won't be opening a PR until and unless we figure out a Way to make it work. |
|
Hi, guys, check this one #1486 you may be interested in (tested on gfx1201 and gfx1031) |
|
Oh no, yet another PR that seems to do the same and doesn't really reply to the Question 🙄. I think it's more important to understand the Method that is used, since that is clearly needed (stock ROCM does NOT work) for the AMD Radeon Instinct Mi50 which I also own (which I only managed to get working with |
okay, let's assume, that there is yet another the same PR.... Other than that:
|
|
|
@dambaev Our approaches are similar. I do think it's better to use the ROCm base image instead of rely on setup.py to install the libraries, since that gives the user the choice of which base image to use, otherwise it will be pinned to whatever version setup.py downloads. |
is there any particular reason why you choosed 7.2 instead of, for example 7.14.1? as far as I understand, It seems, that there is a use case for both options: one can prefer to build per-arch, other can prefer to base of rocm/ (but I there are more recent versions available to stick to, imho). |
At the time I started working on this, Strata had more tuning tables for 7.2.4 than any other ROCm version so that’s what I pinned it to. As far as the build process goes, base images are drop-in replacements up to 10.1.0, you just need to make your own tuning table if the repo lacks a prebuilt one. |
|
Just add an The one can also use https://github.com/mixa3607/ML-gfx906 Image for AMD Radeon Mi50 most likely as a sane base (AMD Radeon Instinct Mi50 doesn't work with stock ROCM). |
Implemented, easy add, thanks. I want to keep this PR focused on ROCm/HIP, but we should make this change in the CUDA dockerfile too. |
I appreciate that, thanks 👍. Sorry if I sounded rude, I just had been battling with this almost the entire Day yesterday and seeing like 3 (or potentially more soon ?) people reinventing the Wheel (including me, you can argue of course) within 24h is just ... kind of a Waste of Time 😕. If you (as you just did with I don't have a big Stake in the Game anyway. I didn't read or contribute to all the low-level Features of the Code Base, I just wanted to try to get it working on my System as a Docker Image with AMD Radeon Pro V620 and (on another System) AMD Radeon Instinct Mi50. I think the Documentation needs to be improved as well (speaking from a User perspective). As a Sidenote and to better troubleshoot IMHO (because that is the issue I was facing with writing the Metadata But OK, I realize that last Point might be going a bit off a Tangent 😆. |
|
No worries. The Dockerfile already has the build arg HIP_ARCHITECTURES for targeting different architectures. As for MI50/gfx906, official TheRock documentation says it still has official ROCm support and should work with stock ROCm. There's no prebuilt image with gfx906 support, but AMD still builds nightly packages for it in their ROCm nightly repo. As there is no prebuilt image, you need to make your own. This is pretty easy. Just pull the base Ubuntu image, install the ROCm toolkit inside it (make sure to use the unsigned nightly repo instead of the signed stable repo) and build it as an image. Then that image can be used as the base image for this Dockerfile via BASE_IMAGE. This is the method I use when targeting gfx90c. |
|
I don't think that's the Case for the Mi50. For |
|
Hope #1594 gets addressed in time for this PR. |
|
Hi @Niko1221 sorry to ping again, just want to make sure this stays on your radar. Thanks! |
|
thank you for those files - tested yesterday on my homelab with an AMD 7800 XT (gfx1101) and it worked flawlessly. |
|
This PR is still current as of v0.1.44.1. |
|
Yeah, my Issue just got closed saying that 0.1.44 introduced many changes (except those that I wanted and needed and it didn't answer the Question 🙄). |
|
The |
|
@qiuzan2001 thanks for the catch. It is indeed a repo sync slip; those flags were most likely added after the original PR was made several weeks ago. I will make the fix when I’m back at a computer. |
|
Thanks again @qiuzan2001 docker_entrypoint.sh merge slip has been addressed. |
|
@Niko1221 is there any chance you can have a look at this one? Having a common image that everyone on the AMD world can use right away without the need to compile Strata everytime under Linux would be a game changer. |
|
Thanks for the pull request. We're resetting the tracker for 0.2.0-beta. There are more than 1,300 open issues and pull requests, too many for us to review properly, so we're closing everything that isn't being worked on right now. Closed here does not mean rejected. To reopen it takes about two minutes:
The rules are in CONTRIBUTING.md. |
Reopening #768 after upstream's force push.
Dockerfile for building ROCm-based Docker images.
ROCm version pinned to 7.2.4 for compatibility; 7.14.1 and 10.0.0 also verified.