Changeset 2118 for palm/trunk/SOURCE/transpose.f90
 Timestamp:
 Jan 17, 2017 4:38:49 PM (4 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

palm/trunk/SOURCE/transpose.f90
r2101 r2118 20 20 ! Current revisions: 21 21 !  22 ! 22 ! OpenACC directives removed 23 23 ! 24 24 ! Former revisions: … … 107 107 !$OMP PARALLEL PRIVATE ( i, j, k ) 108 108 !$OMP DO 109 !$acc kernels present( f_in, f_inv )110 109 DO i = 0, nx 111 110 DO k = nzb_x, nzt_x … … 115 114 ENDDO 116 115 ENDDO 117 !$acc end kernels118 116 !$OMP END PARALLEL 119 117 … … 165 163 CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start', cpu_log_nowait ) 166 164 IF ( collective_wait ) CALL MPI_BARRIER( comm2d, ierr ) 167 !$acc update host( f_inv )168 165 CALL MPI_ALLTOALL( f_inv(nys_x,nzb_x,0), sendrecvcount_xy, MPI_REAL, & 169 166 work(1,nzb_y,nxl_y,0), sendrecvcount_xy, MPI_REAL, & … … 175 172 !$OMP PARALLEL PRIVATE ( i, j, k, l, ys ) 176 173 !$OMP DO 177 !$acc data copyin( work )178 174 DO l = 0, pdims(2)  1 179 175 ys = 0 + l * ( nyn_x  nys_x + 1 ) 180 !$acc kernels present( f_out, work )181 176 DO i = nxl_y, nxr_y 182 177 DO k = nzb_y, nzt_y … … 186 181 ENDDO 187 182 ENDDO 188 !$acc end kernels 189 ENDDO 190 !$acc end data 183 ENDDO 191 184 !$OMP END PARALLEL 192 185 #endif … … 198 191 !$OMP PARALLEL PRIVATE ( i, j, k ) 199 192 !$OMP DO 200 !$acc kernels present( f_inv, f_out )201 193 DO k = nzb_y, nzt_y 202 194 DO i = nxl_y, nxr_y … … 206 198 ENDDO 207 199 ENDDO 208 !$acc end kernels209 200 !$OMP END PARALLEL 210 201 … … 243 234 !$OMP PARALLEL PRIVATE ( i, j, k ) 244 235 !$OMP DO 245 !$acc kernels present( f_inv, f_out )246 236 DO k = 1, nz 247 237 DO i = nxl, nxr … … 251 241 ENDDO 252 242 ENDDO 253 !$acc end kernels254 243 !$OMP END PARALLEL 255 244 … … 304 293 !$OMP PARALLEL PRIVATE ( i, j, k, l, xs ) 305 294 !$OMP DO 306 !$acc data copyout( work )307 295 DO l = 0, pdims(1)  1 308 296 xs = 0 + l * nnx 309 !$acc kernels present( f_in, work )310 297 DO k = nzb_x, nzt_x 311 298 DO i = xs, xs + nnx  1 … … 315 302 ENDDO 316 303 ENDDO 317 !$acc end kernels 318 ENDDO 319 !$acc end data 304 ENDDO 320 305 !$OMP END PARALLEL 321 306 … … 327 312 f_inv(nys,nxl,1), sendrecvcount_zx, MPI_REAL, & 328 313 comm1dx, ierr ) 329 !$acc update device( f_inv )330 314 CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' ) 331 315 #endif … … 337 321 !$OMP PARALLEL PRIVATE ( i, j, k ) 338 322 !$OMP DO 339 !$acc kernels present( f_in, f_inv )340 323 DO i = nxl, nxr 341 324 DO j = nys, nyn … … 345 328 ENDDO 346 329 ENDDO 347 !$acc end kernels348 330 !$OMP END PARALLEL 349 331 … … 384 366 !$OMP PARALLEL PRIVATE ( i, j, k ) 385 367 !$OMP DO 386 !$acc kernels present( f_inv, f_out )387 368 DO i = 0, nx 388 369 DO k = nzb_x, nzt_x … … 392 373 ENDDO 393 374 ENDDO 394 !$acc end kernels395 375 !$OMP END PARALLEL 396 376 … … 442 422 !$OMP PARALLEL PRIVATE ( i, j, k, l, ys ) 443 423 !$OMP DO 444 !$acc data copyout( work )445 424 DO l = 0, pdims(2)  1 446 425 ys = 0 + l * ( nyn_x  nys_x + 1 ) 447 !$acc kernels present( f_in, work )448 426 DO i = nxl_y, nxr_y 449 427 DO k = nzb_y, nzt_y … … 453 431 ENDDO 454 432 ENDDO 455 !$acc end kernels 456 ENDDO 457 !$acc end data 433 ENDDO 458 434 !$OMP END PARALLEL 459 435 … … 465 441 f_inv(nys_x,nzb_x,0), sendrecvcount_xy, MPI_REAL, & 466 442 comm1dy, ierr ) 467 !$acc update device( f_inv )468 443 CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' ) 469 444 #endif … … 475 450 !$OMP PARALLEL PRIVATE ( i, j, k ) 476 451 !$OMP DO 477 !$acc kernels present( f_in, f_inv )478 452 DO i = nxl_y, nxr_y 479 453 DO k = nzb_y, nzt_y … … 483 457 ENDDO 484 458 ENDDO 485 !$acc end kernels486 459 !$OMP END PARALLEL 487 460 … … 602 575 !$OMP PARALLEL PRIVATE ( i, j, k ) 603 576 !$OMP DO 604 !$acc kernels present( f_in, f_inv )605 577 DO j = 0, ny 606 578 DO k = nzb_y, nzt_y … … 610 582 ENDDO 611 583 ENDDO 612 !$acc end kernels613 584 !$OMP END PARALLEL 614 585 … … 660 631 !$OMP PARALLEL PRIVATE ( i, j, k ) 661 632 !$OMP DO 662 !$acc kernels present( f_inv, f_out )663 633 DO j = 0, ny 664 634 DO k = nzb_y, nzt_y … … 668 638 ENDDO 669 639 ENDDO 670 !$acc end kernels671 640 !$OMP END PARALLEL 672 641 … … 678 647 CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start', cpu_log_nowait ) 679 648 IF ( collective_wait ) CALL MPI_BARRIER( comm2d, ierr ) 680 !$acc update host( f_inv )681 649 CALL MPI_ALLTOALL( f_inv(nxl_y,nzb_y,0), sendrecvcount_yz, MPI_REAL, & 682 650 work(nxl_z,1,nys_z,0), sendrecvcount_yz, MPI_REAL, & … … 688 656 !$OMP PARALLEL PRIVATE ( i, j, k, l, zs ) 689 657 !$OMP DO 690 !$acc data copyin( work )691 658 DO l = 0, pdims(1)  1 692 659 zs = 1 + l * ( nzt_y  nzb_y + 1 ) 693 !$acc kernels present( f_out )694 660 DO j = nys_z, nyn_z 695 661 DO k = zs, zs + nzt_y  nzb_y … … 699 665 ENDDO 700 666 ENDDO 701 !$acc end kernels 702 ENDDO 703 !$acc end data 667 ENDDO 704 668 !$OMP END PARALLEL 705 669 #endif … … 738 702 !$OMP PARALLEL PRIVATE ( i, j, k ) 739 703 !$OMP DO 740 !$acc kernels present( f_in, f_inv )741 704 DO k = 1,nz 742 705 DO i = nxl, nxr … … 746 709 ENDDO 747 710 ENDDO 748 !$acc end kernels749 711 !$OMP END PARALLEL 750 712 … … 796 758 !$OMP PARALLEL PRIVATE ( i, j, k ) 797 759 !$OMP DO 798 !$acc kernels present( f_inv, f_out )799 760 DO k = 1, nz 800 761 DO i = nxl, nxr … … 804 765 ENDDO 805 766 ENDDO 806 !$acc end kernels807 767 !$OMP END PARALLEL 808 768 … … 814 774 CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start', cpu_log_nowait ) 815 775 IF ( collective_wait ) CALL MPI_BARRIER( comm2d, ierr ) 816 !$acc update host( f_inv )817 776 CALL MPI_ALLTOALL( f_inv(nys,nxl,1), sendrecvcount_zx, MPI_REAL, & 818 777 work(nys_x,1,nzb_x,0), sendrecvcount_zx, MPI_REAL, & … … 824 783 !$OMP PARALLEL PRIVATE ( i, j, k, l, xs ) 825 784 !$OMP DO 826 !$acc data copyin( work )827 785 DO l = 0, pdims(1)  1 828 786 xs = 0 + l * nnx 829 !$acc kernels present( f_out )830 787 DO k = nzb_x, nzt_x 831 788 DO i = xs, xs + nnx  1 … … 835 792 ENDDO 836 793 ENDDO 837 !$acc end kernels 838 ENDDO 839 !$acc end data 794 ENDDO 840 795 !$OMP END PARALLEL 841 796 #endif … … 878 833 !$OMP PARALLEL PRIVATE ( i, j, k ) 879 834 !$OMP DO 880 !$acc kernels present( f_inv, f_out )881 835 DO k = nzb_y, nzt_y 882 836 DO j = 0, ny … … 886 840 ENDDO 887 841 ENDDO 888 !$acc end kernels889 842 !$OMP END PARALLEL 890 843 … … 938 891 !$OMP PARALLEL PRIVATE ( i, j, k, l, zs ) 939 892 !$OMP DO 940 !$acc data copyout( work )941 893 DO l = 0, pdims(1)  1 942 894 zs = 1 + l * ( nzt_y  nzb_y + 1 ) 943 !$acc kernels present( f_in, work )944 895 DO j = nys_z, nyn_z 945 896 DO k = zs, zs + nzt_y  nzb_y … … 949 900 ENDDO 950 901 ENDDO 951 !$acc end kernels 952 ENDDO 953 !$acc end data 902 ENDDO 954 903 !$OMP END PARALLEL 955 904 … … 961 910 f_inv(nxl_y,nzb_y,0), sendrecvcount_yz, MPI_REAL, & 962 911 comm1dx, ierr ) 963 !$acc update device( f_inv )964 912 CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'stop' ) 965 913 #endif … … 970 918 !$OMP PARALLEL PRIVATE ( i, j, k ) 971 919 !$OMP DO 972 !$acc kernels present( f_in, f_inv )973 920 DO k = nzb_y, nzt_y 974 921 DO j = 0, ny … … 978 925 ENDDO 979 926 ENDDO 980 !$acc end kernels981 927 !$OMP END PARALLEL 982 928
Note: See TracChangeset
for help on using the changeset viewer.