diff options
Diffstat (limited to 'mt/ae_matmul/ae_matmul.c')
-rwxr-xr-x | mt/ae_matmul/ae_matmul.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/mt/ae_matmul/ae_matmul.c b/mt/ae_matmul/ae_matmul.c index 7d4ad80..7a2e79d 100755 --- a/mt/ae_matmul/ae_matmul.c +++ b/mt/ae_matmul/ae_matmul.c @@ -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; @@ -146,7 +146,7 @@ void __attribute__((noinline)) matmul(const int lda, const data_t A[], const da } } } - barrier(); + barrier(ncores); for ( i = 0; i < lda; i+=4 ) { for ( j = coreid*(lda/ncores); j < (coreid+1)*(lda/ncores); j++ ) { @@ -229,34 +229,34 @@ 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); } |