Fortran 11.1 Mac OS* X : 321416-002JA 2009 7 1... 3 1.1... 3 1.2... 3 1.3... 3 1.4... 3 1.5... 3 2... 4 2.1... 4 2.2... 5 2.3 /... 5 3 Fortran... 5 3.1... 5 3.1.1... 6 3.2... 6 3.2.1 Fortran 2003... 6 3.2.2... 6 3.3... 6 3.3.1 O0 mp... 7 3.4... 7 3.4.1... 7 3.4.2 I/O... 7 3.4.3... 7 3.5... 8 3.5.1... 8 3.6 Fortran 2003... 9 4 (IDB)... 11 1
4.1... 11 4.1.1 Dwarf Stabs... 11 4.1.2... 11 4.1.3... 11 4.1.4... 12 4.1.5 Fortran REAL*16... 12 4.1.6 fork... 12 4.1.7 exec... 12 4.1.8 Fortran... 12 4.1.9... 12 4.1.10... 12 4.1.11... 12 4.1.12 Fortran common... 13 4.1.13 (GUI)... 13 4.1.14 MPP... 13 4.1.15... 13 4.1.16... 13 4.1.17... 13 4.1.18 $threadlevel... 13 4.1.19... 14 4.1.20 $cdir $cwd... 14 4.1.21 info stack... 14 4.1.22 $stepg0... 14 5... 14 5.1... 15 5.1.1... 15 5.1.2 /... 15 5.1.3... 15 5.2... 16 5.3... 17 5.4... 17 6... 18 2
1 1.1 README.TXT Update 1 O0 FORT_BLOCKSIZE FORT_BUFFERCOUNT 1.2 Mac OS X Fortran ( MKL) Xcode* ( ) 1.3 Apple* Mac* RAM 1GB ( ) RAM 2GB ( ) 2GB Mac OS X 10.5.6 Xcode 3.1.2 Mac OS X 10.5.7 Xcode 3.1.3 gcc* 4 : 1.4 Documentation 1.5 ( 1 ) FAQ http://www.intel.com/software/products/support/ ( ) 3
: 2 Xcode Xcode Xcode Fortran "sudo" DVD DVD DVD (m_cprof_p_11.1.xxx.dmg) (m_cprof_p_11.1.xxx.dmg) 2.1 11.1 <root>/intel/compiler/11.1/xxx/ o bin ia32 intel64 o include ia32 intel64 o lib o Frameworks mkl o Documentation o man o Samples <root> /opt xxx 3 bin include lib ia32: 32 Mac OS X intel64: 64 Mac OS X ( 64 ) C++ Fortran 4
2.2 1. 2. (cd) ( : /opt/intel/compiler/11.1/xxx) 3../move_cprof.sh <new-install-location> <new-install-location> C++ Fortran Xcode Xcode Xcode idb http://software.intel.com/en-us/articles/running-idb-fromcommand-line-after-relocating-xcode-environment/ ( ) idb Xcode IDE 2.3 / 1. <install-dir> (cd) 2. : <install-dir>/uninstall_cprof.sh 3. root root C++ C++ 3 Fortran Fortran 3.1 Fortran Mac OS X 11.1 (-ipo) 9.1 64 REAL(16) REAL*16 11 ATTRIBUTES ALIGN 5
3.1.1 11.1 11.1 Update 1 11.1 11.1 Update 1 3.2 Fortran 2003 (http://j3- fortran.org/doc/2003_committee_draft/04-007.pdf) 3.2.1 Fortran 2003 o CLASS o SELECT TYPE o EXTENDS_TYPE_OF SAME_TYPE_AS o o o o o TYPE CONTAINS o ABSTRACT o DEFERRED o NON_OVERRIDABLE o : GENERIC PRIVATE PUBLIC PUBLIC PRIVATE NAMELIST I/O NAMELIST IEEE NaN SYSTEM_CLOCK COUNT_RATE REAL STOP IEEE assume noold_maxminloc MAXLOC MINLOC Fortran 95 Fortran 1 assume noold_maxminloc 3.2.2 (-check bounds) LOGICAL LOGICAL ( : T.F) assume old_logical_ldio (-fpe-all) 3.3 6
-assume [no]old_logical_ldio -assume [no]old_maxminloc -fpe-all -ieee_fpe_flags -mkl[=lib] 3.3.1 O0 mp 11.1 -O0 -mp -mp -fp-model 3.4 3.4.1 11.1 OpenMP -diag-enable vec -diag-enable par -diag-enable openmp -vec-report -par-report -openmp-report 11.1 stdout stderr 3.4.2 I/O 11.1 I/O 2 FORT_BLOCKSIZE OPEN BLOCKSIZE= BLOCKSIZE 0 2147467264 512 BLOCKSIZE 128KB FORT_BUFFERCOUNT OPEN BUFFERCOUNT= BUFFERCOUNT 0 127 0 1 3.4.3 ifortvars.sh (ifortvars.csh) fc fce 11.x 1 source /opt/intel/compiler/11.1/xxx/bin/ifortvars.sh argument xxx argument ia32 intel64 ( ) 7
(idb) 3.5 3.5.1 Fortran 2003 1 type t end type type, extends (t) :: t1 end type type, extends (t1) :: t2 integer i end type type, extends (t2) :: t3 end type type (t) :: rec1! Not supported, type t is empty type (t1) :: rec2! Not supported, type t1 is empty type (t2) :: rec3! Supported, type t2 is not empty type (t3) :: rec4! Supported, type t3 is not empty class(t1) :: rec5 Declaring an object with no data component fields is not yet supported ( ) call sub(rec4%t3, rec4%t1, rec3%t) print *, rec3%t1, rec4%t call sub2(rec3%t2, rec4%t2) rec4%t3 rec4%t1 rec4%t rec3%t1 rec3%t rec3%t2 rec4%t2 Accessing an empty type is not yet supported ( ) 8
t() A type constructor for an empty type is not yet supported ( ) 3.6 Fortran 2003 Fortran Fortran Fortran 2003 Fortran 2003 Fortran 2003 Fortran 8 ASCII : ~ \ [ ] ` ^ { } # @ 63 256 [ ] (/ /) PARAMETER PRIVATE PUBLIC PUBLIC PRIVATE ALLOCATE DEALLOCATE ERRMSG ALLOCATE SOURCE= CLASS TYPE CONTAINS ABSTRACT DEFERRED NON_OVERRIDABLE ASYNCHRONOUS BIND(C) PROTECTED VALUE VOLATILE INTENT ("assume realloc_lhs" ) ASSOCIATE SELECT TYPE I/O : UNIT=, IOSTAT= NAMELIST I/O NAMELIST IEEE NaN FLUSH WAIT 9
OPEN ACCESS='STREAM' OPEN ASYNCHRONOUS INQUIRE ID POS INQUIRE PENDING OPEN : RECL= READ WRITE : REC=, SIZE= INQUIRE : NEXTREC=, NUMBER=, RECL=, SIZE= I/O I/O I/O IEEE Fortran 2003 BLANK DECIMAL DELIM ENCODING IOMSG PAD ROUND SIGN SIZE I/O DC DP RD RC RN RP RU RZ I/O P USE USE INTRINSIC NON_INTRINSIC IMPORT PROCEDURE ABSTRACT INTERFACE PASS NOPASS SYSTEM_CLOCK COUNT_RATE REAL STOP IEEE assume noold_maxminloc MAXLOC MINLOC COMMAND_ARGUMENT_COUNT EXTENDS_TYPE_OF SAME_TYPE_AS GET_COMMAND GET_COMMAND_ARGUMENT GET_ENVIRONMENT_VARIABLE IS_IOSTAT_END IS_IOSTAT_EOR MAX/MIN/MAXVAL/MINVAL/MAXLOC/MINLOC (CHARACTER ) MOVE_ALLOC NEW_LINE SELECTED_CHAR_KIND KIND= : ACHAR, COUNT, IACHAR, ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, MAXLOC, MINLOC, SCAN, SHAPE, SIZE, UBOUND, VERIFY ISO_C_BINDING IEEE_EXCEPTIONS IEEE_ARITHMETIC IEEE_FEATURES ISO_FORTRAN_ENV Fortran 2003 GENERIC I/O 10
4 (IDB) 4.1 4.1.1 Dwarf Stabs Dwarf Stabs gcc g++ Dwarf -gdwarf-2 (icc ifort) g Dwarf 4.1.2 Xcode 2.3 Dwarf (.o) 1 ifort -g -o hello.exe hello.f90 2 2.o ifort -c -g -o hello.o hello.f90 ifort -g -o hello.exe hello.o -save-temps.o ifort -g -save-temps -o hello.exe hello.f90 "dsymutil" 4.1.3 (NFS ) Internal error: cannot create absolute path for: /home/me/hello ( : /home/me/hello ) You cannot debug "/home/me/hello" because its type is "unknown". ("/home/me/hello" " " ) (NFS ) Source file not found or not readable, tried... (...)./hello.f90 11
/auto/mount/site/foo/usr1/user_me/f_code/hello.f90 (Cannot find source file hello.f90 ( hello.f90 )) The file-path specified will be correct. ( ) ( : ) 4.1.4 Mac OS X 10.5.4 ( ).bss Fortran Fortran 4.1.5 Fortran REAL*16 Fortran REAL*16 4.1.6 fork fork 4.1.7 exec $catchexecs 4.1.8 Fortran 4.1.9 4.1.10 4.1.11 Mac OS X SIGSEGV SIGBUS SIGBUS 12
4.1.12 Fortran common Fortran 2 (%%) foo bar (idb) stop in foo%%bar Looking Around the Code, the Data and Other Process Information > Looking at the Data > The print Command Fortran common (print ) '_' "com" common (idb) print _com 4.1.13 (GUI) GUI 4.1.14 MPP MPP 4.1.15 ("stop in" ) Dwarf "stop at" " dyld_func_lookup" 4.1.16 4.1.17 IA-32 IA-32 Dwarf 64 IA-32 64 4.1.18 $threadlevel "$threadlevel" On Mac OS* X, the debugger supports POSIX threads, also known as pthreads. (Mac OS* X POSIX (pthreads ) 13
POSIX Mac OS X 4.1.19.o Mac OS 256 ulimit -n 2000 4.1.20 $cdir $cwd $cdir ( ) $cdir $cwd $cwd '.' $cwd '.' 4.1.21 info stack "info stack" info stack [num] num num ( num ) 4.1.22 $stepg0 $stepg0 0 "step" 1 (idb) set $stepg0 = 1 5 Fortran ( MKL) 14
5.1 5.1.1 LAPACK 3.2 o 238 LAPACK o o QR o QR o SVD o o o ( ) o DQDS DZGEMM BLAS (http://www.netlib.org/blas/blast-forum/ ) BLAS *gemm PARDISO 5.1.2 / : o CSR (3- ) CSC (3- ) o CSR (3- ) o CSR (3- ) Fortran95 BLAS LAPACK (.mod) o Fortran ( MKL ) o o MKL FFTW3 o Fortran o G DFTI_DESCRIPTOR_HANDLE ( djacobix ) 64 MKL BLAS ( "s" "c" ) 64 ( MKL sp2dp ) ( ) 5.1.3 64 BLAS 1 2 o 1 ( - ): (CS,ZD,S,D)ROT (C,Z,S,D)COPY (C,Z,S,D)SWAP 15
o 4 Core i7 10.1 Update 1 1.7-4.7 24 Xeon 7400 10.1 Update 1 14-130 2 ( - ): (C,Z,S,D)TRMV (S,D)SYMV (S,D)SYR (S,D)SYR2 4 Core i7 10.1 Update 1 1.9-2.9 24 Xeon 7400 10.1 Update 1 16-40 Core i7 Xeon (5300 5400 7400 ) DSYRK 32 20% Xeon 7460 LU (DGETRF) 10.1 Update 1 25% BLAS *TBMV/*TBSV 1 BLAS Core i7 3% Core 2 5300 5400 10% DGEMM o 8 7% 3 5 7 50% ( Core i7 ) o 3 50% ( Xeon 7400 ) 1D - FFT 3D - 1 2 ( 64x64x64) (OOC) PARDISO PARDISO PARDISO OOC MKL 10.1 PARDISO/DSS Core i7 Core 2 VML 2 ( 30% ): v(s,d)round v(s,d)inv v(s,d)div v(s,d)sqrt v(s,d)exp v(s,d)ln v(s,d)atan v(s,d)atan2 Advanced Vector Extension ( AVX) o o o o 5.2 BLAS: DGEMM FFT VML: exp log pow mkl_enable_instructions() MKL http://software.intel.com/enus/articles/intel-math-kernel-library-support-resources/ ( ) 16
5.3 MKL solver solver 5.4 (End User License Agreement) Web ( " ") MKL (www.intel.com/software/products/mkl ( )) /URL MKL BLAS http://www.netlib.org/blas/index.html ( ) LAPACK http://www.netlib.org/lapack/index.html ( ) LAPACK E. Anderson Z. Bai C. Bischof S. Blackford J. Demmel J. Dongarra J. Du Croz A. Greenbaum S. Hammarling A. McKenney D. Sorensen LAPACK FORTRAN 90/95 http://www.netlib.org/lapack95/index.html ( ) LAPACK95 MKL ScaLAPACK http://www.netlib.org/scalapack/index.html ( ) ScaLAPACK L. S. Blackford J. Choi A. Cleary E. D'Azevedo J. Demmel I. Dhillon J. Dongarra S. Hammarling G. Henry A. Petitet K. Stanley D. Walker R. C. Whaley MKL PARDISO (University of Basel) PARDISO 3.2 (http://www.pardiso-project.org ( )) MKL FFT SPIRAL (http://www.spiral.net/ ( )) MKL FFT UHFFT SPIRAL Markus Püschel José Moura Jeremy Johnson David Padua Manuela Veloso Bryan Singer Jianxin Xiong Franz Franchetti Aca Gacic Yevgen Voronenko Kang Chen Robert W. Johnson Nick Rizzolo 17
6 Intel's Terms and Conditions of Sale ( ) 1-800-548-4725 ( ) Web Intel Intel Intel Core Itanium Pentium Xeon Intel Corporation * 2009 Intel Corporation. 18