From 879180119a5839d1fcf294c0e71b154f1f1ba966 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Plewa?= Date: Fri, 9 May 2025 14:43:06 +0000 Subject: [PATCH 1/4] retrieve numanode object by os index instead of logical index. physical_id field stores os index, so we should use correct function to get hwloc numanode object. fixes: #1289 --- src/memtargets/memtarget_numa.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/memtargets/memtarget_numa.c b/src/memtargets/memtarget_numa.c index 88d8ac2a4..082e5eaa6 100644 --- a/src/memtargets/memtarget_numa.c +++ b/src/memtargets/memtarget_numa.c @@ -263,17 +263,15 @@ static umf_result_t query_attribute_value(void *srcMemoryTarget, return UMF_RESULT_ERROR_NOT_SUPPORTED; } - hwloc_obj_t srcNumaNode = hwloc_get_obj_by_type( - topology, HWLOC_OBJ_NUMANODE, - ((struct numa_memtarget_t *)srcMemoryTarget)->physical_id); + hwloc_obj_t srcNumaNode = hwloc_get_numanode_obj_by_os_index( + topology, ((struct numa_memtarget_t *)srcMemoryTarget)->physical_id); if (!srcNumaNode) { LOG_PERR("Getting HWLOC object by type failed"); return UMF_RESULT_ERROR_INVALID_ARGUMENT; } - hwloc_obj_t dstNumaNode = hwloc_get_obj_by_type( - topology, HWLOC_OBJ_NUMANODE, - ((struct numa_memtarget_t *)dstMemoryTarget)->physical_id); + hwloc_obj_t dstNumaNode = hwloc_get_numanode_obj_by_os_index( + topology, ((struct numa_memtarget_t *)dstMemoryTarget)->physical_id); if (!dstNumaNode) { LOG_PERR("Getting HWLOC object by type failed"); return UMF_RESULT_ERROR_INVALID_ARGUMENT; From a7945ea5114de31cb9c3613be954c46d9939d323 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Stolarczuk?= Date: Mon, 12 May 2025 14:33:55 +0200 Subject: [PATCH 2/4] 0.11.2 release --- ChangeLog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index 6a7c63faa..c12e01f37 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon May 12 2025 Łukasz Stolarczuk + + * Version 0.11.2 + + This patch release contains following changes: + - retrieve numanode object by os index instead of logical index (#1309) + Thu May 08 2025 Łukasz Stolarczuk * Version 0.11.1 From 7161e19faaf5de0709a7294c0610043635449047 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Stolarczuk?= Date: Mon, 12 May 2025 16:32:05 +0200 Subject: [PATCH 3/4] [CI] Use extra param to set CUDA_PATH in gpu workflow Rather instead of hard-coding a path specific machine, use env var available in the system. --- .github/workflows/reusable_gpu.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable_gpu.yml b/.github/workflows/reusable_gpu.yml index 6fcd40820..21033a5c3 100644 --- a/.github/workflows/reusable_gpu.yml +++ b/.github/workflows/reusable_gpu.yml @@ -35,7 +35,6 @@ jobs: name: "${{matrix.os}}, ${{matrix.build_type}}, shared=${{matrix.shared_library}}" env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows;" - CUDA_PATH: "C:/cuda" COVERAGE_NAME : "exports-coverage-${{inputs.name}}" # run only on upstream; forks will not have the HW if: github.repository == 'oneapi-src/unified-memory-framework' @@ -52,6 +51,7 @@ jobs: - os: 'Windows' compiler: {c: cl, cxx: cl} number_of_processors: '$Env:NUMBER_OF_PROCESSORS' + extra_cmake_path: '$Env:CUDA_PATH' runs-on: ["DSS-${{inputs.name}}", "DSS-${{matrix.os}}"] steps: @@ -81,7 +81,7 @@ jobs: - name: Configure build run: > cmake - -DCMAKE_PREFIX_PATH="${{env.VCPKG_PATH}}${{env.CUDA_PATH}}" + -DCMAKE_PREFIX_PATH="${{env.VCPKG_PATH}};${{matrix.extra_cmake_path}}" -B ${{env.BUILD_DIR}} -DCMAKE_INSTALL_PREFIX="${{env.INSTL_DIR}}" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} From 20f5105489b67fdf9e1aa03a50f01c5a84f0ee8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Stolarczuk?= Date: Tue, 13 May 2025 14:21:51 +0200 Subject: [PATCH 4/4] [CI] Fix passing extra params in Win gpu workflow --- .github/workflows/reusable_gpu.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable_gpu.yml b/.github/workflows/reusable_gpu.yml index f45681098..4fbb5a53a 100644 --- a/.github/workflows/reusable_gpu.yml +++ b/.github/workflows/reusable_gpu.yml @@ -55,10 +55,10 @@ jobs: - name: "[Win] Establish build params" if : ${{ matrix.os == 'Windows' }} run: | - echo "C_COMPILER=cl" >> $GITHUB_ENV - echo "CXX_COMPILER=cl" >> $GITHUB_ENV - echo "PROCS=$Env:NUMBER_OF_PROCESSORS" >> $GITHUB_ENV - echo "EXTRA_CMAKE_PATH=$Env:CUDA_PATH" >> $GITHUB_ENV + echo "C_COMPILER=cl" >> $env:GITHUB_ENV + echo "CXX_COMPILER=cl" >> $env:GITHUB_ENV + echo "PROCS=$Env:NUMBER_OF_PROCESSORS" >> $env:GITHUB_ENV + echo "EXTRA_CMAKE_PATH=$Env:CUDA_PATH" >> $env:GITHUB_ENV - name: "[Lin] Establish build params" if : ${{ matrix.os == 'Ubuntu' }}