1. 10 May, 2024 1 commit
    • Daniel Hiltgen's avatar
      Bump VRAM buffer back up · 30a7d709
      Daniel Hiltgen authored
      Under stress scenarios we're seeing OOMs so this should help stabilize
      the allocations under heavy concurrency stress.
      30a7d709
  2. 09 May, 2024 2 commits
    • 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
    • Daniel Hiltgen's avatar
      Record more GPU information · 8727a9c1
      Daniel Hiltgen authored
      This cleans up the logging for GPU discovery a bit, and can
      serve as a foundation to report GPU information in a future UX.
      8727a9c1
  3. 07 May, 2024 1 commit
  4. 06 May, 2024 1 commit
    • Daniel Hiltgen's avatar
      Use our libraries first · 380378cc
      Daniel Hiltgen authored
      Trying to live off the land for cuda libraries was not the right strategy.  We need to use the version we compiled against to ensure things work properly
      380378cc
  5. 05 May, 2024 1 commit
    • Daniel Hiltgen's avatar
      Centralize server config handling · f56aa200
      Daniel Hiltgen authored
      This moves all the env var reading into one central module
      and logs the loaded config once at startup which should
      help in troubleshooting user server logs
      f56aa200
  6. 03 May, 2024 1 commit
  7. 01 May, 2024 3 commits
  8. 29 Apr, 2024 1 commit
  9. 26 Apr, 2024 1 commit
  10. 24 Apr, 2024 1 commit
  11. 23 Apr, 2024 2 commits
    • Daniel Hiltgen's avatar
      Move nested payloads to installer and zip file on windows · 058f6cd2
      Daniel Hiltgen authored
      Now that the llm runner is an executable and not just a dll, more users are facing
      problems with security policy configurations on windows that prevent users
      writing to directories and then executing binaries from the same location.
      This change removes payloads from the main executable on windows and shifts them
      over to be packaged in the installer and discovered based on the executables location.
      This also adds a new zip file for people who want to "roll their own" installation model.
      058f6cd2
    • Daniel Hiltgen's avatar
      Request and model concurrency · 34b9db5a
      Daniel Hiltgen authored
      This change adds support for multiple concurrent requests, as well as
      loading multiple models by spawning multiple runners. The default
      settings are currently set at 1 concurrent request per model and only 1
      loaded model at a time, but these can be adjusted by setting
      OLLAMA_NUM_PARALLEL and OLLAMA_MAX_LOADED_MODELS.
      34b9db5a
  12. 16 Apr, 2024 2 commits
  13. 10 Apr, 2024 1 commit
  14. 01 Apr, 2024 6 commits
  15. 28 Mar, 2024 1 commit
  16. 25 Mar, 2024 1 commit
  17. 20 Mar, 2024 1 commit
    • Daniel Hiltgen's avatar
      Better tmpdir cleanup · 74788b48
      Daniel Hiltgen authored
      If expanding the runners fails, don't leave a corrupt/incomplete payloads dir
      We now write a pid file out to the tmpdir, which allows us to scan for stale tmpdirs
      and remove this as long as there isn't still a process running.
      74788b48
  18. 12 Mar, 2024 2 commits
  19. 11 Mar, 2024 1 commit
  20. 10 Mar, 2024 1 commit
    • Daniel Hiltgen's avatar
      Add ollama executable peer dir for rocm · 00ec2693
      Daniel Hiltgen authored
      This allows people who package up ollama on their own to place
      the rocm dependencies in a peer directory to the ollama executable
      much like our windows install flow.
      00ec2693
  21. 09 Mar, 2024 2 commits
    • Jeffrey Morgan's avatar
      tidy cleanup logs · 0bd0f4a2
      Jeffrey Morgan authored
      0bd0f4a2
    • Daniel Hiltgen's avatar
      Finish unwinding idempotent payload logic · 4a5c9b80
      Daniel Hiltgen authored
      The recent ROCm change partially removed idempotent
      payloads, but the ggml-metal.metal file for mac was still
      idempotent.  This finishes switching to always extract
      the payloads, and now that idempotentcy is gone, the
      version directory is no longer useful.
      4a5c9b80
  22. 07 Mar, 2024 2 commits
    • Daniel Hiltgen's avatar
      Revamp ROCm support · 6c5ccb11
      Daniel Hiltgen authored
      This refines where we extract the LLM libraries to by adding a new
      OLLAMA_HOME env var, that defaults to `~/.ollama` The logic was already
      idempotenent, so this should speed up startups after the first time a
      new release is deployed.  It also cleans up after itself.
      
      We now build only a single ROCm version (latest major) on both windows
      and linux.  Given the large size of ROCms tensor files, we split the
      dependency out.  It's bundled into the installer on windows, and a
      separate download on windows.  The linux install script is now smart and
      detects the presence of AMD GPUs and looks to see if rocm v6 is already
      present, and if not, then downloads our dependency tar file.
      
      For Linux discovery, we now use sysfs and check each GPU against what
      ROCm supports so we can degrade to CPU gracefully instead of having
      llama.cpp+rocm assert/crash on us.  For Windows, we now use go's windows
      dynamic library loading logic to access the amdhip64.dll APIs to query
      the GPU information.
      6c5ccb11
    • Daniel Hiltgen's avatar
      Allow setting max vram for workarounds · be330174
      Daniel Hiltgen authored
      Until we get all the memory calculations correct, this can provide
      and escape valve for users to workaround out of memory crashes.
      be330174
  23. 29 Feb, 2024 1 commit
  24. 25 Feb, 2024 1 commit
  25. 17 Feb, 2024 1 commit
  26. 12 Feb, 2024 1 commit
  27. 28 Jan, 2024 1 commit