This commit is contained in:
2026-09-03 20:57:06 +02:00
parent 9c85adca54
commit 14e4673ffe
3 changed files with 134 additions and 0 deletions

2
sci-ml/ggml/Manifest Normal file
View File

@ -0,0 +1,2 @@
DIST ggml-0.22.0.tar.gz 3767077 BLAKE2B 0ce794cd97a26d42490ee0ce3501ca7a7fc046b1827faeaeb28cdc2b4b01aad2d58d0ba6a2575def7792d9c3226acac43cd4c0839e1cd5143d80f50a87886205 SHA512 61ea7d216c949f0e484f2b4edf1a83226e452079ef0663575c1b2585a2960bc1318bdf64da817a89cbe0b3baa4d7cdec81fe33417d55bb4b2e80428486aebd5a
EBUILD ggml-0.22.0-r1.ebuild 2480 BLAKE2B f7afb8cb5872666a076f3aae17a1ce2657e49cb88cbffa3957c96ac0ba937c9d08dddb1d4162d24e5567b50b74b349320125e3fd20a863743963c70916cb487e SHA512 5bd16160222b8e4a5db957349f401c41065f73271ea5f536df2d1e3178adbe63b294033285d87fe4bfa3d2c5eee72457acdb7c1d362318a9d02411e58e48d178

View File

@ -0,0 +1,118 @@
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ROCM_VERSION=7.2
inherit cuda cmake rocm toolchain-funcs
DESCRIPTION="Tensor library for machine learning"
HOMEPAGE="https://ggml.ai/"
SRC_URI="https://github.com/ggml-org/${PN}/archive/refs/tags/v${PV}.tar.gz
-> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm64"
X86_CPU_FLAGS=(
avx
avx_vnni
avx2
avx512_bf16
avx512bw
avx512f
avx512vbmi
avx512_vnni
bmi2
fma3
f16c
sse4_2
)
CPU_FLAGS=( "${X86_CPU_FLAGS[@]/#/cpu_flags_x86_}" )
IUSE="${CPU_FLAGS[*]} cuda openmp rocm test vulkan"
REQUIRED_USE="rocm? ( ${ROCM_REQUIRED_USE} )"
RESTRICT="!test? ( test )"
# Should be >=sci-libs/hipBLAS-${ROCM_VERSION}[${ROCM_USEDEP}]
# But pkgcheck can't elaborate that
RDEPEND="
cuda? (
dev-util/nvidia-cuda-toolkit:=
)
vulkan? ( media-libs/vulkan-loader )
rocm? (
>=dev-util/hip-${ROCM_VERSION}
>=sci-libs/hipBLAS-${ROCM_VERSION}
)
"
DEPEND="${RDEPEND}
vulkan? ( dev-util/vulkan-headers )
"
BDEPEND="vulkan? ( media-libs/shaderc )"
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
src_prepare() {
cmake_src_prepare
if use cuda; then
cuda_src_prepare
fi
}
src_configure() {
local mycmakeargs=(
-DGGML_BACKEND_DL=OFF
-DGGML_BUILD_EXAMPLES=OFF
-DGGML_NATIVE=OFF
-DGGML_HIP_MMQ_MFMA=OFF
# CPU Flags
-DGGML_AVX=$(usex cpu_flags_x86_avx)
-DGGML_AVX_VNNI=$(usex cpu_flags_x86_avx_vnni)
-DGGML_AVX2=$(usex cpu_flags_x86_avx2)
-DGGML_AVX512_BF16=$(usex cpu_flags_x86_avx512_bf16)
-DGGML_AVX512_VBMI=$(usex cpu_flags_x86_avx512vbmi)
-DGGML_AVX512_VNNI=$(usex cpu_flags_x86_avx512_vnni)
-DGGML_BMI2=$(usex cpu_flags_x86_bmi2)
-DGGML_FMA=$(usex cpu_flags_x86_fma3)
-DGGML_F16C=$(usex cpu_flags_x86_f16c)
-DGGML_SSE42=$(usex cpu_flags_x86_sse4_2)
-DGGML_CUDA=$(usex cuda)
-DGGML_OPENMP=$(usex openmp)
-DGGML_HIP=$(usex rocm)
-DGGML_VULKAN=$(usex vulkan)
-DGGML_BUILD_TESTS=$(usex test)
-DGGML_MAX_NAME=160
)
# Enable AVX512 if ANY of the avx512 flags are present
if use cpu_flags_x86_avx512f || use cpu_flags_x86_avx512bw; then
mycmakeargs+=( -DGGML_AVX512=ON )
else
mycmakeargs+=( -DGGML_AVX512=OFF )
fi
if use cuda; then
cuda_add_sandbox -w
addpredict "/dev/char/"
cuda_sanitize
mycmakeargs+=(
-DCMAKE_CUDA_FLAGS="${NVCCFLAGS}"
)
fi
cmake_src_configure
}

14
sci-ml/ggml/metadata.xml Normal file
View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tupone@gentoo.org</email>
<name>Tupone Alfredo</name>
</maintainer>
<use>
<flag name="rocm">Enable ROCm gpu computing support</flag>
</use>
<upstream>
<remote-id type="github">ggml-org/ggml</remote-id>
</upstream>
</pkgmetadata>