Changeset 721 for codes/icosagcm
- Timestamp:
- 08/08/18 19:37:11 (6 years ago)
- Location:
- codes/icosagcm/devel
- Files:
-
- 3 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/Python/src/hexagonal/macros.jin
r685 r721 58 58 #if PASS_JINJA 59 59 60 #ifdef HEX_MASTER 61 62 {% set ll_begin, ll_beginp1 = '1', '2' %} 63 {% set ll_endm1, ll_end, ll_endp1 = 'llm-1', 'llm', 'llm+1' %} 64 {% macro ij_omp(ext) -%} 65 ij_begin{{ext}},ij_end{{ext}} 66 {%- endmacro %} 67 68 #else 69 70 {% set ll_begin, ll_beginp1 = 'll_begin', 'll_beginp1' %} 71 {% set ll_endm1, ll_end, ll_endp1 = 'll_endm1', 'll_end', 'll_endp1' %} 72 {% macro ij_omp(ext) -%} 73 ij_omp_begin{{ext}},ij_omp_end{{ext}} 74 {%- endmacro %} 75 76 #endif 77 60 78 {% macro sequence() -%} 61 79 {{ caller(body_primal,at_level_primal,'') }} … … 68 86 {% macro at_level_primal(lev,ext) -%} 69 87 {{ define('LL', lev) }} 70 DO ij= ij_omp_begin{{ext}},ij_omp_end{{ext}}88 DO ij={{ ij_omp(ext) }} 71 89 {{ caller() }} 72 90 END DO … … 76 94 {{ define('LL', 'l') }} 77 95 DO l = {{ range }} 78 DO ij= ij_omp_begin{{ext}},ij_omp_end{{ext}}96 DO ij={{ ij_omp(ext) }} 79 97 {{ caller() }} 80 98 END DO … … 88 106 {% macro at_level_edge(lev,ext) -%} 89 107 {{ define('LL', lev) }} 90 DO ij= ij_omp_begin{{ext}},ij_omp_end{{ext}}108 DO ij={{ ij_omp(ext) }} 91 109 {{ caller('u_right','t_right') }} 92 110 {{ caller('u_lup','t_lup') }} … … 98 116 {{ define('LL', 'l') }} 99 117 DO l = {{ range }} 100 DO ij= ij_omp_begin{{ext}},ij_omp_end{{ext}}118 DO ij={{ ij_omp(ext) }} 101 119 {{ caller('u_right','t_right') }} 102 120 {{ caller('u_lup','t_lup') }} … … 117 135 118 136 {% macro forall(start,end,ij_range,thecode) %} 119 {% set start_omp={'1': 'll_begin' , '2':'ll_beginp1'}[start] %}120 {% set end_omp={'llm-1': 'll_endm1' , 'llm':'ll_end', 'llm+1':'ll_endp1'}[end] %}137 {% set start_omp={'1':ll_begin , '2':ll_beginp1}[start] %} 138 {% set end_omp={'llm-1':ll_endm1 , 'llm':ll_end, 'llm+1':ll_endp1}[end] %} 121 139 {% set is_top_layer, is_top_inter = False, False %} 122 140 -
codes/icosagcm/devel/make_python
r705 r721 12 12 } 13 13 14 #--------------- Generate kernels, invoked by : './make_python kernels' --------------- 15 16 function update() 17 { 18 diff $2 $1 || log cp -pr $1 $2 19 } 20 21 function cmd_clean() # this function is invoked by : './make_python clean' 14 function cmd_clean() # cleanup, invoked by : './make_python clean' 22 15 { 23 16 rm -f lib/*.so lib/dynamico … … 26 19 } 27 20 21 #--------------- Generate kernels, invoked by : './make_python kernels' --------------- 22 23 function update() 24 { 25 diff $2 $1 || log cp -pr $1 $2 26 } 27 28 function update_kernels() 29 { 30 cd $KERNELS/src/$1 31 for x in *.k90 ; do 32 update "$x" "$DYNAMICO_ROOT/src/$2/$x" 33 done 34 } 35 28 36 function cmd_kernels() # this function is invoked by : './make_python kernels' 29 37 { 30 38 cd $KERNELS 31 ./codegen hexagonal unstructured 32 33 cd $KERNELS/src/hexagonal 34 for x in *.k90 ; do 35 update "$x" "$DYNAMICO_ROOT/src/kernels_hex/$x" 36 done 37 38 cd $KERNELS/src/unstructured 39 for x in *.k90 ; do 40 update "$x" "$DYNAMICO_ROOT/src/kernels_unst/$x" 41 done 42 43 # make sure to recompile dynamics 39 ./codegen hexagonal hex_master unstructured 40 update_kernels hexagonal kernels_hex 41 update_kernels hex_master kernels_hex_master 42 update_kernels unstructured kernels_unst 43 # make sure that ./rebuild recompiles dynamics 44 44 cd $DYNAMICO_ROOT 45 45 touch src/dynamics/*.F90 src/diagnostics/*.F90 src/transport/*.F90 src/unstructured/*.F90 … … 117 117 cd Python/env ; . ${CURRENT_ARCH}.env ; cd $DYNAMICO_ROOT 118 118 119 cmd_$1119 time cmd_$1
Note: See TracChangeset
for help on using the changeset viewer.