Migrating HPC Applications from UNIX to Windows
< Go Back
Porting high-performance computing (HPC) applications from UNIX to Windows can be an intimidating undertaking. The Windows operating system is primarily driven by its graphical user interface, while UNIX development environments include extensive use of command-line driven shells, utilities, and applications. In addition, UNIX HPC applications typically include shell scripts and makefiles as an integral part of the compilation and execution environment, rather than the integrated development environment (IDE)-based projects and graphical deployments that are customary on Windows.
The "Migrating HPC Applications from UNIX to Windows" white paper aims to ease the transition of applicatons from UNIX to Windows. It provides an in-depth examination of the issues that may arise when porting HPC applications from legacy UNIX-based operating systems (such as Solaris or Linux) to a Windows-based environment, and surveys the many tools and utilities available to make the migration tractable and straightforward.
The white paper begins by introducing the various build environments, including the Microsoft Subsystem for UNIX-based Applications (SUA) development environment, a source-code compatible subsystem for compiling and running UNIX-based applications in a Windows Server environment. The paper also provides comparison of the build environment options available, including native Windows versus SUA and command line versus IDE.
The white paper addresses many of the significant issues that may be encountered in migration, and presents tips that can help with some of the smaller, yet no less potentially frustrating, routine tasks. Three detailed case studies are also included featuring build environments, porting MPI, and shared objects as well as examples of common stumbling blocks and step-by-step procedures that illustrate how to resolve these and other Windows porting issues.




