Updated mt tests
[riscv-tests.git] / mt / be_matmul / be_matmul.c
index da4b531e9b8374f7d03556e77e7831add7b3727b..e8bff41b58879dabe0c6684e0c7c082f0691d351 100755 (executable)
@@ -52,7 +52,7 @@ unsigned long ncores;
 //--------------------------------------------------------------------------
 // Helper functions
     
-void printArray( char name[], int n, data_t arr[] )
+void printArrayMT( char name[], int n, data_t arr[] )
 {
    int i;
    if (coreid != 0)
@@ -64,7 +64,7 @@ void printArray( char name[], int n, data_t arr[] )
    printf( "\n" );
 }
       
-void __attribute__((noinline)) verify(size_t n, const data_t* test, const data_t* correct)
+void __attribute__((noinline)) verifyMT(size_t n, const data_t* test, const data_t* correct)
 {
    if (coreid != 0)
       return;
@@ -227,7 +227,7 @@ void __attribute__((noinline)) matmul(const int lda,  const data_t A[], const da
                                                        pos_B += (lda*step_k) ;
                                                        pos_A += step_k;
                                                }
-                                               //barrier();
+                                               //barrier(nc);
 
                                                C[(pos_C + 0)] = temp10;
                                                C[(pos_C + 1)] = temp11;
@@ -237,7 +237,7 @@ void __attribute__((noinline)) matmul(const int lda,  const data_t A[], const da
                                                C[(pos_C + 5)] = temp15;
                                                C[(pos_C + 6)] = temp16;
                                                C[(pos_C + 7)] = temp17;
-                                               //barrier();
+                                               //barrier(nc);
                                
                                                pos_C = i + j*lda;
                                                //pos_C -= lda;
@@ -249,15 +249,15 @@ void __attribute__((noinline)) matmul(const int lda,  const data_t A[], const da
                                                C[(pos_C + 5)] = temp05;
                                                C[(pos_C + 6)] = temp06;
                                                C[(pos_C + 7)] = temp07;
-                                               //barrier();
+                                               //barrier(nc);
                                                //pos_C += step_j * lda;
                                        }
-                                       //barrier();
+                                       //barrier(nc);
                                }
-                               //barrier();
+                               //barrier(nc);
 
                        }
-                       //barrier();
+                       //barrier(nc);
                }       
 }
 
@@ -277,35 +277,35 @@ void thread_entry(int cid, int nc)
 
        /*
    // Execute the provided, naive matmul
-   barrier();
-   stats(matmul_naive(DIM_SIZE, input1_data, input2_data, results_data); barrier());
+   barrier(nc);
+   stats(matmul_naive(DIM_SIZE, input1_data, input2_data, results_data); barrier(nc));
  
    
    // verify
-   verify(ARRAY_SIZE, results_data, verify_data);
+   verifyMT(ARRAY_SIZE, results_data, verify_data);
    
    // clear results from the first trial
    size_t i;
    if (coreid == 0) 
       for (i=0; i < ARRAY_SIZE; i++)
          results_data[i] = 0;
-   barrier();
+   barrier(nc);
 
    */
    // Execute your faster matmul
-   barrier();
-   stats(matmul(DIM_SIZE, input1_data, input2_data, results_data); barrier());
+   barrier(nc);
+   stats(matmul(DIM_SIZE, input1_data, input2_data, results_data); barrier(nc));
           
 
 
 #ifdef DEBUG
-   printArray("results:", ARRAY_SIZE, results_data);
-   printArray("verify :", ARRAY_SIZE, verify_data);
+   printArrayMT("results:", ARRAY_SIZE, results_data);
+   printArrayMT("verify :", ARRAY_SIZE, verify_data);
 #endif
    
    // verify
-   verify(ARRAY_SIZE, results_data, verify_data);
-   barrier();
+   verifyMT(ARRAY_SIZE, results_data, verify_data);
+   barrier(nc);
 
    
        //printf("input1_data");