mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 04:34:41 +02:00
79 lines
2.1 KiB
YAML
79 lines
2.1 KiB
YAML
---
|
|
- name: Install build dependencies
|
|
ansible.builtin.dnf:
|
|
name:
|
|
- cmake
|
|
- gcc-c++
|
|
- git
|
|
- patchelf
|
|
- hipblas-devel
|
|
- rocblas-devel
|
|
- hip-devel
|
|
- hipcc
|
|
state: present
|
|
|
|
- name: Clone llama.cpp
|
|
ansible.builtin.git:
|
|
repo: https://github.com/ggerganov/llama.cpp
|
|
dest: /opt/llama.cpp
|
|
depth: 1
|
|
version: "{{ llama_server_commit | default('HEAD') }}"
|
|
register: llama_clone
|
|
|
|
- name: Check if llama-server binary exists
|
|
ansible.builtin.stat:
|
|
path: /opt/llama.cpp/build/bin/llama-server
|
|
register: llama_server_binary_stat
|
|
|
|
- name: Configure cmake build (ROCm HIP)
|
|
ansible.builtin.command:
|
|
cmd: >
|
|
cmake -B build
|
|
-DGGML_HIP=ON
|
|
-DAMDGPU_TARGETS={{ llama_amdgpu_targets }}
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
-DROCM_PATH={{ rocm_path }}
|
|
-DCMAKE_PREFIX_PATH={{ rocm_path }}
|
|
-DCMAKE_HIP_COMPILER={{ rocm_path }}/llvm/bin/clang++
|
|
chdir: /opt/llama.cpp
|
|
environment:
|
|
PATH: "{{ rocm_path }}/bin:{{ ansible_env.PATH }}"
|
|
when: llama_clone is changed or not llama_server_binary_stat.stat.exists
|
|
|
|
- name: Build llama-server
|
|
ansible.builtin.command:
|
|
cmd: cmake --build build --target llama-server -j{{ ansible_processor_nproc }}
|
|
chdir: /opt/llama.cpp
|
|
environment:
|
|
PATH: "{{ rocm_path }}/bin:{{ ansible_env.PATH }}"
|
|
when: llama_clone is changed or not llama_server_binary_stat.stat.exists
|
|
|
|
- name: Deploy systemd service
|
|
ansible.builtin.template:
|
|
src: llama-server.service.j2
|
|
dest: /etc/systemd/system/llama-server.service
|
|
mode: '0644'
|
|
notify:
|
|
- Reload systemd
|
|
- Restart llama-server
|
|
|
|
- name: Enable llama-server service
|
|
ansible.builtin.systemd:
|
|
name: llama-server
|
|
enabled: true
|
|
daemon_reload: true
|
|
state: started
|
|
|
|
- name: Open port in firewall
|
|
ansible.posix.firewalld:
|
|
port: "{{ llama_server_port }}/tcp"
|
|
permanent: true
|
|
state: enabled
|
|
immediate: true
|
|
|
|
- name: Disable lm-studio service (replaced by llama-server)
|
|
ansible.builtin.systemd:
|
|
name: lm-studio
|
|
enabled: false
|
|
state: stopped
|
|
ignore_errors: true
|