PGI PGI Workstation/Server 6.2 1. Windows PGI 6.2 Windows Win64 Win32 PGI Linux 32bit 64bit Windows Visual Studio 2005 IDE Visual Studio 2005 PGI Visual Fortran PGI Workstation/Server 9 pgdbg pgprof PGI GUI Winodws PGI Workstation/Server UNIX-like cygwin Linux BASH UNIX/Linux vi, cp, sed, awk, grep, make Linux PGI Microsoft Open Tools(Microsoft ) Microsoft Microsoft Visual C++ PGI Fortran Visual C++ Microsoft Compute Cluster Server 2003 Microsoft Microsoft MPI library (MSMPI) Windows x64 PGI PGI Workstation/Server 6.2 PGI Visual Fortran PGI Workstation () PGI Compiler & Tools Release 6.2 PGI Server ( ) 32 ( 32-bit x86 32bit OS) Linux 32bit-Linux Windows 32bit-Windows Linux+Windows Linux Windows 32 / 64 (32-bit x86 or AMD64/EM64T 32bit or 64bit OS) Linux 32bit or 64bit Linux Windows Linux+Windows 32bit or 64bit Windows 32bit OS 32bit 64bit Linux Windows Windows Linux PGI Visual Fortran 1
2. PGI 6.1 32 x86 64 AMD64 Intel EM64T PGI 6.2 CPU PGI 6.2 target core2 core2-64 Core 2 duo Core Xeon 5100 PGI 6.1 k8-64e Opteron Rev.F Processors Supported by PGI 6.2 Brand CPU Core <target> Memory Floating Point HW Address x87 SSE1 SSE 2 SSE 3 AMD Opteron/Athlon64 2 k8-64 64-bit Yes Yes Yes No AMD Opteron/Athlon64 2 k8-32 32-bit Yes Yes Yes No AMD Opteron Rev E/F 2 k8-64e 64-bit Yes Yes Yes Yes AMD Opteron Rev E/F 2 k8-32 32-bit Yes Yes Yes No AMD Turion64 1 k8-64e 64-bit Yes Yes Yes Yes AMD Turion64 1 k8-32 32-bit Yes Yes Yes No Intel Core 2 2 Core2 32-bit Yes Yes Yes Yes Intel Core 2 2 Core2-64 64-bit Yes Yes Yes Yes Intel P4/Xeon EM64T 2 p7-64 64-bit Yes Yes Yes Yes Intel P4/Xeon EM64T 2 p7 32-bit Yes Yes Yes Yes Intel Xeon/Pentium4 1 p7 32-bit Yes Yes Yes No AMD Athlon XP/MP 1 athlonxp 32-bit Yes Yes No No Intel Pentium III 1 piii 32-bit Yes Yes No No AMD Athlon 1 athlon 32-bit Yes No No No AMD K6 1 k6 32-bit Yes No No No Intel Pentium II 1 p6 32-bit Yes No No No other Other x86 No p5 or px 32-bit Yes No No No 3. OS PGI 6.1 Linux OS SUSE LINUX 10.1 SUSE Linux Enterprise Server10 SUSE Linux Enterprise Desktop PGI 6.2 OS PGI 5.2 Linux Distribution PGI 6.0 Linux Operating Systems and Features Supported in PGI 6.2 Distribution Type 64-bit HT pgc++ pgdbg NPTL NUMA glibc GCC RHEL 4 Linux Yes Yes Yes Yes Yes No 2.3.4 3.4.3 Fedora C-5 Linux Yes Yes Yes Yes Yes No 2.4 4.1.0 Fedora C-4 Linux Yes Yes Yes Yes Yes No 2.3.5 4.0.0 Fedora C-3 Linux Yes Yes Yes Yes Yes No 2.3.3 3.4.2 Fedora C-2 Linux Yes Yes Yes Yes Yes No 2.3.3 3.3.3 2
Distribution Type 64-bit HT pgc++ pgdbg NPTL NUMA glibc GCC SuSE 10.1 Linux Yes Yes Yes Yes Yes Yes 2.4 4.1.0 SuSE 10.0 Linux Yes Yes Yes Yes Yes Yes 2.3.5 4.0.2 SuSE 9.3 Linux Yes Yes Yes Yes Yes Yes 2.3.4 3.3.5 SuSE 9.2 Linux Yes Yes Yes Yes Yes Yes 2.3.3 3.3.4 SLES 10 Linux Yes Yes Yes Yes Yes Yes 2.4 4.1.0 SLES 9 Linux Yes Yes Yes Yes No Yes 2.3.3 3.3.3 SuSE 9.1 Linux Yes Yes Yes Yes Yes No 2.3.3 3.3.3 RHEL 3 Linux Yes Yes Yes Yes Yes No 2.3.2 3.2.3 SuSE 9.0 Linux Yes Yes Yes Yes No No 2.3.2 3.3.1 SuSE 8.2 Linux Yes Yes Yes Yes No No 2.3.2 3.3 Red Hat 9.0 Linux No No Yes Yes Yes No 2.3.2 3.2.2 Red Hat 8.0 Linux No No Yes Yes No No 2.2.9 3 3.2 SLES8 SP2 Linux Poor Yes Yes Yes No No 2.2.5 3.2.2 SuSE 8.1 Linux Poor Yes Yes Yes No No 2.2.5 3.2.2 SuSE 8.0 Linux No No Yes Yes No No 2.2.5 2.96 Red Hat 7.3 Linux No No Yes Yes No No 2.2.5 2.96 HT = hyper-threading, NPTL = Native POSIX Threads Library, NUMA = Non-Uniform Memory Access. PGI 6.2 64 Winodws 32 Windows Windows Windows Operating Systems and Features Supported in PGI 6.2 Distribution Type 64-bit HT pgc++ pgdbg NPTL NUMA glibc GCC Microsoft XP No Yes Yes Yes NA NA NA NA Windows 2003 No No Yes Yes NA NA NA NA (32) 2000 No No Yes Yes NA NA NA NA Microsoft Windows (64) XP 64 Yes Yes Yes Yes NA NA NA NA 2003 x64 Yes Yes Yes Yes NA NA NA NA 4. PGI 6.2 Uniform high-performance development environment 64 32 Linux Microsoft Windows AMD Windows 32-bit support PGI Unified Binaries PGI 6.2 PGI 6.1 PGI Unified Binary PGI Unified Binary 3
PGI Unified Binary -tp x64 PGI Unified Binary Polyhedron SPEC benchmarks AMD64 EM64T 1% ANSI C99 PGCC PGC++ 6.2 ANSI C99 c99( c9x) () C C9x Standard -c89( c8x)c89 standard C++(//) (idiom:) Mvect=nosizelimit -Mvect=sizelimit:n n Fortran INT_PTR_KIND, INT1, INT2, INT3, INT4, null terminatedstrings text c OPEN SHARED ACCESS STREAM Windows CFV/DFV C/C++ C/C++ C/C++ IPA() PGI IPA C Mipa=libc gcc gcc-style asm C pgcc C++pgCC C++ Linux structs structs enum extension MMX SSE C/C++ emmintrin.h mmintrin.h pmmintrin.h xmmintrin.h Microsoft Compute Cluster Server 2003 PGI Workstation Microsoft Compute Cluster Server Compute Cluster Pack 64 CCS CCP 4
Win32 32 CCS CCP Microsoft Fortran Win32 lib/msmpi.obj (Microsoft MPI ) -Mmpi sine, cosine, sincos -fastsse -Kieee ACML 3.5 AMD Core Math Library ACML 3.5 PGI 6.2 ACML SSE1 SSE2 32-bit x86 64-bit AMD64 CPU EM64T SSE CPU libblas.a liblapack.a ACML 3.5 -Mcache_align / -fastsse ACML 3.5 -Mcache_align fastsse ACML 3.5 Win32 OS SUSE 10.1 SUSE Linux Enterprise Server 10 Fedora Core 5 Core 2 Duo CPU core2(32bit) core2-64(64bit) -tp core2 -tp core2-64 Core Windows ar ranlib PGI 6.2 Windows PGI_OBJSUFFIX o.obj.o Visual C++ Windows Microsoft Visual Studio C++ PGI Visual studio C/C++ 5 PGI 6.2 -Mmpi PGI 32bit Microsoft Compute Cluster Pack Win32 Fortran -Mmpi Win32 lib/lmsmpi.obj Win64 PGI C/C++ -c99 ANSI C99 (PGI 6.1 -c9x ) PGI 6.2 -c89 ANSI C89 (PGI 6.1 -c8x ) -Mdaz EM64T -fastsse -Mdaz AMD64 -fastsse -Mnodaz AMD64 C/C++ -fastsse -Mflushz Mfprelaxed[=div,rsqrt,sqrt] Mfprelaxed -Mnofprelaxed 5
div : rsqrt : sqrt 1/sqrt sqrt : sqrt -Mfprelaxed Mmakeimplib=export_all -Mmakedll=export_all DLL -Minfo / (altcode) -Bstatic_pgi PGI -Mipa=except:<func> IPA func -Mipa=inline -Minline=except IPA -M[no]autoinline[=levels:n] O2 C/C++ (class body) -Mnoautoinline Levels:n 4 -M[no]smartalloc mallopt Fortran C C++ Mnosmartalloc -Ktrap=none IEEE -Ktrap -Ktrap=none -mp=[no]numa mp -Mconcur -lnuma -mp=numa numa libnuma -mp=nonuma -Mconcur=nonuma libnuma PGI stub -Mipa=[no]libc C -fast -Mipa=libc nolibc 6. 64 PGI6.2 PGF77 PGF95 Linux x86-64 Application Binary Interface -mcmodel=small -mcmodel=medium / 32 64 32 64 6
Combined Options to PGI Compilers Programming Models on 64-bit Linux86-64 Systems Maximum Address Data Size Arithmetic in Gbytes A I AS DS TS -tp {k8-32 p7} 32 32 2 2 2 -tp {k8-64 p7-64} 64 32 2 2 2 -tp k8-64 -fpic 64 32 2 2 2 -tp p7-64 -fpic -tp {k8-64 p7-64} mcmodel=medium 64 64 >2 >2 >2 Address Type (A) Index Arithmetic (I) Maximum Array Size (AS) Maximum Data Size (DS) Maximum Total Size (TS) Linux 32 Linux 32 2GB 1GB 64 small memory model 1GB 32 1GB Linux (2GB ) 64 medium memory model -mcmodel=medium 2GB.bss -fpic -mcmodel=medium -mcmodel=medium 6.1 -mcmodel=medium 64 64 7
Initializing stack space limit stacksize unlimited limit stacksize 512M unlimited OS page swapping (configured space) 64bit 7 PGDBG PGPROF PGDBG 6.2 Windows PGDBG attach PGDBG GUI File->Attach to Target PGDBG 6.2 attach pgdbg -attach 1234 PGDBG 1234 Microsoft Visual C++ C/C++ VC++ Microsoft CL(Command Line) PGI Fortran Java 2 Runtime Envirenmnet, Standard Edition 1.5.0_06 8 8
PGI 6.2 PGI 5.x PGI 6.1 -Mipa PGI 6.2 Windows PGI C++ 6.2 for Windows template instantiation Linux PGI C++ Windows C++ template instantiation Windows makefile Windows cygwin vi SHELL vi E79: Cannot expand wildcards E79: Cannot expand wildcards E79: Cannot expand wildcards Hit ENTER or type command to continue -i8 MPI Integer*8 -i8 PGI ACML developer.amd.com -mcmodel=medium linux x86 64 PGI PGCC -Mipa=linopt -Mipa=vestigial -Mipa vestigial vestigial -Mipa -Mprof=func -mcmodel=medium -mp gprof (-pg) 2.6.4 Linux Linux distributions gprof PGPROF 10 Linux distributions -mp OpenMP SuSE9.0 SuSE9.1 ACML3.5 -cache_align -fassse 32-bit -lacml ACML -cache_align fastsse /64-bit 9
16byte gprof -pg -Mprof=time PGI (-Mprof=lines func) PGDBG watch Watch watch watch watch PGDBG stacktrace -g memset() stacktrace calling unlknownaddr PGDBG call F90/F95 array-valued functions, pointer-valued, functions, assumed-shape array arguments, pointer arguments PGDBG run rerun I/O run rerun I/O stdout stdin I/O run rerun shell PGDBG shared PGDBG Unified Binaries -tp x64 unified binaries PGDBG Unified Binaries native PGDBG Windows Windows ( ) PGDBG C Windows PGDBG / DEBUG PGPROF Windows DLL PGDBG Windows PGDBG exit internal PGDBG PGDBG Internal Error: jpgdbg: lost input connection with host Do you want to abort your debug session? <Yes> <No> 10
<yse> -Mpfi -mp -Mpfi mp 9 Winodws DLL dynamic link libraries Windows PGI 6.2 Dynamic-link libraies DLL PGI Users Guide8 DLL PGC++ DLL PGI DLL -makedll PGI DLL PGI DLL -Mdll PGI DLL -Mprof -Mdll 11