Exemple #1
0
 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);
     });
 }
Exemple #2
0
        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);
        }
Exemple #3
0
 public void TestNumerics()
 {
     CSMM.UseManagedProvider();
     AssertMatrix((result, a, b) => CSMM.MatrixMulti_Numerics(result, a, b));
 }
Exemple #4
0
 public void TestOpenCL()
 {
     AssertMatrix((result, a, b) => CSMM.MatrixMulti_OpenCL(result, a, b));
 }
Exemple #5
0
 public void TestUnsafeUnrolled()
 {
     AssertMatrix((result, a, b) => CSMM.MatrixMulti_Unsafe_Unrolled(result, a, b));
 }
Exemple #6
0
 public void TestUnsafe()
 {
     AssertMatrix((result, a, b) => CSMM.MatrixMulti_Unsafe(result, a, b));
 }
Exemple #7
0
 public void TestSimd()
 {
     AssertMatrix((result, a, b) => CSMM.MatrixMulti_Simd(result, a, b));
 }
Exemple #8
0
 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();
        }
Exemple #10
0
 public void Numerics_Setup()
 {
     CSMM.UseManagedProvider();
 }
Exemple #11
0
 public double[,] SimdFmt()
 {
     CSMM.MatrixMulti_SimdFmt(result, a1d, bt1d, result.GetUpperBound(1) + 1);
     return(result);
 }
Exemple #12
0
 public double[,] Simd()
 {
     CSMM.MatrixMulti_Simd(result, a, b);
     return(result);
 }
Exemple #13
0
 public double[,] Unsafe_Unrolled()
 {
     CSMM.MatrixMulti_Unsafe_Unrolled(result, a, b);
     return(result);
 }
Exemple #14
0
 public double[,] OpenCL()
 {
     CSMM.MatrixMulti_OpenCL(result, a, b);
     return(result);
 }
Exemple #15
0
 public void NumericsIntelFmt_Setup()
 {
     CSMM.UseIntelProvider();
 }
Exemple #16
0
 public double[,] NumericsIntel()
 {
     CSMM.MatrixMulti_Numerics(result, a, b);
     return(result);
 }