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-bitx64 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.0 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 GPU 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 simple compiler directives. PGI
Accelerator 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
of all aspects of 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 updated
permanent license keys are
required to enable these features. Contact PGI
Sales for information on
upgrading your current license to a PVF Accelerator license.
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
MSMPI and hybrid MSMPI+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. MSMPI capabilities within PVF include Visual Studio
property pages for configuring compile-time options, launching applications
either locally on a workstation or on a distributed-memory Windows cluster,
and debugging of programs running either locally or on a cluster. Both PVF
and PVF Server support running and debugging MSMPI programs on your local
system. ThePGI
CDK® Cluster Development Kit® includes
a version of PVF with the ability to launch or debug OpenMP and MSMPI
applications on a cluster.
A Complete Fortran Development Solution
PGI Visual Fortran includes the Visual Studio 2010 Shell†—a complete
stand-alone Windows Fortran development environment. No additional software
is required. PVF also supports existing installations of 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 for PVF.
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 2010 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 2010 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 (MSMPI) applications
Fortran Compilers
- Features
- Native OpenMP and auto-parallel Fortran 2003 compiler with
optional support for PGI Accelerator directives and CUDA extensions
- Full 64-bit support on AMD64, Intel 64 and NVIDIA CUDA-enabled
GPUs
- PGI Unified Binary technology—combine code optimized for
multiple AMD64 processors, Intel 64 processors or NVIDIA GPUs into a
single executable file
- Full 32-bit support and optimization for x86/x87 targets
- Auto-parallelization
- OpenMP 3.0 parallelization
- Inter-language calling
- IEEE arithmetic options
- Vectorization/Optimization directives
- Integrated cpp pre-processor
- Fast compile times
- Compile-time optimization listings
- Annotated assembly code listings
- Full support for Fortran 2003
- Optimizations
- AMD64 and Intel 64 cross-target optimizations
- Interprocedural Analysis (IPA)
- Function inlining
- Loop fusion
- Profile feedback optimization
- Memory hierarchy and memory allocation optimization
- Huge pages support
- Instruction scheduling
- Data prefetching
- Invariant code and conditional hoisting
- Common sub-expression elimination
- Global constant propagation
- Global dependence analysis
- Global flow analysis
- Integrated local, global and vector register allocation
- Induction variable analysis
- Load/store analysis
- Tail recursion elimination
- Scalar expansion, scalar replacement
- Value propagation, strength reduction
- Dead code elimination
- Vector/Parallel Transformations
- State-of-the-art dependence analysis
- Nested loop auto-parallelization
- Nested loop vectorization
- Loop interchange
- Loop splitting, unroll & jam
- Iteration peeling
- Aligned access optimizations
- Scalar promotion
- Temporary vector creation
- Stripmining, Cache Tiling
- Concurrent call support
- Inline concurrent code segments
- Vector SSE/AVX code generation
- 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 MSMPI
and hybrid MSMPI+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
- 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.
- GPU Targets: NVIDIA
CUDA-enabled GPU accelerator (compute capability 1.0 or later).
- Operating System: (Building
64-bit applications requires a 64-bit operating system.)
- Visual Studio 2010: 64-bit or 32-bit versions of Microsoft
Windows 7, Windows Vista SP1, Windows XP Professional x64 SP2,
Windows XP SP3, Windows Server 2008 SP1, Windows Server 2008 R2,
Windows Server 2003 SP2, Windows Server 2003 R2 SP2
- Visual Studio 2008 or Visual Studio 2005: 64-bit or 32-bit
versions of Windows 7, Vista, XP, Windows Server 2008 or Windows
Server 2003.
Note: Visual Studio Express Editions are not supported.
- 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.
- Other: Adobe
Acrobat Reader for viewing some documentation.