diff --git a/sci-ml/ggml/Manifest b/sci-ml/ggml/Manifest new file mode 100644 index 0000000..46e7646 --- /dev/null +++ b/sci-ml/ggml/Manifest @@ -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 diff --git a/sci-ml/ggml/ggml-0.22.0-r1.ebuild b/sci-ml/ggml/ggml-0.22.0-r1.ebuild new file mode 100644 index 0000000..9b5b04e --- /dev/null +++ b/sci-ml/ggml/ggml-0.22.0-r1.ebuild @@ -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 +} diff --git a/sci-ml/ggml/metadata.xml b/sci-ml/ggml/metadata.xml new file mode 100644 index 0000000..5f8845f --- /dev/null +++ b/sci-ml/ggml/metadata.xml @@ -0,0 +1,14 @@ + + + + + tupone@gentoo.org + Tupone Alfredo + + + Enable ROCm gpu computing support + + + ggml-org/ggml + + diff --git a/sci-ml/stable-diffusion-cpp/Manifest b/sci-ml/stable-diffusion-cpp/Manifest index 43566eb..726efff 100644 --- a/sci-ml/stable-diffusion-cpp/Manifest +++ b/sci-ml/stable-diffusion-cpp/Manifest @@ -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 diff --git a/sci-ml/stable-diffusion-cpp/stable-diffusion-cpp-1.0.0.ebuild b/sci-ml/stable-diffusion-cpp/stable-diffusion-cpp-1.0.0.ebuild index 5d7c8d1..8e8c119 100644 --- a/sci-ml/stable-diffusion-cpp/stable-diffusion-cpp-1.0.0.ebuild +++ b/sci-ml/stable-diffusion-cpp/stable-diffusion-cpp-1.0.0.ebuild @@ -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