cost 260 ms
在 System.Numerics 中構建旋轉矩陣時出現意外符號

[英]Unexpected sign when building rotation matrix in System.Numerics

我正在使用 System.Numerics,我正在嘗試使用CreateFromAxisAngle(Vector3, Single)和CreateRotationY(Single)等方法構建旋轉矩陣。 假設我想構建一個旋轉矩陣,表示繞 y 軸旋轉 90°。 我期望的 output 是: 這是例如Mat ...

C#中的硬件SIMD解析性能提升

[英]Hardware SIMD parsing in C# performance improvement

我已經實現了一種使用 .NET 中可用的 SIMD 內在函數來解析長度 <= 8 的無符號 integer 字符串的方法,如下所示: 可悲的是,與基線uint.Parse()的比較給出了以下相當不起眼的結果: 方法意思是錯誤標准差基線 15.157 納秒 0.0325 納秒 0.0304 納秒 ...

System.Numerics.Vector<int> 僅部分初始化</int>

[英]System.Numerics.Vector<int> are only partially initialized

我正在嘗試初始化一個Vector&lt;int&gt; (與 BepuPhysics 集成,但我認為它是無關緊要的)。 static 屬性System.Numerics.Vector&lt;int&gt;.Count在我的系統上等於8 ,因此我手動初始化了一個 8 元素數組。 這是我的代碼: 但只 ...

C# 通用方法的奇怪內聯行為 - 可能的錯誤

[英]C# Weird inline behavior for generic methods - possible bug

出於某種奇怪的原因,除非另一個方法包含循環,否則這個通用方法不會內聯到另一個方法中。 什么可以解釋這種奇怪的行為? 對於非泛型方法,內聯在兩種情況下都會發生,有循環和沒有循環。 代碼: JIT:(使用SharpLab反編譯) 要點: 奇怪的是,即使它使生成的 JIT 大小更小,它也 ...

矢量化沒有提供預期的加速

[英]Vectorization not providing expected speed up

我很喜歡 .NET 4.7.2 上的 System.Numerics.Vector。 作為第一次嘗試,我編寫了一個基本的 function 來識別 ASCII 字符串中是否存在空格。 我實現了三個版本的 function: LINQ, 經典的 for 循環和矢量化版本(SIMD)。 我很驚訝地看到 ...

c#使用system.numerics將數組元素相乘

[英]c# multiplying array elements using system.numerics

我正在嘗試將 System.Numerics 用於多個數組元素。 有沒有更快的方法將結果向量(accVector)的元素相乘? 當前 accVector 需要轉換為一個數組,其中使用 LINQ 將元素相乘。 ...

使用 System.Numerics.Quaternion 的 3D 旋轉

[英]3D Rotation using System.Numerics.Quaternion

這里有人知道如何使用 .net(4.6 及更高版本)System.Numerics.Quaternion 旋轉 vector3? 雖然我的數學很差,但我的理解只有這樣:四元數是 4d 的“結構”,可以在 3d 中產生平移、縮放和旋轉。 所以我有一場比賽,不能得到任何輪換。 做一些看起來很明顯的事 ...

System.Numerics.Vector <T> 在大型數據集上

[英]System.Numerics.Vector<T> on large data sets

我試圖通過利用System.Numerics在float[]數組上執行SIMD操作來提高.NET Core庫的性能。 System.Numerics現在有點時髦,我很難看到它是如何有益的。 據我所知,為了看到SIMD的性能提升,它必須在大量計算中分攤,但考慮到當前如何實現,我無法弄清楚如何實 ...

使用 .Net System.Numeric 的新向量僅填充向量長度的一半

[英]new vector using .Net System.Numeric fills only half of the vector length

我正在做一個數字濾波器並使用向量和 SIMD 指令使其更快,但在調試期間我注意到當創建一個新向量時,它只初始化了向量中的一半項,例如在創建具有長度的向量時8 中,只有向量的前 4 項具有值,其余的將為 0,即使用於創建具有 31 個項的向量的數組,都不同於 0。這導致過濾器僅使用一半系數和一半的數據 ...

向量 <double> 弱SIMD性能

[英]Vector<double> weak SIMD Performance

我正在優化算法,我正在考慮使用Vector over double進行乘法和累加運算。 最接近的實現顯然是Vector.dot(v1,v2); ...但是,為什么我的代碼這么慢? 與nonSIMD版本相比,SIMD版本需要大約70%的刻度。 我正在運行Haswell架構和imho。 ...

在Unity3D UWP中使用System.Numerics.dll

[英]Using System.Numerics.dll in Unity3D UWP

我想在自己的DLL項目中使用System.Numerics程序集的某些類,該類也在其他一些項目中使用。 但是我遇到了針對UWP Hololens的Unity3D問題。 在編輯器中,它可以直接使用,但是當我構建項目時,Unity抱怨 error CS7069: Reference to ty ...

使用C#System..Numerics.Vector <T> 打開/打包位

[英]Using C# System..Numerics.Vector<T> to unpack / pack bits

我正在測試.Net C#System.Numerics.Vector類用於打包和解包位的功能。 我希望使用Vector按位左移/右移功能,但是目前尚不可用,因此我嘗試使用如下所示的算術和邏輯方法模擬移位。 這是我所看到的: 使用Vector.Multiply()和Vector.Bi ...

如何使用 SIMD 計算數組中某個字節的出現次數?

[英]How can I count the occurrence of a byte in array using SIMD?

給定以下輸入字節: 和給定的面具: 如何找到輸入數組中第55個字節的計數? 我試過用mask對vBytes進行異或vBytes : 這使: &lt;127, 82, 0, 91, 91, 88, 0, 96, 88, 69, 91, 0, 83, 0, 0, 35&gt; 但不知道我怎么能從中得 ...

System.Numerics 矩陣乘法的完全錯誤值

[英]Completely wrong value for matrix multiplication with System.Numerics

盡管可通過 NuGet 獲得的System.Numerics.Vectors庫有自己的視圖和投影矩陣函數,但我想自己實現它,只使用向量和矩陣結構。 不幸的是,將目標向量與(正確的)視圖矩陣相乘時,我已經得到了完全錯誤的結果。 我正在使用右手坐標系和以下說明 具有以下功能 在我上面的示例中, ...

我可以用 Vector 做檢查算術嗎<T>

[英]Can I do checked arithmetic with Vector<T>

我一直在試驗Vector以使用 HW 來並行化整數算法。 有什么方法可以通過向量操作啟用溢出檢查嗎? 一個例子是將兩列(等長數組)的整數相加。 這里c=a+b表示c[0] = a[0] + b[0] , c[1] = a[1] + b[1]等。 我想我可以做這樣的事情: 但這(分支)可能比 ...

C# 可以使用融合乘加嗎?

[英]Can C# make use of fused multiply-add?

C# 編譯器/抖動是否使用融合乘加運算(如果它們在所使用的硬件上可用)? 如果是這樣,我是否需要設置任何特定的編譯器設置才能利用它? ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM