FreeBSD Bugzilla – Attachment 248175 Details for
Bug 276789
math/openblas: Update to 0.3.27
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
OpenBLAS WIP
openblas-wipv3.patch (text/plain), 13.25 KB, created by
Daniel Engberg
on 2024-02-04 11:00:57 UTC
(
hide
)
Description:
OpenBLAS WIP
Filename:
MIME Type:
Creator:
Daniel Engberg
Created:
2024-02-04 11:00:57 UTC
Size:
13.25 KB
patch
obsolete
>diff --git a/math/openblas/Makefile b/math/openblas/Makefile >index cf23f359fa20..10ac6bd58f0b 100644 >--- a/math/openblas/Makefile >+++ b/math/openblas/Makefile >@@ -1,12 +1,9 @@ > PORTNAME= openblas >-DISTVERSIONPREFIX= v >-DISTVERSION= 0.3.25 >+DISTVERSION= 0.3.26 > PORTEPOCH= 2 > CATEGORIES= math >-MASTER_SITES= NL/lapack/timing/:lapack_tmg >-DISTFILES= large.tgz:lapack_tmg \ >- timing.tgz:lapack_tmg >-DIST_SUBDIR= openblas >+MASTER_SITES= https://github.com/OpenMathLib/OpenBLAS/releases/download/v${DISTVERSION}/ >+DISTNAME= OpenBLAS-${DISTVERSION} > > MAINTAINER= phd_kimberlite@yahoo.co.jp > COMMENT= Optimized BLAS library based on GotoBLAS2 >@@ -15,129 +12,155 @@ WWW= https://github.com/OpenMathLib/OpenBLAS > LICENSE= BSD3CLAUSE > LICENSE_FILE= ${WRKSRC}/LICENSE > >-USES= compiler:c11 cpe fortran gmake perl5 pkgconfig >- >-USE_GITHUB= yes >-GH_ACCOUNT= OpenMathLib >-GH_PROJECT= OpenBLAS >-GH_TAGNAME= 5e1a429 >-LARGE_FILE= large.tgz >-TIMING_FILE= timing.tgz >+USES= cmake:testing compiler:c11 cpe fortran pathfix pkgconfig > CPE_VENDOR= openblas_project >- >+USE_GCC= yes > USE_LDCONFIG= yes >-USE_PERL5= build >- >-OPENBLAS_SVER= 0 >-TEST_TARGET= tests > >-PLIST_SUB+= PORTVERSION=${PORTVERSION} >- >-OPTIONS_DEFINE= DYNAMIC_ARCH INTERFACE64 OPENMP >-OPTIONS_DEFAULT= OPENMP >-OPTIONS_DEFINE_i386= AVX AVX2 >-OPTIONS_DEFINE_amd64= AVX AVX2 >-OPTIONS_EXCLUDE_armv6= OPENMP >-OPTIONS_EXCLUDE_armv7= OPENMP >+CMAKE_ON= BUILD_SHARED_LIBS >+CMAKE_OFF= BUILD_TESTING >+CMAKE_ARGS= -DNO_AFFINITY=1 \ >+ -DNO_WARMUP=1 \ >+ -DNUM_THREADS=64 \ >+ -DCMAKE_Fortran_COMPILER=gfortran${_GCC_VER} >+ >+OPTIONS_DEFINE= INTERFACE64 OPENMP >+OPTIONS_DEFINE_aarch64= DYNARCH >+OPTIONS_DEFINE_amd64= AVX DYNARCH >+OPTIONS_DEFAULT_aarch64=OPENMP >+OPTIONS_DEFAULT_amd64= AVX OPENMP >+OPTIONS_EXCLUDE_armv6= OPENMP >+OPTIONS_EXCLUDE_armv7= OPENMP > OPTIONS_EXCLUDE_powerpc64le= OPENMP > OPTIONS_EXCLUDE_powerpc64= OPENMP >-OPTIONS_EXCLUDE_powerpc= OPENMP >-OPTIONS_RADIO= ${OPTIONS_RADIO_${ARCH}} >-OPTIONS_RADIO_powerpc64= POWER >-OPTIONS_RADIO_POWER= POWER6 POWER8 >+OPTIONS_EXCLUDE_powerpc=OPENMP >+OPTIONS_RADIO= ${OPTIONS_RADIO_${ARCH}} >+OPTIONS_RADIO_powerpc64=POWER >+OPTIONS_RADIO_POWER= POWER8 POWER9 > OPTIONS_SUB= yes > >-.if defined(BATCH) || defined(PACKAGE_BUILDING) >-OPTIONS_DEFAULT_i386= DYNAMIC_ARCH >-OPTIONS_DEFAULT_amd64= DYNAMIC_ARCH >-OPTIONS_DEFAULT_powerpc64le= DYNAMIC_ARCH >-.endif >- >-DYNAMIC_ARCH_DESC= Optimize for multiple CPU types, otherwise for this CPU >+AVX_DESC= Use AVX and/or AVX2 & AVX512 if available >+DYNARCH_DESC= Build with SIMD feature set fallback > INTERFACE64_DESC= Use 8 byte integers on 64-bit architectures >-OPENMP_DESC= Use OpenMP for threading >-AVX_DESC= Support Advanced Vector Extensions (AVX) >-AVX2_DESC= Support Advanced Vector Extensions 2 (AVX2) >-POWER6_DESC= Optimize for POWER6, instead of the default PPC970 >-POWER8_DESC= Optimize for POWER8, instead of the default PPC970 >- >-.include <bsd.port.options.mk> >- >-.if ${ARCH} == powerpc64 >-USE_GCC= yes >-. if ${PORT_OPTIONS:MPOWER6} >-TARGET_CPU_ARCH= POWER6 >-. elif ${PORT_OPTIONS:MPOWER8} >-TARGET_CPU_ARCH= POWER8 >-.else >-TARGET_CPU_ARCH= PPC970 >-. endif >-.endif > >-.if ${ARCH} == powerpc >-USE_GCC= yes >-TARGET_CPU_ARCH= PPCG4 >-.endif >+AVX_CMAKE_OFF= -DTARGET=NEHALEM -DTARGET_CORE=NEHALEM > >-.if ${ARCH} == powerpc64le >-CFLAGS+= -lm >-USE_GCC= yes >-.endif >+DYNARCH_CMAKE_BOOL= DYNAMIC_ARCH >+DYNARCH_IMPLIES= AVX > >-MAXTHREADS?= 64 >+INTERFACE64_CMAKE_ON= -DINTERFACE64=1 > >-.include <bsd.port.pre.mk> >+OPENMP_CMAKE_ON= -DUSE_OPENMP=1 >+OPENMP_CMAKE_OFF= -DCMAKE_DISABLE_FIND_PACKAGE_OpenMP:BOOL=True > >-post-extract: >- cd ${DISTDIR}/${DIST_SUBDIR} ; \ >- ${CP} ${LARGE_FILE} ${TIMING_FILE} ${WRKSRC} >+POWER8_CMAKE_ON= -DTARGET=POWER8 -DTARGET_CORE=POWER8 >+POWER9_CMAKE_ON= -DTARGET=POWER9 -DTARGET_CORE=POWER9 > >-post-patch: >- @${ECHO_CMD} MAKE_NB_JOBS=-1 >> ${WRKSRC}/Makefile.rule >- @${ECHO_CMD} NUM_THREADS=${MAXTHREADS} >> ${WRKSRC}/Makefile.rule >- @${ECHO_CMD} USE_THREAD=1 >> ${WRKSRC}/Makefile.rule >-.if ! ${PORT_OPTIONS:MAVX} >- @${ECHO_CMD} NO_AVX=1 >> ${WRKSRC}/Makefile.rule >-.endif >-.if ! ${PORT_OPTIONS:MAVX2} >- @${ECHO_CMD} NO_AVX2=1 >> ${WRKSRC}/Makefile.rule >-.endif >-.if ${PORT_OPTIONS:MDYNAMIC_ARCH} >- @${ECHO_CMD} DYNAMIC_ARCH=1 >> ${WRKSRC}/Makefile.rule >- @${ECHO_CMD} DYNAMIC_OLDER=1 >> ${WRKSRC}/Makefile.rule >-.endif >-.if defined(TARGET_CPU_ARCH) >- @${ECHO_CMD} TARGET=${TARGET_CPU_ARCH} >> ${WRKSRC}/Makefile.rule >-.endif >-.if ${PORT_OPTIONS:MINTERFACE64} >- @${ECHO_CMD} INTERFACE64=1 >> ${WRKSRC}/Makefile.rule >-.endif >-.if ${PORT_OPTIONS:MOPENMP} >- @${ECHO_CMD} USE_OPENMP=1 >> ${WRKSRC}/Makefile.rule >-.endif >-.if ${ARCH:M*64*} == "" >- @${ECHO_CMD} BINARY=32 >> ${WRKSRC}/Makefile.rule >-.else >- @${ECHO_CMD} BINARY=64 >> ${WRKSRC}/Makefile.rule >-.endif >+#OPTIONS_DEFINE= DYNAMIC_ARCH INTERFACE64 OPENMP >+#OPTIONS_DEFAULT= OPENMP >+#OPTIONS_DEFINE_i386= AVX AVX2 >+#OPTIONS_DEFINE_amd64= AVX AVX2 >+#OPTIONS_EXCLUDE_armv6= OPENMP >+#OPTIONS_EXCLUDE_armv7= OPENMP >+#OPTIONS_EXCLUDE_powerpc64le= OPENMP >+#OPTIONS_EXCLUDE_powerpc64= OPENMP >+#OPTIONS_EXCLUDE_powerpc= OPENMP >+#OPTIONS_RADIO= ${OPTIONS_RADIO_${ARCH}} >+#OPTIONS_RADIO_powerpc64= POWER >+#OPTIONS_RADIO_POWER= POWER8 POWER9 >+#OPTIONS_SUB= yes > >-post-patch-OPENMP-on: >- @${REINPLACE_CMD} -e "s+OPENBLAS_NUM_THREADS+OMP_NUM_THREADS+g" \ >- ${WRKSRC}/test/Makefile \ >- ${WRKSRC}/ctest/Makefile >- >-BENCHMARK_MAXTHREADS?= ${MAXTHREADS} >-.if ${PORT_OPTIONS:MOPENMP} >-BENCHMARK_THREADS_FLAG= OMP_NUM_THREADS=${BENCHMARK_MAXTHREADS} >-.else >-BENCHMARK_THREADS_FLAG= OPENBLAS_NUM_THREADS=${BENCHMARK_MAXTHREADS} >+.if defined(BATCH) || defined(PACKAGE_BUILDING) >+OPTIONS_DEFAULT_aarch64= DYNARCH >+OPTIONS_DEFAULT_amd64= DYNARCH >+OPTIONS_DEFAULT_powerpc64le= DYNAMIC_ARCH > .endif > >-benchmark: build >- cd ${WRKSRC} ; ${SETENV} ${MAKE_CMD} ${MAKE_ARGS} hpl >- cd ${WRKSRC}/benchmark ; ${SETENV} ${BENCHMARK_THREADS_FLAG} ${MAKE_CMD} ${MAKE_ARGS} >- >-post-install-DYNAMIC_ARCH-off: >- cd ${STAGEDIR}${PREFIX} && ls lib/libopenblas_*p-r${PORTVERSION}.* >> ${TMPPLIST} >- >-.include <bsd.port.post.mk> >+#DYNAMIC_ARCH_DESC= Optimize for multiple CPU types, otherwise for this CPU >+#INTERFACE64_DESC= Use 8 byte integers on 64-bit architectures >+#OPENMP_DESC= Use OpenMP for threading >+#AVX_DESC= Support Advanced Vector Extensions (AVX) >+#AVX2_DESC= Support Advanced Vector Extensions 2 (AVX2) >+#POWER6_DESC= Optimize for POWER6, instead of the default PPC970 >+#POWER8_DESC= Optimize for POWER8, instead of the default PPC970 >+ >+#.include <bsd.port.options.mk> >+ >+#.if ${ARCH} == powerpc64 >+#USE_GCC= yes >+#. if ${PORT_OPTIONS:MPOWER6} >+#TARGET_CPU_ARCH= POWER6 >+#. elif ${PORT_OPTIONS:MPOWER8} >+#TARGET_CPU_ARCH= POWER8 >+#.else >+#TARGET_CPU_ARCH= PPC970 >+#. endif >+#.endif >+ >+#.if ${ARCH} == powerpc >+#USE_GCC= yes >+#TARGET_CPU_ARCH= PPCG4 >+#.endif >+ >+#.if ${ARCH} == powerpc64le >+#CFLAGS+= -lm >+#USE_GCC= yes >+#.endif >+ >+#MAXTHREADS?= 64 >+ >+#.include <bsd.port.pre.mk> >+ >+#post-extract: >+# cd ${DISTDIR}/${DIST_SUBDIR} ; \ >+# ${CP} ${LARGE_FILE} ${TIMING_FILE} ${WRKSRC} >+ >+#post-patch: >+# @${ECHO_CMD} MAKE_NB_JOBS=-1 >> ${WRKSRC}/Makefile.rule >+# @${ECHO_CMD} NUM_THREADS=${MAXTHREADS} >> ${WRKSRC}/Makefile.rule >+# @${ECHO_CMD} USE_THREAD=1 >> ${WRKSRC}/Makefile.rule >+#.if ! ${PORT_OPTIONS:MAVX} >+# @${ECHO_CMD} NO_AVX=1 >> ${WRKSRC}/Makefile.rule >+#.endif >+#.if ! ${PORT_OPTIONS:MAVX2} >+# @${ECHO_CMD} NO_AVX2=1 >> ${WRKSRC}/Makefile.rule >+#.endif >+#.if ${PORT_OPTIONS:MDYNAMIC_ARCH} >+# @${ECHO_CMD} DYNAMIC_ARCH=1 >> ${WRKSRC}/Makefile.rule >+# @${ECHO_CMD} DYNAMIC_OLDER=1 >> ${WRKSRC}/Makefile.rule >+#.endif >+#.if defined(TARGET_CPU_ARCH) >+# @${ECHO_CMD} TARGET=${TARGET_CPU_ARCH} >> ${WRKSRC}/Makefile.rule >+#.endif >+#.if ${PORT_OPTIONS:MINTERFACE64} >+# @${ECHO_CMD} INTERFACE64=1 >> ${WRKSRC}/Makefile.rule >+#.endif >+#.if ${PORT_OPTIONS:MOPENMP} >+# @${ECHO_CMD} USE_OPENMP=1 >> ${WRKSRC}/Makefile.rule >+#.endif >+#.if ${ARCH:M*64*} == "" >+# @${ECHO_CMD} BINARY=32 >> ${WRKSRC}/Makefile.rule >+#.else >+# @${ECHO_CMD} BINARY=64 >> ${WRKSRC}/Makefile.rule >+#.endif >+ >+#post-patch-OPENMP-on: >+# @${REINPLACE_CMD} -e "s+OPENBLAS_NUM_THREADS+OMP_NUM_THREADS+g" \ >+# ${WRKSRC}/test/Makefile \ >+# ${WRKSRC}/ctest/Makefile >+ >+#BENCHMARK_MAXTHREADS?= ${MAXTHREADS} >+#.if ${PORT_OPTIONS:MOPENMP} >+#BENCHMARK_THREADS_FLAG= OMP_NUM_THREADS=${BENCHMARK_MAXTHREADS} >+#.else >+#BENCHMARK_THREADS_FLAG= OPENBLAS_NUM_THREADS=${BENCHMARK_MAXTHREADS} >+#.endif >+ >+#benchmark: build >+# cd ${WRKSRC} ; ${SETENV} ${MAKE_CMD} ${MAKE_ARGS} hpl >+# cd ${WRKSRC}/benchmark ; ${SETENV} ${BENCHMARK_THREADS_FLAG} ${MAKE_CMD} ${MAKE_ARGS} >+ >+#post-install-DYNAMIC_ARCH-off: >+# cd ${STAGEDIR}${PREFIX} && ls lib/libopenblas_*p-r${PORTVERSION}.* >> ${TMPPLIST} >+ >+.include <bsd.port.mk> >diff --git a/math/openblas/distinfo b/math/openblas/distinfo >index 883c98157110..e43b004c4887 100644 >--- a/math/openblas/distinfo >+++ b/math/openblas/distinfo >@@ -1,7 +1,3 @@ >-TIMESTAMP = 1699873046 >-SHA256 (openblas/large.tgz) = f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1 >-SIZE (openblas/large.tgz) = 2595 >-SHA256 (openblas/timing.tgz) = 999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af >-SIZE (openblas/timing.tgz) = 1059485 >-SHA256 (openblas/OpenMathLib-OpenBLAS-v0.3.25-5e1a429_GH0.tar.gz) = 848beec6974e550aef74784b599a1c88549f70432b575e1dc1822eef15b4bc5d >-SIZE (openblas/OpenMathLib-OpenBLAS-v0.3.25-5e1a429_GH0.tar.gz) = 24073895 >+TIMESTAMP = 1706973504 >+SHA256 (OpenBLAS-0.3.26.tar.gz) = 4e6e4f5cb14c209262e33e6816d70221a2fe49eb69eaf0a06f065598ac602c68 >+SIZE (OpenBLAS-0.3.26.tar.gz) = 24404912 >diff --git a/math/openblas/files/patch-CMakeLists.txt b/math/openblas/files/patch-CMakeLists.txt >new file mode 100644 >index 000000000000..7af9768d1317 >--- /dev/null >+++ b/math/openblas/files/patch-CMakeLists.txt >@@ -0,0 +1,14 @@ >+--- CMakeLists.txt.orig 2024-02-03 23:25:01 UTC >++++ CMakeLists.txt >+@@ -93,6 +93,11 @@ message(WARNING "CMake support is experimental. It doe >+ >+ message(WARNING "CMake support is experimental. It does not yet support all build options and may not produce the same Makefiles that OpenBLAS ships with.") >+ >++# Strip CFLAGS from -march as this makes the build fail >++string(REGEX REPLACE "-march=[A-Za-z0-9_]+" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) >++string(REGEX REPLACE "-march=[A-Za-z0-9_]+" "" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) >++string(REGEX REPLACE "-march=[A-Za-z0-9_]+" "" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) >++ >+ include("${PROJECT_SOURCE_DIR}/cmake/utils.cmake") >+ include("${PROJECT_SOURCE_DIR}/cmake/system.cmake") >+ >diff --git a/math/openblas/files/patch-exports_Makefile b/math/openblas/files/patch-exports_Makefile >deleted file mode 100644 >index 7e7692de9ce0..000000000000 >--- a/math/openblas/files/patch-exports_Makefile >+++ /dev/null >@@ -1,11 +0,0 @@ >---- exports/Makefile.orig 2023-04-01 20:18:01 UTC >-+++ exports/Makefile >-@@ -222,7 +222,7 @@ else >- endif >- $(CC) $(CFLAGS) $(LDFLAGS) -shared -o ../$(LIBSONAME) \ >- -Wl,--whole-archive $< -Wl,--no-whole-archive \ >-- $(FEXTRALIB) $(EXTRALIB) >-+ -Wl,-soname,$(LIBSONAME) $(FEXTRALIB) $(EXTRALIB) >- $(CC) $(CFLAGS) $(LDFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) $(FEXTRALIB) && echo OK. >- rm -f linktest >- >diff --git a/math/openblas/pkg-plist b/math/openblas/pkg-plist >index 66ad1a092738..d8da42c26b57 100644 >--- a/math/openblas/pkg-plist >+++ b/math/openblas/pkg-plist >@@ -1,17 +1,34 @@ >-include/cblas.h >-include/f77blas.h >-include/lapack.h >-include/lapacke.h >-include/lapacke_config.h >-include/lapacke_mangling.h >-include/lapacke_utils.h >-include/openblas_config.h >-lib/cmake/openblas/OpenBLASConfig.cmake >-lib/cmake/openblas/OpenBLASConfigVersion.cmake >-lib/libopenblas.a >-lib/libopenblas.so >-lib/libopenblas.so.0 >-%%DYNAMIC_ARCH%%lib/libopenblasp-r%%PORTVERSION%%.a >-%%DYNAMIC_ARCH%%lib/libopenblasp-r%%PORTVERSION%%.so >+%%NO_INTERFACE64%%include/openblas/cblas.h >+%%NO_INTERFACE64%%include/openblas/f77blas.h >+%%NO_INTERFACE64%%include/openblas/lapack.h >+%%NO_INTERFACE64%%include/openblas/lapacke.h >+%%NO_INTERFACE64%%include/openblas/lapacke_config.h >+%%NO_INTERFACE64%%include/openblas/lapacke_example_aux.h >+%%NO_INTERFACE64%%include/openblas/lapacke_mangling.h >+%%NO_INTERFACE64%%include/openblas/lapacke_utils.h >+%%NO_INTERFACE64%%include/openblas/openblas_config.h >+%%INTERFACE64%%include/openblas64/cblas.h >+%%INTERFACE64%%include/openblas64/f77blas.h >+%%INTERFACE64%%include/openblas64/lapack.h >+%%INTERFACE64%%include/openblas64/lapacke.h >+%%INTERFACE64%%include/openblas64/lapacke_config.h >+%%INTERFACE64%%include/openblas64/lapacke_example_aux.h >+%%INTERFACE64%%include/openblas64/lapacke_mangling.h >+%%INTERFACE64%%include/openblas64/lapacke_utils.h >+%%INTERFACE64%%include/openblas64/openblas_config.h >+%%NO_INTERFACE64%%lib/cmake/OpenBLAS/OpenBLASConfig.cmake >+%%NO_INTERFACE64%%lib/cmake/OpenBLAS/OpenBLASConfigVersion.cmake >+%%NO_INTERFACE64%%lib/cmake/OpenBLAS/OpenBLASTargets-%%CMAKE_BUILD_TYPE%%.cmake >+%%NO_INTERFACE64%%lib/cmake/OpenBLAS/OpenBLASTargets.cmake >+%%INTERFACE64%%lib/cmake/OpenBLAS64/OpenBLAS64Config.cmake >+%%INTERFACE64%%lib/cmake/OpenBLAS64/OpenBLAS64ConfigVersion.cmake >+%%INTERFACE64%%lib/cmake/OpenBLAS64/OpenBLAS64Targets-%%CMAKE_BUILD_TYPE%%.cmake >+%%INTERFACE64%%lib/cmake/OpenBLAS64/OpenBLAS64Targets.cmake >+%%NO_INTERFACE64%%lib/libopenblas.so >+%%NO_INTERFACE64%%lib/libopenblas.so.0 >+%%NO_INTERFACE64%%lib/libopenblas.so.0.3 >+%%INTERFACE64%%lib/libopenblas_64.so >+%%INTERFACE64%%lib/libopenblas_64.so.0 >+%%INTERFACE64%%lib/libopenblas_64.so.0.3 > %%NO_INTERFACE64%%libdata/pkgconfig/openblas.pc > %%INTERFACE64%%libdata/pkgconfig/openblas64.pc
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 276789
:
248146
|
248147
|
248175
|
251527
Working