• 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
troubleshooting.md 3.75 KB