diff options
author | Yunsup Lee <yunsup@cs.berkeley.edu> | 2014-04-14 21:15:15 -0700 |
---|---|---|
committer | Yunsup Lee <yunsup@cs.berkeley.edu> | 2014-04-14 21:15:15 -0700 |
commit | 83ed3f519de9929b6551b98677047228a8ab4d0c (patch) | |
tree | 186fe4ed156de7b588d0dac720d544df771fe60f /benchmarks/mt-matmul | |
parent | 8f6e2420926471a7bd9a660305ab3d6a22f22dc9 (diff) | |
download | riscv-tests-83ed3f519de9929b6551b98677047228a8ab4d0c.zip riscv-tests-83ed3f519de9929b6551b98677047228a8ab4d0c.tar.gz riscv-tests-83ed3f519de9929b6551b98677047228a8ab4d0c.tar.bz2 |
commit high-performance mm (scalar and vector versions)
Diffstat (limited to 'benchmarks/mt-matmul')
-rw-r--r-- | benchmarks/mt-matmul/mt-matmul.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/benchmarks/mt-matmul/mt-matmul.c b/benchmarks/mt-matmul/mt-matmul.c index e795b50..1584a5d 100644 --- a/benchmarks/mt-matmul/mt-matmul.c +++ b/benchmarks/mt-matmul/mt-matmul.c @@ -33,8 +33,6 @@ typedef double data_t; // Basic Utilities and Multi-thread Support __thread unsigned long coreid; -unsigned long ncores; -#define ncores ncores #include "util.h" @@ -93,15 +91,14 @@ void __attribute__((noinline)) matmul(const int lda, const data_t A[], const da void thread_entry(int cid, int nc) { coreid = cid; - ncores = nc; // static allocates data in the binary, which is visible to both threads static data_t results_data[ARRAY_SIZE]; // 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 @@ -115,12 +112,12 @@ void thread_entry(int cid, int nc) 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); @@ -131,7 +128,7 @@ void thread_entry(int cid, int nc) res = verify(ARRAY_SIZE, results_data, verify_data); if (res) exit(res); - barrier(); + barrier(nc); #endif exit(0); |