VT SoftWare Users Guide 26 6 1
CG/CAD VTPC 26 6
1 PGI 1.1 PGI 1.2 PGI for MPICH 1.1.1 1.1.2 1.1.2.1 FORTRAN77 1.1.2.2 FORTRAN9 1.1.3 1.1. 1.1..1 OpenMP 1.1..2 1.1..3 1.2.1 1.2.2 1.2.2.1 FORTRAN77 1.2.2.2 FORTRAN9 1.2.3 1.2. MPI 2 PathScale 2.1 PathScale 2.1 PathScale for MPICH 2.1.2 2.1.2.1 FORTRAN77 2.1.2.2 FORTRAN9 2.1.3 2.1.3.1 OpenMP 2.1.3.2 2.1. 2.2.1 2.2.2 2.2.2.1 FORTRAN77 2.2.2.2 FORTRAN9 2.2.3 2.2. MPI 3 Intel 3.1 Intel 3.2 Intel for MPICH 3.1.1 3.1.2 3.1.2.1 FORTRAN77 3.1.2.2 FORTRAN9 3.1.2.3 C 3.1.3 3.1. 3.1..1 OpenMP 3.1..2 3.1..3 3.2.1 3.2.2 3.2.2.1 FORTRAN77 3.2.2.2 FORTRAN9 3.2.2.3 C 3.2.3 3.2. MPI.1 OpenPBS.2 LSF.1.1 PBS.1.2 PBS.1.2.1.1.2.2.1.2.3.1.2..1.3 PBS FAQ.2.1.2.1.1 host.2.1.2 lsb.queues.2.1.3 lsb.params.2.1..2.2 LSF 5 5.1 Bourne shell bash 5.2 C Shell csh tcsh
1 PGI 1.1 PGI PGI Compiler for AMD6 Opteron 1.1.1 pgf77 pgf9 pgcc pgcc Fortran77 Fortran9 C C++ CC 1.1.2 1.1.3 PGI fastsse O2 SSE 1.1.2.1 FORTRAN77 FORTRAN77 myprog.f myprog $ pgf77 fastsse myprog.f myprog $./myprog 1.1.2.2 FORTRAN9 FORTRAN9 myprog.f9 myprog $ pgf9 fastsse myprog.f9 myprog $./myprog 1.1.3 PGI man /usr/pgi /linux866/6.x/doc pgi6ug.pdf Option O O2 O1 O2 2 O3 3 l Mconcur mp OpenMP OpenMP g77libs GNU g77 gcc tp k86 AMD6 fast O2 fastsse fast sse sse2 pgf9 O myprogram.f pgf9 O1 myprogram.f pgf9 O2 myprogram.f pgf9 O3 myprogram.f pgf9 myprogram.f lmylib pgf77 Mconcur myprogram.f pgf77 mp myprogram.f pgf77 g77libs myprogram.f pgf77 myprogram.f myprogram pgf77 tp k86 myprogram pgf9 fast myprogram.f pgf77 fastsse myprogram.f man /usr/pgi/linux866/6./doc pgi6ug.pdf 1.1. 1 1 OpenMP MPI 1.1..1 OpenMP OpenMP OpenMP URL http://www.openmp.org/drupal/ OpenMP
OpenMP _mp OpenMP fastsse $ pgf77 fastsse mp myprog.f myprog 1.1..2 Mconcur fastsse $ pgf77 fastsse Mconcur myprog.f myprog 1.1..3 1.1..1 1.1..2 OMP_NUM_THREADS Bourne Shell bash export n $ export OMP_NUM_THREADS=n C Shell csh setenv n % setenv OMP_NUM_THREADS n 2 2 Mconcur 1.2 PGI for Mpich MPI Mpich PGI Fortran 6.x for AMD6 Opteron MPI MPI Mpich PGI 1.2.1 PGI Mpich PGI PGI mpif77 mpif9 mpicc mpicc Fortran77 Fortran9 C C++ CC 1.2.2 1.2.3 PGI _fastsse _O2 SSE 1.2.2.1 FORTRAN77 FORTRAN77 myprog.f myprog $ mpif77 fastsse myprog.f o myprog 1.2.2.2 FORTRAN9 FORTRAN9 myprog.f9 myprog $ mpif9 fastsse myprog.f9 o myprog 1.2.3 PGI man /usr/pgi/linux866/6.x/doc pgi6ug.pdf Option O O2 O1 O2 2 O3 3 l g77libs GNU g77 gcc tp k86 AMD6 fast O2 fastsse fast sse sse2 mpif77 myprogram.f mpif77 1 myprogram.f mpif77 2 myprogram.f mpif77 3 myprogram.f mpif77 myprogram.f lmylib mpif77 g77libs myprogram.f mpif77 myprogram.f myprogram mpif77 tp k86 myprogram mpif77 fast myprogram.f mpif77 fastsse myprogram.f man /usr/pgi/linux866/6./doc pgi6ug.pdf
1.2. MPI $ mpif77 fastsse myprog.f o myprog myprog n mpirun $ mpirun np n./myprog MPI. 2 PathScale 2.1 PathScale PathScale 2.1.1 2.1.2 PathScale march=opteron 2.1.1.1 FORTRAN77 FORTRAN77 myprog.f myprog $ pathf9 march=opteron myprog.f o myprog $./myprog 2.1.1.2 FORTRAN9 FORTRAN9 myprog.f9 myprog $ pathf9 march=opteron myprog.f9 o myprog $./myprog 2.1.2 /opt/pathscale/share/doc/pathscalecompiler 2.3 UserGuide.pdf 2.1.2.1 OpenMP OpenMP OpenMP URL http://www.openmp.org/drupal/ OpenMP Option O O1 1 O2 2 O3 3 apo mp OpenMP l<libraly> Libraly acml ACML march=opteron AMD6 Opteron pathf9 O myprogram.f pathf9 O1 myprogram.f pathf9 O2 myprogram.f pathf9 O3 myprogram.f pathf9 myprogram.f myprogram pathf9 apo myprogram.f pathf9 mp myprogram.f pathf9 l<libraly> myprogram.f pathf9 L<ACMLpath> myprogram.f lacml pathf9 march=opteron myprogram.f UserGuide.pdf 2.1.3.1 OpenMP OpenMP OpenMP URL http://www.openmp.org/drupal/ OpenMP OpenMP mp OpenMP $ pathf9 mp O3 march=opteron myprog.f o myprog
OpenMP mp OpenMP $ pathf9 mp O3 march=opteron myprog.f o myprog 2.1.2.2 apo $ pathf9 apo O3 march=opteron myprog.f o myprog 2.1.3 Bourne Shell bash export n 2.1.2.1 2.1.2.2 OMP_NUM_THREADS ON 2 $ export OMP_NUM_THREADS=n C Shell csh setenv n % setenv OMP_NUM_THREADS n 2 2 2 ON apo 2.2 PathScale for Mpich MPI Mpich PathScale for AMD6 Opteron MPI MPI Mpich PathScale 2.2.1 PathScale Mpich PathScale PathScale mpif77 mpif9 mpicc mpicc 2.2.2 Fortran77 Fortran9 C C++ CC 2.2.3 PathScale march=opteron O2 SSE 2.2.2.1 FORTRAN77 FORTRAN77 myprog.f myprog $ mpif77 march=opteron myprog.f o myprog 2.2.2.2 FORTRAN9 FORTRAN9 myprog.f9 myprog 2.2.3 $ mpif9 march=opteron myprog.f9 o myprog /opt/pathscale/share/doc/pathscalecompiler2.3 UserGuide.pdf Option O O1 O2 O3 l<libraly> acml march=opteron 1 2 3 Libraly ACML AMD6 Opteron pathf9 O myprogram.f pathf9 O1 myprogram.f pathf9 O2 myprogram.f pathf9 O3 myprogram.f pathf9 myprogram.f myprogram pathf9 l<libraly> myprogram.f pathf9 L<ACMLpath> myprogram.f lacml pathf9 march=opteron myprogram.f UserGuide.pdf
2.2. MPI $ mpif77 march=opteron myprog.f o myprog myprog np n CPU mpirun $ mpirun np n./myprog MPI. 3 Intel 3.1 Intel Intel 3.1.1 ifort ifort icc icc Fortran77 Fortran9 C C++ cc 3.1.2 8.1.3 Intel Pentium Xeon 3.1.2.1 FORTRAN77 FORTRAN77 myprog.f myprog $ ifort w9 xw tpp7 myprog.f o myprog $./myprog 3.1.2.2 FORTRAN9 FORTRAN9 myprog.f9 myprog $ ifort w9 xw tpp7 myprog.f9 o myprog $./myprog 3.1.2.3 C C myprog.c myprog $ icc xw tpp7 myprogram.c o myprog $./myprog 3.1.3 Intel man /opt/intel/compiler9./docs for_ug_lnx.pdf FORTRAN Option O O1 O2 O3 O2 ( ) fp ebp ebp tpp5 Pentium MMX Pentium ifort O myprogram.f ifort O1 myprogram.f ifort O2 myprogram.f ifort O3 myprogram.f ifort fp myprigram.f ifort tpp5 myprogram.f
tpp6 tpp7 xk xw w w9, w95 static penmp Pentium Pro Pentium II Pentium III Pentium Xeon SSE i M Pentium III SSE2 i M K Pentium Xeon Fortran 95 Fortran.so OpenMP fpp auto ifort tpp6 myprogram.f ifort tpp7 myprogram.f ifort xk myprogram.f ifort xw myprogram.f ifort w myprogram.f ifort w9 myprogram.f ifort static myprogram.f ifort myprogram.f myjob ifort penmp myprogram.f9 C Option O O1 O2 O3 O2 fp ebp ebp tpp5 Pentium MMX_ Pentium tpp6 Pentium Pro Pentium II Pentium III tpp7 Pentium Xeon xk SSE i M Pentium III xw SSE2 i M K Pentium Xeon w mp1 mp penmp OpenMP fpp auto icc O myprogram.c icc O1 myprogram.c icc O2 myprogram.c icc O3 myprogram.c icc fp myprigram.c icc tpp5 myprogram.c icc tpp6 myprogram.c icc tpp7 myprogram.c icc xk myprogram.c icc xw myprogram.c icc w myprogram.c icc mp1 myprogram.c icc myprogram.c myjob icc penmp myprogram.c 3.1. 3.1..1 OpenMP OpenMP OpenMP 1 1 URL OpenMP http://www.openmp.org/drupal/ OpenMP MPI
OpenMP mp OpenMP $ ifort w9 xw tpp7 openmp myprog.f o myprog 3.1..2 parallel $ ifort w9 xw tpp7 parallel myprog.f o myprog 3.1..3 9.1..1 9.1..2 OMP_NUM_THREADS ON 2 Bourne Shell bash export n $ export OMP_NUM_THREADS=n C Shell csh setenv n % setenv OMP_NUM_THREADS n 2 2 2 ON parallel 3.2.1 Intel Mpich Intel Intel mpif77 mpif9 mpicc mpicc Fortran77 Fortran9 C C++ CC 3.2.2 3.2.3 Intel Pentium Xeon 3.2.2.1 FORTRAN77 FORTRAN77 myprog.f myprog $ mpif77 w9 xw tpp7 myprog.f o myprog 3.2.2.2 FORTRAN9 FORTRAN9 myprog.f9 myprog $ mpif9 w9 xw tpp7 myprog.f9 o myprog 3.2.2.3 C C myprog.c myprog $ mpicc xw tpp7 myprogram.c o myprog 3.2 Intel for MPICH MPI Mpich Intel MPI MPI Mpich Intel 3.2.3 Intel man /opt/intel/compiler9./docs for_ug_lnx.pdf FORTRAN Option O O1 O2 O3 O2 ( ) mpif77 O myprogram.f mpif77 O1 myprogram.f mpif77 O2 myprogram.f mpif77 O3 myprogram.f
fp tpp5 tpp6 tpp7 xk xw w w9åaw95 static ebp ebp Pentium MMX Pentium Pentium Pro Pentium II Pentium III Pentium Xeon SSE i M Pentium III SSE2 i M K Pentium Xeon Fortran 95 Fortran.so mpif77 fp myprigram.f mpif77 tpp5 myprogram.f mpif77 tpp6 myprogram.f mpif77 tpp7 myprogram.f mpif77 xk myprogram.f mpif77 xw myprogram.f mpif77 w myprogram.f mpif77 w9 myprogram.f mpif77 static myprogram.f mpif77 myprogram.f myjob C Option O O1 O2 O3 O2 fp ebp ebp tpp5 Pentium MMX_ Pentium tpp6 Pentium Pro Pentium II Pentium III tpp7 Pentium Xeon xk SSE i M Pentium III xw SSE2 i M K Pentium Xeon w mp1 mp mpicc O myprogram.c mpicc O1 myprogram.c mpicc O2 myprogram.c mpicc O3 myprogram.c mpicc fp myprigram.c mpicc tpp5 myprogram.c mpicc tpp6 myprogram.c mpicc tpp7 myprogram.c mpicc xk myprogram.c mpicc xw myprogram.c mpicc w myprogram.c mpicc mp1 myprogram.c mpicc myprogram.c myjob 3.2. MPI MPI. $ mpif77 fastsse myprog.f o myprog myprog n mpirun $ mpirun np n./myprog
.1 PBS OpenPBS Trque PBS PBS.1.1 PBS Portable Batch System CPU.1.2 PBS PBS.1.2.1 pbsnodes 1 2 a [@pteron1 ]$ pbsnodes a pteron1.localdomain state = free np = 2 ntype = cluster pteron2.localdomain state = free np = 2 ntype = cluster.1.2.2 PBS PBS qsub MPI singlejob.sh a.out $vi singlejob.sh #!/bin/sh #PBS l nodes=1 cd $PBS_O_WORKDIR NPROCS=`wc l < $PBS_NODEFILE`./a.out qsub $qsub singlejob.sh ID 21.pteron1 21.pteron1 ID ID qsub pteron1.localdomain pteron2.localdomain state, np, ntype state state = free state = stateunknown,down state = jobexclusive Option N q e m l Value jobname queue_name output_file error_file a b e ncpus nodes mem 1 CPU 1 1 np = 2 ntype = cluster
qsub #PBS #!/bin/sh #PBS l nodes=:ppn=2 cd $PBS_O_WORKDIR NPROCS=`wc l < $PBS_NODEFILE` mpirun machinefile $PBS_NODEFILE np $NPROCS a.out #PBS l nodes=:ppn=2 (nodes) 1 (ppn) 2 8 $PBS_O_WORKDIR $PBS_NODEFILE PBS $PBS_O_WORKDIR $PBS_NODEFILE 2 #!/bin/sh #PBS l nodes=32:ppn=2 cd $PBS_O_WORKDIR NPROCS=`wc l < $PBS_NODEFILE` mpirun machinefile $PBS_NODEFILE np $NPROCS a.out #PBS l nodes=32:ppn=2 (nodes) 32 1 (ppn) 2 6 $PBS_O_WORKDIR $PBS_NODEFILE PBS $PBS_O_WORKDIR $PBS_NODEFILE PBS.1.2.3 $qsub parajob.sh 21.pteron1 ID qstat 21.pteron1 25.pteron1 ID 5 21.pteron1 S(status) R Q $ qstat a pteron1.localdomain: Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time 21.pteron1 2853 72: R : 22.pteron1 23.pteron1 2.pteron1 25.pteron1 qstat Option q B Q a au r f Qf.1.2. qsub qdel ID qdel ID PBS $ qstat a pteron1.localdomain: Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time 21.pteron1 2853 72: R : 22.pteron1 23.pteron1 2.pteron1 25.pteron1 $ qstat a Value userid jobid queue pteron1.localdomain: Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time 21.pteron1 2853 72: R : 22.pteron1 23.pteron1 2.pteron1 PBS FAQ.1.3 Q A PBS 25 25.pteron1 $ qdel 25 qstat PBS cd PBS_O_WORKDI PBS_O_WORKDIR
PBS_O_WORKDIR #!/bin/ sh #Shellname #PBS j oe output #PBS a 77 date #PBS l cput=1 time cd ${PBS_O_WORKDIR} date./a.out file date Q qsub A qstat a #Directs all #Execution #1 seconds CPU #Executable binary.2 LSF LSF.2.1.2.1.1 host 32 lsb.hosts host /usr/local/lsf/conf/lsbatch/vt/configdir cpu2 cpu8 cpu2 pcc1 pcc2 cpu8 pcc25 pcc32 Begin HostGroup GROUP_NAME GROUP_MEMBER # Key words End HostGroup Begin HostGroup GROUP_NAME GROUP_MEMBER # Key words cpu2 (pcc1 pcc2 pcc3 pcc pcc5 pcc6 pcc7 pcc8 pcc9 pcc1 pcc11 pcc12 pcc13 pcc1 pcc15 pcc16 pcc17 pcc18 pcc19 pcc2 pcc21 pcc22 pcc23 pcc2) cpu8 (pcc25 pcc26 pcc27 pcc28 pcc29 pcc3 pcc31 pcc32 pcc33) End HostGroup LSF 25.2.1.2 lsb.queues lsb.queues # cp lsb.queues lsb.queues.org lsb.queues Begin Queue End Queue Begin Queue End Queue Begin Queue End Queue 2cpu /home/lsf/conf/lsbatch/vt/configdir lsb.queues 2cpu HOSTS HostGroup nomal Begin Queue QUEUE_NAME = 2cpu PRIORITY = 3 NICE = 2 #QJOB_LIMIT = 6 # job limit of the queue #UJOB_LIMIT = 5 # job limit per user #PJOB_LIMIT = 2 # job limit per processor #RUN_WINDOW = 5:19:1:8:3 2:8:3 #r1m =.7/2. # loadsched/loadstop #r15m = 1./2.5 #pg =./8 #ut =.2 #io = 5/2 #CPULIMIT = 18/apple # 3 hours of host apple #FILELIMIT = 2 MEMLIMIT = 5 # jobs bigger than this (5M) will be niced #DATALIMIT = 2 # jobs data segment limit STACKLIMIT = 28 #CORELIMIT = 2 #PROCLIMIT = 5 # job processor limit #USERS = all # users who can submit jobs to this queue HOSTS = cpu2 # hosts on which jobs in this queue can run #PRE_EXEC = /usr/local/lsf/misc/testq_pre >> /tmp/pre.out #POST_EXEC = /usr/local/lsf/misc/testq_post grep v "Hey" #REQUEUE_EXIT_VALUES = 55 3 78 DESCRIPTION = For normal low priority jobs, running only if hosts are lightly loaded. End Queue 8cpu CPULIMIT 3 Begin Queue QUEUE_NAME = 8cpu PRIORITY = 3 NICE = 2 #QJOB_LIMIT = 6 # job limit of the queue #UJOB_LIMIT = 5 # job limit per user #PJOB_LIMIT = 2 # job limit per processor #RUN_WINDOW = 5:19:1:8:3 2:8:3 #r1m =.7/2. # loadsched/loadstop
#r15m = 1./2.5 #pg =./8 #ut =.2 #io = 5/2 CPULIMIT = 18/cpu8 # 3 hours of host cpu8 #FILELIMIT = 2 #MEMLIMIT = 5 # jobs bigger than this (5M) will be niced #DATALIMIT = 2 # jobs data segment limit #STACKLIMIT = 28 #CORELIMIT = 2 #PROCLIMIT = 5 # job processor limit #USERS = all # users who can submit jobs to this queue HOSTS = cpu8 # hosts on which jobs in this queue can run #PRE_EXEC = /usr/local/lsf/misc/testq_pre >> /tmp/pre.out #POST_EXEC = /usr/local/lsf/misc/testq_post grep v "Hey" #REQUEUE_EXIT_VALUES = 55 3 78 DESCRIPTION = For normal low priority jobs, running only if hosts are lightly loaded. End Queue CPULIMIT = 18/cpu8 CPU 18 cpu8 3 CPULIMIT = 18 CPULIMIT = 3: 3 3 CPULIMIT = 21 CPULIMIT = 3:3 nomal MEMLIMIT STACKLIMIT # LSF 33.2.1.3 lsb.params LSF LSF default /home/lsf/conf/lsbatch/cluster1/configdir lsb.params Begin Parameters DEFAULT_QUEUE = 2cpu.2.1. lsb.queues # badmin ckconfig #default job queue name # badmin reconfig Checking configuration files... No errors found. Do you want to reconfigure? [y/n] y Reconfiguration initiated MBD LSF MBD MBD LSF MBD LSF SBD MBD MBD SBD SBD MBD # bqueues queue bqueues 32cpu 217cpu 1833cpu [@pcc1 ]$ bqueues QUEUE_NAM owners night chkpnt_rerun_qu short license normal cpu2 cpu8 idle PRIO 3 35 33 3 3 3 2 STATUS Open:Active Open:Inact Open:Active Open:Active Open:Active Open:Active Open:Active Open:Active Open:Active MAX 6 JL/U JL/P JL/H HJOBS PEND cpu2 cpu8 cpu2 2 cpu8 8 cpu2 $bsub q cpu2 n 2 mpijob mpirun./a.out RUN
cpu8 $bsub q cpu8./a.out.2.2 LSF % bhosts MPI $bsub n 8 mpijob mpirun./a.out $bsub./a.out % bjobs a % bjobs r % bkill jobid 5 Linux 5.1 Bourne shellbash root /etc/profile.d ulimit.sh # vi ulimit.sh ulimit s unlimited # chmod +x ulimit.sh 5.2 C Shellcsh tcsh root /etc/profile.d ulimit.csh # vi ulimit.csh unlimit stacksize # chmod +x ulimit.csh NIS NFS ~/.bashrc ~/.cshrc ulimit.sh(csh) TEL 35392658 FAX 35392656 Emaill support@vt.jp VT SoftWare 1822 351 3 TE L 3539265 FAX 35392673 26 6 1 26 Visual Technology, Inc.