rocm support for rx6600 and add ollama local ai

This commit is contained in:
Buliway 2025-01-28 16:24:21 +03:00
parent b21ea374b1
commit 2a1980ce66
4 changed files with 41 additions and 5 deletions

6
flake.lock generated
View file

@ -263,11 +263,11 @@
},
"nixpkgs2": {
"locked": {
"lastModified": 1736344531,
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
"lastModified": 1737885589,
"narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
"rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8",
"type": "github"
},
"original": {

View file

@ -33,6 +33,7 @@
# pkgs = nixpkgs.legacyPackages.${system};
config = {
allowUnfree = true;
rocmSupport = true;
permittedInsecurePackages = [
"python-2.7.18.8"
"electron-25.9.0"

View file

@ -4,7 +4,7 @@
{ pkgs, ... }: {
hardware = { # Параметры для 24.05 и unstable могут сильно отличаться
amdgpu = {
opencl.enable = true; # # Enable OpenCL support using ROCM runtime library.
opencl.enable = true; # Enable OpenCL support using ROCM runtime library.
# amdvlk = { # Гавно лаганое, лучше radv юзать (radeon vulkan)
# enable = true; # Enable AMDVLK Vulkan driver.
# support32Bit.enable = true; # Enable 32-bit driver support.
@ -18,6 +18,7 @@
enable32Bit = true; # install 32-bit drivers for 32-bit applications (such as Wine).
extraPackages = with pkgs; [
libva # VAAPI (Video Acceleration API)
rocmPackages.clr.icd # OpenCL
];
};
@ -46,9 +47,20 @@
# HIP
# Most software has the HIP libraries hard-coded. You can work around it on NixOS by using:
# systemd.tmpfiles.rules = [
# systemd.tmpfiles.rules = [ # Legacy
# "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
# ];
systemd.tmpfiles.rules = let
rocmEnv = pkgs.symlinkJoin {
name = "rocm-combined";
paths = with pkgs.rocmPackages; [
rocblas
hipblas
clr
];
}; in [
"L+ /opt/rocm - - - - ${rocmEnv}"
];
boot.initrd.kernelModules = [ "amdgpu" ]; # Мб не обязательно

View file

@ -46,6 +46,24 @@
# greenclip.enable = true; # https://github.com/erebe/greenclip (использую clipmenu вместо этого)
# fstrim.enable = true; # Чистит ssd для норм производительности. Пока не пользуюсь
# archisteamfarm = {}; # Фарм карточек стима афк. Простро раскомментить мало, надо настроить
ollama = {
enable = true;
acceleration = "rocm";
# Ollama Port 11434/tcp
host = "0.0.0.0";
port = 11434;
openFirewall = true;
# pin ollama v0.5.7 until nixpkgs update
# https://github.com/NixOS/nixpkgs/issues/375359
# package = (pinPackage {
# name = "ollama";
# commit = "d0169965cf1ce1cd68e50a63eabff7c8b8959743";
# sha256 = "sha256:1hh0p0p42yqrm69kqlxwzx30m7i7xqw9m8f224i3bm6wsj4dxm05";
# });
rocmOverrideGfx = "10.3.0";
# additional environment variables
# environmentVariables = { HSA_OVERRIDE_GFX_VERSION="10.3.0"; };
};
};
programs = {
@ -231,9 +249,14 @@
# zscroll # A text scroller for use with panels and shells https://github.com/noctuid/zscroll
tokei # Количество строк кода на разных языках в каталоге
pass # Менеджер паролей в терминале
nvtop # Htop like gpu monitor
amdgpu_top # Tool to display AMD GPU usage
btop # Монитор ресурсов в терминале
rocmPackages.rocm-smi # Чтоб в btop было gpu (не работает)
# rocmPackages_5.rocm-smi # Старая версия пакета выше. Хз какой надо
rocmPackages.rocblas # Для работы hip?
rocmPackages.hipblas # Для работы hip?
rocmPackages.clr # Для работы hip?
pkgs2.yt-dlp # Скачивать и смотреть медиа с разных сайтов
tasktimer # TUI task timer. Можно несколько таймеров с описанием запустить. В терминал tt
timer # A "sleep" with progress. Таймер на пельмени "timer 5m"