1) // Local boundry condition endpoints // Side Layers for each PE for(i = 0; i <= ROWS+1; i++){ for(j = 0; j <= COLUMNS+1; j++){ Temperature_last[i][j][LAYERS+1] = 100; } for(k = 0; k <= LAYERS+1; k++) { Temperature_last[i][COLUMNS+1][k] = -100; } } // Bottom Layer if (myid == npes - 1){ for(j = 0; j <= COLUMNS+1; j++){ for(k = 0; k <= LAYERS+1; k++){ Temperature_last[ROWS+1][j][k] = 40; } } } ---------- Iteration number: 300 , 0.047384------------ Max error at iteration 559 was 0.009997 Total time was 3.375695 seconds. 2) // Local boundry condition endpoints // Side Layers for each PE for(i = 0; i <= ROWS+1; i++){ for(j = 0; j <= COLUMNS+1; j++){ Temperature_last[i][j][LAYERS+1] = 100; } for(k = 0; k <= LAYERS+1; k++) { Temperature_last[i][COLUMNS+1][k] = 100; } } // Bottom Layer if (myid == npes - 1){ for(j = 0; j <= COLUMNS+1; j++){ for(k = 0; k <= LAYERS+1; k++){ Temperature_last[ROWS+1][j][k] = 100; } } } 可能跟GS扫描方向 有关系。 反方向 扫描其实访存就不连续,可以采用一些方法来优化,Cache line等技术。是不是可以? |
说点什么...