* [gentoo-commits] repo/proj/guru:dev commit in: profiles/desc/, sci-ml/ollama/
@ 2025-05-23 19:37 Paul Zander
0 siblings, 0 replies; only message in thread
From: Paul Zander @ 2025-05-23 19:37 UTC (permalink / raw
To: gentoo-commits
commit: 57ca57a8fa2f24b2fc805133ba1622a3769425ac
Author: Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Sun May 11 16:36:49 2025 +0000
Commit: Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
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
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2025-05-23 19:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-23 19:37 [gentoo-commits] repo/proj/guru:dev commit in: profiles/desc/, sci-ml/ollama/ Paul Zander
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox