diff --git a/graphics/oidn/Makefile b/graphics/oidn/Makefile index e18972589138..2098e2c26871 100644 --- a/graphics/oidn/Makefile +++ b/graphics/oidn/Makefile @@ -1,74 +1,75 @@ PORTNAME= oidn DISTVERSIONPREFIX= v -DISTVERSION= 1.4.3 -PORTREVISION= 6 +DISTVERSION= 2.0.0 CATEGORIES= graphics MASTER_SITES= http://freebsd.org/:weights # bogus URL to make the framework happy, the fetch uses Git URL below DISTFILES= ${PORTNAME}-weights-${WEIGHTS_GIT_HASH}${EXTRACT_SUFX}:weights MAINTAINER= yuri@FreeBSD.org COMMENT= Intel(R) Open Image Denoise library WWW= https://www.openimagedenoise.org/ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE.txt ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON= Intel(R) MKL-DNN supports x86 64 bit platforms only (oidn contains a custom version of mkl-dnn, see math/mkl-dnn), and ISPC has a limited availability FETCH_DEPENDS= git:devel/git \ git-lfs:devel/git-lfs BUILD_DEPENDS= ispc>=1.14.1:devel/ispc LIB_DEPENDS= libtbb.so:devel/onetbb USES= cmake:noninja compiler:c++14-lang python:build USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= OpenImageDenoise -GH_TUPLE= OpenImageDenoise:mkl-dnn:f53274c:m/mkl-dnn +GH_TUPLE= OpenImageDenoise:mkl-dnn:9bea36e:m/external/mkl-dnn \ + ROCmSoftwarePlatform:composable_kernel:e85178b:composable_kernel/external/composable_kernel \ + NVIDIA:cutlass:66d9cdd:cutlass/external/cutlass CMAKE_ARGS= -DTBB_ROOT:STRING=${LOCALBASE} -DTBB_INCLUDE_DIR:STRING=${LOCALBASE}/include -DPYTHON_EXECUTABLE:STRING=${PYTHON_CMD} PLIST_SUB= VER="${PORTVERSION}" OPTIONS_DEFINE= APPS DOCS OPENIMAGEIO OPTIONS_DEFAULT= APPS OPENIMAGEIO OPTIONS_SUB= yes APPS_DESC= Build example and test apps APPS_CMAKE_BOOL= OIDN_APPS DOCSDIR= share/doc/${GH_ACCOUNT} OPENIMAGEIO_DESC= Build with OpenImageIO for image formats support OPENIMAGEIO_CMAKE_BOOL= OIDN_APPS_OPENIMAGEIO OPENIMAGEIO_LIB_DEPENDS= libOpenImageIO.so:graphics/openimageio OPENIMAGEIO_IMPLIES= APPS # OpenImageIO is only used by apps and examples WEIGHTS_GIT_URL= https://github.com/OpenImageDenoise/oidn-weights.git -WEIGHTS_GIT_HASH= a34b7641349c5a79e46a617d61709c35df5d6c28 +WEIGHTS_GIT_HASH= 4322c25e25a05584f65da1a4be5cef40a4b2e90b pre-fetch: @if [ "${FORCE_FETCH_ALL}" = "true" ] || ! [ -f "${DISTDIR}/${DIST_SUBDIR}/${PORTNAME}-weights-${WEIGHTS_GIT_HASH}${EXTRACT_SUFX}" ]; then \ ${MKDIR} ${DISTDIR}/${DIST_SUBDIR} && \ cd ${DISTDIR}/${DIST_SUBDIR} && \ ${ECHO} "==> Fetching the oidn/weights subproject with large LFS files" && \ ( \ ${MKDIR} ${WRKDIR}; \ HOME=${WRKDIR}; \ git config --global filter.lfs.smudge "git-lfs smudge -- %f" && \ git clone -q ${WEIGHTS_GIT_URL} ${PORTNAME}-weights-${WEIGHTS_GIT_HASH} && \ (cd ${PORTNAME}-weights-${WEIGHTS_GIT_HASH} && git reset -q --hard ${WEIGHTS_GIT_HASH} && ${RM} -r .git) && \ ${RM} -r ${WRKDIR} \ ) && \ ${FIND} ${PORTNAME}-weights-${WEIGHTS_GIT_HASH} -and -exec ${TOUCH} -h -d 1970-01-01T00:00:00Z {} \; && \ ${FIND} ${PORTNAME}-weights-${WEIGHTS_GIT_HASH} -print0 | LC_ALL=C ${SORT} -z | \ ${TAR} czf ${PORTNAME}-weights-${WEIGHTS_GIT_HASH}${EXTRACT_SUFX} --format=bsdtar --gid 0 --uid 0 --options gzip:!timestamp --no-recursion --null -T - && \ ${RM} -r ${PORTNAME}-weights-${WEIGHTS_GIT_HASH}; \ fi post-extract: @cd ${WRKSRC} && ${RMDIR} weights && ${LN} -s ${WRKDIR}/${PORTNAME}-weights-${WEIGHTS_GIT_HASH} weights .include diff --git a/graphics/oidn/distinfo b/graphics/oidn/distinfo index 20404abed134..0bbbbe2c0d70 100644 --- a/graphics/oidn/distinfo +++ b/graphics/oidn/distinfo @@ -1,7 +1,11 @@ -TIMESTAMP = 1645045861 -SHA256 (oidn-weights-a34b7641349c5a79e46a617d61709c35df5d6c28.tar.gz) = e52c689a0fdcade16936d2b417590dbc565340bc641e3e2f858e02492dbe3ee6 -SIZE (oidn-weights-a34b7641349c5a79e46a617d61709c35df5d6c28.tar.gz) = 41124636 -SHA256 (OpenImageDenoise-oidn-v1.4.3_GH0.tar.gz) = 37941f260af212183579efb6b1e07e4075e3ab9cbd63120afd007e62367efef6 -SIZE (OpenImageDenoise-oidn-v1.4.3_GH0.tar.gz) = 3433667 -SHA256 (OpenImageDenoise-mkl-dnn-f53274c_GH0.tar.gz) = 735ba210cfbca8c893dd97ef6b79c1b73a3d6289d99cdb5ede663f630ee4efc9 -SIZE (OpenImageDenoise-mkl-dnn-f53274c_GH0.tar.gz) = 9535954 +TIMESTAMP = 1685034213 +SHA256 (oidn-weights-4322c25e25a05584f65da1a4be5cef40a4b2e90b.tar.gz) = ea9bd87ea429b0e64cc1ba62875ad5c4882e476224f594f4f559f60b59e3b770 +SIZE (oidn-weights-4322c25e25a05584f65da1a4be5cef40a4b2e90b.tar.gz) = 20605602 +SHA256 (OpenImageDenoise-oidn-v2.0.0_GH0.tar.gz) = 81eea9c36b446183ba67f8cb8e435bcc33b5b55fd83bbad67615c219560ee4a7 +SIZE (OpenImageDenoise-oidn-v2.0.0_GH0.tar.gz) = 3580694 +SHA256 (OpenImageDenoise-mkl-dnn-9bea36e_GH0.tar.gz) = b4626c0cf65e64ec16d93f8af7941bccd62385da5ea16fd81de5d26b7cb10f71 +SIZE (OpenImageDenoise-mkl-dnn-9bea36e_GH0.tar.gz) = 7191010 +SHA256 (ROCmSoftwarePlatform-composable_kernel-e85178b_GH0.tar.gz) = b870ae0dcac8083a239814fff673a83ddd5abfc477b4320af08a2232cd42849c +SIZE (ROCmSoftwarePlatform-composable_kernel-e85178b_GH0.tar.gz) = 2153311 +SHA256 (NVIDIA-cutlass-66d9cdd_GH0.tar.gz) = 8ab91c8930ad48a4012410b234c743a4df0cf270e60c52b80466da740b6c31a6 +SIZE (NVIDIA-cutlass-66d9cdd_GH0.tar.gz) = 15495942 diff --git a/graphics/oidn/files/patch-cmake_oidn__install.cmake b/graphics/oidn/files/patch-cmake_oidn__install.cmake deleted file mode 100644 index a1f931003ba3..000000000000 --- a/graphics/oidn/files/patch-cmake_oidn__install.cmake +++ /dev/null @@ -1,18 +0,0 @@ ---- cmake/oidn_install.cmake.orig 2020-09-11 17:36:51 UTC -+++ cmake/oidn_install.cmake -@@ -31,6 +31,7 @@ install(DIRECTORY include/OpenImageDenoise - ## Install documentation - ## ----------------------------------------------------------------------------- - -+if (FALSE) - install( - FILES - ${PROJECT_SOURCE_DIR}/README.md -@@ -43,6 +44,7 @@ install( - DESTINATION ${CMAKE_INSTALL_DOCDIR} - COMPONENT lib - ) -+endif() - - ## ----------------------------------------------------------------------------- - ## Install dependencies: TBB diff --git a/graphics/oidn/files/patch-common_thread.cpp b/graphics/oidn/files/patch-core_thread.cpp similarity index 82% rename from graphics/oidn/files/patch-common_thread.cpp rename to graphics/oidn/files/patch-core_thread.cpp index 8237988992ca..52360dbd8228 100644 --- a/graphics/oidn/files/patch-common_thread.cpp +++ b/graphics/oidn/files/patch-core_thread.cpp @@ -1,56 +1,56 @@ ---- common/thread.cpp.orig 2020-09-11 17:36:51 UTC -+++ common/thread.cpp +--- core/thread.cpp.orig 2023-05-24 17:03:47 UTC ++++ core/thread.cpp @@ -1,6 +1,8 @@ - // Copyright 2009-2020 Intel Corporation + // Copyright 2009 Intel Corporation // SPDX-License-Identifier: Apache-2.0 +#include + #if defined(_MSC_VER) #pragma warning (disable : 4146) // unary minus operator applied to unsigned type, result still unsigned #endif -@@ -120,7 +122,7 @@ namespace oidn { +@@ -120,7 +122,7 @@ OIDN_NAMESPACE_BEGIN OIDN_WARNING("SetThreadGroupAffinity failed"); } -#elif defined(__linux__) +#elif defined(__linux__) || defined(__FreeBSD__) - // --------------------------------------------------------------------------- + // ----------------------------------------------------------------------------------------------- // ThreadAffinity: Linux -@@ -165,7 +167,7 @@ namespace oidn { +@@ -165,7 +167,7 @@ OIDN_NAMESPACE_BEGIN for (size_t i = 0; i < threadIds.size(); ++i) { - cpu_set_t affinity; + cpuset_t affinity; CPU_ZERO(&affinity); CPU_SET(threadIds[i], &affinity); -@@ -182,7 +184,7 @@ namespace oidn { +@@ -182,7 +184,7 @@ OIDN_NAMESPACE_BEGIN const pthread_t thread = pthread_self(); // Save the current affinity - if (pthread_getaffinity_np(thread, sizeof(cpu_set_t), &oldAffinities[threadIndex]) != 0) + if (pthread_getaffinity_np(thread, sizeof(cpuset_t), &oldAffinities[threadIndex]) != 0) { OIDN_WARNING("pthread_getaffinity_np failed"); oldAffinities[threadIndex] = affinities[threadIndex]; -@@ -190,7 +192,7 @@ namespace oidn { +@@ -190,7 +192,7 @@ OIDN_NAMESPACE_BEGIN } // Set the new affinity - if (pthread_setaffinity_np(thread, sizeof(cpu_set_t), &affinities[threadIndex]) != 0) + if (pthread_setaffinity_np(thread, sizeof(cpuset_t), &affinities[threadIndex]) != 0) OIDN_WARNING("pthread_setaffinity_np failed"); } -@@ -202,7 +204,7 @@ namespace oidn { +@@ -202,7 +204,7 @@ OIDN_NAMESPACE_BEGIN const pthread_t thread = pthread_self(); // Restore the original affinity - if (pthread_setaffinity_np(thread, sizeof(cpu_set_t), &oldAffinities[threadIndex]) != 0) + if (pthread_setaffinity_np(thread, sizeof(cpuset_t), &oldAffinities[threadIndex]) != 0) OIDN_WARNING("pthread_setaffinity_np failed"); } diff --git a/graphics/oidn/files/patch-common_thread.h b/graphics/oidn/files/patch-core_thread.h similarity index 55% rename from graphics/oidn/files/patch-common_thread.h rename to graphics/oidn/files/patch-core_thread.h index b43fefae056f..826c204631e7 100644 --- a/graphics/oidn/files/patch-common_thread.h +++ b/graphics/oidn/files/patch-core_thread.h @@ -1,25 +1,22 @@ ---- common/thread.h.orig 2020-09-11 17:36:51 UTC -+++ common/thread.h -@@ -130,8 +130,10 @@ namespace oidn { - void restore(int threadIndex); +--- core/thread.h.orig 2023-05-24 17:03:47 UTC ++++ core/thread.h +@@ -130,7 +130,7 @@ OIDN_NAMESPACE_BEGIN + std::vector oldAffinities; // original thread affinities }; -#elif defined(__linux__) +#elif defined(__linux__) || defined(__FreeBSD__) -+#include -+ - // --------------------------------------------------------------------------- + // ----------------------------------------------------------------------------------------------- // ThreadAffinity: Linux - // --------------------------------------------------------------------------- -@@ -139,8 +141,8 @@ namespace oidn { - class ThreadAffinity : public Verbose - { +@@ -153,8 +153,8 @@ OIDN_NAMESPACE_BEGIN + void restore(int threadIndex); + private: - std::vector affinities; // thread affinities - std::vector oldAffinities; // original thread affinities + std::vector affinities; // thread affinities + std::vector oldAffinities; // original thread affinities + }; - public: - ThreadAffinity(int numThreadsPerCore = INT_MAX, int verbose = 0); + #elif defined(__APPLE__) diff --git a/graphics/oidn/pkg-plist b/graphics/oidn/pkg-plist index 440734b55f7d..e37adb5d91b1 100644 --- a/graphics/oidn/pkg-plist +++ b/graphics/oidn/pkg-plist @@ -1,12 +1,22 @@ %%APPS%%bin/oidnBenchmark %%APPS%%bin/oidnDenoise %%APPS%%bin/oidnTest include/OpenImageDenoise/config.h include/OpenImageDenoise/oidn.h include/OpenImageDenoise/oidn.hpp lib/cmake/OpenImageDenoise-%%VER%%/OpenImageDenoiseConfig-%%CMAKE_BUILD_TYPE%%.cmake lib/cmake/OpenImageDenoise-%%VER%%/OpenImageDenoiseConfig.cmake lib/cmake/OpenImageDenoise-%%VER%%/OpenImageDenoiseConfigVersion.cmake lib/libOpenImageDenoise.so -lib/libOpenImageDenoise.so.1 +lib/libOpenImageDenoise.so.2 lib/libOpenImageDenoise.so.%%VER%% +lib/libOpenImageDenoise_core.so.%%VER%% +lib/libOpenImageDenoise_device_cpu.so.%%VER%% +%%PORTDOCS%%%%DOCSDIR%%/CHANGELOG.md +%%PORTDOCS%%%%DOCSDIR%%/LICENSE.txt +%%PORTDOCS%%%%DOCSDIR%%/README.md +%%PORTDOCS%%%%DOCSDIR%%/readme.pdf +%%PORTDOCS%%%%DOCSDIR%%/third-party-programs-DPCPP.txt +%%PORTDOCS%%%%DOCSDIR%%/third-party-programs-oneDNN.txt +%%PORTDOCS%%%%DOCSDIR%%/third-party-programs-oneTBB.txt +%%PORTDOCS%%%%DOCSDIR%%/third-party-programs.txt