Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(rdma): constrain C linkage to init #591

Closed
wants to merge 1 commit into from

Conversation

@aws-nslick aws-nslick requested a review from a team as a code owner September 12, 2024 00:17
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Sep 12, 2024
stack-info: PR: aws#591, branch: aws-nslick/stack/32
@aws-nslick aws-nslick changed the base branch from aws-nslick/stack/30 to master September 12, 2024 00:56
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 1, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 1, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 1, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 1, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 1, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 2, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 3, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
aws-nslick added a commit to aws-nslick/nccl-net-ofi that referenced this pull request Oct 4, 2024
On builds where lttng is enabled, the inclusion of nccl_ofi_tracepoint.h
pulls in <lttng/ust-utils.h>, which defines templates when __cplusplus
is defined. Those templates cannot have C linkage.

This file does not really need nccl_ofi_tracepoint.h; it only needs
config.h to test for whether NVTX tracing is enabled and nvtx3 headers
for conditionally defining the nvtx domain handles.

It's also simultaneously true that the large majority of these headers
are consumed only by rdma.c, so another option is to just move the guard
down to where it's actually required.

stack-info: PR: aws#591, branch: aws-nslick/stack/32
Signed-off-by: Nicholas Sielicki <nslick@amazon.com>
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.

2 participants