mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-13 05:24:43 +02:00
feat: initial commit — Ansible roles storage-01/gpu-01 opérationnels
This commit is contained in:
commit
b3fce8af5d
70 changed files with 2688 additions and 0 deletions
79
ansible/roles/llama_server/tasks/main.yml
Normal file
79
ansible/roles/llama_server/tasks/main.yml
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
---
|
||||
- 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue