• 0

VS2015 RC and SIMD Confusion


Question

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

  • 0

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

  • 0

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

  • 0

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

  • 0

I might wait for non-RC version... maybe that will fix it. :/

Also, nameof is epic win

Link to comment
Share on other sites

This topic is now closed to further replies.