commit:     57ca57a8fa2f24b2fc805133ba1622a3769425ac
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Sun May 11 16:36:49 2025 +0000
Commit:     Julien Roy <julien <AT> jroy <DOT> ca>
CommitDate: Sun May 11 16:36:49 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=57ca57a8

sci-ml/ollama: add 0.6.8

Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>

 profiles/desc/cpu_flags_x86.desc                   |  1 +
 sci-ml/ollama/Manifest                             |  2 +
 .../{ollama-9999.ebuild => ollama-0.6.8.ebuild}    | 68 ++++++++++++++--------
 sci-ml/ollama/ollama-9999.ebuild                   | 68 ++++++++++++++--------
 4 files changed, 91 insertions(+), 48 deletions(-)

diff --git a/profiles/desc/cpu_flags_x86.desc b/profiles/desc/cpu_flags_x86.desc
index 5733ef8ff7..3b18d4e94e 100644
--- a/profiles/desc/cpu_flags_x86.desc
+++ b/profiles/desc/cpu_flags_x86.desc
@@ -9,3 +9,4 @@ amx_bf16 - Use Advanced Matrix Extensions BFloat16 instruction 
set
 amx_tile - Use Advanced Matrix Extensions Tile Matrix Multiply Instruction set
 amx_int8 - Use Advanced Matrix Extensions INT8 instruction set
 avx_vnni - Use VEX-coded vector neural network instructions for 8- and 16-bit 
multiply-add operations
+bmi2 - Use Bit Manipulation Instruction Set 2

diff --git a/sci-ml/ollama/Manifest b/sci-ml/ollama/Manifest
index 4ab89af65a..ce70cff478 100644
--- a/sci-ml/ollama/Manifest
+++ b/sci-ml/ollama/Manifest
@@ -2,3 +2,5 @@ DIST ollama-0.6.5-vendor.tar.xz 4416776 BLAKE2B 
be4ad1df96e17d94d5bd8464113d9551
 DIST ollama-0.6.5.gh.tar.gz 7964755 BLAKE2B 
af059b433e28766988f7a4097fd2774d17331282ea670c588d69d69865b73f5460d0c9d271154228bb1e3488ccbe7fe785ed637acb88fb51f1efb5efed905ac6
 SHA512 
dc97098b51f215ec5259aece5872fe213aa7b413344aab30b6417754e15f9ce27d2515dd9134edf620d70b8af88d3de5d305ea4020adb7d281b268d26b672adf
 DIST ollama-0.6.6-vendor.tar.xz 4411192 BLAKE2B 
49eb6a51eba9faed05a61cb4769d4696a936b8fec65be56c6b5e95b59c8cfbb2505e1e3a1a15baeed7eac4a2651f4965eb4a70ba7ba36ae8b18955d305e450aa
 SHA512 
319352dcb98195723800da3d5eb3bf12de521a7634a2a484d3d4b89f8e6661fff760bccef734a083f6b81bc837996f043fdbd2d7d1d9dcca5a069ede02f37592
 DIST ollama-0.6.6.gh.tar.gz 8290979 BLAKE2B 
3082cca4e9a9e690f792d8286888b4141fe7ada2b91a703503a0330f9da29a80bc29ac78b1308e5276868bd125f4fe68d644fba47ec930fe1373a850373f49d9
 SHA512 
83df0cd3c76d771d4486ecf9a6789287c309d4b99a0e1e2d2d895f4527592f219b06eb695d4cfc0b4f37446aa26883a407eecfd00ac043355e406ca919d7032b
+DIST ollama-0.6.8-vendor.tar.xz 4409824 BLAKE2B 
21c0ba500e39e1059b1375cdc3e1ea5f886005176c492a150ce546b318aa548d5d9768ab6b8afff0abe1d4cbeb84eab332641bd40943cc2fe30b9fd1a5101c92
 SHA512 
b1c2a6496daf657f6878ad51dc7e7ff6bbcd835f64ade0388cd5fdceb6bb642c0f479e11022c570beda3cfd5f082eac6cfad09a1652719ed675b8451c078547c
+DIST ollama-0.6.8.gh.tar.gz 8330813 BLAKE2B 
97bbf1d9c8b60a040c1965a5d5c808ca920cd64f83b440f14df85bbe1f668e5a185580aa521dc9b81aa1bef99402f80f286340037e0add81568646e0635ac0ce
 SHA512 
b38033b2ff85f11b1acd6d677221e61efc2f61c12919f65b002f8a2f4162fd735305ed7d10d0db97cef870a2eb8759e6ac5b97dbe3adb3abe5809577605b5874

