public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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