From 9a2208a30e7cc16e0c83b50e4c69529634d9109a Mon Sep 17 00:00:00 2001 From: Michal Shalev Date: Wed, 26 Aug 2026 07:04:46 -0700 Subject: [PATCH 1/2] TEST/GTEST: Add SGL variants of the UCX transfer gtests --- test/gtest/common.h | 18 ++++++++++++++++++ test/gtest/test_transfer.cpp | 17 +++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/test/gtest/common.h b/test/gtest/common.h index 8f7a53e0c0..65b3742281 100644 --- a/test/gtest/common.h +++ b/test/gtest/common.h @@ -177,6 +177,7 @@ struct nixlTestParam { unsigned numWorkers; unsigned numThreads; std::string engineConfig; + bool sglEnabled = false; }; using nixl_test_t = testing::TestWithParam; @@ -196,4 +197,21 @@ using nixl_test_t = testing::TestWithParam; testing::ValuesIn(std::vector( \ {{_backend, _progress_thread_enabled, _num_workers, _num_threads, _engine_config}}))); +#define NIXL_INSTANTIATE_TEST_SGL(_test_name, \ + _test_case, \ + _backend, \ + _progress_thread_enabled, \ + _num_workers, \ + _num_threads, \ + _engine_config) \ + INSTANTIATE_TEST_SUITE_P( \ + _test_name, \ + _test_case, \ + testing::ValuesIn(std::vector({{_backend, \ + _progress_thread_enabled, \ + _num_workers, \ + _num_threads, \ + _engine_config, \ + true}}))); + #endif /* TEST_GTEST_COMMON_H */ diff --git a/test/gtest/test_transfer.cpp b/test/gtest/test_transfer.cpp index 6dbdc3b877..0bbf643f8b 100644 --- a/test/gtest/test_transfer.cpp +++ b/test/gtest/test_transfer.cpp @@ -155,6 +155,10 @@ class TestTransfer : public nixl_test_t { // Disabling Telemetry until the corresponding test env.addVar("NIXL_TELEMETRY_ENABLE", "n"); + if (isSglEnabled()) { + env.addVar("NIXL_UCX_SGL_ENABLE", "y"); + } + // Create two agents for (size_t i = 0; i < 2; i++) { addAgent(i); @@ -186,6 +190,11 @@ class TestTransfer : public nixl_test_t { return GetParam().numThreads; } + bool + isSglEnabled() const { + return GetParam().sglEnabled; + } + nixl_opt_args_t extra_params_ip(int remote) { nixl_opt_args_t extra_params; @@ -692,6 +701,14 @@ NIXL_INSTANTIATE_TEST(ucx_no_pt, TestTransfer, "UCX", false, 2, 0, ""); NIXL_INSTANTIATE_TEST(ucx_threadpool, TestTransfer, "UCX", true, 6, 4, ""); NIXL_INSTANTIATE_TEST(ucx_threadpool_no_pt, TestTransfer, "UCX", false, 6, 4, ""); +#ifdef HAVE_UCX_SGL_API + +NIXL_INSTANTIATE_TEST_SGL(ucx_sgl, TestTransfer, "UCX", true, 2, 0, ""); +NIXL_INSTANTIATE_TEST_SGL(ucx_sgl_no_pt, TestTransfer, "UCX", false, 2, 0, ""); +NIXL_INSTANTIATE_TEST_SGL(ucx_sgl_threadpool, TestTransfer, "UCX", true, 6, 4, ""); +NIXL_INSTANTIATE_TEST_SGL(ucx_sgl_threadpool_no_pt, TestTransfer, "UCX", false, 6, 4, ""); +#endif + NIXL_INSTANTIATE_TEST(ucx_telemetry, TestTransferTelemetry, "UCX", true, 2, 0, ""); NIXL_INSTANTIATE_TEST(ucx_telemetry_no_pt, TestTransferTelemetry, "UCX", false, 2, 0, ""); NIXL_INSTANTIATE_TEST(ucx_telemetry_threadpool, TestTransferTelemetry, "UCX", true, 6, 4, ""); From d94ac060e71dc6988dd4ade10b19f387712ee634 Mon Sep 17 00:00:00 2001 From: Michal Shalev Date: Tue, 3 Nov 2026 00:13:06 -0800 Subject: [PATCH 2/2] GTEST: Explicitly set NIXL_UCX_SGL_ENABLE in all variants Signed-off-by: Michal Shalev --- test/gtest/test_transfer.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/test/gtest/test_transfer.cpp b/test/gtest/test_transfer.cpp index bf9fe7cae8..0164d79cf2 100644 --- a/test/gtest/test_transfer.cpp +++ b/test/gtest/test_transfer.cpp @@ -156,9 +156,7 @@ class TestTransfer : public nixl_test_t { // Disabling Telemetry until the corresponding test env.addVar("NIXL_TELEMETRY_ENABLE", "n"); - if (isSglEnabled()) { - env.addVar("NIXL_UCX_SGL_ENABLE", "y"); - } + env.addVar("NIXL_UCX_SGL_ENABLE", isSglEnabled() ? "y" : "n"); if (getBackendName() == "MOONCAKE") { // TCP loopback on host memory: CI hosts may expose RDMA devices the