On 2025/11/05 01:05, Kirill A. Korinsky wrote:
> ports@,
> 
> I'd like to enable GGML_CPU_ALL_VARIANTS optimization in devel/libggml at
> amd64.
> 
> Idea is prebuild .so for difference CPU instead of libggml-cpu.so.
> 
> llama-bench is improved from 31.86 to 34.86 t/s at parsing promt.
> 
> Ok?
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/libggml/Makefile,v
> diff -u -p -r1.3 Makefile
> --- Makefile  4 Nov 2025 15:05:00 -0000       1.3
> +++ Makefile  5 Nov 2025 00:01:37 -0000
> @@ -3,12 +3,13 @@ COMMENT=            tensor library for machine lea
>  GH_ACCOUNT=          ggml-org
>  GH_PROJECT=          ggml
>  GH_COMMIT=           09aa758381718f7731c148238574a7e169001f13
> +REVISION=            0
>  DISTNAME=            ggml-0.9.4pl20251101
>  PKGNAME=             lib${DISTNAME}
>  
>  SHARED_LIBS +=               ggml 3.0
>  SHARED_LIBS +=               ggml-base 3.0
> -SHARED_LIBS +=               ggml-cpu 3.0
> +SHARED_LIBS +=               ggml-cpu 3.1

oh, when I converted to BACKEND_DL I should have dropped some
SHARED_LIBS, can you kill the entries for ggml-cpu and ggml-vulkan
please?

>  SHARED_LIBS +=               ggml-vulkan 3.0
>  
>  CATEGORIES=          devel
> @@ -33,15 +34,25 @@ CONFIGURE_ARGS=   -DGGML_CCACHE=off \
>               -DGGML_BACKEND_DL=on \
>               -DGGML_BACKEND_DIR=${PREFIX}/lib
>  
> +.if ${MACHINE_ARCH:Mamd64}
> +CONFIGURE_ARGS+= -DGGML_CPU_ALL_VARIANTS=on
> +PKG_ARGS+=   -Damd64=1
> +PKG_ARGS+=   -Dcpu=0
> +.else
> +CONFIGURE_ARGS+= -DGGML_CPU_ALL_VARIANTS=off
> +PKG_ARGS+=   -Damd64=0
> +PKG_ARGS+=   -Dcpu=1
> +.endif
> +
>  .if ${MACHINE_ARCH:Mamd64} || ${MACHINE_ARCH:Maarch64}
>  CONFIGURE_ARGS+= -DGGML_VULKAN=on
>  BUILD_DEPENDS=       graphics/shaderc
>  LIB_DEPENDS= graphics/vulkan-loader
>  WANTLIB+=    vulkan
> -PKG_ARGS=    -Dvulkan=1
> +PKG_ARGS+=   -Dvulkan=1
>  .else
>  CONFIGURE_ARGS+= -DGGML_VULKAN=off
> -PKG_ARGS=    -Dvulkan=0
> +PKG_ARGS+=   -Dvulkan=0
>  .endif
>  
>  .include <bsd.port.mk>
> Index: pkg/PFRAG.amd64
> ===================================================================
> RCS file: pkg/PFRAG.amd64
> diff -N pkg/PFRAG.amd64
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ pkg/PFRAG.amd64   5 Nov 2025 00:01:37 -0000
> @@ -0,0 +1,8 @@
> +@so lib/libggml-cpu-alderlake.so
> +@so lib/libggml-cpu-haswell.so
> +@so lib/libggml-cpu-icelake.so
> +@so lib/libggml-cpu-sandybridge.so
> +@so lib/libggml-cpu-sapphirerapids.so
> +@so lib/libggml-cpu-skylakex.so
> +@so lib/libggml-cpu-sse42.so
> +@so lib/libggml-cpu-x64.so
> Index: pkg/PFRAG.cpu
> ===================================================================
> RCS file: pkg/PFRAG.cpu
> diff -N pkg/PFRAG.cpu
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ pkg/PFRAG.cpu     5 Nov 2025 00:01:37 -0000
> @@ -0,0 +1 @@
> +@so lib/libggml-cpu.so
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/devel/libggml/pkg/PLIST,v
> diff -u -p -r1.1.1.1 PLIST
> --- pkg/PLIST 1 Oct 2025 19:42:10 -0000       1.1.1.1
> +++ pkg/PLIST 5 Nov 2025 00:01:37 -0000
> @@ -19,6 +19,7 @@ lib/cmake/ggml/
>  lib/cmake/ggml/ggml-config.cmake
>  lib/cmake/ggml/ggml-version.cmake
>  @lib lib/libggml-base.so.${LIBggml-base_VERSION}
> -@so lib/libggml-cpu.so
> +%%cpu%%
> +%%amd64%%
>  @lib lib/libggml.so.${LIBggml_VERSION}
>  share/pkgconfig/ggml.pc

ok

> 
> -- 
> wbr, Kirill
> 

Reply via email to