1. 28 Apr, 2024 1 commit
    • Daniel Hiltgen's avatar
      Fix concurrency for CPU mode · d6e3b645
      Daniel Hiltgen authored
      Prior refactoring passes accidentally removed the logic to bypass VRAM
      checks for CPU loads.  This adds that back, along with test coverage.
      
      This also fixes loaded map access in the unit test to be behind the mutex which was
      likely the cause of various flakes in the tests.
      d6e3b645
  2. 26 Apr, 2024 2 commits
  3. 25 Apr, 2024 2 commits
  4. 24 Apr, 2024 4 commits
  5. 23 Apr, 2024 2 commits
    • Daniel Hiltgen's avatar
      Harden sched TestLoad · d8851cb7
      Daniel Hiltgen authored
      Give the go routine a moment to deliver the expired event
      d8851cb7
    • 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
  6. 21 Apr, 2024 1 commit
  7. 15 Apr, 2024 2 commits
  8. 10 Apr, 2024 1 commit
  9. 08 Apr, 2024 2 commits
  10. 02 Apr, 2024 1 commit
  11. 01 Apr, 2024 4 commits
  12. 29 Mar, 2024 1 commit
  13. 27 Mar, 2024 1 commit
  14. 26 Mar, 2024 1 commit
  15. 23 Mar, 2024 1 commit
  16. 15 Mar, 2024 1 commit
  17. 13 Mar, 2024 1 commit
  18. 09 Mar, 2024 5 commits
  19. 08 Mar, 2024 3 commits
  20. 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
    • Patrick Devine's avatar
      2c017ca4
  21. 01 Mar, 2024 1 commit
  22. 29 Feb, 2024 1 commit