+Red King Subscriber² Posted June 2, 2015 Subscriber² Share Posted June 2, 2015 Microsoft has been touting SIMD support since 2014. There is this package, but I can't install it from Package Manager Console (not found error) and it doesn't appear in the GUI, https://www.nuget.org/packages/Microsoft.Bcl.Simd it is unlisted probably thats why There is also this, https://www.nuget.org/packages/System.Numerics.Vectors/ but that doesn't have Vector<T> - not sure what the point. And Vector<Double> doesn't resolve automatically when pointing to .NET 4.6 So... what do I need to do here to test it out? Link to comment Share on other sites More sharing options...
0 Stebet Posted June 2, 2015 Share Posted June 2, 2015 The SIMD enabled types now reside in System.Numerics namespce. https://msdn.microsoft.com/en-us/library/system.numerics(v=vs.110).aspx Are they not in the BCL by now? EDIT: Strange, the types are in the official source (https://github.com/dotnet/corefx/tree/master/src/System.Numerics.Vectors), but I don't get them to show up either when fetching the NuGet package. Link to comment Share on other sites More sharing options...
0 +Red King Subscriber² Posted June 2, 2015 Author Subscriber² Share Posted June 2, 2015 (edited) The SIMD enabled types now reside in System.Numerics namespce. https://msdn.microsoft.com/en-us/library/system.numerics(v=vs.110).aspx Are they not in the BCL by now? Those say "single-precision floating-point"I think modern CPUs can multiply two to eight doubles in one operation (256 / 512 bit registers) - that is what I want to do. Link to comment Share on other sites More sharing options...
0 Lant Posted June 2, 2015 Share Posted June 2, 2015 Surely you just use something like Vector4<T>.Multiply and it will be done using SIMD? https://msdn.microsoft.com/en-us/library/system.numerics.vector4%28v=vs.110%29.aspx Link to comment Share on other sites More sharing options...
0 +Red King Subscriber² Posted June 2, 2015 Author Subscriber² Share Posted June 2, 2015 (edited) Here, http://blogs.msdn.com/b/dotnet/archive/2014/04/07/the-jit-finally-proposed-jit-and-simd-are-getting-married.aspx it says, I need the, https://www.nuget.org/packages/Microsoft.Bcl.Simd but - has anyone had luck installing it via PM? Is there a trick to it? Link to comment Share on other sites More sharing options...
0 Andre S. Veteran Posted June 2, 2015 Veteran Share Posted June 2, 2015 It's in System.Numerics.Vectors.dll. I haven't tried it yet, but isn't it with the other System*.dlls? Otherwise it's a nuget package. Edit: Aah, the latest version of the nuget package has removed Vector(T) for stability issues. But I'm still unsure whether you need that if you're targeting .NET 4.6. Link to comment Share on other sites More sharing options...
0 +Red King Subscriber² Posted June 4, 2015 Author Subscriber² Share Posted June 4, 2015 (edited) I might wait for non-RC version... maybe that will fix it. Also, nameof is epic win Link to comment Share on other sites More sharing options...
Question
+Red King Subscriber²
Microsoft has been touting SIMD support since 2014.
There is this package, but I can't install it from Package Manager Console (not found error) and it doesn't appear in the GUI,
https://www.nuget.org/packages/Microsoft.Bcl.Simd
it is unlisted probably thats why
There is also this,
https://www.nuget.org/packages/System.Numerics.Vectors/
but that doesn't have Vector<T> - not sure what the point.
And Vector<Double> doesn't resolve automatically when pointing to .NET 4.6
So... what do I need to do here to test it out?
Link to comment
Share on other sites
6 answers to this question
Recommended Posts