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

Why .NET Standard dropped? #7

Open
kant2002 opened this Issue Nov 22, 2018 · 13 comments

Comments

4 participants
@kant2002
Copy link

kant2002 commented Nov 22, 2018

As part of 0.4.0-beta release, I see that .NET Standard was dropped, and replaced to .NET Core App 2.0 which is more limiting in my opinion. What are the rationale why .NET Core App is strictly needed for this library?

@m4rs-mt

This comment has been minimized.

Copy link
Owner

m4rs-mt commented Nov 22, 2018

The reason ILGPU does not support .NET Standard 2.0 is because ILGPU relies on the System.Reflection.Emit.ILGeneration package, which is currently not (correctly) supported on all .NET Standard compatible platforms. For more information, visit dotnet/corefx#29365 and dotnet/corefx#30654

There are basically two possibilities:

  1. Create an ILGPU package that pretends to be .NET Standard 2.0 compatible, but one of its dependencies is not.
  2. Wait until the dependency is fully compatible before claiming full compatibility with the .NET standard.

@m4rs-mt m4rs-mt self-assigned this Nov 25, 2018

@kant2002

This comment has been minimized.

Copy link

kant2002 commented Nov 26, 2018

I want to ask one more question. I just do not aware about ability to target netcoreapp2.0 libraries from netcoreapp2.1. If this is possible, I personally would not be affected in any way, if not, then I would ask for targeting of multiple frameworks. Even if it is targeted, maybe it would be practical to include into samples, that this library could be used from netcoreap2.1 project.

@m4rs-mt

This comment has been minimized.

Copy link
Owner

m4rs-mt commented Dec 1, 2018

I don't see any problems using .netcoreapp2.0 libs from netcoreapp2.1 apps or libraries. This should work without any further problems (in theory).

@scherenhaenden

This comment has been minimized.

Copy link

scherenhaenden commented Dec 3, 2018

Hello.
I got almost the same issue but the other way around. I get from nuget only the .netstandard version, not the .netframework version

@kant2002

This comment has been minimized.

Copy link

kant2002 commented Dec 3, 2018

@scherenhaenden 0.3.0 version was netstandard2.0 which allow it to run under net47
0.4.0-beta would be netcoreapp2.0 (which is different from netstandard) and that make it run only on netcoreapp2.0, netcoreapp2.1 and netcoreapp3.0 (when it will be published). So your application should target at least netcoreapp2.0 now.

Given the MS stance on full .NET, it is reasonable to move all applications on .NET Core instead of creating them on .NET framework.

@samy2

This comment has been minimized.

Copy link

samy2 commented Dec 3, 2018

@scherenhaenden , @kant2002
Well, from what I tested : the .netstandard nuget package of ILGPU 0.3.0 is usable from a net47 application. The nuget package of ILGPU 0.4.0-beta includes two builds : netcoreapp2.0 and net47. It is usable from a net47 application too.

@kant2002

This comment has been minimized.

Copy link

kant2002 commented Dec 3, 2018

Thanks for correcting me @samy2 the netcoreapp2.0 and net47 both supported. I'm more concentrated on .NET core workloads so do not care about net47 monikers, so I miss that. Dropping .NET framework is off-topic from my side, so @scherenhaenden sorry for potential confusion.

@scherenhaenden

This comment has been minimized.

Copy link

scherenhaenden commented Dec 3, 2018

Hi,
thanks for your fast answer. It appears to be impossible to us it on Linux. At least, I get this error with the Assembly LLVM that appearst o be a badimage. I just discover this project today. I'll be trying to solve that issue when I get more time btu for now, I cannot use it.

Anyhow i made it work on dotnetcore (that the DLLs won't yell). Maybe tomorrow I'll see the other thing with bad assembly image.

@m4rs-mt

This comment has been minimized.

Copy link
Owner

m4rs-mt commented Dec 3, 2018

@scherenhaenden It looks like you are trying to use version 0.3 (which has native dependencies). This version is based on LLVM and only supports Windows and Ubuntu 14.04. Try v0.4-beta or the upcoming v0.5-beta which provides cross-platform support.

@scherenhaenden

This comment has been minimized.

Copy link

scherenhaenden commented Dec 4, 2018

@m4rs-mt thanks a lot for that Info. I'll be trying the next days

@m4rs-mt m4rs-mt added the question label Dec 4, 2018

@scherenhaenden

This comment has been minimized.

Copy link

scherenhaenden commented Dec 5, 2018

@m4rs-mt
Hi!

I cloned your project, very nice of you doing all of this alone. I just wanted to mention that i cannot build it on Linux because it can be only built over VS.

I don't know if you need some kind of feedback on this. Just let me know and I would try to help you.

@m4rs-mt

This comment has been minimized.

Copy link
Owner

m4rs-mt commented Dec 5, 2018

@scherenhaenden Have you tried using the dotnet build command to build the project for .Net Core under Linux? Alternatively, you can use the nuget package v0.4-beta which contains a ready-to-use .Net Core build.

@scherenhaenden

This comment has been minimized.

Copy link

scherenhaenden commented Dec 9, 2018

Thanks a lot... I had been looking for v0.4... and got 404...

I'll be trying to get some time free this week to try that ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment