public void TestSimdFmt() { AssertMatrix((result, a, b) => { var a0 = Helper.To1d(a); var b0 = Helper.To1d(Helper.TransposeMatrix(b)); CSMM.MatrixMulti_SimdFmt(result, a0, b0, a.GetUpperBound(1) + 1); }); }
public void TestSimd() { // Arrange var a = new double[, ] { { 0, 0, 0, 0, 0 }, { 0, 1, 2, 3, 4 }, { 0, 5, 6, 7, 8 }, { 0, 9, 10, 11, 12 }, { 0, 13, 14, 15, 16 }, }; var b = new double[, ] { { 0, 0, 0, 0, 0 }, { 0, 1, 2, 3, 4 }, { 0, 5, 6, 7, 8 }, { 0, 9, 10, 11, 12 }, { 0, 13, 14, 15, 16 }, }; double[,] result = new double[a.GetUpperBound(0) + 1, a.GetUpperBound(1) + 1]; // Act CSMM.MatrixMulti_Simd(result, a, b); // Assert var expected = new double[, ] { { 0, 0, 0, 0, 0 }, { 0, 90, 100, 110, 120 }, { 0, 202, 228, 254, 280 }, { 0, 314, 356, 398, 440 }, { 0, 426, 484, 542, 600 }, }; CollectionAssert.AreEqual(expected, result); }
public void TestNumerics() { CSMM.UseManagedProvider(); AssertMatrix((result, a, b) => CSMM.MatrixMulti_Numerics(result, a, b)); }
public void TestOpenCL() { AssertMatrix((result, a, b) => CSMM.MatrixMulti_OpenCL(result, a, b)); }
public void TestUnsafeUnrolled() { AssertMatrix((result, a, b) => CSMM.MatrixMulti_Unsafe_Unrolled(result, a, b)); }
public void TestUnsafe() { AssertMatrix((result, a, b) => CSMM.MatrixMulti_Unsafe(result, a, b)); }
public void TestSimd() { AssertMatrix((result, a, b) => CSMM.MatrixMulti_Simd(result, a, b)); }
public void TestNumericsIntel() { CSMM.UseIntelProvider(); AssertMatrix((result, a, b) => CSMM.MatrixMulti_Numerics(result, a, b)); }
private void openCSMM(object sender, RoutedEventArgs e) { CSMM f2 = new CSMM(); f2.Show(); }
public void Numerics_Setup() { CSMM.UseManagedProvider(); }
public double[,] SimdFmt() { CSMM.MatrixMulti_SimdFmt(result, a1d, bt1d, result.GetUpperBound(1) + 1); return(result); }
public double[,] Simd() { CSMM.MatrixMulti_Simd(result, a, b); return(result); }
public double[,] Unsafe_Unrolled() { CSMM.MatrixMulti_Unsafe_Unrolled(result, a, b); return(result); }
public double[,] OpenCL() { CSMM.MatrixMulti_OpenCL(result, a, b); return(result); }
public void NumericsIntelFmt_Setup() { CSMM.UseIntelProvider(); }
public double[,] NumericsIntel() { CSMM.MatrixMulti_Numerics(result, a, b); return(result); }