Changeset 1279 for palm/trunk
- Timestamp:
- Jan 28, 2014 12:10:14 PM (11 years ago)
- Location:
- palm/trunk/SCRIPTS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SCRIPTS/mrun
r1275 r1279 22 22 # Current revisions: 23 23 # ------------------ 24 # 24 # tasks_per_node must not be an integral divisor of numprocs any more. This was done 25 # in order to remove annoying restrictions concerning the number of processors which 26 # appear on machines with larger nodes (e.g. containing 24 cores). Without this 27 # restriction, one of the nodes will not be completely filled with tasks. A respective 28 # warning is given. 25 29 # 26 30 # Former revisions: … … 260 264 # effect may cause data loss when getopts is reading the 261 265 # script-option arguments 262 typeset -i cputime i ii iia iii iio icycle inode ival jobges jobsek last_char_int maxcycle minuten nodes pes sekunden tp1266 typeset -i cputime i ii iia iii iio icycle inode ival jobges jobsek last_char_int maxcycle minuten nodes pes remaining_pes sekunden tp1 263 267 264 268 … … 1075 1079 locat=tasks_per_node; (( iec = 0 )); exit 1076 1080 fi 1081 1082 if (( numprocs < tasks_per_node )) 1083 then 1084 printf "\n" 1085 printf "\n +++ tasks per node (-T) cannot exceed total number of processors (-X)" 1086 printf "\n given values: -T $tasks_per_node -X $numprocs" 1087 locat=tasks_per_node; (( iec = 0 )); exit 1088 fi 1089 1077 1090 if [[ $host != lcflow && $host != lcxt5m ]] 1078 1091 then 1092 (( nodes = numprocs / ( tasks_per_node * threads_per_task ) )) 1079 1093 (( ival = $tasks_per_node )) 1080 1094 (( pes = numprocs )) 1081 # if [[ $(echo $package_list | grep -c dvrp_graphics+1PE) = 1 ]]1082 # then1083 # (( pes = pes - 1 ))1084 # fi1085 1095 (( ii = pes / ival )) 1086 if (( pes - ii * ival > 0 )) 1096 (( remaining_pes = pes - ii * ival )) 1097 if (( remaining_pes > 0 )) 1087 1098 then 1088 1099 printf "\n" 1089 printf "\n +++ tasks per node (option \"-T\") must bean integral"1100 printf "\n +++ WARNING: tasks per node (option \"-T\") is not an integral" 1090 1101 printf "\n divisor of the total number of processors (option \"-X\")" 1091 1102 printf "\n values of this mrun-call: \"-T $tasks_per_node\" \"-X $numprocs\"" 1092 locat=tasks_per_node; (( iec = 0 )); exit 1103 printf "\n One of the nodes is filled with $remaining_pes instead of $tasks_per_node tasks" 1104 (( nodes = nodes + 1 )) 1093 1105 fi 1094 1106 fi … … 1116 1128 then 1117 1129 TOPT="-T $tasks_per_node" 1118 (( nodes = numprocs / ( tasks_per_node * threads_per_task ) ))1119 1130 fi 1120 1131 … … 2103 2114 spalte1="tasks per node:"; spalte2="$tasks_per_node (number of nodes: $nodes)" 2104 2115 printf "| %-25s%-45s | \n" "$spalte1" "$spalte2" 2116 if (( remaining_pes > 0 )) 2117 then 2118 spalte1=" "; spalte2="one of the nodes only filled with $remaining_pes tasks" 2119 printf "| %-25s%-45s | \n" "$spalte1" "$spalte2" 2120 fi 2105 2121 fi 2106 2122 if [[ $maximum_parallel_io_streams != $numprocs ]] -
palm/trunk/SCRIPTS/subjob
r1275 r1279 23 23 # Current revisions: 24 24 # ------------------ 25 # 25 # node calculation modified due to changes in mrun (tasks_per_node must not be 26 # an integral divisor of numprocs any more) 26 27 # 27 28 # Former revisions: … … 558 559 if (( tasks_per_node != 0 )) 559 560 then 560 (( nodes = numprocs / ( tasks_per_node * threads_per_task )))561 (( nodes = ( numprocs - 1 ) / ( tasks_per_node * threads_per_task ) + 1 )) 561 562 fi 562 563
Note: See TracChangeset
for help on using the changeset viewer.