add ggml
This commit is contained in:
2
sci-ml/ggml/Manifest
Normal file
2
sci-ml/ggml/Manifest
Normal 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
|
||||
118
sci-ml/ggml/ggml-0.22.0-r1.ebuild
Normal file
118
sci-ml/ggml/ggml-0.22.0-r1.ebuild
Normal 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
14
sci-ml/ggml/metadata.xml
Normal 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>
|
||||
@ -1,2 +1,2 @@
|
||||
EBUILD stable-diffusion-cpp-1.0.0.ebuild 894 BLAKE2B 0471caa6bbd1331270e9ba4755330759f2f191c60767d5b54012777aa2ee1cc682d9e4919d6c67c9ba4cf362dfd701dba0406085bd78fce58a0715c7fd97d527 SHA512 70053f10694efd16cb16c3949edea74b619378877c2b7cfc4cbf600274003835edd91e874b62a382b340860d5ae149e887d30c8b71363625c9bc865e7a57b5f4
|
||||
EBUILD stable-diffusion-cpp-1.0.0.ebuild 859 BLAKE2B 4f0d9abdc97d5d75a2a3d4b765bf2b0830cb432dd315d8174b67d8bbd60d54339c2c5f385fa1d139a9ed69ff5f8c6da09bba9b40e0e95c227fe086b51487ebd7 SHA512 8f603990d0344370da0e6cf09149a5003ee0aa62645529066ba91c77c0d8d672faeb0de83e7cb5303e17956754be83d61e13cb66221ee46aa010ce4f9ffbbb9b
|
||||
MISC metadata.xml 384 BLAKE2B 5d62a19c0060d2376b254317ee3a8b1eca0b05b6d9c034a2b8908cc42fa79882da3f6219e7b5495ca93ee1b99c8b2b3d9f9060c85cd95e374cb53f9c21d6c2c6 SHA512 b8d4a04a94d4bcb051836197f7196a116115105b1fcdc15595910a617146526468d561a84677a8221025295fa91697d4a116747230d17ac2b361f69415d2576e
|
||||
|
||||
@ -16,6 +16,7 @@ KEYWORDS="amd64 x86"
|
||||
IUSE="vulkan"
|
||||
|
||||
DEPEND="
|
||||
sci-ml/ggml
|
||||
media-libs/libwebm
|
||||
vulkan? (
|
||||
dev-util/glslang
|
||||
@ -30,11 +31,9 @@ RDEPEND="
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DGGML_NATIVE=OFF
|
||||
-DSD_BUILD_SHARED_LIBS=ON
|
||||
-DSD_BUILD_SHARED_GGML_LIB=OFF
|
||||
-DGGML_BACKEND_DL=OFF
|
||||
-DGGML_CPU_ALL_VARIANTS=OFF
|
||||
-DSD_USE_SYSTEM_GGML=ON
|
||||
|
||||
-DSD_WEBP=ON
|
||||
-DSD_WEBM=ON
|
||||
|
||||
Reference in New Issue
Block a user