Skip to content
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

SIMD Support #120

Open
Deecellar opened this issue Nov 16, 2019 · 2 comments
Open

SIMD Support #120

Deecellar opened this issue Nov 16, 2019 · 2 comments

Comments

@Deecellar
Copy link

SIMD Is fairly new with the System.Runtime.Intrinsics corefx library, but, could we use the new hardware vectors for SIMD operations on hardware that support it with the dotnet core CLR.

I know this may be too specific since it only works with the dotnet core 3.0+ CLR at the time of writting but since the .net framework is going to be at the 5.0 state where in theory all this will be unified, would be a nice adition to the library for a better performance in hardware that supports SIMD Instructions.

I think we should wait for the official .net 5 but still, it's not a bad of an idea to at least think about it.

@tlgkccampbell
Copy link
Collaborator

I've been considering where I want to take Ultraviolet over the course of the next year. One of the things I want to do is to completely rework the project structure in anticipation of .NET 5 -- if my personal life ever settles down to the point where I can invest a substantial amount of time in this project again. For various reasons, 2019 has been kind of a crazy year for me personally, but I'm really hoping that I can start prioritizing Ultraviolet development again in the new year.

Probably what I'm going to do is deprecate the .NET Framework branch entirely and move to .NET Core for all future development. I think Core is mature enough at this point, and CoreCLR is where all of the interesting new features are, after all, including SIMD. Eventually I would like to eliminate all of the various platform-specific projects entirely, since maintaining them all is a huge amount of work for me; I'm hoping .NET 5 makes this possible, whenever it ultimately gets released.

@Deecellar
Copy link
Author

I want to help in this then, since lately I have developed a few game related tools and some extensions for ultraviolet (Thinks more personal for my game development experience, will open source when I have something good), I love the framework more than monogame and love some of the ideas that this project have, the .net 5 announcement made me very happy, since I could drop some side work I have to do with .net framework, .net core and thinking about mono.

I think the right think to do is to pass to .net core since I think that will be the majority of the .net 5 release, and since .net core 3 can publish to all mayor PC platforms the only things to really maintain is the IOS and Android package (Since so far, I don't see signs of .net core on android or IOS but that would be so good) until the release of .net 5.

Meanwhile the API stays the same, it should not break current projects based on the framework, I might have free time after this last stressful days, and maybe I can get some work in this project too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants