1. 29 Jan, 2025 1 commit
    • Michael Yang's avatar
      next build (#8539) · dcfb7a10
      Michael Yang authored
      
      
      * add build to .dockerignore
      
      * test: only build one arch
      
      * add build to .gitignore
      
      * fix ccache path
      
      * filter amdgpu targets
      
      * only filter if autodetecting
      
      * Don't clobber gpu list for default runner
      
      This ensures the GPU specific environment variables are set properly
      
      * explicitly set CXX compiler for HIP
      
      * Update build_windows.ps1
      
      This isn't complete, but is close.  Dependencies are missing, and it only builds the "default" preset.
      
      * build: add ollama subdir
      
      * add .git to .dockerignore
      
      * docs: update development.md
      
      * update build_darwin.sh
      
      * remove unused scripts
      
      * llm: add cwd and build/lib/ollama to library paths
      
      * default DYLD_LIBRARY_PATH to LD_LIBRARY_PATH in runner on macOS
      
      * add additional cmake output vars for msvc
      
      * interim edits to make server detection logic work with dll directories like lib/ollama/cuda_v12
      
      * remove unncessary filepath.Dir, cleanup
      
      * add hardware-specific directory to path
      
      * use absolute server path
      
      * build: linux arm
      
      * cmake install targets
      
      * remove unused files
      
      * ml: visit each library path once
      
      * build: skip cpu variants on arm
      
      * build: install cpu targets
      
      * build: fix workflow
      
      * shorter names
      
      * fix rocblas install
      
      * docs: clean up development.md
      
      * consistent build dir removal in development.md
      
      * silence -Wimplicit-function-declaration build warnings in ggml-cpu
      
      * update readme
      
      * update development readme
      
      * llm: update library lookup logic now that there is one runner (#8587)
      
      * tweak development.md
      
      * update docs
      
      * add windows cuda/rocm tests
      
      ---------
      Co-authored-by: default avatarjmorganca <jmorganca@gmail.com>
      Co-authored-by: default avatarDaniel Hiltgen <daniel@ollama.com>
      dcfb7a10
  2. 23 Jan, 2025 1 commit
  3. 21 Jan, 2025 1 commit
  4. 20 Jan, 2025 1 commit
  5. 15 Jan, 2025 1 commit
  6. 14 Jan, 2025 1 commit
  7. 13 Jan, 2025 1 commit
  8. 29 Dec, 2024 1 commit
  9. 27 Dec, 2024 1 commit
  10. 20 Dec, 2024 1 commit
  11. 13 Dec, 2024 1 commit
  12. 11 Dec, 2024 1 commit
  13. 10 Dec, 2024 3 commits
    • Stefan Weil's avatar
    • Daniel Hiltgen's avatar
      build: fix typo in override variable (#8031) · 82a02e18
      Daniel Hiltgen authored
      The "F" was missing.
      82a02e18
    • Daniel Hiltgen's avatar
      build: Make target improvements (#7499) · 4879a234
      Daniel Hiltgen authored
      * llama: wire up builtin runner
      
      This adds a new entrypoint into the ollama CLI to run the cgo built runner.
      On Mac arm64, this will have GPU support, but on all other platforms it will
      be the lowest common denominator CPU build.  After we fully transition
      to the new Go runners more tech-debt can be removed and we can stop building
      the "default" runner via make and rely on the builtin always.
      
      * build: Make target improvements
      
      Add a few new targets and help for building locally.
      This also adjusts the runner lookup to favor local builds, then
      runners relative to the executable, and finally payloads.
      
      * Support customized CPU flags for runners
      
      This implements a simplified custom CPU flags pattern for the runners.
      When built without overrides, the runner name contains the vector flag
      we check for (AVX) to ensure we don't try to run on unsupported systems
      and crash.  If the user builds a customized set, we omit the naming
      scheme and don't check for compatibility.  This avoids checking
      requirements at runtime, so that logic has been removed as well.  This
      can be used to build GPU runners with no vector flags, or CPU/GPU
      runners with additional flags (e.g. AVX512) enabled.
      
      * Use relative paths
      
      If the user checks out the repo in a path that contains spaces, make gets
      really confused so use relative paths for everything in-repo to avoid breakage.
      
      * Remove payloads from main binary
      
      * install: clean up prior libraries
      
      This removes support for v0.3.6 and older versions (before the tar bundle)
      and ensures we clean up prior libraries before extracting the bundle(s).
      Without this change, runners and dependent libraries could leak when we
      update and lead to subtle runtime errors.
      4879a234
  14. 08 Dec, 2024 2 commits
  15. 06 Dec, 2024 1 commit
  16. 03 Dec, 2024 2 commits
  17. 02 Dec, 2024 1 commit
  18. 30 Nov, 2024 1 commit
  19. 21 Nov, 2024 2 commits
  20. 20 Nov, 2024 1 commit
  21. 19 Nov, 2024 1 commit
  22. 17 Nov, 2024 1 commit
  23. 15 Nov, 2024 1 commit
  24. 12 Nov, 2024 2 commits
  25. 11 Nov, 2024 1 commit
  26. 08 Nov, 2024 1 commit
  27. 06 Nov, 2024 2 commits
  28. 30 Oct, 2024 4 commits
    • Daniel Hiltgen's avatar
      Soften windows clang requirement (#7428) · 712e99d4
      Daniel Hiltgen authored
      This will no longer error if built with regular gcc on windows.  To help
      triage issues that may come in related to different compilers, the runner now
      reports the compier used by cgo.
      712e99d4
    • Daniel Hiltgen's avatar
      Remove submodule and shift to Go server - 0.4.0 (#7157) · b754f5a6
      Daniel Hiltgen authored
      * Remove llama.cpp submodule and shift new build to top
      
      * CI: install msys and clang gcc on win
      
      Needed for deepseek to work properly on windows
      b754f5a6
    • Daniel Hiltgen's avatar
      Move windows app out of preview (#7347) · a805e594
      Daniel Hiltgen authored
      a805e594
    • Daniel Hiltgen's avatar
      windows: Support alt install paths, fit and finish (#6967) · 91dfbb1b
      Daniel Hiltgen authored
      * windows: Support alt install paths
      
      Advanced users are leveraging innosetup's /DIR switch to target
      an alternate location, but we get confused by things not existing in the LocalAppData dir.
      This also hardens the server path lookup code for a future attempt to unify with a ./bin prefix
      
      * Fit and finish improvements for windows app
      
      Document alternate install location instructions for binaries and model.
      Pop up progress UI for upgrades (automatic, with cancel button).
      Expose non-default port in menu to disambiguate mutiple instances.
      Set minimum Windows version to 10 22H2
      91dfbb1b
  29. 29 Oct, 2024 1 commit
    • Daniel Hiltgen's avatar
      Switch windows to clang (#7407) · c9ca3861
      Daniel Hiltgen authored
      * Switch over to clang for deepseek on windows
      
      The patch for deepseek requires clang on windows. gcc on windows
      has a buggy c++ library and can't handle the unicode characters
      
      * Fail fast with wrong compiler on windows
      
      Avoid users mistakenly building with GCC when we need clang
      c9ca3861
  30. 26 Oct, 2024 1 commit
    • Daniel Hiltgen's avatar
      Better support for AMD multi-GPU on linux (#7212) · d7c94e0c
      Daniel Hiltgen authored
      * Better support for AMD multi-GPU
      
      This resolves a number of problems related to AMD multi-GPU setups on linux.
      
      The numeric IDs used by rocm are not the same as the numeric IDs exposed in
      sysfs although the ordering is consistent.  We have to count up from the first
      valid gfx (major/minor/patch with non-zero values) we find starting at zero.
      
      There are 3 different env vars for selecting GPUs, and only ROCR_VISIBLE_DEVICES
      supports UUID based identification, so we should favor that one, and try
      to use UUIDs if detected to avoid potential ordering bugs with numeric IDs
      
      * ROCR_VISIBLE_DEVICES only works on linux
      
      Use the numeric ID only HIP_VISIBLE_DEVICES on windows
      d7c94e0c