Copy AMDMLSS PDB file and install AMDMLSS with MIGraphX#4995
Conversation
Regressions detected 🔴 * No develop baseline was found for this PR's branch point; compared against the latest available develop run instead. |
|
pfultz2
left a comment
There was a problem hiding this comment.
The installation of AMDMLSS should be handle by the AMDMLSS component not by migraphx.
The AMDMLSS is installing its components and binary files (as you can see by the imported targets). However, since AMDMLSS is now a hard dependency for MIGraphX and only MIGraphX knows the proper location of the installed AMDMLSS, we want MIGraphX to install it as well in the MIGraphX installation location chosen. Only for Windows, Linux is intact. Otherwise, for components that depend on MIGraphX, their build configurations are becoming increasingly difficult to parameterize, requiring developers to understand which component was used to build MIGraphX and which is the correct one to copy. The GPU EP is a complex stack of ML components that work together, and MIGraphX is one of them. It is very easy, even for the experienced engineer, to confuse things. We want to mitigate potential errors caused by using the wrong binaries and improve the development by avoiding such issues altogether. |
AMDMLSS should be installed into the same location as migraphx. It seems like there is a problem with your packaging/release scripts.
This should all be managed by the packaging/release scripts. As I understand it, users arent building migraphx they are just installing the binaries, so the packaging script should be updated to install and include the binaries from AMDMLSS. |
It is not a concern of the packaging/release pipeline. The concern is the development of GPU EP. As I mentioned, it's a stack of components, and MIGraphX is one of them. On Windows, we chose to install each component separately rather than all components in the same directory. Such an approach is helping us debug individual components more easily. That means each component in the stack installs its dependencies so it can run out of the box from the installation directory. We are building a few variants of MIGraphX (in particular with and without AMDMLSS). For some components, we are even changing the default names of the resulting binaries depending on the provided build configuration. For consistency with the rest of the components and to ease debugging and configuration of components that depend on MIGraphX, we want MIGraphX to install some of its dependencies rather than only copy them into a build directory. |
Sure, you just need to set the path to each component you want to use. Cget does this as well but it copies each file to a shared prefix and updates the path for the shared prefix only. Of course having migraphx install another component breaks this scenario and you cannot easily swap in and out a different version of components for debugging purposes.
This doesnt make sense with what you just said.
I didnt realize we were copying it to the build directory. That should be removed. The dev env should be setup to find its dependencies correctly. |
Motivation
The PR applies only to Windows.
The AMDMLSS DLL is mandatory if MIGRAPHX_USE_AMDMLSS is ON. Because MIGraphX requires the library, the MIGraphX installation script must copy the required files to ensure the application's experience is out of the box.
Changelog Category
Add a
CHANGELOG.mdentry for any option other thanNot Applicable