Está en la página 1de 5

PGI Visual Fortran

Parallel Fortran Compilers and Tools for Microsoft Windows

PGI Visual Fortran® (PVF®) brings the PGI suite of high-performance 64-bit and 32-bit parallel Fortran compilers to
Microsoft Windows developers using Microsoft Visual Studio.

High-performance PGI Compilers

PVF features the latest version of PGI's native OpenMP and auto-parallel Fortran compilers. PGI
compilers are supported on, and can generate fully optimized code for, a broad range of popular high-
performance computing platforms including 64-bit x64 multi-core processor-based systems as well as 32-bit x86 systems.

PGI Fortran compilers offer world-class performance and features including both automatic and OpenMP 3.1
parallelization support for optimizing performance on multi-core processors. Advanced compiler technologies found in
PVF include vectorization, parallelization, interprocedural analysis, memory hierarchy optimization, cross file function
inlining, CPU-specific optimization and more. PVF includes full support for 64-bit addressing, native integrated scalar, and
vector SSE code generation—including the latest Intel and AMD AVX extensions.

In addition to its comprehensive support for multi-core processors, PGI Visual Fortran includes PGI's two models for
programming accelerators. The PGI Accelerator™ programming model is a high-level implicit model similar to OpenMP
for multi-core x64 systems. PGI Accelerator Fortran enables the incremental offloading of compute-intensive loops and
code regions from a host CPU to a GPU accelerator using OpenACC compiler directives. OpenACC directives are treated
as Fortran comments by other Fortran compilers, so programs incorporating them remain 100% standard-compliant and
portable. Developed in cooperation with NVIDIA, CUDA Fortran is an analog to the NVIDIA CUDA C compiler. CUDA
Fortran gives expert programmers direct control over all aspects of NVIDIA GPU accelerator programming.

About PVF Accelerator

PGI offers separate products for x64+GPU and-x64 only platforms. PVF Accelerator—the x64+GPU
platform product—includes support for the directive-based PGI Accelerator programming model and
CUDA Fortran. PVF Accelerator is supported on all Intel and AMD x64 processor-based
systems with CUDA-enabled NVIDIA GPUs running 32-bit or 64-bit Windows operating
systems.
PVF Accelerator (including CUDA Fortran) is included in all PVF 2010 or later download
packages. Trial license keys or permanent license keys are required to enable these
features.
Please note that all for-fee PGI Visual Fortran academic licenses include support for x64+GPU. US and
German academics can qualify for a free limited time license to PGI Visual Fortran for x64.

PGI Unified Binary™ technology provides the ability to generate a single executable file with code sequences optimized
for multiple AMD, Intel and NVIDIA processors. The PGI Unified Binary technology enables Independent Software
Vendors (ISVs) and custom applications developers to leverage the latest processor innovations while treating x64 or
x64+GPU as a single platform, maximizing flexibility and eliminating the need to target and optimize for separate
processors.
Visual Studio Integration

PVF has features to help with rapid code development. PVF adds syntax coloring, Fortran intrinsics tips and keyword
completion to the Visual Studio editor. PVF includes a complete Fortran build environment for Visual Studio with Fortran
specific features such as automatic build dependency management. PVF is interoperable with Microsoft Visual C++ so
Fortran sub-programs can call C functions and vice versa. PVF includes a number of DVF/CVF compatibility features
including full support for the Win32 API. Sample projects illustrate building console applications, Windows applications,
DLLs and static libraries, configuring and coding PGI Accelerator and CUDA Fortran GPU applications, and using Visual
C++ in tandem with PVF.

PVF includes a Fortran language specific custom debug engine. The PVF debug
engine supports debugging of single and multi-thread, OpenMP, multi-thread MS-
MPI and hybrid MS-MPI+OpenMP Fortran applications. It enables debugging of 64-
bit or 32-bit applications using source code or assembly code, and it provides full
access to the registers and hardware state of the processors. The PVF debug
engine is interoperable with Visual C++.

PVF can manage the multi-process MPI capabilities built into Microsoft HPC Server
2008. MS-MPI capabilities within PVF include Visual Studio property pages for configuring compile-time options,
launching applications locally on a workstation and debugging of programs running. Both PVF and PVF Server support
running and debugging MS-MPI programs on your local system.

A Complete Fortran Development Solution

PGI Visual Fortran includes the Visual Studio 2013 Shell†—a complete stand-alone Windows Fortran development
environment. No additional software is required. PVF also supports existing installations of Visual Studio 2012, Visual
Studio 2010 and/or Visual Studio 2008.

Documentation includes the PVF User's Guide, PVF Reference Manual, PVF Release Notes, PVF Installation Guide and
the PGI Fortran Reference.

A license for PVF is included with all PGI Fortran products for Windows. It may also be
purchased separately. License options include single user node-locked (PVF) and multi-
user network floating (PVF Server). Compiling 64-bit applications requires a 64-bit
operating system.

The IMSL Fortran numerical library for PGI Visual Fortran is also available separately.

†The Visual Studio Shell included with PVF contains PGI compilers only.

