- Timestamp:
- Jun 9, 2017 9:27:21 AM (7 years ago)
- Location:
- palm/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SCRIPTS/subjob
r2257 r2266 28 28 # ----------------- 29 29 # $Id$ 30 # nech related parts removed 31 # 32 # 2257 2017-06-07 14:07:05Z witha 30 33 # adjustments for lceddy, removed lcflow-specific code 31 34 # … … 231 234 (climate*) local_address=165.132.26.68; local_host=lcyon;; 232 235 (clogin*) local_address=86.50.166.21; local_host=lccrayf;; 233 (cs*) local_address=136.172.44.131; local_host=nech;;234 236 (elephanta) local_address=130.75.105.6; local_host=lcmuk;; 235 237 (hpcl*) local_address=eddy.hpc.uni-oldenburg.de; local_host=lceddy;; … … 334 336 printf "\n -h execution host, available hosts: $remote_host" 335 337 printf "\n ibm, ibmh, ibmkisti, ibmku, ibms, lc...," 336 printf "\n lckiaps, lctit , nech"338 printf "\n lckiaps, lctit" 337 339 printf "\n -m memory demand per process in MByte ---" 338 340 printf "\n -n jobname <jobdatei>" … … 420 422 (lcxt5m) remote_address=193.166.211.144; submcom=/opt/pbs/10.1.0.91350/bin/qsub;; 421 423 (lcyon) remote_address=165.132.26.68; submcom=/usr/torque/bin/qsub;; 422 (nech) qsubmem=memsz_job; qsubtime=cputim_job; remote_address=136.172.44.147; submcom="/usr/local/bin/qsub";;423 424 (*) printf "\n +++ hostname \"$remote_host\" not allowed"; 424 425 locat=parameter; exit;; … … 536 537 fi 537 538 done 538 if [[ $remote_host = nech ]]539 then540 if (( tasks_per_node != 0 ))541 then542 (( cputime = cputime * tasks_per_node ))543 elif [[ $numprocs != 0 ]]544 then545 (( cputime = cputime * numprocs ))546 fi547 fi548 539 (( stunden = cputime / 3600 )) 549 540 (( resttime = cputime - stunden * 3600 )) … … 569 560 done 570 561 571 if [[ $remote_host = nech ]] 572 then 573 if (( tasks_per_node != 0 )) 574 then 575 (( Memory = memory * tasks_per_node / 1000 )) 576 elif [[ $numprocs != 0 ]] 577 then 578 (( Memory = memory * numprocs / 1000 )) 579 else 580 (( Memory = memory / 1000 )) 581 fi 582 elif [[ $remote_host = lctit ]] 562 if [[ $remote_host = lctit ]] 583 563 then 584 564 (( Memory = memory * tasks_per_node / 1000 )) … … 1204 1184 %%END%% 1205 1185 1206 elif [[ $remote_host = nech ]]1207 then1208 1209 if (( nodes > 1 ))1210 then1211 cat > $job_to_send << %%END%%1212 #!/bin/ksh1213 #PBS -l cpunum_prc=$processes_per_node,cputim_job=$cputime1214 #PBS -l ${qsubmem}=${Memory}gb1215 #PBS -b $nodes1216 #PBS -o $remote_dayfile1217 #PBS -N palm1218 #PBS -j o1219 #PBS -T mpisx1220 1221 %%END%%1222 1223 elif [[ $numprocs != 0 ]]1224 then1225 cat > $job_to_send << %%END%%1226 #!/bin/ksh1227 #PBS -l cpunum_prc=$processes_per_node,cputim_job=$cputime1228 #PBS -l ${qsubmem}=${Memory}gb1229 #PBS -o $remote_dayfile1230 #PBS -N palm1231 #PBS -j o1232 1233 %%END%%1234 1235 else1236 cat > $job_to_send << %%END%%1237 #!/bin/ksh1238 #PBS -l ${qsubmem}=${Memory}gb,${qsubtime}=$cputime1239 #PBS -o $remote_dayfile1240 #PBS -j o1241 1242 %%END%%1243 1244 fi1245 1246 1186 elif [[ $remote_host = lctit ]] 1247 1187 then … … 1352 1292 fi 1353 1293 echo "echo \"exit\" >> scpjob.$identifier" >> $job_to_send 1354 1355 elif [[ $remote_host = nech ]]1356 then1357 echo "cd /pf/b/${remote_user}/job_queue" >> $job_to_send1358 echo "cat > scpjob.$identifier << %%END%%" >> $job_to_send1359 echo "#PBS -l ${qsubmem}=1GB,${qsubtime}=100" >> $job_to_send1360 echo "#PBS -o last_job_transfer_protocol" >> $job_to_send1361 echo "#PBS -j o" >> $job_to_send1362 echo " " >> $job_to_send1363 echo "set -x" >> $job_to_send1364 echo "cd /pf/b/${remote_user}/job_queue" >> $job_to_send1365 echo "batch_scp $PORTOPT -d -w 10 -u $local_user $local_address $remote_dayfile \"$job_catalog\" $local_dayfile" >> $job_to_send1366 echo "[[ \"\$for_subjob_to_do\" != \"\" ]] && eval \$for_subjob_to_do" >> $job_to_send1367 echo "%%END%%" >> $job_to_send1368 1294 1369 1295 elif [[ $remote_host = lcbullhh ]] … … 1533 1459 echo "rm scpjob.$identifier" >> $job_to_send 1534 1460 fi 1535 if [[ $remote_host = nech ]]1536 then1537 echo "cd -" >> $job_to_send1538 fi1539 1461 else 1540 1462 # echo "ftpcopy -d $local_address ${job_catalog}/$remote_dayfile \"$job_catalog\" $local_dayfile" >> $job_to_send … … 1575 1497 job_catalog_save=$job_catalog 1576 1498 job_catalog=job_queue 1577 elif [[ $remote_host = nech ]]1578 then1579 job_catalog_save=$job_catalog1580 job_catalog=/hpf/b/${remote_user}/job_queue1581 1499 fi 1582 if [[ $remote_host = nech ]] 1583 then 1584 # FILES CAN ONLY BE TRANSFERED VIA DKRZ'S ARCHIVE-SERVER 1585 scp $PORTOPT $job_to_send ${remote_user}@136.172.44.205:${job_catalog}/$job_on_remhost 1586 else 1587 scp $ssh_key $PORTOPT $job_to_send ${remote_user}@${remote_address}:${job_catalog}/$job_on_remhost 1588 fi 1500 scp $ssh_key $PORTOPT $job_to_send ${remote_user}@${remote_address}:${job_catalog}/$job_on_remhost 1589 1501 if [[ $? = 1 ]] 1590 1502 then … … 1625 1537 chmod u+x $job_on_remhost 1626 1538 eval $submcom $job_on_remhost 1627 elif [[ $local_host = nech ]]1628 then1629 if [[ $queue = default ]]1630 then1631 eval $submcom $job_on_remhost1632 else1633 eval $submcom -q $queue $job_on_remhost1634 fi1635 1539 elif [[ $local_host = lcbullhh ]] 1636 1540 then -
palm/trunk/SOURCE/cpulog_mod.f90
r2119 r2266 25 25 ! ----------------- 26 26 ! $Id$ 27 ! bugfix: cpu-time per grid point is now calculated using ngp_3d in order to 28 ! avoid integer overflow, 29 ! some re-formatting 30 ! 31 ! 2119 2017-01-17 16:51:50Z raasch 27 32 ! 28 33 ! 2118 2017-01-17 16:38:49Z raasch … … 126 131 127 132 USE indices, & 128 ONLY: n x, ny, nz133 ONLY: ngp_3d, nx, ny, nz 129 134 130 135 USE kinds … … 256 261 first ) THEN 257 262 WRITE( message_string, * ) 'negative time interval occured', & 258 259 263 ' &PE',myid,' L=STOP "',TRIM(log_event%place),'" new=', & 264 mtime,' last=',log_event%mtime,' isum=',log_event%isum 260 265 CALL message( 'cpu_log', 'PA0177', 0, 1, -1, 6, 0 ) 261 266 first = .FALSE. … … 266 271 IF ( log_event%sum < 0.0 .AND. first ) THEN 267 272 WRITE( message_string, * ) 'negative time interval occured', & 268 269 273 ' &PE',myid,' L=STOP "',TRIM(log_event%place),'" sum=', & 274 log_event%sum,' mtime=',log_event%mtime 270 275 CALL message( 'cpu_log', 'PA0178', 0, 1, -1, 6, 0 ) 271 276 first = .FALSE. … … 276 281 log_event%ivect = 0.0_wp 277 282 ELSE 278 message_string = 'unknown modus of time measurement: ' // TRIM( modus ) 283 message_string = 'unknown modus of time measurement: ' // & 284 TRIM( modus ) 279 285 CALL message( 'cpu_log', 'PA0179', 0, 1, -1, 6, 0 ) 280 286 ENDIF … … 368 374 ALLOCATE( pe_max( SIZE( log_point ) ) ) 369 375 pe_max = log_point%sum 370 CALL MPI_SEND( pe_max(1), SIZE( log_point ), MPI_REAL, 0, myid, comm2d,&371 ierr )376 CALL MPI_SEND( pe_max(1), SIZE( log_point ), MPI_REAL, 0, myid, & 377 comm2d, ierr ) 372 378 #endif 373 379 … … 387 393 388 394 ! 389 !-- Get total time in order to calculate CPU-time per gridpoint and timestep 395 !-- Get total time in order to calculate CPU-time per gridpoint and 396 !-- timestep 390 397 IF ( nr_timesteps_this_run /= 0 ) THEN 391 average_cputime = log_point(1)%sum / REAL( (nx+1) * (ny+1) * nz, KIND=wp ) / & 392 REAL( nr_timesteps_this_run, KIND=wp ) * 1E6_wp ! in micro-sec 398 average_cputime = log_point(1)%sum / REAL( ngp_3d(0), KIND=wp ) / & 399 REAL( nr_timesteps_this_run, KIND=wp ) * 1E6_wp 400 ! in micro-sec 393 401 ELSE 394 402 average_cputime = -1.0_wp … … 399 407 CALL check_open( 18 ) 400 408 #if defined( __parallel ) 401 WRITE ( 18, 100 ) TRIM( run_description_header ), 402 numprocs * threads_per_task, pdims(1), pdims(2), 403 threads_per_task, nx+1, ny+1, nz, nr_timesteps_this_run,&404 average_cputime409 WRITE ( 18, 100 ) TRIM( run_description_header ), & 410 numprocs * threads_per_task, pdims(1), pdims(2), & 411 threads_per_task, nx+1, ny+1, nz, & 412 nr_timesteps_this_run, average_cputime 405 413 406 414 WRITE ( 18, 110 ) 407 415 #else 408 WRITE ( 18, 100 ) TRIM( run_description_header ), 409 numprocs * threads_per_task, 1, 1, 410 threads_per_task, nx+1, ny+1, nz, nr_timesteps_this_run,&411 average_cputime416 WRITE ( 18, 100 ) TRIM( run_description_header ), & 417 numprocs * threads_per_task, 1, 1, & 418 threads_per_task, nx+1, ny+1, nz, & 419 nr_timesteps_this_run, average_cputime 412 420 413 421 WRITE ( 18, 110 ) … … 470 478 DO iii = 1, SIZE( log_point ) 471 479 DO i = 1, numprocs-1 472 log_point_s(iii)%sum = log_point_s(iii)%sum + pe_log_points(iii,i) 480 log_point_s(iii)%sum = log_point_s(iii)%sum + & 481 pe_log_points(iii,i) 473 482 pe_min(iii) = MIN( pe_min(iii), pe_log_points(iii,i) ) 474 483 pe_max(iii) = MAX( pe_max(iii), pe_log_points(iii,i) ) … … 479 488 DO i = 0, numprocs-1 480 489 pe_rms(iii) = pe_rms(iii) + ( & 481 490 pe_log_points(iii,i) - log_point_s(iii)%sum & 482 491 )**2 483 492 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.