void load_fn_links_gpu(info_t *info, fn_links_t *fn, ks_action_paths *ap, su3_matrix *links, int want_back) { ks_component_paths *p = &ap->p; double final_flop = 0; double dtime = -dclock(); load_fatlonglinks_gpu(info, fn->fat, fn->lng, p, links); if(want_back) load_fn_backlinks(fn); else destroy_fn_backlinks(fn); dtime += dclock(); info->final_sec = dtime; info->final_flop = final_flop; }
static void load_X_from_W(info_t *info, fn_links_t *fn, hisq_auxiliary_t *aux, ks_component_paths *ap){ su3_matrix *fat = get_fatlinks(fn); su3_matrix *lng = get_lnglinks(fn); double final_flop = 0.0; double dtime = -dclock(); #ifdef USE_FL_GPU load_fatlonglinks_gpu(info, fat, lng, ap, aux->W_unitlink); #else load_fatlinks(info, fat, ap, aux->W_unitlink ); final_flop += info->final_flop; load_lnglinks(info, lng, ap, aux->W_unitlink ); final_flop += info->final_flop; #endif dtime += dclock(); node0_printf("Combined fattening and long-link calculation time: %lf\n",dtime); info->final_flop = final_flop; }