Technical Features
Visual Studio Integration

 Fortran syntax coloring


 Fortran intrinsics tips
 Keyword completion
 Fortran debug engine
 Automatic dependency analysis
 Interoperable with Microsoft Visual C++
 Sample projects
 Bundled Visual Studio 2012 IDE
 Bundled ACML high-performance math library
 Supports multi-threaded execution with Intel MKL 10.1 and later
 Optional IMSL Fortran numerical library available
 Build, launch and debug Microsoft MPI (MS-MPI) applications

Fortran Compilers

 Features
o Native OpenMP and auto-parallel Fortran 2003 compiler with optional support for OpenACC directives
and CUDA extensions
o Full 64-bit support on AMD64, Intel 64, NVIDIA CUDA-enabled GPUs and select AMD Radeon GPUs
o PGI Unified Binary technology—combine code optimized for multiple AMD64 processors, Intel 64
processors, NVIDIA GPUs or AMD GPUs into a single executable file
o Full 32-bit support and optimization for x86/x87 targets
o Auto-parallelization
o OpenMP 3.1 parallelization
o Inter-language calling
o IEEE arithmetic options
o Vectorization/Optimization directives
o Integrated cpp pre-processor
o Fast compile times
o Compile-time optimization listings
o Annotated assembly code listings
o Full support for Fortran 2003
 Optimizations
o AMD64 and Intel 64 cross-target optimizations
o Interprocedural Analysis (IPA)
o Function inlining
o Loop fusion
o Profile feedback optimization
o Memory hierarchy and memory allocation optimization
o Huge pages support
o Instruction scheduling
o Data prefetching
o Invariant code and conditional hoisting
o Common sub-expression elimination
o Global constant propagation
o Global dependence analysis
o Global flow analysis
o Integrated local, global and vector register allocation
o Induction variable analysis
o Load/store analysis
o Tail recursion elimination
o Scalar expansion, scalar replacement
o Value propagation, strength reduction
o Dead code elimination
 Vector/Parallel Transformations
o State-of-the-art dependence analysis
o Nested loop auto-parallelization
o Nested loop vectorization
o Loop interchange
o Loop splitting, unroll & jam
o Iteration peeling
o Aligned access optimizations
o Scalar promotion
o Temporary vector creation
o Stripmining, Cache Tiling
o Concurrent call support
o Inline concurrent code segments
o Vector SSE/AVX code generation
o Software prefetching

Parallel Debug Engine

 64-bit and 32-bit targets


 Debug Fortran and Visual C++
 Debug single and multi-thread, parallel OpenMP, multi-thread MS-MPI and hybrid MS-MPI+OpenMP programs
 Variable roll-over
 One touch breakpoint setting
 Step into, over, out of functions
 Attach to running processes
 One touch symbolic display
 Multiple format display of values or strings
 Track register states

System Requirements

 Processor: 64-bit AMD64, 64-bit Intel 64 or 32-bit x86 processor-based workstation or server with one or more
single core or multi-core microprocessors.
 Accelerator (optional): NVIDIA CUDA-enabled GPU with compute capability 1.0 or later. AMD Radeon HD 77xx,
78xx, 79xx, R7 and R9 series GPUs (Cape Verde, Tahiti or Spectre).
 Operating System: (Building 64-bit applications requires a 64-bit operating system.)
o Visual Studio: All versions of Visual Studio 2013, 2012, 2010 and 2008 are supported except Visual
Studio Express.
o Operating System: Microsoft Windows 8.1/8/7, Server 2012, Server 2008 R2, Vista, Server 2008, Server
2003 and Windows XP. Both 64-bit and 32-bit versions are supported where available.

NOTE: Starting January 2015, PGI releases will no longer include support for Windows XP, Windows
Server 2003 or Windows Server 2008.

 Memory: 256 MB or more.


 Hard Disk: 1 GB during installation, 500 MB to hold installed software.
 Peripherals: Mouse or compatible pointing device. DVD disk drive for installation, unless products are
downloaded and installed electronically.

J3 is the US Fortran standards committee, known formally as PL22.3, a technical subcommittee of the InterNational
Committee for Information Technology Standards (INCITS) formerly known as the National Committee for Information
Technology Standards (NCITS).

 J3 developed the Fortran 66, Fortran 77, Fortran 90, Fortran 95, Fortran 2003, and Fortran 2008 standards.
Fortran 2008 is an upwardly-compatible extension of Fortran 2003, adding, among other things, more expression
of parallel computation (via coarrays and the do-concurrent construct), improved facilities for data organization
(via enhancements to modules), and an enlarged intrinsic library (with more mathematical and bit-manipulating
procedures).
 J3 is currently working under WG5 direction to produce a new revision of the Fortran standard, tentatively called
Fortran 15. This will be a minor revision of Fortran 2008. The work plan and schedule are available.
 J3 meetings, documents, and membership are open to anyone worldwide. Meeting information and documents
are available from this website; membership information may be obtained from any committee member. Any
interested party can submit a paper for consideration at a J3 meeting by following the J3 committee guidelines.