diff --git a/sPuReMD/src/charges.c b/sPuReMD/src/charges.c index 677b94e35633bdeeab9c3a202e793ecb8233f94b..193de2194aedcefdfb5c2723a60509d4dcb81236 100644 --- a/sPuReMD/src/charges.c +++ b/sPuReMD/src/charges.c @@ -349,7 +349,7 @@ static void Spline_Extrapolate_Charges_QEq( const reax_system * const system, //TODO: good candidate for vectorization, avoid moving data with head pointer and circular buffer #if defined(_OPENMP) #pragma omp parallel for schedule(static) \ - default(none) private(i, s_tmp, t_tmp) + default(none) private(i, s_tmp, t_tmp) shared(system, control, data, workspace) #endif for ( i = 0; i < system->N_cm; ++i ) { @@ -443,7 +443,7 @@ static void Spline_Extrapolate_Charges_EE( const reax_system * const system, //TODO: good candidate for vectorization, avoid moving data with head pointer and circular buffer #if defined(_OPENMP) #pragma omp parallel for schedule(static) \ - default(none) private(i, s_tmp) + default(none) private(i, s_tmp) shared(system, control, data, workspace) #endif for ( i = 0; i < system->N_cm; ++i ) { diff --git a/sPuReMD/src/lin_alg.c b/sPuReMD/src/lin_alg.c index c0df1ef3784c85271e4f418e27673835f81e650c..9fc07f2d3efbf8e0b37c8ac996261df31a329bd1 100644 --- a/sPuReMD/src/lin_alg.c +++ b/sPuReMD/src/lin_alg.c @@ -384,7 +384,7 @@ void Calculate_Droptol( const sparse_matrix * const A, #endif #if defined(_OPENMP) - #pragma omp parallel default(none) private(i, j, k, val, tid), shared(droptol_local, stderr) + #pragma omp parallel default(none) private(i, j, k, val, tid), shared(A, droptol, dtol, droptol_local, stderr) #endif { #if defined(_OPENMP) @@ -482,7 +482,7 @@ int Estimate_LU_Fill( const sparse_matrix * const A, const real * const droptol #if defined(_OPENMP) #pragma omp parallel for schedule(static) \ - default(none) private(i, pj, val) reduction(+: fillin) + default(none) private(i, pj, val) shared( A, droptol) reduction(+: fillin) #endif for ( i = 0; i < A->n; ++i ) { @@ -511,7 +511,7 @@ real jacobi( const sparse_matrix * const H, real * const Hdia_inv ) #if defined(_OPENMP) #pragma omp parallel for schedule(dynamic,256) \ - default(none) private(i) + default(none) private(i) shared(H, Hdia_inv) #endif for ( i = 0; i < H->n; ++i ) { @@ -1139,7 +1139,7 @@ real FG_ICHOLT( const sparse_matrix * const A, const real * droptol, #if defined(_OPENMP) #pragma omp parallel for schedule(dynamic,512) \ - default(none) shared(D, D_inv, gamma) private(i) + default(none) shared(A, D, D_inv, gamma) private(i) #endif for ( i = 0; i < A->n; ++i ) { @@ -1157,7 +1157,7 @@ real FG_ICHOLT( const sparse_matrix * const A, const real * droptol, #if defined(_OPENMP) #pragma omp parallel for schedule(dynamic,512) \ - default(none) shared(D, D_inv, stderr) private(i) + default(none) shared(A, D, D_inv, stderr) private(i) #endif for ( i = 0; i < A->n; ++i ) { @@ -1170,7 +1170,7 @@ real FG_ICHOLT( const sparse_matrix * const A, const real * droptol, memcpy( DAD->j, A->j, sizeof(unsigned int) * A->start[A->n] ); #if defined(_OPENMP) #pragma omp parallel for schedule(dynamic,4096) \ - default(none) shared(DAD, D, gamma) private(i, pj) + default(none) shared(DAD, A, D, gamma) private(i, pj) #endif for ( i = 0; i < A->n; ++i ) { @@ -1348,7 +1348,7 @@ real FG_ILUT( const sparse_matrix * const A, const real * droptol, #if defined(_OPENMP) #pragma omp parallel for schedule(dynamic,512) \ - default(none) shared(D_inv, gamma) private(i) + default(none) shared(A, D_inv, gamma) private(i) #endif for ( i = 0; i < A->n; ++i ) { @@ -1366,7 +1366,7 @@ real FG_ILUT( const sparse_matrix * const A, const real * droptol, #if defined(_OPENMP) #pragma omp parallel for schedule(dynamic,512) \ - default(none) shared(D, D_inv) private(i) + default(none) shared(A, D, D_inv) private(i) #endif for ( i = 0; i < A->n; ++i ) { @@ -1380,7 +1380,7 @@ real FG_ILUT( const sparse_matrix * const A, const real * droptol, memcpy( DAD->j, A->j, sizeof(unsigned int) * A->start[A->n] ); #if defined(_OPENMP) #pragma omp parallel for schedule(dynamic,4096) \ - default(none) shared(DAD, D, gamma) private(i, pj) + default(none) shared(DAD, A, D, gamma) private(i, pj) #endif for ( i = 0; i < A->n; ++i ) { @@ -1406,7 +1406,7 @@ real FG_ILUT( const sparse_matrix * const A, const real * droptol, /* L has unit diagonal, by convention */ #if defined(_OPENMP) #pragma omp parallel for schedule(dynamic,512) \ - default(none) private(i) shared(L_temp) + default(none) private(i) shared(A, L_temp) #endif for ( i = 0; i < A->n; ++i ) { @@ -3028,8 +3028,8 @@ static void apply_preconditioner( const static_storage * const workspace, /* Generalized minimual residual method with restarting and * left preconditioning for sparse linear systems */ int GMRES( const static_storage * const workspace, const control_params * const control, - simulation_data * const data, const sparse_matrix * const H, const real * const b, - const real tol, real * const x, const int fresh_pre ) + simulation_data * const data, const sparse_matrix * const H, const real * const b, + const real tol, real * const x, const int fresh_pre ) { int i, j, k, itr, N, g_j, g_itr; real cc, tmp1, tmp2, temp, bnorm, g_bnorm; @@ -3047,7 +3047,7 @@ int GMRES( const static_storage * const workspace, const control_params * const #if defined(_OPENMP) #pragma omp parallel default(none) \ private(i, j, k, itr, bnorm, temp, t_start) \ - shared(N, cc, tmp1, tmp2, g_itr, g_j, g_bnorm, stderr) \ + shared(workspace, control, H, b, tol, x, fresh_pre, N, cc, tmp1, tmp2, g_itr, g_j, g_bnorm, stderr) \ reduction(+: t_ortho, t_pa, t_spmv, t_ts, t_vops) #endif { @@ -3235,9 +3235,9 @@ int GMRES( const static_storage * const workspace, const control_params * const int GMRES_HouseHolder( const static_storage * const workspace, - const control_params * const control, simulation_data * const data, - const sparse_matrix * const H, const real * const b, real tol, - real * const x, const int fresh_pre ) + const control_params * const control, simulation_data * const data, + const sparse_matrix * const H, const real * const b, real tol, + real * const x, const int fresh_pre ) { int i, j, k, itr, N, g_j, g_itr; real cc, tmp1, tmp2, temp, bnorm, g_bnorm; @@ -3256,7 +3256,7 @@ int GMRES_HouseHolder( const static_storage * const workspace, #if defined(_OPENMP) #pragma omp parallel default(none) \ private(i, j, k, itr, bnorm, temp, t_start) \ - shared(v, z, w, u, tol, N, cc, tmp1, tmp2, g_itr, g_j, g_bnorm, stderr) \ + shared(workspace, control, H, b, tol, x, fresh_pre, v, z, w, u, N, cc, tmp1, tmp2, g_itr, g_j, g_bnorm, stderr) \ reduction(+: t_ortho, t_pa, t_spmv, t_ts, t_vops) #endif { @@ -3501,7 +3501,7 @@ int CG( const static_storage * const workspace, const control_params * const con #pragma omp parallel default(none) \ private(i, tmp, alpha, beta, bnorm, rnorm, sig_old, sig_new, t_start) \ reduction(+: t_pa, t_spmv, t_vops) \ - shared(g_itr, g_bnorm, g_rnorm, N, d, r, p, z) + shared(workspace, control, H, b, tol, x, fresh_pre, g_itr, g_bnorm, g_rnorm, N, d, r, p, z) #endif { t_pa = 0.0; @@ -3615,7 +3615,7 @@ int BiCGStab( const static_storage * const workspace, const control_params * con #pragma omp parallel default(none) \ private(i, tmp, alpha, beta, omega, sigma, rho, rho_old, rnorm, bnorm, t_start) \ reduction(+: t_pa, t_spmv, t_vops) \ - shared(g_itr, g_rnorm, g_bnorm, g_omega, g_rho, N) + shared(workspace, control, H, b, tol, x, fresh_pre, g_itr, g_rnorm, g_bnorm, g_omega, g_rho, N) #endif { t_pa = 0.0; @@ -3662,7 +3662,10 @@ int BiCGStab( const static_storage * const workspace, const control_params * con } if ( i > 0 ) { + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" beta = (rho / rho_old) * (alpha / omega); + #pragma GCC diagnostic pop Vector_Sum( workspace->q, 1.0, workspace->p, -1.0 * omega, workspace->z, N ); Vector_Sum( workspace->p, 1.0, workspace->r, beta, workspace->q, N ); } @@ -3794,7 +3797,7 @@ int SDM( const static_storage * const workspace, const control_params * const co #pragma omp parallel default(none) \ private(i, tmp, alpha, bnorm, sig, t_start) \ reduction(+: t_pa, t_spmv, t_vops) \ - shared(g_itr, g_sig, g_bnorm, N) + shared(workspace, control, H, b, tol, x, fresh_pre, g_itr, g_sig, g_bnorm, N) #endif { t_pa = 0.0;