I used the pghpf compiler on the SP2, with 4 nodes. I used
(BLOCK,BLOCK) distribution of my 2-d arrays, which will work
best with the Even-Odd Gauss-Seidel algorithm. The compile commands and
output are given below. I used different values for the overrelaxation
parameter, . The results contained in the following table:
OVERRALAXATION PARAMETER (OMEGA) # ITERATIONS NEEDED FOR CONVERGENCE -------------------------------- ----------------------------------- 1.0 8896 1.2 7413 1.4 6353 1.6 5559 1.8 4941 1.9 4681 1.95 4561 1.99 4469 1.999 15563
From this table, we can see that, with the correct value of ,
we can gain a factor of 2 in convergence speed.
Here is the actual output from the various runs:
merlin5:~/CPS615.dir/hw9> pghpf -O sor.hpf -o sor ** sor === End of Compilation 1 === ** sorstep === End of Compilation 2 === ** put_boundary_value === End of Compilation 3 === ** calc_u === End of Compilation 4 === 1501-510 Compilation successful for file pghpfEd2dFFXAAB.f. Linking: merlin5:~/CPS615.dir/hw9> sor -pghpf -host merlin5,merlin6,merlin7,merlin8 -np 4 -stat cpus MESH RESOLUTION INFO: dx is 1.0101010101010102E-002 dy is 1.0101010101010102E-002 tol is 1.0000000E-06 ************************************************** OVERRELAXATION PARAMETER: 1.000000000000000 NUMBER OF ITERATIONS: 8896 TOLERENCE: 1.0000000E-06 ERROR: 9.9931093799909831E-007 ************************************************** cpu real user sys ratio node 0* 341.97 99.95 11.10 32% merlin5 1 341.95 108.07 15.11 36% merlin6 2 341.92 92.00 17.88 32% merlin7 3 341.91 107.69 14.85 36% merlin8 min 341.91 92.00 11.10 avg 341.94 101.93 14.74 max 341.97 108.07 17.88 total 341.97 407.71 58.94 1.36x merlin5:~/CPS615.dir/hw9> merlin5:~/CPS615.dir/hw9> sor -pghpf -host merlin5,merlin6,merlin7,merlin8 -np 4 -stat cpus MESH RESOLUTION INFO: dx is 1.0101010101010102E-002 dy is 1.0101010101010102E-002 tol is 1.0000000E-06 ************************************************** OVERRELAXATION PARAMETER: 1.200000000000000 NUMBER OF ITERATIONS: 7413 TOLERENCE: 1.0000000E-06 ERROR: 9.9901282801795333E-007 ************************************************** merlin5:~/CPS615.dir/hw9> sor -pghpf -host merlin5,merlin6,merlin7,merlin8 -np 4 -stat cpus MESH RESOLUTION INFO: dx is 1.0101010101010102E-002 dy is 1.0101010101010102E-002 tol is 1.0000000E-06 ************************************************** OVERRELAXATION PARAMETER: 1.400000000000000 NUMBER OF ITERATIONS: 6353 TOLERENCE: 1.0000000E-06 ERROR: 9.9972126932357242E-007 ************************************************** merlin5:~/CPS615.dir/hw9> sor -pghpf -host merlin5,merlin6,merlin7,merlin8 -np 4 -stat cpus MESH RESOLUTION INFO: dx is 1.0101010101010102E-002 dy is 1.0101010101010102E-002 tol is 1.0000000E-06 ************************************************** OVERRELAXATION PARAMETER: 1.600000000000000 NUMBER OF ITERATIONS: 5559 TOLERENCE: 1.0000000E-06 ERROR: 9.9881894133346805E-007 ************************************************** merlin5:~/CPS615.dir/hw9> sor -pghpf -host merlin5,merlin6,merlin7,merlin8 -np 4 -stat cpus MESH RESOLUTION INFO: dx is 1.0101010101010102E-002 dy is 1.0101010101010102E-002 tol is 1.0000000E-06 ************************************************** OVERRELAXATION PARAMETER: 1.800000000000000 NUMBER OF ITERATIONS: 4941 TOLERENCE: 1.0000000E-06 ERROR: 9.9872189451843951E-007 ************************************************** merlin5:~/CPS615.dir/hw9> sor -pghpf -host merlin5,merlin6,merlin7,merlin8 -np 4 -stat cpus MESH RESOLUTION INFO: dx is 1.0101010101010102E-002 dy is 1.0101010101010102E-002 tol is 1.0000000E-06 ************************************************** OVERRELAXATION PARAMETER: 1.900000000000000 NUMBER OF ITERATIONS: 4681 TOLERENCE: 1.0000000E-06 ERROR: 9.9827090949133890E-007 ************************************************** merlin5:~/CPS615.dir/hw9> sor -pghpf -host merlin5,merlin6,merlin7,merlin8 -np 4 -stat cpus MESH RESOLUTION INFO: dx is 1.0101010101010102E-002 dy is 1.0101010101010102E-002 tol is 1.0000000E-06 ************************************************** OVERRELAXATION PARAMETER: 1.950000000000000 NUMBER OF ITERATIONS: 4561 TOLERENCE: 1.0000000E-06 ERROR: 9.9804548536752691E-007 ************************************************** merlin5:~/CPS615.dir/hw9> sor -pghpf -host merlin5,merlin6,merlin7,merlin8 -np 4 -stat cpus MESH RESOLUTION INFO: dx is 1.0101010101010102E-002 dy is 1.0101010101010102E-002 tol is 1.0000000E-06 ************************************************** OVERRELAXATION PARAMETER: 1.975000000000000 NUMBER OF ITERATIONS: 4503 TOLERENCE: 1.0000000E-06 ERROR: 9.9848598633656138E-007 ************************************************** merlin5:~/CPS615.dir/hw9> sor -pghpf -host merlin5,merlin6,merlin7,merlin8 -np 4 -stat cpus MESH RESOLUTION INFO: dx is 1.0101010101010102E-002 dy is 1.0101010101010102E-002 tol is 1.0000000E-06 ************************************************** OVERRELAXATION PARAMETER: 1.990000000000000 NUMBER OF ITERATIONS: 4469 TOLERENCE: 1.0000000E-06 ERROR: 9.9854914026309416E-007 ************************************************** merlin5:~/CPS615.dir/hw9> sor -pghpf -host merlin5,merlin6,merlin7,merlin8 -np 4 -stat cpus MESH RESOLUTION INFO: dx is 1.0101010101010102E-002 dy is 1.0101010101010102E-002 tol is 1.0000000E-06 ************************************************** OVERRELAXATION PARAMETER: 1.999000000000000 NUMBER OF ITERATIONS: 15563 TOLERENCE: 1.0000000E-06 ERROR: 9.9945051701411103E-007 **************************************************