Skip to content

Make CpuMath internal #1659

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

Merged
merged 6 commits into from
Nov 20, 2018
Merged

Make CpuMath internal #1659

merged 6 commits into from
Nov 20, 2018

Conversation

wschin
Copy link
Member

@wschin wschin commented Nov 17, 2018

This PR tries to make CpuMath internal, so that it's not going to be exposed to users. It's a part of #1519.

Copy link
Contributor

@Ivanidzo4ka Ivanidzo4ka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@wschin wschin self-assigned this Nov 19, 2018
@wschin wschin changed the title [WIP] Make CpuMath internal and be a best friend Make CpuMath internal Nov 19, 2018
@@ -30,6 +30,7 @@
<Compile Remove="AvxIntrinsics.cs" />

<PackageReference Include="System.Memory" Version="$(SystemMemoryVersion)" />
<ProjectReference Include="..\..\src\Microsoft.ML.Core\Microsoft.ML.Core.csproj" />
Copy link
Contributor

@TomFinley TomFinley Nov 19, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't object per se, but we've previously expended significant effort towards not doing this --that is, CPU-math we've seen is independent of anything in ML.NET itself, and we've gone through some effort to ensure that this is possible. (E.g., the whole "private contracts" thing.)

The thing is, I have absolutely no memory of why that is so, or why that was necessary. I think it even predates me working on this project, so this "desire" is maybe over five years old.

So I think it's fine, but it makes me nervous... I wonder if other veterans @Zruty0 , @yaeldekel , @Ivanidzo4ka have any recollection of what was up with this. I certainly have no memory of why that was ever viewed necessary.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, I don't recall anything about this not depending on Core. Maybe it had to do with the idea that we could 'export as code' and link with CpuMath, but not M.ML?


In reply to: 234737871 [](ancestors = 234737871)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is bad. It completely breaks CpuMath as a standalone package. We need to fix.

CpuMath ships in its own NuGet package that Microsoft.ML depends on. This reference is backwards.

See

https://www.nuget.org/packages/Microsoft.ML.CpuMath/
https://www.nuget.org/packages/Microsoft.ML/


In reply to: 234822215 [](ancestors = 234822215,234737871)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've opened #1688 for this issue.

Copy link
Contributor

@Zruty0 Zruty0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Copy link
Contributor

@TomFinley TomFinley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing this @wschin, and for removing the internal contracts now that we're relying on core!

@wschin wschin merged commit a1f5ac3 into dotnet:master Nov 20, 2018
@wschin wschin deleted the internal-cpu-math branch November 20, 2018 00:34
@ghost ghost locked as resolved and limited conversation to collaborators Mar 26, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants