1. 06 Nov, 2024 1 commit
    • Jesse Gross's avatar
      sched: Lift parallel restriction for multimodal models except mllama · 6cd56687
      Jesse Gross authored
      The Go runner does not have a problem with supporting parallel
      requests for most multimodal models. Now that we won't be potentially
      falling back to server.cpp, this restriction can be lifted.
      
      However, the new mllama model can't support parallel requests, so we
      will need to keep a restriction for that.
      6cd56687
  2. 17 Oct, 2024 1 commit
  3. 11 Sep, 2024 1 commit
  4. 22 Aug, 2024 1 commit
    • Daniel Hiltgen's avatar
      Fix embeddings memory corruption (#6467) · 90ca8417
      Daniel Hiltgen authored
      * Fix embeddings memory corruption
      
      The patch was leading to a buffer overrun corruption.  Once removed though, parallism
      in server.cpp lead to hitting an assert due to slot/seq IDs being >= token count.  To
      work around this, only use slot 0 for embeddings.
      
      * Fix embed integration test assumption
      
      The token eval count has changed with recent llama.cpp bumps (0.3.5+)
      90ca8417
  5. 18 Aug, 2024 2 commits
  6. 17 Aug, 2024 1 commit
  7. 13 Aug, 2024 1 commit
    • Michael Yang's avatar
      lint · 2697d7f5
      Michael Yang authored
      - fixes printf: non-constant format string in call to fmt.Printf
      - fixes SA1032: arguments have the wrong order
      - disables testifylint
      2697d7f5
  8. 02 Aug, 2024 1 commit
  9. 30 Jul, 2024 1 commit
    • Daniel Hiltgen's avatar
      Prevent partial loading on mixed GPU brands · 34542099
      Daniel Hiltgen authored
      In mult-brand GPU setups, if we couldn't fully load the model we
      would fall through the scheduler and mistakenly try to load across
      a mix of brands.  This makes sure we find the set of GPU(s) that
      best fit for the partial load.
      34542099
  10. 22 Jul, 2024 4 commits
  11. 11 Jul, 2024 1 commit
  12. 09 Jul, 2024 1 commit
  13. 07 Jul, 2024 1 commit
  14. 03 Jul, 2024 2 commits
    • Daniel Hiltgen's avatar
      Only set default keep_alive on initial model load · 955f2a4e
      Daniel Hiltgen authored
      This change fixes the handling of keep_alive so that if client
      request omits the setting, we only set this on initial load.  Once
      the model is loaded, if new requests leave this unset, we'll keep
      whatever keep_alive was there.
      955f2a4e
    • Daniel Hiltgen's avatar
      Prevent loading models larger than total memory · 3c75113e
      Daniel Hiltgen authored
      Users may not realize the siny new model they're trying to load
      fits on their disk, but can't load into system+GPU memory.  Today
      we crash, but with this fix, we'll give them a better error message
      before even trying to load it.
      3c75113e
  15. 01 Jul, 2024 1 commit
  16. 25 Jun, 2024 1 commit
    • Blake Mizerany's avatar
      llm: speed up gguf decoding by a lot (#5246) · cb42e607
      Blake Mizerany authored
      Previously, some costly things were causing the loading of GGUF files
      and their metadata and tensor information to be VERY slow:
      
        * Too many allocations when decoding strings
        * Hitting disk for each read of each key and value, resulting in a
          not-okay amount of syscalls/disk I/O.
      
      The show API is now down to 33ms from 800ms+ for llama3 on a macbook pro
      m3.
      
      This commit also prevents collecting large arrays of values when
      decoding GGUFs (if desired). When such keys are encountered, their
      values are null, and are encoded as such in JSON.
      
      Also, this fixes a broken test that was not encoding valid GGUF.
      cb42e607
  17. 21 Jun, 2024 2 commits
    • Daniel Hiltgen's avatar
      Disable concurrency for AMD + Windows · 9929751c
      Daniel Hiltgen authored
      Until ROCm v6.2 ships, we wont be able to get accurate free memory
      reporting on windows, which makes automatic concurrency too risky.
      Users can still opt-in but will need to pay attention to model sizes otherwise they may thrash/page VRAM or cause OOM crashes.
      All other platforms and GPUs have accurate VRAM reporting wired
      up now, so we can turn on concurrency by default.
      9929751c
    • Daniel Hiltgen's avatar
      Enable concurrency by default · 17b7186c
      Daniel Hiltgen authored
      This adjusts our default settings to enable multiple models and parallel
      requests to a single model.  Users can still override these by the same
      env var settings as before.  Parallel has a direct impact on
      num_ctx, which in turn can have a significant impact on small VRAM GPUs
      so this change also refines the algorithm so that when parallel is not
      explicitly set by the user, we try to find a reasonable default that fits
      the model on their GPU(s).  As before, multiple models will only load
      concurrently if they fully fit in VRAM.
      17b7186c
  18. 14 Jun, 2024 6 commits
  19. 04 Jun, 2024 3 commits
  20. 24 May, 2024 1 commit
  21. 21 May, 2024 1 commit
  22. 14 May, 2024 2 commits
  23. 10 May, 2024 2 commits
  24. 09 May, 2024 1 commit
    • Daniel Hiltgen's avatar
      Wait for GPU free memory reporting to converge · 354ad925
      Daniel Hiltgen authored
      The GPU drivers take a while to update their free memory reporting, so we need
      to wait until the values converge with what we're expecting before proceeding
      to start another runner in order to get an accurate picture.
      354ad925
  25. 06 May, 2024 1 commit