Updated mt tests
[riscv-tests.git] / mt / br_matmul / br_matmul.c
index 5ca1dbe427c11ec7ec99df9057d5fa865be504f9..f831ac2d364ea08e0299acc5905048ae50e0f769 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;
@@ -138,7 +138,7 @@ void __attribute__((noinline)) matmul(const int lda,  const data_t A[], const da
       tB[(j + 1)*lda + i + 1] = B[(i + 1)*lda + j + 1];
     }
   }
-  barrier();
+  barrier(ncores);
 
   // compute C[j*n + i] += A[j*n + k] + Btranspose[i*n + k]
   for ( j2 = 0; j2 < lda; j2 += jBLOCK )
@@ -250,33 +250,33 @@ 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);
 
   exit(0);
 }