1 4 2 4 3 5 4 OpenMP 6 4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Transcription
1 4 2 4 3 5 4 OpenMP 6 4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
dddddddddddddddddddd ddddddddddddddddd dddddd ddd 2010 d 11 d dd 1 dd 4 2 ddddddddd 4 3 ddddddddd 5 4 ddd OpenMP d dd d 6 4.1 ddddd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1.1 Intel C/C++ Fortran ddddd . . . . . . . . . . . . . . . . . . 6 4.1.2 PGI C/C++ Fortran ddddd . . . . . . . . . . . . . . . . . . 7 4.1.3 GNU C/C++ Fortran ddddd . . . . . . . . . . . . . . . . . 7 C/C++ ddddd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2 4.3 4.2.1 dddddddddddddd . . . . . . . . . . . . . . . . . . 8 4.2.2 Intel C/C++ ddddddddd . . . . . . . . . . . . . . . . . 9 4.2.3 PGI C/C++ ddddddddd . . . . . . . . . . . . . . . . . 10 4.2.4 GNU C/C++ ddd GCC dddddd . . . . . . . . . . . . . 14 4.2.5 C/C++ dddddd . . . . . . . . . . . . . . . . . . . . . . . . 18 Fortran ddddd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.3.1 dddddddddddddd . . . . . . . . . . . . . . . . . . 19 4.3.2 Intel Fortran ddddddddd . . . . . . . . . . . . . . . . . 19 4.3.3 PGI Fortran ddddddddd . . . . . . . . . . . . . . . . . . 22 dd 4.4 2 4.3.4 GNU Fortran ddddddddd . . . . . . . . . . . . . . . . . 27 4.3.5 Fortran dddddd . . . . . . . . . . . . . . . . . . . . . . . . 31 OpenMP dddddddd . . . . . . . . . . . . . . . . . . . . . . . . . 32 5 MPI d ddd dd 34 5.1 MPI ddddddd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.2 MPI ddddddd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.3 MPI dddddd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 6 ddddd 6.1 6.2 36 Intel MKL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 6.1.1 MKL dddd . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 6.1.2 MKL dddd . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 6.1.3 dd MKL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ACML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.2.1 ACML dd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.2.2 ddddd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.2.3 ACML MVddddddddddd . . . . . . . . . . . . . . . . 41 7 dddddd 42 7.1 dddddbsub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 7.1.1 ddddddddbsub -q . . . . . . . . . . . . . . . . . . . . . . 42 7.1.2 dddddddbsub -q serial . . . . . . . . . . . . . . . . . . . . 43 7.1.3 dddddd CPU dddbsub -n . . . . . . . . . . . . . . . . . 43 7.1.4 dd MPI dddbsub -n NUM mpiibjob|mpip4job . . . . . . . . 43 7.1.5 dd OpenMP dddddddbsub -a openmp -R “span[hosts=1]” 43 7.1.6 ddddddddbsub -x . . . . . . . . . . . . . . . . . . . . . . 44 7.1.7 ddddddddddddbsub -i -o -e . . . . . . . . . . . . . . 44 7.1.8 ddddddddbsub -I . . . . . . . . . . . . . . . . . . . . . . 44 7.2 dddddbkill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 7.3 dddddbstop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 7.4 dddddddddddbresume . . . . . . . . . . . . . . . . . . . . . . 45 dd 7.5 dddddddddbtop 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 45 7.6 dddddddddbbot . . . . . . . . . . . . . . . . . . . . . . . . . . 45 7.7 dddddddddddbmod . . . . . . . . . . . . . . . . . . . . . . . 46 7.8 dddddddddddddbjobs . . . . . . . . . . . . . . . . . . . . . 46 7.9 dddddddddddddddbpeek . . . . . . . . . . . . . . . . . . 47 7.10 dddddddddddlsload . . . . . . . . . . . . . . . . . . . . . . . 47 7.11 dddddddddddbhosts . . . . . . . . . . . . . . . . . . . . . . . 47 7.12 dddddddbqueues . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 7.13 dddddddbuser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 8 dddd 49 2 1 ddddddddd 4 dd ddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddd dddddddddd 2 ddddddddd dddddddddd 2009 dddddddddddddddddddddd ddddd TC2600 dddddddd A950r-F dddddddddddddddd dddddddddd 3.6 ddddddddddd • TC2600 ddd38 ddddddddd 2.1GHz d AMD Opteron 2352 x86 64 d dddddddddd16GB ddddd 146GB SAS ddd38 ddddddd ddddd 2.55 dddd • A950r-F ddddddddddddd 2.2GHz d AMD Opteron 8354 x86 64 d dddddd 32 ddd64GB ddddd 146GB SAS ddddddddddd d 0.28 dddddddddd 0.56 dddd • IO dddddddd A620r-FX dddddddddddd 2.1GHz d AMD Opteron 2352 x86 64 ddddddddddd8GB ddddd 146GB SAS d ddddddddddddd 0.4 dddd • ddddddddddddd A620r-FX dddddddddddd 2.1GHz d AMD Opteron 2352 x86 64 ddddddddddd16GB ddddd 146GB SAS dddddddddddddd 0.13 dddd • ddddd1dInfiniBandddd 10Gb/sd2ddddddd • ddddddddddd • ddddddddd 5TBddd 750GB SATA dddd HDS WMS 100 ddd 3 ddddddddd 5 • dddddCentOS 5.4d • ddddInteldPGIdGNU d C/C++ Fortran dddd • ddddddACMLdMKL d BLASdGoto BLASdATLASdLAPACKdScaLAPACK dd • dddddOpen MPIdMVAPICHdMVAPICH2ddd MPI ddddddd ddddddddd A950r-F dddd 32 ddddddddddddddd d MPI ddddddddddddd OpenMP dddddddddddddd ddddddddddddddddddddd • dddddPlatform LSF 6.0d ddddddddd 3 dddddddddd CentOS 5.4dddd telnet ddddddddd ssh1 d ddddddddddddddddddddddddd ftpd sftp dddddd dftp dddddddddd(passive)dddddddddddddddd sftp d ddd dddddddddd shell d bashddddddd ypchsh ddddddd d shellddddddddddddd yppasswd dddddddddddd passwd d ddddddddddddddd ddddddddddddddddddddddddddddd ˜/.bashrc d export LC ALL=zh CN.GBK d export LC ALL=zh CN.UTF8 ddddddd GBK d UTF8 ddddd dddddd CentOS(Community ENTerprise Operating System)d Linux ddddddddd dd Red Hat Enterprise Linux ddddddddddddddddddddddd ddddddddddddddddddddddddd CentOS dddddd Red Hat Enterprise Linux dddddddddd CentOS dddddddddddddd ddddd man ddddddd -h d –help ddddddddddddddddd ddddd CentOSdRed Hat Enterprise Linux AS ddddd Linux ddd d MS Windows dddd putty ddd ssh dddddddddddddputty dddhttp: //www.chiark.greenend.org.uk/~sgtatham/putty/download.html 1 4 ddd OPENMP dddd 6 ddd OpenMP dddd 4 ddddddddd C/C++dFortran ddddddddd OpenMP d MPI d ddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddd • C/C++dFortran ddddInteldPGI d GNU d C/C++ Fortran ddddd d OpenMP ddddd • MPI dddddOpen MPIdMVAPICHd ddddddddddd OpenMP ddddddddMPI ddddddddd ddddd ddddd 4.1 4.1.1 Intel C/C++ Fortran dd dd d Intel C/C++ Fortran dddddddddd Inetl ddddddddddd AMD Opteron dddddddddddddddddddddddddddd 10 ddddd Intel C/C++ dddddd /opt/intel/cce/xdFortran ddd d /opt/intel/fce/xdx dddddddddddddd 10.0.023dd11 dddddd ddd /opt/intel/Compiler/y/zddddddd 11.1.064dddd y d 11.1dz d 064dd dddddddddddddddddddd d d d d d d d d d d 11.1 d d d d d d d d d d d d d d d d d d d ˜/.bashrc dddddddddddddddd • 10.0.023 ddd – C/C++d . /opt/intel/cce/10.0.023/bin/iccvars .sh ddd ddddddddd .dddddd – Fortrand . /opt/intel/fce/10.0.023/bin/ ifortvars .sh 4 ddd OPENMP dddd 7 • 11.1.064 ddd – C/C++d . /opt/intel/Compiler/11.1/064/bin/iccvars.sh intel64 – Fortrand . /opt/intel/Compiler/11.1/064/bin/ifortvars.sh intel64 Intel ddddd C d C++ ddddddddddd icc d icpcddd Fortran d dddddd ifortdicpc ddddd icc ddddddddddddd icpc dddd ddd .c d .i dddddd C++ dddddd icc ddddddd .c d .i ddd dddd C dddd icpc dddddddd C++ dddd icc ddddddddd dddddd C++ ddddddd C++ dd 4.1.2 PGI C/C++ Fortran dd ddd PGI C/C++ Fortran dddddddddd CPU ddddddddddddd ddddddddddddddddddd PGI d d d d d d /opt/pgi/linux86-64/xdx d d d d d d d d d d d d d 7.1d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 7.1 ddddddddddddddddddddddddddd x ddddd d ˜/.bashrc ddddddddd PGI=/opt/pgi/linux86−64/x export PATH=$PATH:$PGI/bin export MANPATH=$MANPATH:$PGI/man PGI ddddd CdC++dFortran 77 ddddddddd pgccdpgCC d pgf77d dd Fortran 9x ddddddd pgf90dpgf901dpgf902dpgf90 ex d pgf95d 4.1.3 GNU C/C++ Fortran d dd dd GNU C/C++ Fortran 4.1.2 ddddddddddddddddddddddd dddddGNU ddddd CdC++ ddddddddd gcc d g++ddd Fortran 77 d 9x ddddddddd g77 d gfortrandgfortran dddddd Fortran 77 d dddd g77 dddd Fortran 9x dddd 4 ddd OPENMP dddd 8 C/C++ dd d dd 4.2 dddddd C/C++ dddddddddddddddddddddd Intel d dddddddddddddddddddddddddddddd 4.2.1 dddddddddddddd ddddddddddddddddddddddddddddddddddd dd 1d d 1: dddddddddddd ddd dd dd C ddd ddddd C++ ddd ddddd ddd dddddd filename.i ddddddd ddddddd filename.o dddd dddddd filename.s dddd dddddd filename.c filename.C filename.CC filename.cc filename.cpp filename.cxx filename.a filename.so ddddddddddddddddddddddddddddddddddd d 2d d 2: dddddddddddddd ddd dd filename.i ddddddddddd -p dddd filename.o dddddddd -c dddd filename.s dddddddd -s dddd a.out dddddddddd 4 ddd OPENMP dddd 4.2.2 9 Intel C/C++ d ddd dd ddd • -Bdynamicddddddddddddddd • -Bstatic dddddddddddd • -cdddddddddd.o dddd • -fastddddddddddddddddddddddddddddddddd dddddddddddddddd • -gdddddddd • -ipdddddddddddddd(Interprocedural Optimizations-IPO)d • -ipo[n]dddddddddddddddddd n ddddddddddd • -I<ddddd>dddddddddddd • -L<ddd>dddddddddd • -l<ddd>ddddddddddddddd libxyz.adddd -lxyz ddd • -o filedddddddddd • -openmpd d d OpenMP d d d d d d d d d d d d d d d d d d d d d d CPU dd OpenMP ddddddddddd -a openmp dddddddd dddddddd • -O<dd>ddddddddddd O2dO d O2 ddddddddO3 d d O2 dddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddd dddd • -pddddddddd(Profile Guided Optimization-PGO)d • -sharedd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d -fpic ddd • -static ddddddddd 4 ddd OPENMP dddd 10 • -std=<dd>dddddd c89dc99dgnu89dgnu++98 d c++0xddddd ddddd • -wdddddddddddddddddd • -wallddddddddddd • -x <dd>dddddd cdc++dc-headerdcpp-outputdc++-cpp-outputd assemblerdassembler-with-cpp d noneddddd c dddddddddddd dddddddddd ddddddddddddddddddddddddd IPOdPGO d HLO d dddddddddddddddddddddddddddd Intel dddd d Intel dddddddddddddd AMD Opteron Barcelona dddddddd ddddddddd Intel XEON dddddddddddddddddddddd ddddd 4.2.3 PGI C/C++ dd dd ddd dd PGI ddddddddddddddddddddddddddddd C dd d pgcc dddddddd C++ ddd pgCC dddddddddddd PGI dd ddd • ddddd – -#dddddddddddddddddddd – -cdddddddddd.o dddd – -defaultoptions d -nodefaultoptionsdddddddddddddddd – -flagsddddddddddddd – -help[=option]ddddddddoption ddd groupsdasmddebugdlanguaged linkerdoptdotherdoveralldphasedphasedpreprodsuffixdswitchdtarget d variabled – -Minform=levelddddddddddddddddlevel ddd fataldfiledsevered warndinformdddd -Minform=warnd 4 ddd OPENMP dddd 11 – -noswitcherrordddddddddddddddddddddddddd ddddddddddddddd – -o filedddddddddd – -showddddd pgcc dddddddd – -silentdddddddddd -Minform=severe ddd – -vddddddddddddddddddddd – -Vddddddddddd – -wdddddddddddddddddd • ddddd – -fastddddddddddddddddddddd pgcc -fast -help dd ddddddddddddddd O2ddd -O ddd – -fastssedddd SSE d SSE2 dddddddd Opteronddddddd dddddddddddd pgcc -fastsse -help dddddddddddd ddddd O2ddd -O ddd – -fpic d -fPICdddddddddddddddddddddddddd dddddddd – -Kpic d -KPICdd-fpic d -fPIC dddddddddddddd – -Minfo[=option[,option,. . . ]]d d d d d d d d d d d d d d d d d d d alldautoinlinedinlinedipadloop d optdmpdtime d statd – -Mipa[=option[,option,. . . ]] d -Mnoipadddddddddddddddd ddd -Mnoipad – -Mneginfo=option[,option. . . ]dddddddddddddddddddd dddddd concurdloop d alld – -Mnoopenmpdddd -mp dddddd OpenMP ddddd – -Mnosgimpdddd -mp dddddd SGI ddddd – -Mpfidddddddddddddddddddddddddddddd ddddddddd-Mpfi ddddddddddddddddddddd dddddd pgfi.outd 4 ddd OPENMP dddd 12 – -Mpfoddddddddddddddddddddddddd pgfi.outd – -Mprof[=option[,option,. . . ]]dddddddddddddddddddd ddddddddddd PGPROF dddddddd – -mp[=option]ddddddddd OpenMP dddddddd – -O[level]ddddddddlevel ddd 0d1d2d3d4ddd 4 d 3 ddd – -pgddd gprof ddddddddddddd • ddddd – -gdddddddd • dddddd – -Cddddddd C dddddddd – -D<name[=def]>dddddddd name d defd – -dDddddddddddddddddddddd – -dIddddddddddddddddddddddddddddd – -dMddddddddddddddddddddddddddddddd – -dNdd -dD ddddddddddddddddddddddd – -Edddddd .c dddddddddddddddddddddddd dddddd – -I<ddddd>dddddddddddd – -Mddd make ddddddddddd – -MDddd make dddddddd file.dddd file dddddddddd – -MMddd make dddddddddddddddddddd – -MMDddd make dddddddd file.dddd file dddddddd dddddddddddd – -Pdddddddddddddd file.c dddddddddd file.id – -U<name>dddddddddd name dddddd 4 ddd OPENMP dddd 13 • ddddd – -Bdynamicdddddddddddddd – -Bstaticdddddddddd – -Bstatic pgi ddddddddddddd PGI dd – -g77libsddddd GNU g77 d gcc ddddd – -l<ddd>dddddddddddddd libxyz.adddd -lxyz ddd – -L<ddd>dddddddddd – -mdddddddd – -Mrpath d -Mnorpathdddd -rpathdddddd PGI dddddd ddd -Mnorpath dddddddd – -pgf77libsdddddd pgf77 dddddddddddd – -rddddddddddddddd – -R<directory>ddddddddddd directory ddd – -pgf90libsdddddd pgf90 dddddddddddd – -sharedddddddddddddddddddddddddddddd d -fpic ddd – -soname<name>d d d d d d d d d d d d d DT SONAME d d d d d named – -u<name>dddddddddddddddddd • ddddd – -Bddddddd C++ dddddddddd // ddddddddd dddddd -C ddddddddddddd – -c8x d -c89dd C ddddd C89 ddd – -c9x d -c99dd C ddddd C99 ddd 4 ddd OPENMP dddd 14 • ddddddd – -Kieee d -Knoieeeddddddddddd IEEE 754 ddddd -Kieee d dddddddddddddddddddddddddd -Knoieee dd dddddddddddddd – -Ktrap=[option,[option]. . . ]ddddddddddddddddddd divzd fpdalignddenormdinexactdinvdnonedovfdunfdddd noned – -Msecond underscore d -Mnosecond underscoredddddd d Fortran d dddddd ddd g77 ddddddd g77 dddddddddd d – -mcmodel=small|mediumdddddddddddddd 2GB(small)dd dddddd 2GB(medium)dmedium ddd -Mlarge arrays ddd – -tp targetdtarget d d d amd64damd64edbarcelonadbarcelona-64dk832dk8-64dk8-64edx64 dddddddddddddd ddddddddddddddddddddddddddddddddddd ddddddddddddddddddd AMD Opteron Barcelona ddddddd dddddddddddddddd 4.2.4 GNU C/C++ ddd GCC d ddd dd GNU ddd GCC d Linux ddddddddddddddddd 4.1.2 d 3.4.6d ddddddddddddddddd 4.1.2 dddddddddddddddd d GCC ddddd • dddddddddd – -x languagedddddddddddddddddddddlanguage ddd ∗ cdc-headerdc-cpp-output ∗ c++dc++-headerdc++-cpp-output ∗ objective-cdobjective-c-headerdobjective-c-cpp-output ∗ objective-c++ objective-c++-header objective-c++-cpp-output ∗ assemblerdassembler-with-cpp 4 ddd OPENMP dddd 15 ∗ ada ∗ f95df95-cpp-input ∗ java ∗ treelang d language d none ddddddddddddddddddddddd ddd – -cdddddddddd.o ddddddddddd – -o filedddddddddd – -vddddddddddddddddddddddd – -###dddddddddddddddddddddddddddddd ddddddddddddddddddd – –helpdddddddd – –target-helpddddddddddddd – –versionddddddddddd • C ddddd – -ansidC dddddddd ISO C90 dddd C++ ddddddd ISO C++ ddd GNU ddd – -std=ddddddddddd c89diso9899:1990diso9899:199409dc99dc9xd iso9899:1999diso9899:199xdgnu89dgnu99dgnu9xdc++98dgnu++98d – -Bdddddddd C++ dddddddddd // ddddddddd dddddd -C ddddddddddddd – -c8x d -c89dd C ddddd C89 ddd – -c9x d -c99dd C ddddd C99 ddd • ddddd – -fsyntax-onlydddddddddddddddddddddd – -wdddddddddddddddddd 4 ddd OPENMP dddd 16 – -Wfatal-errorsdddddddddddddddddddddddddd ddd • ddddd – -gdddddddd – -ggdbddddd gbd dddddddddd • ddddd – -O[level]dddddddddddd level ddddd 0d1d2d3dsd • dddddd – -Cddddddd C dddddddd – -D namedddddddd name ddd 1d – -D name=defddddddd name d defd – -U namedddddddddd name ddddd – -undefdddddddd GCC ddddddddddddddddddd – -dDdddddddddddddddddddd – -dIdddddddddddddddddddddddddddddd – -dMddddddddddddddddddddddddddddddd – -dNdd -dD ddddddddddddddddddddddd – -Eddddd .c ddddddddddddddddddddddddd – -I<ddddd>dddddddddddd – -Mddd make ddddddddddd – -MDddd make dddddddd file.dddd file dddddddddd – -MMddd make dddddddddddddddddddd – -MMDddd make dddddddd file.dddd file dddddddd dddddddddddd – -Pdddddddddddddd file.c dddddddddd file.id 4 ddd OPENMP dddd 17 • ddddd – -pieddddddddddddddddddddd – -sdddddddddddddddd – -rdynamicdddddddddddddddd – -staticdddddddddd – -sharedddddddddddddddddddddddddddddd d -fpic ddd – -shared-libgccddddd libgcc dd – -static-libgccddddd libgcc dd – -u <symbol>ddddd symbol dddddddddddddddddd – -I<ddddd>dddddddddddd – -l<ddd>dddddddddddddd libxyz.adddd -lxyz ddd – -L<ddd>dddddddddd – -B<dd>ddddddddddddddddddddddddd • Intel 386 d AMD x86-64 ddddddd – -mtune=cpu-typedddddddd CPU ddddddgenericdk8dopteron dd – -march=cpu-typedddddddd CPU ddddddgenericdk8dopteron dd – -mieee-fp d -mno-ieee-fpddddddddddd IEEE ddd • dddddddd – -fpicddddddddddddddddd – -fPICddddddddddddddddddddd – -fopenmpddd OpenMP ddddd – -fpie d -fPIEdd -fpic d -fPIC dddddddddddddddddd dddddddd ddddddddddddddddddddddddddddddddddd ddddddddddddddddddd AMD Opteron Barcelona ddddddd dddddddddddddddd 4 ddd OPENMP dddd 4.2.5 18 C/C++ dd ddd d • Intel C/C++ dddddddd – icc -o yourprog yourprog.c d C dd yourprog.c dddddddd yourprogd – icpc -o yourprog yourprog.cpp d C++ dd yourprog.cpp dddddddd yourprogd – icc -o yourprog-omp -openmp yourprog.c d OpenMP ddddd C dd yourprog-omp.c dddddddd yourprogompd • PGI C/C++ dddddddd – pgcc -o yourprog yourprog.c d C dd yourprog.c dddddddd yourprogd – pgCC -o yourprog yourprog.cpp d C++ dd yourprog.cpp dddddddd yourprogd – pgcc -o yourprog-omp -mp yourprog.c d OpenMP ddddd C dd yourprog-omp.c dddddddd yourprogompd • GNU C/C++ dddddddd – gcc -o yourprog yourprog.c d C dd yourprog.c dddddddd yourprogd – g++ -o yourprog yourprog.cpp d C++ dd yourprog.cpp dddddddd yourprogd – gcc -o yourprog-omp -fopenmp yourprog.c d OpenMP ddddd C dd yourprog-omp.c dddddddd yourprogompd 4 ddd OPENMP dddd 19 Fortran d dd d d 4.3 4.3.1 dddddddddddddd ddddddddddddddddddddddddddddddddddd dd 3d ddd filename.a d 3: dddddddddddddd dd dd ddddd ddddd filename.f filename.for filename.ftn ddddd Fortran ddd d Fortran ddddd ddddd Fortran ddd ddd Fortran ddddddddddd ddddd Fortran ddd d Fortran ddddd ddddd Fortran ddd ddd Fortran ddddddddddd filename.i filename.fpp filename.FPP filename.F filename.FOR filename.FTN filename.f90 filename.i90 filename.F90 filename.s dddd dddddd filename.so ddd dddddd filename.o dddd dddddd ddddddddddddddddddddddddddddddddddd d 4d 4.3.2 Intel Fortran d dd ddd ddd • -Bdynamicdddddddddddddd • -Bstatic dddddddddddd 4 ddd OPENMP dddd d 4: dddddddddddd dd dddd ddd filename.o dddd filename.so ddddd ddddd -c dddd ddddddddddddd -shareddddd -c filename.mod dddd dddd MODULE ddddddddd filename.s dddd ddddd -S dddd a.out 20 dddddddddd ddddddd -c ddd • -cdddddddddd.o dddd • -convert [ddd]dddddddddddddddddd big endian d little endian ddddddddddddddd big endian d little endian ddddd ddddddddddddd • -cppdddddddddddddd -fppd • -extend-source[size]dddddddd Fortran dddddddd size dd 72d80 d 132dddddd -72d-80 d -132 dddddd 72 ddd • -fastddddddddddddddddddddddddddddddddd ddddddd • -fixedddd Fortran ddddddddddddddddddddddd • -fpicddddddddddddddddddddddddddddddd d -fPICdddd -fno-picd • -freeddd Fortran ddddddddddddddddddddddd • -gdddddddd • -ipdddddddddddddd(Interprocedural Optimizations-IPO)d • -ipo[n]dddddddddddddddddd n ddddddddddd • -I<ddddd>dddddddddddd 4 ddd OPENMP dddd 21 • -implicitnonedddddddddddddddddddddd implicit none d ddddddddddddddddddd • -L<ddd>dddddddddd • -l<ddd>dddddddddddddddd libxyz.adddd -lxyz ddd • -nofreeddd Fortran ddddddddd • -openmpd d d OpenMP d d d d d d d d d d d d d d d d d d d d d d d d d CPU d d OpenMP d d d d d d d d d d d -a openmp -R “span[hosts=1]” dddddddddddddddd • -O<dd>ddddddddddd O2dO d O2 ddddddddO3 d d O2 dddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddd dddd • -pddddddddd(Profile Guided Optimization-PGO)d • -sharedd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d -fpic ddd • -stand <dd>dddd Fortran ddddddddddddddddddd ddddddddddd f03df90df95 d nonedddddddddd Fortran 2003d90d95 dddddddddddddddddddddddd -std<d d>ddddddd fddd 03d90d95d • -staticddddddddd • -unroll[n]dddddddddddddddddd • -usdddddddddddddddddddddddddd -assume underscoredddddddd dddddddddddddddddd • -wdddddddddddddddddd • -wallddddddddddd 4 ddd OPENMP dddd 22 • -Xdddddddddddddddddd -I dddddddddddddd ddddddddddddddddddddddddd IPOdPGO d HLO d dddddddddddddddddddddddddddd Intel dddd d Intel dddddddddddddd AMD Opteron Barcelona dddddddd ddddddddd Intel XEON dddddddddddddddddddddd ddddd 4.3.3 PGI Fortran d ddd dd ddd PGI ddddddddddddddddddddddddddd Fortran 9x d dd pgf90 ddddddd Fortran 77 ddd pgf77 dddddddddddddd dddd PGI ddddd • ddddd – -#dddddddddddddddddd – -cdddddddddd.o dddd – -defaultoptions d -nodefaultoptionsdddddddddddddddd – -flagsddddddddddddd – -help[=option]ddddddddoption ddd groupsdasmddebugdlanguaged linkerdoptdotherdoveralldphasedphasedpreprodsuffixdswitchdtarget d variabled – -Minform=levelddddddddddddddddlevel ddd fataldfiled severedwarndinformdddd -Minform=warnd – -noswitcherrordddddddddddddddddddddddddd dddddddddddddd – -o filedddddddddd – -showddddd pgf90 dddddddd – -silentdddddddddd -Minform=severe ddd – -vddddddddddddddddddddddd 4 ddd OPENMP dddd 23 – -Vddddddddddd – -wdddddddddddddddddd • ddddd – -fastddddddddddddddddddddd pgf90 -fast -help dd ddddddddddddddd O2ddd -O ddd – -fastssedddd SSE d SSE2 dddddddd Opteronddddddd dddddddddddddd pgcc -fastsse -help dddddddddd ddddddd O2ddd -O ddd – -fpic d -fPICddddddddddddddddddddddddddd dddddddd – -Kpic d -KPICdd-fpic d -fPIC dddddddddddddd – -Minfo[=option[,option,. . . ]]dddddddddddddddddddd d alldautoinlinedinlinedipadloop d optdmpdtime d statd – -Mipa [=option[,option,. . . ]] d -Mnoipaddddddddddddddd ddd -Mnoipad – -Mneginfo=option[,option. . . ]dddddddddddddddddddd dddddddd concurdloop d alld – -Mnoopenmpdddd -mp dddddd OpenMP ddd – -Mnosgimpdddd -mp dddddd SGI ddddd – -Mpfidddddddddddddddddddddddddddddd dddddddddddd-Mpfi dddddddddddddddddd ddddddddd pgfi.outd – -Mpfodddddddddddddddddddddddddd pgfi.outd – -Mprof[=option[,option,. . . ]]dddddddddddddddddddd ddddddddddd PGPROF dddddddddd – -mp[=option]ddddddddd OpenMP dddddddd – -O[level]ddddddddlevel ddd 0d1d2d3d4ddd 4 d 3 ddd 4 ddd OPENMP dddd 24 – -pgddd gprof ddddddddddddd • ddddd – -gdddddddd • dddddd – -Cddddddd C dddddddd – -D<name[=def]>ddddddd name d defd – -dDdddddddddddddddddddd – -dIdddddddddddddddddddddddddddddd – -dMddddddddddddddddddddddddddddddd – -dNdd -dD dddddddddddddddddddddddd – -Eddddd .c ddddddddddddddddddddddddd – -I<ddddd>dddddddddddd – -Mddd make ddddddddddd – -MDddd make dddddddd file.dddd file dddddddddd – -MMddd make dddddddddddddddddddd – -MMDddd make dddddddd file.dddd file dddddddd dddddddddddd – -Pdddddddddddddd file.c dddddddddd file.id – -U<name>ddddddd name dddddd • ddddd – -Bdynamicddddddddddddd – -Bstaticdddddddddd – -Bstatic pgi dddddddddddddd PGI dd – -g77libsddddd GNU g77 d gcc ddddd – -l<ddd>dddddddddddddd libxyz.adddd -lxyz ddd 4 ddd OPENMP dddd 25 – -L<ddd>dddddddddd – -mdddddddd – -Mrpath d -Mnorpathdddd -rpathdddddd PGI dddddd ddd -Mnorpath dddddddd – -pgf77libsdddddd pgf77 dddddddddddd – -rddddddddddddddd – -R<directory>ddddddddddd directory ddd – -pgf90libsdddddd pgf90 dddddddddddd – -sharedddddddddddddddddddddddddddddd d -fpic ddd – -soname<name>d d d d d d d d d d d d d DT SONAME d d d d d named – -u<name>dddddddddddddddddd • ddddd – -byteswapio d -Mbyteswapioddddd Fortran ddddddddddd dddbig-endiandddddlittle-endianddddddddddddddd ddddd Sun d SGI ddddddddd Fortran ddddd – -i2dd INTEGER dddd 2 ddddd – -i4dd INTEGER dddd 4 ddddd – -i8ddddd INTEGER d LOGICAL dddd 4 ddddd – -i8storageddINTEGER d LOGICAL dddd 8 ddd – -Mallocatable[=95|03]ddd Fortran 95 d 2003 ddddddd – -Mbackslash d -Mnobackslashddddd(\)ddddddddddddd ddddd -Mnobackslashd-Mnobackslash ddddd C ddddddd dddddddddddddd-Mbackslash ddddddddddddd dddd – -Mextenddddddddddd 132 dd 4 ddd OPENMP dddd 26 – -Mfixedd-Mnofree d -Mnofreeformddddddddddddddddd ddddd .f d .F dddddddddd – -Mfree d -Mfreeformd d d d d d d d d d d d d d d d d d d d d d .f90d.F90d.f95 d .F95 dddddddddd – -Mi4 d -Mnoi4dd INTEGER dd INTEGER*4d-Mnoi4 d INTEGER d d INTEGER*2d – -Mnomainddddddddddd Fortran ddddddddd – -Mr8 d -Mnor8dd REAL dd DOUBLE PRECISIONddd(REAL)dd ddddd(DOUBLE PRECISION)dddddddd – -Mr8intrinsics [=float] d -Mnor8intrinsicsdd CMPLX dd DCMPLXd d REAL dd DBLEddd float ddddd FLOAT dd DBLEd – -Msave d -Mnosavedddddddddddd SAVE dddddddd – -Mupcase d -Mnoupcasedddddddddddd-Mnoupcase dddd ddddddddddddddd -Mupcasedddddd X dddd x d ddddddddddddd – -Mcray=pointerddd Cray ddddd – -module directoryddddddddddddddddddd – -r4dd DOUBLE PRECISION dddd REALd – -r8dd REAL dddd DOUBLE PRECISIONd • ddddddd – -Kieee d -Knoieeeddddddddddd IEEE 754 dddddddd dd -Kieee dddddddddddddddddddddddddd d -Knoieee dddddddddddddddd – -Ktrap=[option,[option]. . . ]dddddddddddddddddddd d divzdfpdalignddenormdinexactdinvdnonedovfdunfdddd noned – -Mlarge arrays d -Mnolarge arraysddddddddd 2GBddddd ddddd -mcmodel=medium ddd -Mlarge arrays ddd 4 ddd OPENMP dddd 27 – -mcmodel=small|mediumddddddddddddddd 2GB(small)d ddddddd 2GB(medium)dmedium ddd -Mlarge arrays ddd – -Msecond underscore d -Mnosecond underscoreddddddd d For- tran ddddddd ddddd g77 ddddddg77 dddddddd dd d – -Mvarargs d -Mnovarargsdddddd Fortran dd C dddddddd dddddddddd – -tp targetdtarget d d d amd64damd64edbarcelonadbarcelona-64dk832dk8-64dk8-64edx64 dddddddddddddd ddddddddddddddddddddddddd IPAdPGA dddd dddddddddddddddddddddddddddddddd AMD Opteron Barcelona dddddddddddddddddddddd 4.3.4 GNU Fortran dd ddd ddd d GNU Fortran dddd Linux ddddd Fortran ddddddddddd d 4.1.2dddddd gcc dddddddddddddd 4.1.2 d gfortran dddd ddddddddddddd GNU Fortran d gcc dddddd • dd Fortran dddddddd – -ffree-form d -ffixed-formdddddddddddddddddddd d Fortran 90 dddddddddddddd Fortran 77 ddddddd dddd – -fdefault-double-8ddd DOUBLE PRECISION ddd 8 ddd – -fdefault-integer-8ddd INTEGER d LOGICAL ddd 8 ddd – -fdefault-real-8ddd REAL ddd 8 ddd – -fno-backslashddddd(\)ddddddddddddddd – -ffixed-line-length-<n>dddddddddddddd nd – -ffree-line-length-<n>dddddddddddddd nd 4 ddd OPENMP dddd 28 – -fmax-identifier-length=<n>ddddddddddddd ndFortran 95 d 200x dddddd 31 d 65d – -fimplicit-noneddddddddddddddddddddddd – -fcray-pointerddd Cray ddddd – -fopenmpddd OpenMP ddddd – -std=<std>ddd Fortran dddstd ddd f95df2003dlegacyd – -M<dir> d -J<dir>dddddddddddddddddd – -fconvert=<conversion>ddddddd Fortran dddddddddd dddddnativedddddswapdddddddddddbig-endiand ddddlittle-endiandddddddddddbig-endianddddddd ddlittle-endianddddddddd • ddddd – -cdddddddddd.o ddddddddddd – -o filedddddddddd – -vddddddddddddddddddddddd – -###dddddddddddddddddddddddddddddd ddddddddddddddddddd – –helpdddddddd – –target-helpddddddddddddd – –versionddddddddddd • ddddd – -fsyntax-onlydddddddddddddddddddddd – -wdddddddddddddddddd – -Wfatal-errorsddddddddddddddddddddd • ddddd – -gdddddddd 4 ddd OPENMP dddd 29 – -ggdbddddd gbd dddddddddd • ddddd – -O[level]dddddddddddd level ddddd 0d1d2d3dsd • dddddd – -Cddddddd C dddddddd – -D nameddddddddd name ddd 1d – -D name=defdddddddd name d defd – -U namedddddddddd name ddddd – -undefdddddddd GCC ddddddddddddddddddd – -dDdddddddddddddddddddd – -dIdddddddddddddddddddddddddddd – -dMddddddddddddddddddddddddddddd – -dNdd -dD ddddddddddddddddddddddd – -Edddddddddddddddddddddddddddddd – -I<ddddd>dddddddddddd – -Mddd make ddddddddddd – -MDddd make dddddddd file.dddd file dddddddddd – -MMddd make ddddddddddddddddddd – -MMDddd make dddddddd file.dddd file dddddddd dddddddddddd – -Pdddddddddddddd file.c dddddddddd file.id • ddddd – -pieddddddddddddddddddddd – -sdddddddddddddddd – -rdynamicdddddddddddddddd 4 ddd OPENMP dddd 30 – -staticdddddddddd – -sharedddddddddddddddddddddddddddddd d -fpic ddd – -shared-libgccddddd libgcc dd – -static-libgccddddd libgcc dd – -u <symbol>ddddd symbol dddddddddddddddddd – -I<ddddd>dddddddddddd – -l<ddd>dddddddddddddd libxyz.adddd -lxyz ddd – -L<ddd>dddddddddd – -B<dd>ddddddddddddddddddddddddd • Intel 386 d AMD x86-64 ddddddd – -mtune=cpu-typedddddddd CPU ddddddgenericdk8dopteron dd – -march=cpu-typedddddddd CPU ddddddgenericdk8dopteron dd – -mieee-fp d -mno-ieee-fpddddddddddd IEEE ddd • dddddddd – -fno-automaticdddddddddddddddddddd SAVE ddd – -ff2cdd g77 d f2c dddddddd – -fno-underscoringdddddddd ddddgfortran ddddd g77 d f2c ddddddddddd -ff2c ddddddddddddddddddd ddddddddd -fno-underscoring ddd – -funderscoringdddddddd dd ddddd Fortran dddddd – -fsecond-underscoreddd gfortran ddddddddd ddddddd ddddddddd ddddddd -fno-underscoring dddddddd dddd -ff2c dddddd – -fpicddddddddddddddddd – -fPICddddddddddddddddddddd 4 ddd OPENMP dddd 31 – -fpie d -fPIEdd -fpic d -fPIC dddddddddddddddddd ddddddd ddddddddddddddddddddddddddddddddddd ddddddddddddddddddd AMD Opteron Barcelona ddddddd ddddddddddddddd 4.3.5 Fortran dd dd dd • Intel Fortran dddddddd – ifort -o yourprog yourprog.for d Fortran 77 dd yourprog.for dddddddd yourprogd – ifort -o yourprog -static yourprog.f90 d Fortran 90 dd yourprog.f90 dddddddddd yourprogd – ifort -o yourprog-omp -openmp yourprog.f90 d OpenMP ddddd Fortran 90 dd yourprog-omp.f90 ddddddd d yourprog-ompd • PGI Fortran dddddddd – pgf77 -o yourprog yourprog.for d Fortran 77 dd yourprog.for dddddddd yourprogd – pgf90 -o yourprog -static yourprog.f90 d Fortran 90 dd yourprog.f90 dddddddddd yourprogd – pgf90 -o yourprog-omp -mp yourprog.f90 d OpenMP ddddd Fortran 90 dd yourprog-omp.f90 ddddddd d yourprog-ompd • GNU Fortran dddddddd – g77 -o yourprog yourprog.for d Fortran 77 dd yourprog.for dddddddd yourprogd – gfortran -o yourprog -static yourprog.f90 d Fortran 90 dd yourprog.f90 dddddddddd yourprogd 4 ddd OPENMP dddd 32 – gfortran -o yourprog-omp -fopenmp yourprog.f90 d OpenMP ddddd Fortran 90 dd yourprog-omp.f90 ddddddd d yourprog-ompd dddg77 ddd OpenMPddddd Fortran 90 dddddd gfortran d d Fortran 77 ddd 4.4 OpenMP d dd d dd d d InteldPGIdGNU d d d d d OpenMP d d d d d d d d d d d d d d d dd OpenMP dddddddddddddddddddd OpenMP dddd d -openmpd-mpd-fopenmpd • Intel dddd – icc -o yourprog-omp -openmp yourprog.c d OpenMP d C dd yourprog-omp.c dddddddd yourprog-ompd – ifort -o yourprog-omp -openmp yourprog.f90 d OpenMP d Fortran 90 dd yourprog-omp.f90 dddddddd yourprogompd • PGI dddd – pgcc -o yourprog-omp -mp yourprog.c d OpenMP d C dd yourprog-omp.c dddddddd yourprog-ompd – pgf90 -o yourprog-omp -mp yourprog.f90 d OpenMP d Fortran 90 dd yourprog-omp.f90 dddddddd yourprogompd • GNU dddd – gcc -o yourprog-omp -fopenmp yourprog.c d OpenMP d C dd yourprog-omp.c dddddddd yourprog-ompd – gfortran -o yourprog-omp -fopenmp yourprog.f90 d OpenMP d Fortran 90 dd yourprog-omp.f90 dddddddd yourprogompd 4 ddd OPENMP dddd 33 OpenMP dddddddddddddddddd OMP NUM THREADS d ddddddddd bash ddd export OMP NUM THREADS=8 ddddddd ddddddddddddddddddddddddddddddddddd ddddd CPU dddd OpenMP ddddddddddddd -a openmp -R “span[hosts=1]” dddddddddddddd 5 MPI dddddd 34 MPI dddd dd 5 d d d d d d d d d d InfiniBandd d d d d d d d d d d d d d d d d d d d d InfiniBand d d d d d d d d d d d d d d d d MPI d d d d d d d Infiniband d d d Open MPI d MVAPICHd1 d 2 d d d d d d d d d d d d InteldPGIdGNU ddddddddddddddddd /usr/mpi/intel/openmpi1.4.1ddddddd mpi-selector-menu ddddddddddddd MPI dddd ddddddd ud Current system default: openmpi intel−1.4.1 Current user default : <none> ”u” and ”s” modifiers can be added to numeric and ”U” commands to specify ”user” or ”system−wide”. 1. mvapich2 gcc−1.4.1 2. mvapich2 intel−1.4.1 3. mvapich2 pgi−1.4.1 4. mvapich gcc−1.2.0 5. mvapich intel−1.2.0 6. mvapich pgi−1.2.0 7. openmpi gcc−1.4.1 8. openmpi intel−1.4.1 9. openmpi pgi−1.4.1 U. Unset default Q. Quit Selection (1−9[us], U[us], Q): 5.1 MPI d d dd d dd Open MPI d MVAPICH/MVAPICH2 dddddddddmpiccdmpic++dmpicxxdmpiCCd mpif77 d mpif90ddddddddddddddddddddddddd • mpicc -o yourprog-mpi yourprog-mpi.c d C ddd MPI dddd yourprog-mpi.c dddddddd yourprog-mpid • mpicxx -o yourprog-mpi yourprog-mpi.cpp d C++ ddd MPI dddd yourprog-mpi.cpp dddddddd yourprogmpiddddd mpic++ d mpiCCd 5 MPI dddddd 35 • mpif77 -o yourprog-mpi yourprog-mpi.f d Fortran 77 ddd MPI dddd yourprog-mpi.f dddddddd yourprogmpid • mpif90 -o yourprog-mpi yourprog-mpi.f90 d Fortran 90 ddd MPI dddd yourprog-mpi.f90 dddddddd yourprogmpid MPI ddddddddddddddd InteldPGIdGCC ddddddddd dddddddddddddddd 5.2 MPI d d dd d dd dddddddMPI ddddddddddddd LSF ddddddd bsub d dddddddd bsub -q normal -o log -e err file -n 8 mpiibjob ./yourprogmpidddddddd mpiibjob d mpip4job dddddd InfiniBand dddddd d MPI dddddddddddddddddd 5.3 MPI d d dd d d ddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddd 6 ddddd 36 ddddd 6 dddddddddddddddd Intel Math Kernel Library(MKL)dAMD Core Math Library (ACML)dddddddddddddd /opt/lib ddddddd dd libgoto barcelonap-r1.26-intel.a ddd Intel dddddd goto ddddddd dddddddddddddddd 6.1 Intel MKL ddddd MKL ddd 11.1.064dddd /opt/intel/Compiler/11.1/064/mkl/libd dd i386 d AMD64(em64t) ddddddddddddd 32 d em64tdddd d AMD64 dddddddd bash dddddd ˜/.bashrc ddddddddddd ddd MKL ddddddd INCLUDEdLD LIBRARY PATH d MANPATH dd . /opt/intel/Compiler/11.1/064/mkl/tools/environment/mklvarsem64t.sh 6.1.1 MKL d dd d MKL ddddddddd • dddddddddd(BLAS) • ddddddddd(Sparse BLAS) • ddddd(LAPACK) • ddddddddd(ScaLAPACK) • dddddd(Sparse Solver routines) • ddddddd(Vector Mathematical Library functions) • ddddddd(Vector Statistical Library functions) • ddddddd(Fourier Transform functions (FFT)) • dddddddddd(Cluster FFT) • dddddd(Interval Solver routines) 6 ddddd 37 • dddddd(Trigonometric Transform routines) • d d d d d d d d d d d d d d d(Poisson, Laplace, and Helmholtz Solver routines) • ddddddddddd(Optimization (Trust-Region) Solver routines) 6.1.2 MKL d dd d MKL ddddddddddd 5d d 5: MKL dddd dd dd <mkl dir> MKL dddddd /opt/intel/Compiler/11.0/081 <mkl dir>/benchmarks/linpack dd OpenMP dd LINPACK ddddd <mkl dir>/benchmarks/mp linpack dd MPI dd LINPACK ddddd <mkl dir>/doc MKL dddd <mkl dir>/examples ddddddddddddd <mkl dir>/include dd INCLUDE dd <mkl dir>/interfaces/blas95 dd BLAS d Fortran 90 dddddddddd makefile <mkl dir>/interfaces/LAPACK95 dd LAPACK dFortran 90 dddddddddd makefile <mkl dir>/interfaces/fftw2xc dd 2.x d FFTW(C dd)dddddddddd makefile <mkl dir>/interfaces/fftw2xf dd 2.x d FFTW(Fortran dd)dddddddddd makefile <mkl dir>/interfaces/fftw3xc dd 3.x d FFTW(C dd)dddddddddd makefile <mkl dir>/interfaces/fftw3xf dd 3.x d FFTW(Fortran dd)dddddddddd makefile <mkl dir>/interfaces/fftw2x cdft dd 2.x d MPI FFTW(dd FFT)dddddddddd makefile <mkl dir>/lib/32 dd IA32 ddddddddddddd <mkl dir>/lib/em64t dd EM64T ddddddddddddd <mkl dir>/man/man3 MKL d man dd <mkl dir>/tests dddddd <mkl dir>/tools/builder ddddddddddddddddd <mkl dir>/tools/environment ddddddddddd shell dd <mkl dir>/tools/support dddd Intel Premier dddddddd ID dddddddd 6 ddddd 6.1.3 38 d d MKL dddddddd MKL ddd libyyy.a d libyyy.sodddddddddd • dddddddddddddddddddddddd <ld> myprog.o /opt/intel/Compiler/11.0/081/em64t/libmkl solver.a \ /opt/intel/Compiler/11.0/081/em64t/libmkl intel.a \ /opt/intel/Compiler/11.0/081/em64t/libmkl intel thread.a \ /opt/intel/Compiler/11.0/081/em64t/libmkl core.a \ /opt/intel/Compiler/11.0/081/em64t/libguide.so -lpthread dd <ld> dddddddd lddmyprog.o ddddddddd • ddddddd MKL ddddddddd libpthreadd dddddddd -L<path> dddddddddddddddddddddd dddd -I<include>ddddddddddddd ddddddddddd mklvarsem64t.sh ddd MKL dddddddddd ddddddddddddddddddddd -l<dd>dddddddddd dd MKL dddddddddddddd −L<MKL path> −I<MKL path> [−lmkl LAPACK95] [−lmkl blas95] [ cluster components] [{−lmkl {intel, intel lp64 , intel ilp64 , intel sp2dp , gf , gf lp64 , gf ilp64 }] [−lmkl {intel thread, sequential }] [{−lmkl solver, −lmkl solver lp64, −lmkl solver ilp64}] {{[−lmkl LAPACK] −lmkl {ia32, em64t, ipf}}, −lmkl core}} [{−lguide, −liomp5}] [−lpthread] [−lm] ddddddddddddddddddddddddddd -l dddd ddddddddddddddd $MKLPATH/libmkl core.a dd -lmkl coredd d $MKLPATH dddddddd MKL ddddddddd 6 ddddd 6.2 39 ACML 6.2.1 ACML dd AMD Core Math Library (ACML) ddddddddddddddddd AMD64 ddddddd OpterondddddddACML ddddd FORTRAN 77 d C dd dddddddd • BLAS - ddddddddddddddddddddddddd(Sparse BLAS) • LAPACK - ddddd • FFT - ddddddd • RNG - dddddddddddddd dd ACML ddd /opt/acml4.4.0ddddddddddddddddd 6d d 6: ACML dddd 6.2.2 dd dd ifort32 dd 64 d Intel dddddddd OpenMP ddddd ifort32 mp ddddd 32 d Intel ddddddd OpenMP ddddd ifort64 dd 64 d Intel dddddddd OpenMP ddddd ifort64 mp ddddd 64 d Intel ddddddd OpenMP ddddd pgi32 dd 64 d PGI dddddddd OpenMP ddddd pgi32 mp ddddd 32 d PGI ddddddd OpenMP ddddd pgi64 dd 64 d PGI dddddddd OpenMP ddddd pgi64 mp ddddd 64 d PGI ddddddd OpenMP ddddd gfortran32 dd 64 d gfortran dddddddd OpenMP ddddd gfortran32 mp ddddd 32 d gfortran ddddddd OpenMP ddddd gfortran64 dd 64 d gfortran dddddddd OpenMP ddddd gfortran64 mp ddddd 64 d gfortran ddddddd OpenMP ddddd ddddd • Intel dddddddd 6 ddddd 40 – ifort driver.f -L/opt/acml4.2.0/ifort64/lib -lacml – gcc -c -I/opt/acml4.2.0/ifort64/include driver.c ifort -nofor-main driver.o -L/opt/acml4.2.0/ifort64/lib -lacml – ifort -openmp driver.f -L/opt/acml4.2.0/ifort64 mp/lib -lacml mp – ifort -openmp driver.f -L/opt/acml4.2.0/ifort32 mp/lib -lacml mp • PGI dddddddd – pgf77 -tp=k8-64 -Mcache align driver.f -L/opt/acml4.2.0/pgi64/lib -lacml – pgf77 -tp=k8-32 -Mcache align driver.f -L/opt/acml4.2.0/pgi32/lib -lacml – pgf77 -tp=k8-64 -mp -Mcache align driver.f -L/opt/acml4.2.0/pgi64 mp/lib -lacml mp – pgf77 -tp=k8-32 -mp -Mcache align driver.f -L/opt/acml4.2.0/pgi32 mp/lib -lacml mp – pgcc -c -tp=k8-64 -mp -Mcache align -I/opt/acml4.2.0/pgi64 mp/include driver.c pgcc -tp=k8-64 -mp -Mcache align driver.o -L/opt/acml4.2.0/pgi64 mp/lib lacml mp -lpgftnrtl -lm • GNU dddddddd – gfortran -m64 driver.f -L/opt/acml4.2.0/gfortran64/lib -lacml – gfortran -m64 driver.f -L/opt/acml4.2.0/gfortran64/lib -static -lacml – gfortran -m64 driver.f /opt/acml4.2.0/gfortran64/lib/libacml.a – gfortran -m32 driver.f -L/opt/acml4.2.0/gfortran32/lib -lacml – gfortran -fopenmp -m64 driver.f -L/opt/acml4.2.0/gfortran64 mp/lib -lacml mp – gfortran -fopenmp -m32 driver.f -L/opt/acml4.2.0/gfortran32 mp/lib -lacml mp – gcc -m64 -I/opt/acml4.2.0/gfortran64/include driver.c -L/opt/acml4.2.0/gfortran64/lib -lacml -lgfortran ddd • 32 d 64 ddddddd 32 d 64 ddddddd 6 ddddd 41 • dd mp dddddd OpenMP dddddddd • dddddddddddddd ˜/.bashrcdddddddddddddddd ddddddddd COMPILER ddd ifort64 dddd export LD LIBRARY PATH=$LD LIBRARY PATH:/opt/acml4.2.0/COMPILER/lib 6.2.3 ACML MVd dd d d d d d d d d d ACML MV ddddddddddddd/ddddddddd sindcosdexp dd dddddddd AMD64 ddddddddddd 64 dd ACMLdddddd ddddddddddddddddddddd fast ddddddd cos ddd d fastcosddddddddddd vrd2 dvrd4 dvrda dvrs4 dvrs8 dvrsa ddd dd d dddddds dddddda ddddd2d4d8 dddddddddddd dd vrd4 log dddd 4 ddddddddddddd log ddddddddddd dd ACML ddd d d d d d d d d d d d d d d d d d d d d ACML d d d d d d d d d Intel 64 ddddddddd -L/opt/acml4.2.0/ifort64/lib -lacml mvddddd d acml mvddd acmld 7 dddddd 42 dddddd 7 dddddd Platform ddd LSF ddddddddddddddddddd ddddddddddd bsub ddddddddddddddddddddddd dd bsub dddddddd bsub dddddddddddddddddd • ddddddddddddddddddddddddddddddd • dddddddddddddddddddddddddddddddd dd d dd bsub 7.1 dddddd bsub ddddddddddd bsub [options] command [arguments]ddd options dddddCPU dddddddddd command ddddd ddd command ddddarguments ddddddddddddddddddddd dd command dddddddddddddddddddddddddddddd dd 7.1.1 d ddd dd ddbsub -q ddddd 38 d TC2600 dddddnode10 - node47ddddddd16GB d ddddd A620r-F dddio1 - io5ddddddd8GB dddddd A950r-F dd dnode48 d node49dddd 32 dd64GB dddddd -q ddddddddddd ddddddddd2 d • normald d d d d CPU d d d d d d d d d d d d d io1 - io5dnode10 node47 ddddddddddd • longddddd CPU dddddddddddd io1 - io5dnode10 - node46 d ddd • serialddddd CPU ddddddddddd node47 dddd • fatddddd CPU ddddddddddd 32 ddddddddddddd d node48 dddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddd 2 dddddddddddddddddddddddddddddddd bqueues -l dddd 7 dddddd 43 dddddd normal dddddddd executable1dddd bsub -q normal executable1 d bsub executable1 dddddddddddddddddd Job <79722> is submitted to default queue <normal>. dd 79722 dddddddddddddddddddddddddddddd 7.1.2 d ddd dd dbsub -q serial dddddddddddddd serialdddd bsub -q serial executable-serial 7.1.3 d ddd dd CPU dd dbsub -n dd -n dddddddd CPU ddddddddddddddddddddd ddddddddd -n 8 ddddd MPIdd mpiibjob d mpip4job dddddd bsub -q normal -n 8 mpiibjob executable-mpi1 dddddddddddddd -q long d -q fat dddd long d fat ddd 7.1.4 d d MPI dd dbsub -n NUM mpiibjob|mpip4job dddddd MPI ddddddd mpiibjob d mpip4job dddd InfiniBand d ddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddd InfiniBand dddddd ddddddddddddddddddddddddddddddd -n ddddd dd CPU ddddddddddd 16 d CPU ddddd InfiniBand ddd MPI d d executable-mpi1d bsub -q long -n 16 mpiibjob executable-mpi1 7.1.5 d d OpenMP ddd dd ddbsub -a openmp -R “span[hosts=1]” dddddddddddddd OpenMP dddddddddddddd -a openmp -R “span[hosts=1]” ddd bsub -a openmp -R “span[hosts=1]” -q normal -n 8 executable-omp1 7 dddddd 7.1.6 44 d ddd dd ddbsub -x ddddddddddddddddd -x ddd bsub -x -q normal -n 8 executable-omp1 dddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddd d CPU ddddddd 7.1.7 d ddd dd ddd ddd bsub -i -o -e dddddddddddddddddddddddddddddddd -ido d -e dddddddddddddddddddddddddddddddddd dddddd %J ddddddddddd executable1 ddddddddddddd ddddddexecutable1.inputdexecutable-ddd.log d executable1-ddd.errd bsub -i executable1.input -o executable1-%J.log -e executable1-%J.err executable1 7.1.8 d ddd dd ddbsub -I ddddddddddddddddddddddddddddddddddd ddd -I ddddddddddddddddddddddddddddddddd dddd -Ip d -Isd bsub -I executable1 7.2 d dd dd bkill dd bkill ddddddddddddddddddddddd bkill 79722 ddddddddddddddddd Job <79722> is being terminated 7 dddddd 7.3 45 dd d dd bstop dd bstop dddddddddddddddddddddddd bstop 79727 ddddddddddddddddd Job <79727> is being stopped. ddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddd dd CPU dddddddddddddddddddddddddddddddd dddddddddddddddddddd bkill ddd 7.4 dd d dd d dd d dd bresume dd bresume ddddddddddddddddddd bresume 79727 ddddddddddddddddd Job <79727> is being resumed. 7.5 dd d dd d dd d btop dd btop ddddddddddddddddddd btop 79727 ddddddddddddddddd Job <79727> has been moved to position 1 from top. 7.6 dd d dd d dd d bbot dd bbot ddddddddddddddddddddd bbot 79727 ddddddddddddddddd Job <79727> has been moved to position 1 from bottom. 7 dddddd 7.7 46 dd d dd d dd d dd bmod dd bmod dddddddddddddddddddddddddddddd d 79727 ddddddddddd executable2 dddd fat dddddd bmod -Z executable2 -q fat 79727 Parameters of job <79727> are being changed. 7.8 dd d dd d dd d dd d dbjobs dd bjobs dddddddddddddddddddddddddddddd dddddddddddddddddddddddddd bjobs JOBID USER STAT QUEUE FROM HOST EXEC HOST JOB NAME SUBMIT TIME 79726 hmli RUN normal user 2∗node31 ∗executab1 Mar 12 19:20 1∗node18 1∗node4 79727 hmli PEND long user ∗executab2 Mar 12 19:20 dddddd 79726 ddddddd node31dnode18 d node4 ddd 2d1d1 d dddddd 79727 ddddddddddddddddddddddd bjobs -l 79727 Job Id <79727>, User <hmli>, Project <default>, Status <PEND>, Queue <long> , Command <executab2> Sun Mar 12 14:15:07: Submitted from host <user.qibebt.ac.cn>, CWD <$HOME>, Requested Resources <type==any && swp>35>; PENDING REASONS: SCHEDULING PARAMETERS: r15s r1m r15m ut pg io ls it tmp swp mem loadSched − 0.7 1.0 − 4.0 − − − − − − loadStop − 1.5 2.5 − 8.0 − − − − − − dddddddddddd • -u usernameddddddddddd username d alldddddddddddd • -q queuenameddddddddddd • -m hostnameddddddddddd 7 dddddd 47 dd d dd d dd d dd d dd d bpeek 7.9 dd bpeek ddddddddddddddddddddd bpeek 79727 << output from stdout >> Radius(nm): 300.000 ddddddd -o d -e dddddddddddddddddddddddd dddddddddddddddd dddddddddddddddddd -f ddd 7.10 dd d dd ddd d dd lsload dd lsload ddddddddddddddddddd lsload HOST NAME status r15s r1m r15m ut pg ls it tmp swp mem node10 ok 0.0 0.0 0.0 0% 3.5 0 2050 9032M 4000M 16G node11 locku 0.0 0.0 0.0 0% 3.5 0 2050 9032M 4000M 16G ut dddddddstatus ddd locku ddddddddddd 7.11 dd d dd ddd d dd bhosts dd bhosts ddddddddddddddddddd bhosts HOST NAME STATUS JL/U MAX NJOBS RUN SSUSP USUSP RSV node12 closed − 4 2 2 0 0 0 node10 ok − 2 2 1 0 0 0 STATUS ddd ok ddddddddddclosed dddddddd 7.12 dd d dd d dbqueues dd bqueues dddddddddddddd bqueues QUEUE NAME PRIO STATUS MAX JL/U JL/P JL/H NJOBS PEND RUN SUSP normal 30 Open:Active − 8 − − 22 2 20 0 7 dddddd long fat 30 Open:Active 30 Open:Active − 304 − 32 − − − − 52 3 48 12 40 0 3 0 0 ddddddddddd • QUEUE NAMEdddd • PRIOdddddddddddddd • STATUSddddOpen:Active ddddddddddClosed:Active dddd dddddd • MAXdddddddd CPU ddd- ddddddddd • JL/Udddddddddd CPU dd • NJOBSdddddddddddddddd CPU dd • PENDddddddddd CPU dd • RUNddddddddd CPU dd • SUSPddddddddd CPU dd 7.13 dd d dd d dbuser dd buser dddddddddddd busers hmli USER/GROUP JL/P MAX NJOBS PEND RUN SSUSP USUSP RSV hmli − 22 40 32 8 0 0 0 8 dddd 8 49 dddd ddddddddddddddddddddddhttp://scc.qibebt.cas. cndddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddd • ddd0532-80662795 • ddd – [email protected] – [email protected]@ustc.edu.cn ddddddddddddddddddddddddddddddddddd dddddddddd