index ccd1a792e341190a068a60a7460aea220bffbdf2..8f0cb335d3cd798c8f589bdbffed7ea3d23dcf95 100644 (file)
char* pc_str,
char* sc_str,
unsigned int p_cur,
- double* perf,
+ perf_t* perf,
double* resid );
void libblis_test_trsv_impl( iface_t iface,
char* pc_str,
char* sc_str,
unsigned int p_cur,
- double* perf,
+ perf_t* perf,
double* resid )
{
unsigned int n_repeats = params->n_repeats;
}
#ifdef BLIS_ENABLE_MULTITHREAD_TEST
// Estimate the performance of the best experiment repeat.
- *perf = ( 1.0 * m * m ) * test_way / time_min / FLOPS_PER_UNIT_PERF;
- if ( bli_obj_is_complex( x[0] ) ) *perf *= 4.0;
+ perf->gflops = ( 1.0 * m * m ) * test_way / time_min / FLOPS_PER_UNIT_PERF;
+ if ( bli_obj_is_complex( x[0] ) ) perf->gflops *= 4.0;
#else
// Estimate the performance of the best experiment repeat.
- *perf = ( 1.0 * m * m ) / time_min / FLOPS_PER_UNIT_PERF;
- if ( bli_obj_is_complex( x ) ) *perf *= 4.0;
+ perf->gflops = ( 1.0 * m * m ) / time_min / FLOPS_PER_UNIT_PERF;
+ if ( bli_obj_is_complex( x ) ) perf->gflops *= 4.0;
#endif
+ perf->time = time_min;
#ifdef BLIS_ENABLE_MULTITHREAD_TEST
// Check output of each thread, and send max residue to main
libblis_test_trsv_check( &alpha, &a, &x, &x_save, resid );
// Zero out performance and residual if output vector is empty.
- libblis_test_check_empty_problem( &y, perf, resid );
+ libblis_test_check_empty_problem( &x, perf, resid );
#endif
// Free the test objects.