Skip to content

MKLImports PDB not included with packages #5805

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

Open
ericstj opened this issue May 25, 2021 · 3 comments
Open

MKLImports PDB not included with packages #5805

ericstj opened this issue May 25, 2021 · 3 comments
Assignees
Labels
P0 Priority of the issue for triage purpose: IMPORTANT, needs to be fixed right away.

Comments

@ericstj
Copy link
Member

ericstj commented May 25, 2021

All binaries we release should have corresponding symbols.

We seem to have a manual process for building MKLImports due to the Intel MKL SDK dependency: https://github.com/dotnet/machinelearning/blob/04dda55ab0902982b16309c8e151f13a53e9366d/docs/building/MlNetMklDeps/README.md#windows

It would seem that the packages produced manually are missing the PDBs:
https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=machinelearning-assets&package=MlNetMklDeps&protocolType=NuGet&version=0.0.0.9&view=overview

So that when we redistribute this binary it is missing debug information.

At a minimum we should include the PDBs and redistribute those in the same way we do other native code that we build. This won't impact our final package size, only the MlNetMklDeps transport package.

Ideally we should include the build of this component as an optional part of our regular build process, so that we aren't relying on a manual build process. We still might want to keep MlNetMklDeps around so that contributors don't need to install the Intel MKL sdk if they want to build the entire product.

@ericstj ericstj added the P0 Priority of the issue for triage purpose: IMPORTANT, needs to be fixed right away. label Jun 1, 2021
@minghan
Copy link

minghan commented Jun 1, 2021

Please consider source link too. See https://www.nuget.org/packages/Microsoft.SourceLink.GitHub and https://github.com/dotnet/sourcelink

Thanks!

@ericstj
Copy link
Member Author

ericstj commented Jun 1, 2021

Yes, we do source link as part of the dotnet/arcade infrastructure that builds this repository, but that won't help for third party components like this one, unfortunately, where we are just linking Intel's prebuilt libraries into a smaller dll. Perhaps we could ask Intel to publish sources and publish source-link PDBs along with their SDK. I'm not sure of the history here: has Intel ever considered OSS for their MKL (Math Kernel Library) project?

@ericstj
Copy link
Member Author

ericstj commented Jun 2, 2021

As part of fixing this we should also update the version of MKL we're using to latest (if possible) and ensure we use a consistent one across all platforms. Related to #1073

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P0 Priority of the issue for triage purpose: IMPORTANT, needs to be fixed right away.
Projects
None yet
Development

No branches or pull requests

3 participants