Skip to content

Vendor dynolog ipcfabric headers for the OSS CMake build (#1446)#1446

Closed
scotts wants to merge 1 commit into
pytorch:mainfrom
scotts:export-D109617574
Closed

Vendor dynolog ipcfabric headers for the OSS CMake build (#1446)#1446
scotts wants to merge 1 commit into
pytorch:mainfrom
scotts:export-D109617574

Conversation

@scotts

@scotts scotts commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Summary:

Problem — Kineto's open-source CMake build pulls dynolog in as a git submodule (libkineto/third_party/dynolog) only to obtain three header-only files from its ipcfabric IPC layer. The recursive clone, the .gitmodules entry, and the submodule machinery are heavyweight for about 540 lines of headers. On a fresh clone, the dynolog repo is about 40 MB with about 475,000 lines of source code (almost 65,000 unique, the rest generated).

Fix — Vendor the three ipcfabric headers (FabricManager.h, Endpoint.h, Utils.h) directly under libkineto/third_party/dynolog/, pinned to the previously-referenced commit d2ffe0a4, and drop the submodule. version.txt records the upstream URL and commit; vendor_dynolog.sh re-vendors the headers from a given commit. CMake consumes the headers through the existing include directories.

Differential Revision: D109617574

@meta-cla meta-cla Bot added the cla signed label Jun 25, 2026
@meta-codesync

meta-codesync Bot commented Jun 25, 2026

Copy link
Copy Markdown

@scotts has exported this pull request. If you are a Meta employee, you can view the originating Diff in D109617574.

Summary:
Pull Request resolved: pytorch#1446

**Problem** — Kineto's open-source CMake build pulls dynolog in as a git submodule (`libkineto/third_party/dynolog`) only to obtain three header-only files from its ipcfabric IPC layer. The recursive clone, the `.gitmodules` entry, and the submodule machinery are heavyweight for about 540 lines of headers. On a fresh clone, the dynolog repo is about 40 MB with about 475,000 lines of source code (almost 65,000 unique, the rest generated).

**Fix** — Vendor the three ipcfabric headers (`FabricManager.h`, `Endpoint.h`, `Utils.h`) directly under `libkineto/third_party/dynolog/`, pinned to the previously-referenced commit `d2ffe0a4`, and drop the submodule. `version.txt` records the upstream URL and commit; `vendor_dynolog.sh` re-vendors the headers from a given commit. CMake consumes the headers through the existing include directories.

Differential Revision: D109617574
@meta-codesync meta-codesync Bot changed the title Vendor dynolog ipcfabric headers for the OSS CMake build Vendor dynolog ipcfabric headers for the OSS CMake build (#1446) Jul 2, 2026
@scotts
scotts force-pushed the export-D109617574 branch from ad7eeaa to 1088aa7 Compare July 2, 2026 15:11
@meta-codesync meta-codesync Bot closed this in 0a3d723 Jul 2, 2026
@meta-codesync meta-codesync Bot added the Merged label Jul 2, 2026
@meta-codesync

meta-codesync Bot commented Jul 2, 2026

Copy link
Copy Markdown

This pull request has been merged in 0a3d723.

pytorchmergebot pushed a commit to pytorch/pytorch that referenced this pull request Jul 7, 2026
Includes the following commits:

- Add typed metadata fields for PyTorch-side metadata (pytorch/kineto#1465) 33c4075
- Migrate GenericTraceActivity to typed metadata (pytorch/kineto#1464) 7e6138a
- Add a way for people to fetch device properties as typed metadata (pytorch/kineto#1463) 2c6b742
- Move vendor_dynolog.sh into third_party/dynolog (pytorch/kineto#1466) a800919
- Vendor dynolog ipcfabric headers for the OSS CMake build (pytorch/kineto#1446) 0a3d723
- Add additional types to TypedMetadata.h and visitor classes (pytorch/kineto#1462) 30fea25
- Stop routing LOG() messages into JSON trace output (pytorch/kineto#1460) 9612d06
- Fix CQS signal modernize-deprecated-headers in fbcode/kineto/libkineto (pytorch/kineto#1461) fa98efe
- Parameterize device collective-row metadata enrichment by backend (pytorch/kineto#1444) 079e719
- Fix incorrect enum usage preventing CUPTI early-init (pytorch/kineto#1458) e31e83e
- Daily `arc lint --take CLANGFORMAT` 8edb29e
Pull Request resolved: #189104
Approved by: https://github.com/scotts
meta-codesync Bot pushed a commit that referenced this pull request Jul 10, 2026
Summary:
Pull Request resolved: #1475

pytorch/pytorch#189276 contains #1446 which removes kineto/third_party/dynolog as a submodule of Kineto. Since it's a nested submodule of pytorch/pytorch, it looks like git submodule update --init --recursive refuses to clean it up and marks the entire Kineto submodule as dirty.

We can't land the bump as is because it'll just get reverted by the backwards compat test continuing to recognize the dirty submodule. So try adding the dynolog path to .gitignore so it doesn't come up again.

Reviewed By: scotts

Differential Revision: D111291137

fbshipit-source-id: 7998b17452c07c8620b864d88e030d69e4248ff0
pytorchmergebot pushed a commit to pytorch/pytorch that referenced this pull request Jul 10, 2026
Includes the following commits:

- Close leaked /proc/self/ns/pid fd in pidNamespace() (pytorch/kineto#1474) d1b7cab
- Add old dynolog path to .gitignore (pytorch/kineto#1475) 090e757
- Test async client-interface and memory-snapshot paths (pytorch/kineto#1473) 634515a
- Fix CPU->GPU flow links via activity type, not an API-name allowlist (pytorch/kineto#1467) 0f72203
- Broaden AsyncActivityProfilerHandler test coverage (pytorch/kineto#1472) 691a148
- Add XPU to external correlation IDs excluded types (pytorch/kineto#1390) 6afebaf
- Rename vendored dynolog dir to prevent name collision (pytorch/kineto#1471) cb6e5f7
- Fix: JSON-escape double quotes in chrome-trace event names (pytorch/kineto#1459) eba157a
- Pull shared test helpers into the test-utils namespace (pytorch/kineto#1470) 332e2ed
- Fix CQS signal modernize-use-integer-sign-comparison in fbcode/kineto/libkineto (pytorch/kineto#1469) b2fd708
- Consolidate createTempTraceFile into a RAII util (pytorch/kineto#1468) d3345f4
- Add typed metadata fields for PyTorch-side metadata (pytorch/kineto#1465) 33c4075
- Migrate GenericTraceActivity to typed metadata (pytorch/kineto#1464) 7e6138a
- Add a way for people to fetch device properties as typed metadata (pytorch/kineto#1463) 2c6b742
- Move vendor_dynolog.sh into third_party/dynolog (pytorch/kineto#1466) a800919
- Vendor dynolog ipcfabric headers for the OSS CMake build (pytorch/kineto#1446) 0a3d723
- Add additional types to TypedMetadata.h and visitor classes (pytorch/kineto#1462) 30fea25
- Stop routing LOG() messages into JSON trace output (pytorch/kineto#1460) 9612d06
- Fix CQS signal modernize-deprecated-headers in fbcode/kineto/libkineto (pytorch/kineto#1461) fa98efe
- Parameterize device collective-row metadata enrichment by backend (pytorch/kineto#1444) 079e719
- Fix incorrect enum usage preventing CUPTI early-init (pytorch/kineto#1458) e31e83e
- Daily `arc lint --take CLANGFORMAT` 8edb29e
Pull Request resolved: #189542
Approved by: https://github.com/scotts, https://github.com/Skylion007
ValerianRey pushed a commit to ValerianRey/pytorch that referenced this pull request Jul 10, 2026
Includes the following commits:

- Close leaked /proc/self/ns/pid fd in pidNamespace() (pytorch/kineto#1474) d1b7cab
- Add old dynolog path to .gitignore (pytorch/kineto#1475) 090e757
- Test async client-interface and memory-snapshot paths (pytorch/kineto#1473) 634515a
- Fix CPU->GPU flow links via activity type, not an API-name allowlist (pytorch/kineto#1467) 0f72203
- Broaden AsyncActivityProfilerHandler test coverage (pytorch/kineto#1472) 691a148
- Add XPU to external correlation IDs excluded types (pytorch/kineto#1390) 6afebaf
- Rename vendored dynolog dir to prevent name collision (pytorch/kineto#1471) cb6e5f7
- Fix: JSON-escape double quotes in chrome-trace event names (pytorch/kineto#1459) eba157a
- Pull shared test helpers into the test-utils namespace (pytorch/kineto#1470) 332e2ed
- Fix CQS signal modernize-use-integer-sign-comparison in fbcode/kineto/libkineto (pytorch/kineto#1469) b2fd708
- Consolidate createTempTraceFile into a RAII util (pytorch/kineto#1468) d3345f4
- Add typed metadata fields for PyTorch-side metadata (pytorch/kineto#1465) 33c4075
- Migrate GenericTraceActivity to typed metadata (pytorch/kineto#1464) 7e6138a
- Add a way for people to fetch device properties as typed metadata (pytorch/kineto#1463) 2c6b742
- Move vendor_dynolog.sh into third_party/dynolog (pytorch/kineto#1466) a800919
- Vendor dynolog ipcfabric headers for the OSS CMake build (pytorch/kineto#1446) 0a3d723
- Add additional types to TypedMetadata.h and visitor classes (pytorch/kineto#1462) 30fea25
- Stop routing LOG() messages into JSON trace output (pytorch/kineto#1460) 9612d06
- Fix CQS signal modernize-deprecated-headers in fbcode/kineto/libkineto (pytorch/kineto#1461) fa98efe
- Parameterize device collective-row metadata enrichment by backend (pytorch/kineto#1444) 079e719
- Fix incorrect enum usage preventing CUPTI early-init (pytorch/kineto#1458) e31e83e
- Daily `arc lint --take CLANGFORMAT` 8edb29e
Pull Request resolved: pytorch#189542
Approved by: https://github.com/scotts, https://github.com/Skylion007
vishalgoyal316 pushed a commit to vishalgoyal316/pytorch that referenced this pull request Jul 16, 2026
Includes the following commits:

- Add typed metadata fields for PyTorch-side metadata (pytorch/kineto#1465) 33c4075
- Migrate GenericTraceActivity to typed metadata (pytorch/kineto#1464) 7e6138a
- Add a way for people to fetch device properties as typed metadata (pytorch/kineto#1463) 2c6b742
- Move vendor_dynolog.sh into third_party/dynolog (pytorch/kineto#1466) a800919
- Vendor dynolog ipcfabric headers for the OSS CMake build (pytorch/kineto#1446) 0a3d723
- Add additional types to TypedMetadata.h and visitor classes (pytorch/kineto#1462) 30fea25
- Stop routing LOG() messages into JSON trace output (pytorch/kineto#1460) 9612d06
- Fix CQS signal modernize-deprecated-headers in fbcode/kineto/libkineto (pytorch/kineto#1461) fa98efe
- Parameterize device collective-row metadata enrichment by backend (pytorch/kineto#1444) 079e719
- Fix incorrect enum usage preventing CUPTI early-init (pytorch/kineto#1458) e31e83e
- Daily `arc lint --take CLANGFORMAT` 8edb29e
Pull Request resolved: pytorch#189104
Approved by: https://github.com/scotts
vishalgoyal316 pushed a commit to vishalgoyal316/pytorch that referenced this pull request Jul 16, 2026
Includes the following commits:

- Close leaked /proc/self/ns/pid fd in pidNamespace() (pytorch/kineto#1474) d1b7cab
- Add old dynolog path to .gitignore (pytorch/kineto#1475) 090e757
- Test async client-interface and memory-snapshot paths (pytorch/kineto#1473) 634515a
- Fix CPU->GPU flow links via activity type, not an API-name allowlist (pytorch/kineto#1467) 0f72203
- Broaden AsyncActivityProfilerHandler test coverage (pytorch/kineto#1472) 691a148
- Add XPU to external correlation IDs excluded types (pytorch/kineto#1390) 6afebaf
- Rename vendored dynolog dir to prevent name collision (pytorch/kineto#1471) cb6e5f7
- Fix: JSON-escape double quotes in chrome-trace event names (pytorch/kineto#1459) eba157a
- Pull shared test helpers into the test-utils namespace (pytorch/kineto#1470) 332e2ed
- Fix CQS signal modernize-use-integer-sign-comparison in fbcode/kineto/libkineto (pytorch/kineto#1469) b2fd708
- Consolidate createTempTraceFile into a RAII util (pytorch/kineto#1468) d3345f4
- Add typed metadata fields for PyTorch-side metadata (pytorch/kineto#1465) 33c4075
- Migrate GenericTraceActivity to typed metadata (pytorch/kineto#1464) 7e6138a
- Add a way for people to fetch device properties as typed metadata (pytorch/kineto#1463) 2c6b742
- Move vendor_dynolog.sh into third_party/dynolog (pytorch/kineto#1466) a800919
- Vendor dynolog ipcfabric headers for the OSS CMake build (pytorch/kineto#1446) 0a3d723
- Add additional types to TypedMetadata.h and visitor classes (pytorch/kineto#1462) 30fea25
- Stop routing LOG() messages into JSON trace output (pytorch/kineto#1460) 9612d06
- Fix CQS signal modernize-deprecated-headers in fbcode/kineto/libkineto (pytorch/kineto#1461) fa98efe
- Parameterize device collective-row metadata enrichment by backend (pytorch/kineto#1444) 079e719
- Fix incorrect enum usage preventing CUPTI early-init (pytorch/kineto#1458) e31e83e
- Daily `arc lint --take CLANGFORMAT` 8edb29e
Pull Request resolved: pytorch#189542
Approved by: https://github.com/scotts, https://github.com/Skylion007
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant