Skip to content

UCT/IB: Add auto to the list of DEVX objects#11365

Closed
tvegas1 wants to merge 1 commit intoopenucx:masterfrom
tvegas1:devx_obj_auto
Closed

UCT/IB: Add auto to the list of DEVX objects#11365
tvegas1 wants to merge 1 commit intoopenucx:masterfrom
tvegas1:devx_obj_auto

Conversation

@tvegas1
Copy link
Copy Markdown
Contributor

@tvegas1 tvegas1 commented Apr 20, 2026

What?

Add auto to the list of DEVX objects. This configuration is used on Grace primarily (#11010).

Why?

Fixes parser issue:

parser.c:1375 UCX  ERROR Invalid value for MLX5_DEVX_OBJECTS: 'auto'. Expected: comma-separated list of: [rcqp|rcsrq|dct|dcsrq|dci|cq]
uct_md.c:272  UCX  ERROR Failed to read MD config

@tvegas1 tvegas1 requested review from roiedanino and yosefe April 20, 2026 07:21
Comment thread src/uct/ib/base/ib_md.c
Comment on lines -144 to 147
{"MLX5_DEVX_OBJECTS", "rcqp,rcsrq,dct,dcsrq,dci,cq",
{"MLX5_DEVX_OBJECTS", "rcqp,rcsrq,dct,dcsrq,dci,cq,auto",
"Objects to be created by DEVX\n",
ucs_offsetof(uct_ib_md_config_t, devx_objs),
UCS_CONFIG_TYPE_BITMAP(uct_ib_devx_objs)},
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we can extend the config type to accept auto? Or create a dedicated config type for that?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIU it is already added in #11010, just that parser did not allow it.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, what I meant was that CONFIG_TYPE_BITMAP or CONFIG_TYPE_BITMAP_AUTO will allow auto value under the hood, so there will be no need to list it as a devx object; the config type will imply it.

Copy link
Copy Markdown
Contributor

@guy-ealey-morag guy-ealey-morag Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like "auto" is just one of the bitmap values so why treat it differently in the parser?

static const char *uct_ib_devx_objs[] = {
    [UCT_IB_DEVX_OBJ_RCQP]  = "rcqp",
    [UCT_IB_DEVX_OBJ_RCSRQ] = "rcsrq",
    [UCT_IB_DEVX_OBJ_DCT]   = "dct",
    [UCT_IB_DEVX_OBJ_DCSRQ] = "dcsrq",
    [UCT_IB_DEVX_OBJ_DCI]   = "dci",
    [UCT_IB_DEVX_OBJ_CQ]    = "cq",
    [UCT_IB_DEVX_OBJ_AUTO]  = "auto",
    NULL
};

The only thing I can suggest is to have a parser that checks directly with the values of uct_ib_devx_objs instead of the currently separate values string "rcqp,rcsrq,dct,dcsrq,dci,cq,auto"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wait, need to rework that pr.

@tvegas1
Copy link
Copy Markdown
Contributor Author

tvegas1 commented Apr 20, 2026

modified list in this PR is actually the default flag list. it does not make sense to add auto here, original issue is actually a setup issue where a ucx.conf with auto is used with older library.

@tvegas1 tvegas1 closed this Apr 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants