Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void __global__ transpose_before_z_solve(double (*lhs_prev)[P_SIZE][P_SIZE][5],
- double (*lhsp_prev)[P_SIZE][P_SIZE][5],
- double (*lhsm_prev)[P_SIZE][P_SIZE][5],
- double (*rhs_prev)[P_SIZE][P_SIZE][5],
- double (*ws_prev)[P_SIZE][P_SIZE],
- double (*rho_i_prev)[P_SIZE][P_SIZE],
- double (*speed_prev)[P_SIZE][P_SIZE],
- double *lhs_,
- double *lhsp_,
- double *lhsm_,
- double *rhs,
- double *ws,
- double *rho_i,
- double *speed,
- int nx, int ny, int nz)
- {
- register const int j = threadIdx.x + blockIdx.x * blockDim.x;
- register const int i = threadIdx.y + blockIdx.y * blockDim.y;
- register const int k = threadIdx.z + blockIdx.z * blockDim.z;
- if((k < nz) && (j < ny) && (i < nx))
- {
- #pragma unroll 5
- for(int m = 0; m < 5; m++)
- {
- rhs(m, k, i, j) = rhs_prev[k][j][i][m];
- }
- ws(k, i, j) = ws_prev[k][j][i];
- rho_i(k, i, j) = rho_i_prev[k][j][i];
- speed(k, i, j) = speed_prev[k][j][i];
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- void __global__ transpose_after_z_solve(double (*lhs_prev)[P_SIZE][P_SIZE][5],
- double (*lhsp_prev)[P_SIZE][P_SIZE][5],
- double (*lhsm_prev)[P_SIZE][P_SIZE][5],
- double (*rhs_prev)[P_SIZE][P_SIZE][5],
- double (*ws_prev)[P_SIZE][P_SIZE],
- double (*rho_i_prev)[P_SIZE][P_SIZE],
- double (*speed_prev)[P_SIZE][P_SIZE],
- double *lhs_,
- double *lhsp_,
- double *lhsm_,
- double *rhs,
- double *ws,
- double *rho_i,
- double *speed,
- int nx, int ny, int nz)
- {
- register const int j = threadIdx.x + blockIdx.x * blockDim.x;
- register const int i = threadIdx.y + blockIdx.y * blockDim.y;
- register const int k = threadIdx.z + blockIdx.z * blockDim.z;
- if((k < nz) && (j < ny) && (i < nx))
- {
- #pragma unroll 5
- for(int m = 0; m < 5; m++)
- {
- rhs_prev[k][j][i][m] = rhs(m, k, i, j);
- }
- ws_prev[k][j][i] = ws(k, i, j);
- rho_i_prev[k][j][i] = rho_i(k, i, j);
- speed_prev[k][j][i] = speed(k, i, j);
- }
- }
- void __global__ transpose_before_x_solve(double (*rhs_prev)[P_SIZE][P_SIZE][5],
- double (*us_prev)[P_SIZE][P_SIZE],
- double (*rho_i_prev)[P_SIZE][P_SIZE],
- double (*speed_prev)[P_SIZE][P_SIZE],
- double *rhs,
- double *us,
- double *rho_i,
- double *speed,
- int nx, int ny, int nz)
- {
- register const int k = threadIdx.x + blockIdx.x * blockDim.x;
- register const int j = threadIdx.y + blockIdx.y * blockDim.y;
- register const int i = threadIdx.z + blockIdx.z * blockDim.z;
- if((k < nz) && (j < ny) && (i < nx))
- {
- #pragma unroll 5
- for(int m = 0; m < 5; m++)
- {
- rhs(m, i, j, k) = rhs_prev[k][j][i][m];
- }
- us(i, j, k) = us_prev[k][j][i];
- rho_i(i, j, k) = rho_i_prev[k][j][i];
- speed(i, j, k) = speed_prev[k][j][i];
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- void __global__ transpose_after_x_solve(double (*rhs_prev)[P_SIZE][P_SIZE][5],
- double (*us_prev)[P_SIZE][P_SIZE],
- double (*rho_i_prev)[P_SIZE][P_SIZE],
- double (*speed_prev)[P_SIZE][P_SIZE],
- double *rhs,
- double *us,
- double *rho_i,
- double *speed,
- int nx, int ny, int nz)
- {
- register const int k = threadIdx.x + blockIdx.x * blockDim.x;
- register const int j = threadIdx.y + blockIdx.y * blockDim.y;
- register const int i = threadIdx.z + blockIdx.z * blockDim.z;
- if((k < nz) && (j < ny) && (i < nx))
- {
- #pragma unroll 5
- for(int m = 0; m < 5; m++)
- {
- rhs_prev[k][j][i][m] = rhs(m, i, j, k);
- }
- us_prev[k][j][i] = us(i, j, k);
- rho_i_prev[k][j][i] = rho_i(i, j, k);
- speed_prev[k][j][i] = speed(i, j, k);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement