Implement progress bar and multi-connection downloads#16196
Implement progress bar and multi-connection downloads#16196ericcurtin wants to merge 1 commit intoggml-org:masterfrom
Conversation
For llama-server pulling Signed-off-by: Eric Curtin <eric.curtin@docker.com>
|
FYI if you want a smoother/more compact progress bar you can use fractional blocks. Example implementation for training: llama.cpp/ggml/src/ggml-opt.cpp Lines 935 to 958 in 0889589 |
|
@JohannesGaessler was thinking docker-style because of portability, do you know if this works on Windows? |
|
Hey :) I'm currently in the middle of a larger rework of this exact section, with the goal of removing the cURL dependency completely. You can see the work in progress here: #16185 And also made a very simple progressbar 😆 To avoid us getting tangled in merge conflicts, how about we get my refactor merged first to create a clean base, and then we can circle back to integrate the improvements from your patch? Let me know what you think |
|
Let me know when the PR is ready for review, would like to test and review. |
|
I'll take time to review in the next few days. It's quite important as multi-thread downloading can significantly improve download speed. In the meantime, @ericcurtin could you confirm if the user-reported bugs from original PR are resolved? I'm also thinking of a method to test this, maybe extend server test and hide this new test behind a flag, so it doesn't run automatically on CI. |
|
I think for simplification we can adopt this style: It's just plain ASCII so should be ok on all systems. Other style can be implemented in another PR. |
Yeah, I kinda abandoned this for now until @angt was happy. Yeah, it can improve performance quite a bit I think @xenoscopic saw like a 25% performance increase with similar code for DockerHub. A lot of people see zero improvement also, but I guess it depends on your networking setup, you can simply be throttled by bandwidth. I'm my apartment I see zero improvement.
I think I caught everything except for maybe, the file closing one before rename, don't remember addressing that one.
Sounds like a great idea. Or just use llama-pull to test pull in an isolated way. |
For llama-server pulling