HP-MPI Version 1.0 for Windows Release Note Manufacturing Part Number: BA683-90001 E0906 Release U.S.A. © Copyright 1979-2006 © Hewlett-Packard Development Company, L.P.
Legal Notices The information in this document is subject to change without notice. Hewlett-Packard makes no warranty of any kind with regard to this manual, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Hewlett-Packard shall not be held liable for errors contained herein or direct, indirect, special, incidental, or consequential damages in connection with the furnishing, performance, or use of this material. Warranty.
TotalView® is a registered trademark of Etnus Incorporated. Intel® and Itanium® are trademarks or registered trademarks of the Intel Corporation or its subsidiaries in the United States and other countries. Voltaire is a registered trademark of Voltaire, Inc. InfiniBand is a trademark of the InfiniBand® Trade Association. FLEXlm® is a registered trademark of Globetrotter Software and Macrovision Corporation. All other trademarks and copyrights referred to are the property of their respective owners.
HP-MPI V1.0 for Windows Release Note Announcement HP-MPI V1.0 for Windows Release Note Announcement This release note describes the release of HP-MPI Version 1.0 for Windows. HP-MPI 1.0 is the September 2006 release of HP-MPI, Hewlett-Packard’s fully functional implementation of the Message Passing Interface standard for Windows. HP-MPI 1.0 for Windows is supported on servers and workstations running Windows Compute Cluster Pack (CCP).
HP-MPI V1.0 for Windows Release Note What’s in This Version What’s in This Version HP-MPI is a high-performance implementation of the Message Passing Interface standard. HP-MPI complies fully with the MPI-1.2 standard and provides MPI-2 one-sided functionality. HP-MPI provides an application programming interface and software libraries to support parallel, message-passing applications that are efficient, portable, and flexible. HP-MPI uses shared libraries.
HP-MPI V1.0 for Windows Release Note What’s in This Version If you choose to move the HP-MPI installation directory from its default location, set the MPI_ROOT environment variable to point to the new location.
HP-MPI V1.
HP-MPI V1.0 for Windows Release Note What’s in This Version Support for new mpirun options -ccp/-msrun Indicate that the job has been submitted through the CCP job scheduler/launcher. This is the recommended method for launching jobs. Required when the user doesn’t provide an appfile. Both options have the same functionality. Future references in this document use -ccp only.
HP-MPI V1.0 for Windows Release Note What’s in This Version -jobid This flag will schedule an HP-MPI job as a task to an existing job. It will submit the command as a single CPU mpirun task to the existing job indicated by the parameter job-id. This option can only be used as a command line option when using the mpirun automatic submittal functionality. -cpu_bind support This option is supported in appfile, command line, and CCP modes. Syntax is: > mpirun -cpu_bind[_mt]=[v,][option][,v] -np 4 a.
HP-MPI V1.0 for Windows Release Note What’s in This Version Thread-compliant library HP-MPI provides a thread-compliant version of the MPI library for 32- and 64-bit applications. To link with the thread-compliant library, specify the -lmtmpi option to the MPI build scripts when compiling your HP-MPI application. For more information, refer to the mpimtsafe(1) man page.
HP-MPI V1.0 for Windows Release Note What’s in This Version From the GUI, use the Task Properties window, Environment tab to set the desired environment variable: NOTE These environment variables should be set on the mpirun task. Environment variables can also be set using the flag /env. For example: > job add JOBID /numprocessors:1 /env:"MPI_ROOT=\\shared\alternate\location" ...
HP-MPI V1.0 for Windows Release Note What’s in This Version /integer_size:64 /4I8 -i8 /real_size:64 /4R8 /Qautodouble -r8 If these flags are given to the mpif90.bat script at link time, then the application will be linked enabling HP-MPI to interpret the datatype MPI_REAL as 8 bytes (etc. as appropriate) at runtime. However, if your application is written to explicitly handle the autodoubled datatypes (e.g.
HP-MPI V1.0 for Windows Release Note Installation Instructions Installation Instructions HP-MPI must be installed on all nodes which will be used to launch or run jobs. The installation directory used must be the same on all nodes. To install HP-MPI, log in as Administrator or a user in the Administrator group and follow the instructions for either an interactive or command line installation below. Standard Interactive Installation Double-click Setup HP-MPI-1.0-20060725.
HP-MPI V1.0 for Windows Release Note Configuring Your Environment Configuring Your Environment Running HP-MPI from CCP There are two ways to run HP-MPI: command line and scheduler GUI. Both approaches can be used to access the functionality of the scheduler. The command line scheduler options are similar to the GUI options. The following instructions are in the context of the GUI, but equivalent command line options are also listed.
HP-MPI V1.0 for Windows Release Note Configuring Your Environment Figure 1 Job Allocation To run an MPI application, submit the mpirun command to the scheduler. HP-MPI uses the environment of the task and job where mpirun is executing to launch the required mpids that start the ranks. It’s important that mpirun uses only a single processor for its task within the job so the resources can be used by the other processes within the MPI application.
HP-MPI V1.0 for Windows Release Note Configuring Your Environment As part of the mpirun task submitted, the following flags are commonly used with mpirun: -ccp Automatically creates an appfile which matches the CCP job allocation. The number of ranks run will equal the number of processors requested. -nodex When used in conjunction with the -ccp flag, will run one rank per node in the CCP job allocation. (i.e. number of ranks equals number of nodes, one rank per node.) -netaddr XX.XX.XX.
HP-MPI V1.0 for Windows Release Note Configuring Your Environment 3. On the General tab, enter the job name (and project name if desired).
HP-MPI V1.0 for Windows Release Note Configuring Your Environment 4. On the Processors tab, select the total number of processors to allocate to the job (usually the number of ranks).
HP-MPI V1.0 for Windows Release Note Configuring Your Environment 5. Select the Tasks tab and enter the 'mpirun' command as the task. Then highlight the task and select edit. In the above example, the following line has been added into the "Command Line:" by selecting the text box and clicking Add. "%MPI_ROOT%\bin\mpirun.exe" -ccp -netaddr 172.16.150.0 -TCP \\share\dir\pallas.exe NOTE 20 Unselecting "Use job’s allocated processors" and setting the processors count to 1 now will eliminate Step 7.
HP-MPI V1.0 for Windows Release Note Configuring Your Environment 6. Specify stdout, stderr, and stdin (if necessary) on the Tasks tab. In the above example, the stderr and stdout files are specified using CCP environment variables defined by the job. This is an easy way to create output files unique for each task. \\share\dir\%CCP_JOBNAME%-%CCP_TASKCONTEXT%.
HP-MPI V1.0 for Windows Release Note Configuring Your Environment 7. On the Task Properties window, select the Processors tab and set to one processor for the mpirun task. NOTE In Step 5, you can unselect the "Use job’s allocated processors" box and set the processors count to 1. This eliminates setting the processor count in the task window as shown here in Step 7. 8. To set environment variables for the MPI job, use the Environment tab in the Task Properties window. 9.
HP-MPI V1.0 for Windows Release Note Configuring Your Environment 10. If you want to restrict the run to a set of machines, on the Submit Job window select the Advanced tab and set the desired machines. NOTE This step is not necessary. The job will select from any available processors if this step is not done. 11. To run the job, select the Submit on the Submit Job window. For convenience, generic templates can be created and saved using Save As Template in the Submit Job window.
HP-MPI V1.0 for Windows Release Note Configuring Your Environment Running HP-MPI from command line To perform the same steps via command line, execute 3 commands: 1. job new [options] 2. job add JOBID mpirun [mpirun options] 3. job submit /id:JOBID For example: > job new /jobname:[example job]/numprocessors:12 /projectname:HPMPI Job Queued, ID: 242 This will create a job resource and return a jobid, but not submit it. > job add 242 /stdout:"\\shared\dir\%CCP_JOBNAME%-%CCPTASKCONTEXT%.
HP-MPI V1.0 for Windows Release Note Configuring Your Environment When submitting a job, mpirun will try to interpret your current directory or the MPI_WORKDIR option as a network path, and set the job 'working directory' to the current directory, or MPI_WORKDIR if provided. It will construct the stdout and stderr filenames from the root name of the rank, and append the jobid and taskid to the filenames, with the extensions .out and .err respectively.
HP-MPI V1.0 for Windows Release Note Configuring Your Environment IPoIB must be configured in order to use WSD. Instruct HP-MPI to use the IB network via the -netaddr x.x.x.x option.
HP-MPI V1.0 for Windows Release Note Quick Sanity Check Test Quick Sanity Check Test Building and running on a single host To run single host as a sanity check, use a command such as: "%MPI_ROOT%\bin\mpirun" -np 2 .\hello_world.exe Building and running multihost through CCP To run using CCP: 1. Create a new job requesting the number of CPUs to use. Resources are not yet allocated, but the job is given a JOBID number which is printed to stdout: > job new /numprocessors:16 2.
HP-MPI V1.0 for Windows Release Note Quick Sanity Check Test > job add JOBID /numprocessors:1 /env:MPI_ROOT="%MPI_ROOT%" /stdout:\path\to\a\shared\file.out /stderr:\path\to\a\shared\file.err path\submission_script.vbs Where submission_script.vbs contains code such as: Option Explicit Dim sh, oJob, JobNewOut, appfile, Rsrc, I, fs Set sh = WScript.CreateObject(“WScript.Shell”) Set fs = CreateObject(“Scripting.FileSystemObject”) Set oJob = sh.exec(“%MPI_ROOT%\bin\mpi_nodes.exe”) JobNewOut = oJob.StdOut.
HP-MPI V1.0 for Windows Release Note Building Applications Building Applications Building an MPI application with Visual Studio and using the property pages To build an MPI application in C or C++ with VS2005, use the property pages provided by HP-MPI to help link applications. Two pages are included with HP-MPI, and are located at the installation location (MPI_ROOT) in devtools\HPMPI.vsprops and HPMPI64.vsprops. Go to VS Project, select View, select Property Manager and expand the project.
HP-MPI V1.0 for Windows Release Note Building Applications Running with an appfile mpirun jobs submitted to CCP can run using appfile mode. The resources in the appfile must match the allocated job resources for this to run correctly. The -ccp flag will generate an appfile that uses the allocated CCP job resources as the machines and rank counts in the appfile, then launches the mpirun job using this appfile. If the user wishes to provide their own appfile, the tools described below have been provided.
HP-MPI V1.0 for Windows Release Note Building Applications include directories and libraries. The -show option can be specified to indicate that mpicc should display the command generated without actually executing the compilation command. See the man page mpicc(1) for more information.
HP-MPI V1.0 for Windows Release Note Known Problems and Workarounds Known Problems and Workarounds • Selecting specific machine resources for the task that calls mpirun causes failures. Due to a defect in the Microsoft CCS job scheduler, assigning specific resources to an allocation causes further CCS API calls from that allocation to fail. It is possible to select specific machine resources to a job allocation. However, users should not specify specific resources for the task that invokes mpirun.
HP-MPI V1.0 for Windows Release Note Installation Requirements Installation Requirements HP-MPI 1.0 for Windows is supported on Microsoft Windows Compute Cluster Pack. You must install the correct HP-MPI product for your system. HP-MPI 1.0 for Windows must be installed by an Administrator, or a user with Administrator privileges. HP-MPI requires a minimum of 50 MB of disk space in C:\Program Files (x86).
HP-MPI V1.0 for Windows Release Note Licensing Policy Licensing Policy HP-MPI 1.0 for Windows uses FLEXlm licensing technology. A license is required to use HP-MPI for Windows. Licenses can be purchased from HP’s software depot at http://www.hp.com/go/softwaredepot, or contact your HP representative. Demo licenses for HP-MPI are also available from HP’s software depot. Licensing HP-MPI 1.0 for Windows uses FLEXlm licensing technology. A license file can be named either as license.
HP-MPI V1.0 for Windows Release Note Licensing Policy License Testing Build and run the hello_world program in %MPI_ROOT%\help\hello_world.c to check for a license.
HP-MPI V1.0 for Windows Release Note Product Documentation Product Documentation The HP-MPI Documentation Kit is an optional product (product number B6281AA) consisting of the following hardcopy books: • MPI: The Complete Reference (2 volume set) Product number B6011-96012 • HP-MPI User’s Guide (Ninth Edition) Product number B6060-96018 The HP-MPI User’s Guide and HP-MPI Release Notices are available online • in C:\Program Files (x86)\Hewlett-Packard\HP-MPI\doc after you install the product.
HP-MPI V1.0 for Windows Release Note Product Documentation Table 2 Man Page Categories (Continued) Category Man Pages Description Runtime mpidebug.1 mpienv.1 mpijob.1 mpimtsafe.1 mpirun.1 mpistdio.1 Describes runtime utilities, environment variables, debugging, thread-safe and diagnostic libraries. MPI API *.
HP-MPI V1.0 for Windows Release Note Software Availability in Native Languages Software Availability in Native Languages There is no information on non-English languages for HP-MPI for Windows systems.