// See LICENSE for license details. //************************************************************************** // Vector-vector add benchmark //-------------------------------------------------------------------------- // // This benchmark uses adds to vectors and writes the results to a // third vector. The input data (and reference data) should be // generated using the vvadd_gendata.pl perl script and dumped // to a file named dataset1.h. #include "util.h" //-------------------------------------------------------------------------- // Input/Reference Data #include "dataset1.h" //-------------------------------------------------------------------------- // vvadd function void vvadd( int n, int a[], int b[], int c[] ) { int i; for ( i = 0; i < n; i++ ) c[i] = a[i] + b[i]; } //-------------------------------------------------------------------------- // Main int main( int argc, char* argv[] ) { int results_data[DATA_SIZE]; #if PREALLOCATE // If needed we preallocate everything in the caches vvadd( DATA_SIZE, input1_data, input2_data, results_data ); #endif // Do the vvadd setStats(1); vvadd( DATA_SIZE, input1_data, input2_data, results_data ); setStats(0); // Check the results return verify( DATA_SIZE, results_data, verify_data ); }