/beegfs/hackathon/users/eoseret/qaas_runs_test/178-663-0018/intel/TeaLeaf/build/TeaLeaf/driver/cg_driver.cpp: 54 - 95
--------------------------------------------------------------------------------

54: void cg_main_step_driver(Chunk *chunks, Settings &settings, int tt, double *rro, double *error) {
55:   double pw = 0.0;
56: 
57:   for (int cc = 0; cc < settings.num_chunks_per_rank; ++cc) {
58:     if (settings.kernel_language == Kernel_Language::C) {
59:       run_cg_calc_w(&(chunks[cc]), settings, &pw);
60:     } else if (settings.kernel_language == Kernel_Language::FORTRAN) {
61:     }
62:   }
63: 
64:   sum_over_ranks(settings, &pw);
65: 
66:   double alpha = *rro / pw;
67:   double rrn = 0.0;
68: 
69:   for (int cc = 0; cc < settings.num_chunks_per_rank; ++cc) {
70:     // TODO: Some redundancy across chunks??
71:     chunks[cc].cg_alphas[tt] = alpha;
72: 
73:     if (settings.kernel_language == Kernel_Language::C) {
74:       run_cg_calc_ur(&(chunks[cc]), settings, alpha, &rrn);
75:     } else if (settings.kernel_language == Kernel_Language::FORTRAN) {
76:     }
77:   }
78: 
79:   sum_over_ranks(settings, &rrn);
80: 
81:   double beta = rrn / *rro;
82: 
83:   for (int cc = 0; cc < settings.num_chunks_per_rank; ++cc) {
84:     // TODO: Some redundancy across chunks??
85:     chunks[cc].cg_betas[tt] = beta;
86: 
87:     if (settings.kernel_language == Kernel_Language::C) {
88:       run_cg_calc_p(&(chunks[cc]), settings, beta);
89:     } else if (settings.kernel_language == Kernel_Language::FORTRAN) {
90:     }
91:   }
92: 
93:   *error = rrn;
94:   *rro = rrn;
95: }
