• 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
https://www.neowin.net/forum/topic/1258770-vs2015-rc-and-simd-confusion/
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.

  • 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.

  • 0
  • 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.

This topic is now closed to further replies.