diff --git a/lang/intel-compute-runtime/Makefile b/lang/intel-compute-runtime/Makefile index 5132716265ed..eb297e702226 100644 --- a/lang/intel-compute-runtime/Makefile +++ b/lang/intel-compute-runtime/Makefile @@ -1,64 +1,64 @@ PORTNAME= compute-runtime -DISTVERSION= 21.42.21270 +DISTVERSION= 21.43.21438 CATEGORIES= lang PKGNAMEPREFIX= intel- PKGNAMESUFFIX= -${FLAVOR} PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ -PATCHFILES+= 2a74c265d6c5.patch:-p1 # https://github.com/intel/compute-runtime/pull/361 +PATCHFILES+= bb6ed003e8cd.patch:-p1 # https://github.com/intel/compute-runtime/pull/361 MAINTAINER= jbeich@FreeBSD.org COMMENT= OpenCL implementation for Intel HD 5000 (Gen8) or newer LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.md ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON= only Intel GPUs on x86 are supported LIB_DEPENDS= libigc.so:devel/intel-graphics-compiler@${FLAVOR} \ libigdgmm.so:multimedia/gmmlib FLAVORS= ${12 11:L:S/^/llvm/} CONFLICTS_INSTALL= ${PORTNAME}-* USES= cmake compiler:c++17-lang localbase:ldflags pkgconfig USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= intel CMAKE_ON= RELEASE_WITH_REGKEYS SKIP_UNIT_TESTS SUPPORT_DG1 CMAKE_ARGS= -DNEO_OCL_DRIVER_VERSION:STRING="${DISTVERSIONFULL}" PLIST_FILES= bin/ocloc \ etc/OpenCL/vendors/intel.icd \ include/ocloc_api.h \ lib/intel-opencl/libigdrcl.so \ lib/libocloc.so \ ${NULL} OPTIONS_DEFINE= L0 VAAPI OPTIONS_DEFAULT=L0 VAAPI L0_DESC= oneAPI Level Zero support L0_BUILD_DEPENDS= level-zero>=1.0:devel/level-zero L0_CMAKE_BOOL= BUILD_WITH_L0 L0_CMAKE_ON= -DNEO_VERSION_BUILD:STRING="0" L0_PLIST_FILES= lib/libze_intel_gpu.so.1 \ lib/libze_intel_gpu.so.1.2.0 VAAPI_BUILD_DEPENDS= ${LOCALBASE}/include/va/va.h:multimedia/libva VAAPI_CMAKE_BOOL_OFF= DISABLE_LIBVA post-patch: @${REINPLACE_CMD} -e '/-Werror/d' \ -e '/FORCE_RESPONSE_FILE/d' \ ${WRKSRC}/CMakeLists.txt @${REINPLACE_CMD} -e '/OCL_ICD_VENDORDIR/s,/etc,${PREFIX}&,' \ ${WRKSRC}/package.cmake post-install: # install/strip has no effect on install(FILES), so strip manually ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/* ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/intel-opencl/*.so .include diff --git a/lang/intel-compute-runtime/distinfo b/lang/intel-compute-runtime/distinfo index 6bc16648a361..00c60ace7fd8 100644 --- a/lang/intel-compute-runtime/distinfo +++ b/lang/intel-compute-runtime/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1633955962 -SHA256 (intel-compute-runtime-21.42.21270_GH0.tar.gz) = cf7340e43a1574ad23a76034ae731b992a9430e09397a3376bb473a13ebdc33e -SIZE (intel-compute-runtime-21.42.21270_GH0.tar.gz) = 4761371 -SHA256 (2a74c265d6c5.patch) = aa0aaa53a73bb03e9938878614c3f8eed7339869a6383602a2a574a151ab5f71 -SIZE (2a74c265d6c5.patch) = 1691 +TIMESTAMP = 1634925595 +SHA256 (intel-compute-runtime-21.43.21438_GH0.tar.gz) = 33a4626aeeb52444ec05e64cc16d3b97c878cfc5f7687f6380869a60f55376f3 +SIZE (intel-compute-runtime-21.43.21438_GH0.tar.gz) = 4840204 +SHA256 (bb6ed003e8cd.patch) = 4448bc9d85e0925325d4c38a9d07011f4bffc93518282b8c48c6e81b4a9ec384 +SIZE (bb6ed003e8cd.patch) = 1737 diff --git a/lang/intel-compute-runtime/files/patch-no-perf b/lang/intel-compute-runtime/files/patch-no-perf index b41ffa6c4826..04729eaa066a 100644 --- a/lang/intel-compute-runtime/files/patch-no-perf +++ b/lang/intel-compute-runtime/files/patch-no-perf @@ -1,70 +1,71 @@ Limit PMU counters to Linux In file included from level_zero/tools/source/sysman/linux/os_sysman_imp.cpp:8: In file included from level_zero/tools/source/sysman/linux/os_sysman_imp.h:16: level_zero/tools/source/sysman/linux/pmu/pmu_imp.h:12:10: fatal error: 'linux/perf_event.h' file not found #include ^~~~~~~~~~~~~~~~~~~~ --- level_zero/tools/source/sysman/engine/linux/os_engine_imp.cpp.orig 2021-03-24 20:23:19 UTC +++ level_zero/tools/source/sysman/engine/linux/os_engine_imp.cpp @@ -49,9 +49,11 @@ ze_result_t LinuxEngineImp::getActivity(zes_engine_sta return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE; } uint64_t data[2] = {}; +#ifdef __linux__ if (pPmuInterface->pmuRead(static_cast(fd), data, sizeof(data)) < 0) { return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE; } +#endif // In data[], First u64 is "active time", And second u64 is "timestamp". Both in nanoseconds pStats->activeTime = data[0] / microSecondsToNanoSeconds; pStats->timestamp = data[1] / microSecondsToNanoSeconds; @@ -66,9 +68,11 @@ ze_result_t LinuxEngineImp::getProperties(zes_engine_p } void LinuxEngineImp::init() { +#ifdef __linux auto i915EngineClass = engineToI915Map.find(engineGroup); // I915_PMU_ENGINE_BUSY macro provides the perf type config which we want to listen to get the engine busyness. fd = pPmuInterface->pmuInterfaceOpen(I915_PMU_ENGINE_BUSY(i915EngineClass->second, engineInstance), -1, PERF_FORMAT_TOTAL_TIME_ENABLED); +#endif } LinuxEngineImp::LinuxEngineImp(OsSysman *pOsSysman, zes_engine_group_t type, uint32_t engineInstance) : engineGroup(type), engineInstance(engineInstance) { ---- level_zero/tools/source/sysman/linux/os_sysman_imp.cpp.orig 2021-10-01 16:31:56 UTC +--- level_zero/tools/source/sysman/linux/os_sysman_imp.cpp.orig 2021-10-22 17:59:55 UTC +++ level_zero/tools/source/sysman/linux/os_sysman_imp.cpp -@@ -45,8 +45,10 @@ ze_result_t LinuxSysmanImp::init() { +@@ -47,9 +47,11 @@ ze_result_t LinuxSysmanImp::init() { auto rootPciPathOfGpuDevice = getPciRootPortDirectoryPath(realRootPath); PlatformMonitoringTech::create(pParentSysmanDeviceImp->deviceHandles, pFsAccess, rootPciPathOfGpuDevice, mapOfSubDeviceIdToPmtObject); +#ifdef __linux__ pPmuInterface = PmuInterface::create(this); + DEBUG_BREAK_IF(nullptr == pPmuInterface); +#endif - - return ZE_RESULT_SUCCESS; - } + auto loc = realRootPath.find_last_of('/'); + std::string pciBDF = realRootPath.substr(loc + 1, std::string::npos); + pFwUtilInterface = FirmwareUtil::create(pciBDF); --- level_zero/tools/source/sysman/linux/os_sysman_imp.h.orig 2021-10-01 16:31:56 UTC +++ level_zero/tools/source/sysman/linux/os_sysman_imp.h @@ -14,7 +14,9 @@ #include "level_zero/tools/source/sysman/linux/firmware_util/firmware_util.h" #include "level_zero/tools/source/sysman/linux/fs_access.h" #include "level_zero/tools/source/sysman/linux/pmt/pmt.h" +#ifdef __linux__ #include "level_zero/tools/source/sysman/linux/pmu/pmu_imp.h" +#endif #include "level_zero/tools/source/sysman/sysman_imp.h" #include --- level_zero/tools/source/sysman/linux/pmu/CMakeLists.txt.orig 2020-09-11 07:53:58 UTC +++ level_zero/tools/source/sysman/linux/pmu/CMakeLists.txt @@ -9,7 +9,7 @@ set(L0_SRCS_TOOLS_SYSMAN_LINUX_PMU ${CMAKE_CURRENT_SOURCE_DIR}/pmu_imp.h ${CMAKE_CURRENT_SOURCE_DIR}/pmu.h ) -if(UNIX) +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") target_sources(${L0_STATIC_LIB_NAME} PRIVATE ${L0_SRCS_TOOLS_SYSMAN_LINUX_PMU}