[PR #72] Added support for MCDM and GPU-PV through the DXCore API #99

Open
opened 2026-10-26 22:24:33 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/comfy-aimdo/pull/72
Author: @lihaoyun6
Created: 7/8/2026
Status: 🔄 Open

Base: master ← Head: master


📝 Commits (10+)

  • 5dc1cfc Added support for MCDM and GPU-PV through the dxcore.lib
  • a88c675 Implementing pure C references using custom C header file
  • 3fd1b1b Improved WDDM fallback
  • d327bdb Merge remote-tracking branch 'upstream/master'
  • d8dfadc Merge branch 'Comfy-Org:master' into master
  • b77a5e3 Update model-vbar.c
  • c80484b Revert "Update model-vbar.c"
  • 30eafb7 Merge branch 'Comfy-Org:master' into master
  • fd61197 Merge remote-tracking branch 'upstream/master'
  • ea37353 Merge branch 'Comfy-Org:master' into master

📊 Changes

5 files changed (+209 additions, -24 deletions)

View changed files

📝 .github/workflows/build-wheels.yml (+1 -1)
📝 .github/workflows/cla.yml (+4 -9)
➕ src-win/dxcore_c.h (+111 -0)
📝 src-win/shmem-detect.c (+92 -13)
📝 src/plat.h (+1 -1)

📄 Description

Contribution Agreement

  • I agree that my contributions are licensed under the GPLv3.
  • I grant Comfy Org the rights to relicense these contributions as outlined in CONTRIBUTING.md.

By introducing Microsoft's DXCore API, more modern computing device models can be supported, such as MCDM and GPU-PV.

After applying this patch, I can now load aimdo on my A100 (running in MCDM mode) and enable new features such as dynamic vram and multi-threaded loading.

DXCore can only be called via C++. After applying this patch, this project will depend on the MSVC++ runtime!
Maybe we can use the /MT compiler parameter to avoid this, and dxcore.lib also needs to be added to the compilation command in workflow:

cl.exe /LD /MT /O2 ^
  src/*.c src-cuda/dispatch.c src-win/*.c src-win/shmem-detect.cpp ^
  /Isrc /Isrc-win /IC:/Detours/include /FIcompiler.h /Fe:comfy_aimdo/aimdo.dll ^
  /link /LIBPATH:%DETOURS_LIB_DIR% ^
  dxgi.lib dxguid.lib detours.lib onecore.lib dxcore.lib
cl.exe /LD /MT /O2 /D__HIP_PLATFORM_AMD__ ^
  src/*.c src-hip/dispatch.c src-win/*.c src-win/shmem-detect.cpp ^
  /Isrc /Isrc-win /IC:/Detours/include /FIcompiler.h /Fe:comfy_aimdo/aimdo_rocm.dll ^
  /link /LIBPATH:%DETOURS_LIB_DIR% ^
  dxgi.lib dxguid.lib detours.lib onecore.lib dxcore.lib

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/comfy-aimdo/pull/72 **Author:** [@lihaoyun6](https://github.com/lihaoyun6) **Created:** 7/8/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (10+) - [`5dc1cfc`](https://github.com/Comfy-Org/comfy-aimdo/commit/5dc1cfcefe4f7dc6ead10f1cb5ea904ba14be447) Added support for MCDM and GPU-PV through the dxcore.lib - [`a88c675`](https://github.com/Comfy-Org/comfy-aimdo/commit/a88c675fd8eb1c2e6b735336d0428bd2e7a20d9b) Implementing pure C references using custom C header file - [`3fd1b1b`](https://github.com/Comfy-Org/comfy-aimdo/commit/3fd1b1ba14345a23b77695d207ca180a7f370a0b) Improved WDDM fallback - [`d327bdb`](https://github.com/Comfy-Org/comfy-aimdo/commit/d327bdb31f12e40544a7a79a5c3fa19108650661) Merge remote-tracking branch 'upstream/master' - [`d8dfadc`](https://github.com/Comfy-Org/comfy-aimdo/commit/d8dfadca6dc49fc60195516dc830d205ab83fc45) Merge branch 'Comfy-Org:master' into master - [`b77a5e3`](https://github.com/Comfy-Org/comfy-aimdo/commit/b77a5e31c3fe0d5ec6f9150047f0069c5e337774) Update model-vbar.c - [`c80484b`](https://github.com/Comfy-Org/comfy-aimdo/commit/c80484b5fcf7adef6ea4db15f4c2e2b0cab8946d) Revert "Update model-vbar.c" - [`30eafb7`](https://github.com/Comfy-Org/comfy-aimdo/commit/30eafb7dc1b1fd6022d04b759cb1f3a000e7044d) Merge branch 'Comfy-Org:master' into master - [`fd61197`](https://github.com/Comfy-Org/comfy-aimdo/commit/fd611976b1240524c2188421e72827649a3469cd) Merge remote-tracking branch 'upstream/master' - [`ea37353`](https://github.com/Comfy-Org/comfy-aimdo/commit/ea37353dbffe2ad62fb863d1fb8d475caf5213f0) Merge branch 'Comfy-Org:master' into master ### 📊 Changes **5 files changed** (+209 additions, -24 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/build-wheels.yml` (+1 -1) 📝 `.github/workflows/cla.yml` (+4 -9) ➕ `src-win/dxcore_c.h` (+111 -0) 📝 `src-win/shmem-detect.c` (+92 -13) 📝 `src/plat.h` (+1 -1) </details> ### 📄 Description ### Contribution Agreement - [X] I agree that my contributions are licensed under the GPLv3. - [X] I grant **Comfy Org** the rights to relicense these contributions as outlined in [CONTRIBUTING.md](./CONTRIBUTING.md). By introducing Microsoft's [DXCore API](https://learn.microsoft.com/en-us/windows/win32/dxcore/dxcore), more modern computing device models can be supported, such as MCDM and GPU-PV. After applying this patch, I can now load aimdo on my A100 (running in MCDM mode) and enable new features such as dynamic vram and multi-threaded loading. ~DXCore can only be called via C++. After applying this patch, this project will depend on the MSVC++ runtime!~ Maybe we can use the `/MT` compiler parameter to avoid this, and `dxcore.lib` also needs to be added to the compilation command in workflow: ``` cl.exe /LD /MT /O2 ^ src/*.c src-cuda/dispatch.c src-win/*.c src-win/shmem-detect.cpp ^ /Isrc /Isrc-win /IC:/Detours/include /FIcompiler.h /Fe:comfy_aimdo/aimdo.dll ^ /link /LIBPATH:%DETOURS_LIB_DIR% ^ dxgi.lib dxguid.lib detours.lib onecore.lib dxcore.lib cl.exe /LD /MT /O2 /D__HIP_PLATFORM_AMD__ ^ src/*.c src-hip/dispatch.c src-win/*.c src-win/shmem-detect.cpp ^ /Isrc /Isrc-win /IC:/Detours/include /FIcompiler.h /Fe:comfy_aimdo/aimdo_rocm.dll ^ /link /LIBPATH:%DETOURS_LIB_DIR% ^ dxgi.lib dxguid.lib detours.lib onecore.lib dxcore.lib ``` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/comfy-aimdo#99
No description provided.