diff --git a/sci-ml/ollama/ollama-9999.ebuild 
b/sci-ml/ollama/ollama-0.6.8.ebuild
similarity index 81%
copy from sci-ml/ollama/ollama-9999.ebuild
copy to sci-ml/ollama/ollama-0.6.8.ebuild
index fcfb09625a..81e1307e83 100644
--- a/sci-ml/ollama/ollama-9999.ebuild
+++ b/sci-ml/ollama/ollama-0.6.8.ebuild
@@ -27,22 +27,23 @@ LICENSE="MIT"
 SLOT="0"
 
 X86_CPU_FLAGS=(
+       sse4_2
        avx
        f16c
        avx2
+       bmi2
        fma3
        avx512f
        avx512vbmi
        avx512_vnni
-       avx512_bf16
        avx_vnni
-       amx_tile
-       amx_int8
 )
 CPU_FLAGS=( "${X86_CPU_FLAGS[@]/#/cpu_flags_x86_}" )
 IUSE="${CPU_FLAGS[*]} cuda blas mkl rocm"
 # IUSE+=" opencl vulkan"
 
+RESTRICT="test"
+
 COMMON_DEPEND="
        cuda? (
                dev-util/nvidia-cuda-toolkit:=
@@ -75,6 +76,24 @@ PATCHES=(
        "${FILESDIR}/${PN}-0.6.3-use-GNUInstallDirs.patch"
 )
 
+pkg_pretend() {
+       if use amd64; then
+               if use cpu_flags_x86_f16c && use cpu_flags_x86_avx2 && use 
cpu_flags_x86_fma3 && ! use cpu_flags_x86_bmi2; then
+                       ewarn
+                       ewarn "CPU_FLAGS_X86: bmi2 not enabled."
+                       ewarn "  Not building haswell runner."
+                       ewarn "  Not building skylakex runner."
+                       ewarn "  Not building icelake runner."
+                       ewarn "  Not building alderlake runner."
+                       ewarn
+                       if grep bmi2 /proc/cpuinfo > /dev/null; then
+                               ewarn "bmi2 found in /proc/cpuinfo"
+                               ewarn
+                       fi
+               fi
+       fi
+}
+
 src_unpack() {
        if [[ "${PV}" == *9999* ]]; then
                git-r3_src_unpack
@@ -111,63 +130,64 @@ src_prepare() {
                || die
 
        if use amd64; then
-               if ! use cpu_flags_x86_avx; then
+               if
+                       ! use cpu_flags_x86_sse4_2; then
+                       sed -e "/ggml_add_cpu_backend_variant(sse42/s/^/# /g" 
-i ml/backend/ggml/ggml/src/CMakeLists.txt || die
+                       # SSE42)
+               fi
+               if
+                       ! use cpu_flags_x86_sse4_2 ||
+                       ! use cpu_flags_x86_avx; then
                        sed -e "/ggml_add_cpu_backend_variant(sandybridge/s/^/# 
/g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die
-                       # AVX)
+                       # SSE42 AVX)
                fi
                if
+                       ! use cpu_flags_x86_sse4_2 ||
                        ! use cpu_flags_x86_avx ||
                        ! use cpu_flags_x86_f16c ||
                        ! use cpu_flags_x86_avx2 ||
+                       ! use cpu_flags_x86_bmi2 ||
                        ! use cpu_flags_x86_fma3; then
                        sed -e "/ggml_add_cpu_backend_variant(haswell/s/^/# /g" 
-i ml/backend/ggml/ggml/src/CMakeLists.txt || die
-                       # AVX F16C AVX2 FMA)
+                       # SSE42 AVX F16C AVX2 BMI2 FMA)
                fi
                if
+                       ! use cpu_flags_x86_sse4_2 ||
                        ! use cpu_flags_x86_avx ||
                        ! use cpu_flags_x86_f16c ||
                        ! use cpu_flags_x86_avx2 ||
+                       ! use cpu_flags_x86_bmi2 ||
                        ! use cpu_flags_x86_fma3 ||
                        ! use cpu_flags_x86_avx512f; then
                        sed -e "/ggml_add_cpu_backend_variant(skylakex/s/^/# 
/g" -i ml/backend/ggml/ggml/src/CMakeLists.txt ||  die
-                       # AVX F16C AVX2 FMA AVX512)
+                       # SSE42 AVX F16C AVX2 BMI2 FMA AVX512)
                fi
                if
+                       ! use cpu_flags_x86_sse4_2 ||
                        ! use cpu_flags_x86_avx ||
                        ! use cpu_flags_x86_f16c ||
                        ! use cpu_flags_x86_avx2 ||
+                       ! use cpu_flags_x86_bmi2 ||
                        ! use cpu_flags_x86_fma3 ||
                        ! use cpu_flags_x86_avx512f ||
                        ! use cpu_flags_x86_avx512vbmi ||
                        ! use cpu_flags_x86_avx512_vnni; then
                        sed -e "/ggml_add_cpu_backend_variant(icelake/s/^/# /g" 
-i ml/backend/ggml/ggml/src/CMakeLists.txt || die
-                       # AVX F16C AVX2 FMA AVX512 AVX512_VBMI AVX512_VNNI)
+                       # SSE42 AVX F16C AVX2 BMI2 FMA AVX512 AVX512_VBMI 
AVX512_VNNI)
                fi
                if
+                       ! use cpu_flags_x86_sse4_2 ||
                        ! use cpu_flags_x86_avx ||
                        ! use cpu_flags_x86_f16c ||
                        ! use cpu_flags_x86_avx2 ||
+                       ! use cpu_flags_x86_bmi2 ||
                        ! use cpu_flags_x86_fma3 ||
                        ! use cpu_flags_x86_avx_vnni; then
                        sed -e "/ggml_add_cpu_backend_variant(alderlake/s/^/# 
/g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die
-                       # AVX F16C AVX2 FMA AVX_VNNI)
+                       # SSE42 AVX F16C AVX2 BMI2 FMA AVX_VNNI)
                fi
 
-               if
-                       ! use cpu_flags_x86_avx ||
-                       ! use cpu_flags_x86_f16c ||
-                       ! use cpu_flags_x86_avx2 ||
-                       ! use cpu_flags_x86_fma3 ||
-                       ! use cpu_flags_x86_avx512f ||
-                       ! use cpu_flags_x86_avx512vbmi ||
-                       ! use cpu_flags_x86_avx512_vnni ||
-                       ! use cpu_flags_x86_avx512_bf16 ||
-                       ! use cpu_flags_x86_amx_tile ||
-                       ! use cpu_flags_x86_amx_int8 ; then
-                       sed -e 
"/ggml_add_cpu_backend_variant(sapphirerapids/s/^/# /g" -i 
ml/backend/ggml/ggml/src/CMakeLists.txt || die
-                       #AVX F16C AVX2 FMA AVX512 AVX512_VBMI AVX512_VNNI 
AVX512_BF16 AMX_TILE AMX_INT8)
-               fi
-               : # ml/backend/ggml/ggml/src/CMakeLists.txt
+               # ml/backend/ggml/ggml/src/CMakeLists.txt
        fi
 
        # default

diff --git a/sci-ml/ollama/ollama-9999.ebuild b/sci-ml/ollama/ollama-9999.ebuild
index fcfb09625a..81e1307e83 100644
--- a/sci-ml/ollama/ollama-9999.ebuild
+++ b/sci-ml/ollama/ollama-9999.ebuild
@@ -27,22 +27,23 @@ LICENSE="MIT"
 SLOT="0"
 
 X86_CPU_FLAGS=(
+       sse4_2
        avx
        f16c
        avx2
+       bmi2
        fma3
        avx512f
        avx512vbmi
        avx512_vnni
-       avx512_bf16
        avx_vnni
-       amx_tile
-       amx_int8
 )
 CPU_FLAGS=( "${X86_CPU_FLAGS[@]/#/cpu_flags_x86_}" )
 IUSE="${CPU_FLAGS[*]} cuda blas mkl rocm"
 # IUSE+=" opencl vulkan"
 
+RESTRICT="test"
+
 COMMON_DEPEND="
        cuda? (
                dev-util/nvidia-cuda-toolkit:=
@@ -75,6 +76,24 @@ PATCHES=(
        "${FILESDIR}/${PN}-0.6.3-use-GNUInstallDirs.patch"
 )
 
+pkg_pretend() {
+       if use amd64; then
+               if use cpu_flags_x86_f16c && use cpu_flags_x86_avx2 && use 
cpu_flags_x86_fma3 && ! use cpu_flags_x86_bmi2; then
+                       ewarn
+                       ewarn "CPU_FLAGS_X86: bmi2 not enabled."
+                       ewarn "  Not building haswell runner."
+                       ewarn "  Not building skylakex runner."
+                       ewarn "  Not building icelake runner."
+                       ewarn "  Not building alderlake runner."
+                       ewarn
+                       if grep bmi2 /proc/cpuinfo > /dev/null; then
+                               ewarn "bmi2 found in /proc/cpuinfo"
+                               ewarn
+                       fi
+               fi
+       fi
+}
+
 src_unpack() {
        if [[ "${PV}" == *9999* ]]; then
                git-r3_src_unpack
@@ -111,63 +130,64 @@ src_prepare() {
                || die
 
        if use amd64; then
-               if ! use cpu_flags_x86_avx; then
+               if
+                       ! use cpu_flags_x86_sse4_2; then
+                       sed -e "/ggml_add_cpu_backend_variant(sse42/s/^/# /g" 
-i ml/backend/ggml/ggml/src/CMakeLists.txt || die
+                       # SSE42)
+               fi
+               if
+                       ! use cpu_flags_x86_sse4_2 ||
+                       ! use cpu_flags_x86_avx; then
                        sed -e "/ggml_add_cpu_backend_variant(sandybridge/s/^/# 
/g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die
-                       # AVX)
+                       # SSE42 AVX)
                fi
                if
+                       ! use cpu_flags_x86_sse4_2 ||
                        ! use cpu_flags_x86_avx ||
                        ! use cpu_flags_x86_f16c ||
                        ! use cpu_flags_x86_avx2 ||
+                       ! use cpu_flags_x86_bmi2 ||
                        ! use cpu_flags_x86_fma3; then
                        sed -e "/ggml_add_cpu_backend_variant(haswell/s/^/# /g" 
-i ml/backend/ggml/ggml/src/CMakeLists.txt || die
-                       # AVX F16C AVX2 FMA)
+                       # SSE42 AVX F16C AVX2 BMI2 FMA)
                fi
                if
+                       ! use cpu_flags_x86_sse4_2 ||
                        ! use cpu_flags_x86_avx ||
                        ! use cpu_flags_x86_f16c ||
                        ! use cpu_flags_x86_avx2 ||
+                       ! use cpu_flags_x86_bmi2 ||
                        ! use cpu_flags_x86_fma3 ||
                        ! use cpu_flags_x86_avx512f; then
                        sed -e "/ggml_add_cpu_backend_variant(skylakex/s/^/# 
/g" -i ml/backend/ggml/ggml/src/CMakeLists.txt ||  die
-                       # AVX F16C AVX2 FMA AVX512)
+                       # SSE42 AVX F16C AVX2 BMI2 FMA AVX512)
                fi
                if
+                       ! use cpu_flags_x86_sse4_2 ||
                        ! use cpu_flags_x86_avx ||
                        ! use cpu_flags_x86_f16c ||
                        ! use cpu_flags_x86_avx2 ||
+                       ! use cpu_flags_x86_bmi2 ||
                        ! use cpu_flags_x86_fma3 ||
                        ! use cpu_flags_x86_avx512f ||
                        ! use cpu_flags_x86_avx512vbmi ||
                        ! use cpu_flags_x86_avx512_vnni; then
                        sed -e "/ggml_add_cpu_backend_variant(icelake/s/^/# /g" 
-i ml/backend/ggml/ggml/src/CMakeLists.txt || die
-                       # AVX F16C AVX2 FMA AVX512 AVX512_VBMI AVX512_VNNI)
+                       # SSE42 AVX F16C AVX2 BMI2 FMA AVX512 AVX512_VBMI 
AVX512_VNNI)
                fi
                if
+                       ! use cpu_flags_x86_sse4_2 ||
                        ! use cpu_flags_x86_avx ||
                        ! use cpu_flags_x86_f16c ||
                        ! use cpu_flags_x86_avx2 ||
+                       ! use cpu_flags_x86_bmi2 ||
                        ! use cpu_flags_x86_fma3 ||
                        ! use cpu_flags_x86_avx_vnni; then
                        sed -e "/ggml_add_cpu_backend_variant(alderlake/s/^/# 
/g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die
-                       # AVX F16C AVX2 FMA AVX_VNNI)
+                       # SSE42 AVX F16C AVX2 BMI2 FMA AVX_VNNI)
                fi
 
-               if
-                       ! use cpu_flags_x86_avx ||
-                       ! use cpu_flags_x86_f16c ||
-                       ! use cpu_flags_x86_avx2 ||
-                       ! use cpu_flags_x86_fma3 ||
-                       ! use cpu_flags_x86_avx512f ||
-                       ! use cpu_flags_x86_avx512vbmi ||
-                       ! use cpu_flags_x86_avx512_vnni ||
-                       ! use cpu_flags_x86_avx512_bf16 ||
-                       ! use cpu_flags_x86_amx_tile ||
-                       ! use cpu_flags_x86_amx_int8 ; then
-                       sed -e 
"/ggml_add_cpu_backend_variant(sapphirerapids/s/^/# /g" -i 
ml/backend/ggml/ggml/src/CMakeLists.txt || die
-                       #AVX F16C AVX2 FMA AVX512 AVX512_VBMI AVX512_VNNI 
AVX512_BF16 AMX_TILE AMX_INT8)
-               fi
-               : # ml/backend/ggml/ggml/src/CMakeLists.txt
+               # ml/backend/ggml/ggml/src/CMakeLists.txt
        fi
 
        # default

Reply via email to