Skip to content

Commit 4f6622c

Browse files
authored
DAOS-16935 cart: add D_MEM_DEVICE and cio_mem_device init option (#15937)
This enables the detection and use of memory devices for RMA transfers Clean up cart init info print Consolidate parsing of cart init options Signed-off-by: Jerome Soumagne <[email protected]>
1 parent b7f602d commit 4f6622c

File tree

5 files changed

+258
-297
lines changed

5 files changed

+258
-297
lines changed

src/cart/README.env

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,3 +226,8 @@ This file lists the environment variables used in CaRT.
226226
D_PROGRESS_BUSY
227227
Force busy polling when progressing, preventing from sleeping when waiting for
228228
new messages.
229+
230+
D_MEM_DEVICE
231+
Enable detection and use of memory devices (GPU, etc) to perform RMA transfers to/from.
232+
Be wary of potential performance impacts if this variable is set and memory devices
233+
are not used.

src/cart/crt_hg.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* (C) Copyright 2016-2024 Intel Corporation.
33
* (C) Copyright 2025 Google LLC
4-
* (C) Copyright 2025 Hewlett Packard Enterprise Development LP
4+
* (C) Copyright 2025-2026 Hewlett Packard Enterprise Development LP
55
*
66
* SPDX-License-Identifier: BSD-2-Clause-Patent
77
*/
@@ -846,7 +846,7 @@ crt_hg_class_init(crt_provider_t provider, int ctx_idx, bool primary, int iface_
846846

847847
init_info.na_init_info.auth_key = prov_data->cpg_na_config.noc_auth_key;
848848

849-
if (crt_provider_is_block_mode(provider) && !prov_data->cpg_progress_busy)
849+
if (crt_provider_is_block_mode(provider) && !crt_gdata.cg_progress_busy)
850850
init_info.na_init_info.progress_mode = 0;
851851
else
852852
init_info.na_init_info.progress_mode = NA_NO_BLOCK;
@@ -872,6 +872,7 @@ crt_hg_class_init(crt_provider_t provider, int ctx_idx, bool primary, int iface_
872872
init_info.traffic_class = (enum na_traffic_class)crt_gdata.cg_swim_tc;
873873
if (thread_mode_single)
874874
init_info.na_init_info.thread_mode = NA_THREAD_MODE_SINGLE;
875+
init_info.na_init_info.request_mem_device = crt_gdata.cg_mem_device;
875876
retry:
876877
hg_class = HG_Init_opt2(info_string, crt_is_service(), HG_VERSION(2, 4), &init_info);
877878
if (hg_class == NULL) {

0 commit comments

Comments
 (0)