Tag: sse

RyuJIT没有充分利用SIMD内在函数

我正在运行一些使用System.Numerics.Vector C#代码,但据我所知,我没有得到SIMD内在函数的全部好处。 我正在使用Visual Studio Community 2015和Update 1,而我的clrjit.dll是v4.6.1063.1。 我正在使用英特尔酷睿i5-3337U处理器 ,它实现了AVX指令集扩展。 因此,我认为,我应该能够在256位寄存器上执行大多数SIMD指令。 例如,反汇编应该包含像vmovups , vmovupd , vaddups等的指令,以及Vector.Count应该返回8, Vector.Count应该是4等等……但那不是我的意思我看到了。 相反,我的反汇编包含诸如movups , movupd , addups等指令……以及以下代码: WriteLine($”{Vector.Count} bytes per operation”); WriteLine($”{Vector.Count} floats per operation”); WriteLine($”{Vector.Count} ints per operation”); WriteLine($”{Vector.Count} doubles per operation”); 生产: 16 bytes per operation 4 floats per operation 4 ints per operation 2 doubles per operation 我哪里错了? […]

在c#中使用SSE有可能吗?

我正在阅读有关c#代码优化的问题,一个解决方案是使用带有SSE的c ++。 是否可以直接从ac#程序进行SSE?