[linux] saturate disk (3-10gb/s depending on hardware), become compute bound.#259
Merged
Conversation
Signed-off-by: Robert Landers <landers.robert@gmail.com>
Signed-off-by: Robert Landers <landers.robert@gmail.com>
Signed-off-by: Robert Landers <landers.robert@gmail.com>
# Conflicts: # README.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
GitHub ate my pull request
... so I lost the benchmarks, and I don't have time to run the full gauntlet again.
With this PR, I bring over our commercial fork's disk loader from Swytch, and provide disk saturation through io_uring, Linux only. Tok/s becomes nearly 100% independent of cache size, and will saturate your entire disk and CPU cores. Combined with the better eviction algorithm of #223, I see ~0.4-0.6 tok/s with 12 cores. I tested it on a 60-core machine (Digital Ocean droplet) and saw ~1.5-2.2 tok/s.
Here's a quick run with chat that I still had in my scrollback (60 core machine):
And the 12 core machine:
And it ran a blog post in 10 minutes... https://gist.github.com/withinboredom/a1b6bd2a7e54206a8ff8d7a393eaf74e
Validation
make -C c checkmake -C c cuda-test(if applicable)Compatibility