diff --git a/.gitignore b/.gitignore
index 4f3103b34f5d7c7b3c6932506ea80079b4be50bd..8809ebb19e62ac6d544b58586668995d5b317e06 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,8 @@
 # Dependencies directory
 /deps
 
+# Downloaded wheels
+/wheels
+
 # Build folders
 build*
diff --git a/README.md b/README.md
index c36acd9288e9d38605fe7eed858e659ba1c748ed..88734c8cd3131042f03b3a6f0f30729fe9520aa7 100644
--- a/README.md
+++ b/README.md
@@ -20,10 +20,10 @@ The build includes the following dependencies:
 `bin` directory is added to your `PATH` environment variable.<br>
 Note: to install CMake without administrator rights, you need to download and extract the zip file and set your `PATH`
 manually.
-- **Mingw-w64**: download the latest version from [winlibs](https://github.com/brechtsanders/winlibs_mingw/releases/download/12.2.0-14.0.6-10.0.0-msvcrt-r2/winlibs-x86_64-posix-seh-gcc-12.2.0-mingw-w64msvcrt-10.0.0-r2.zip) and extract it to `C:\`.<br>
+- **Mingw-w64**: download the 12.3 version from [winlibs](https://github.com/brechtsanders/winlibs_mingw/releases/download/12.3.0-16.0.4-11.0.0-ucrt-r1/winlibs-x86_64-posix-seh-gcc-12.3.0-mingw-w64ucrt-11.0.0-r1.zip) and extract it to `C:\`.<br>
 Note: if you don't install Mingw-w64 in `C:\`, you will need to add its `bin` directory to your `PATH`.
-- **Python**: download and install the 3.10 64-bit version from [python.org](https://www.python.org/ftp/python/3.10.9/python-3.10.9-amd64.exe).<br>
-Note: to install Python without administrator rights, you must uncheck the option `Use admin privileges when installing py.exe`.
+
+You don't need to install Python, as a version of its embeddable package will be downloaded and used by the batch script. However, if you already have Python on your OS, either through the official 
 
 ## Optional: proxy configuration
 
@@ -47,10 +47,18 @@ This will **download** , **build** and **install** a full setup of the current d
 To build a specific version, you need to specify it using the `/v` switch, e.g:
 
 ```
-C:\wintel>build-telemac C:\telemac /v V8P4
+C:\wintel>build-telemac C:\telemac /v V8P5
 ```
 
-For now, the only supported stable version is V8P4.
+The supported stable versions are V8P4 and V8P5.
 
 If the compilation went fine, the last message you will get should be `My work is done`.
 
+By default, all TELEMAC external dependencies, including Python, will be downloaded, built if needed, and installed under a TELEMAC subfolder called "external". However, you can specify the location of the externals directory using the `/e` switch, e.g:
+
+```
+C:\wintel>build-telemac C:\telemac /e C:\telemac-deps
+```
+
+This allows you to reuse the same externals for several local installations of TELEMAC.
+
diff --git a/build-telemac.bat b/build-telemac.bat
index a33b6b95f1ac65c8191d514c2fd1e78af32557df..c124643c82310135607995933778e57573677b9f 100644
--- a/build-telemac.bat
+++ b/build-telemac.bat
@@ -9,13 +9,22 @@ rem ****************************************
 set hdf5=hdf5-1.10.9
 set med=med-4.1.1
 set metis=metis-5.1.0
-set msmpi=msmpi-10.1.2
-set openblas=openblas-0.3.24
+set msmpi=msmpi-10.1.3
+set openblas=openblas-0.3.25
 set scalapack=scalapack-2.1.0
 set mumps=mumps-5.2.1
 set aed2=libaed2-1.2.0
 set gotm=gotm-2019-06-14-opentelemac
 
+set python_version=3.11.8
+set python=python-%python_version%
+set python_requirements=python_requirements.txt
+set geo_wheels_version=v2024.1.1
+set gdal=GDAL-3.8.2-cp311-cp311-win_amd64.whl
+set fiona=fiona-1.9.5-cp311-cp311-win_amd64.whl
+set rasterio=rasterio-1.3.9-cp311-cp311-win_amd64.whl
+set shapely=shapely-2.0.2-cp311-cp311-win_amd64.whl
+
 rem ************************************************************************
 rem Parse input arguments to determine where and how TELEMAC should be built
 rem ************************************************************************
@@ -32,21 +41,23 @@ if "%install_path%" == "" (
   echo          path: Path where TELEMAC will be installed.
   echo:
   echo          /c    Compiler to use, either mingw (default^) or intel.
-  echo          /v    Version to build, either V8P4 or main (default^)
+  echo          /v    Version to build, either V8P4, V8P5 or main (default^)
+  echo          /e    Path to the externals (Python, MED, MUMPS...^). If not set,
+  echo                the externals will be installed under a TELEMAC subdirectory.
   exit /b 0
 )
 
 rem Ensure that the installation path is absolute
 set install_path=%~f1
 
-rem Set the external path using forward slashes for CMake (they are mandatory because ScaLAPACK uses a bugged CMake module)
-set external_path=%install_path:\=/%/external
-
 rem Parse optional arguments and fallback to default values if needed
 for /f "tokens=1,* delims= " %%a in ("%*") do set args=%%b
 call :arg_parser %args%
 if not defined arg_c set arg_c=mingw
 if not defined arg_v set arg_v=main
+if not defined arg_e set arg_e=%install_path%\external
+
+set external_path=%arg_e%
 
 rem ************************************
 rem Check that the compiler is available
@@ -67,14 +78,16 @@ exit /b 0
 :find_mingw
 rem Try to find Mingw in the current PATH
 set mingw_path=
-for /f "delims=" %%a in ('"where mingw32-make 2>nul"') do set mingw_path=%%a
+for /f "delims=" %%a in ('"where mingw32-make 2>nul"') do set mingw_path=%%~dpa
 rem If not found, add the usual Mingw location to PATH
 if not defined mingw_path set path=C:\mingw64\bin;%path%
-for /f "delims=" %%a in ('"where mingw32-make 2>nul"') do set mingw_path=%%a
+for /f "delims=" %%a in ('"where mingw32-make 2>nul"') do set mingw_path=%%~dpa
 if not defined mingw_path (
   echo Error: Mingw not found. Please ensure that Mingw bin folder is in your PATH.
   exit /b 0
 )
+rem Remove the trailing backslash
+set mingw_path=%mingw_path:~0,-1%
 goto compiler_set
 
 :find_intel
@@ -82,20 +95,41 @@ rem TODO
 
 :compiler_set
 
-rem ***********************************
-rem Check that the version is supported
-rem ***********************************
-set version=
-if /i %arg_v% == v8p4 set version=v8p4
+rem *********************************************************************
+rem Check that the version is supported and set Python requirements
+rem accordingly, including versions of the unofficial geopospatial wheels
+rem provided by Christoph Gohlke
+rem *********************************************************************
+set python_requirements=python_requirements.txt
+if /i %arg_v% == v8p4 (
+  set version=v8p4
+  set python_version=3.10.11
+  set python=python-3.10.11
+  set python_requirements=python_requirements_v8p4.txt
+  set geo_wheels_version=v2023.11.3
+  set gdal=GDAL-3.7.3-cp310-cp310-win_amd64.whl
+  set fiona=fiona-1.9.5-cp310-cp310-win_amd64.whl
+  set rasterio=rasterio-1.3.9-cp310-cp310-win_amd64.whl
+  set shapely=shapely-2.0.2-cp310-cp310-win_amd64.whl
+)
+if /i %arg_v% == v8p5 (
+  set version=v8p5
+  set python_requirements=python_requirements_v8p5.txt
+  set geo_wheels_version=v2023.11.3
+  set gdal=GDAL-3.7.3-cp311-cp311-win_amd64.whl
+  set fiona=fiona-1.9.5-cp311-cp311-win_amd64.whl
+  set rasterio=rasterio-1.3.9-cp311-cp311-win_amd64.whl
+  set shapely=shapely-2.0.2-cp311-cp311-win_amd64.whl
+)
 if /i %arg_v% == main set version=main
 if not defined version (
   echo Unsupported TELEMAC version: %arg_v%
   exit /b 0
 )
 
-rem ***********************************************************************
-rem Check that all prerequisites (Git, Cmake and Python 3.10) are available 
-rem ***********************************************************************
+rem **************************************
+rem Check that all Git and CMake available
+rem **************************************
 
 rem Check for the presence of Git
 set git_path=
@@ -113,20 +147,6 @@ if not defined cmake_path (
   exit /b 0
 )
 
-rem Check for the presence of the Python launcher
-set py_path=
-for /f "delims=,tokens=*" %%a in ('"where py 2>nul"') do set py_path=%%a
-if not defined py_path (
-  echo Error: Python launcher not found. Please install Python 3.10 with the launcher.
-  exit /b 0
-)
-rem Check for the presence of Python 3.10
-py -0 2>nul | findstr /I /B /C:" -3.10-64" > nul 2>&1
-if %errorlevel% == 1 (
-    echo Error: Python 3.10 not found. You need to install it using the official installer.
-    exit /b 0
-)
-
 rem *************
 rem Clone Telemac
 rem *************
@@ -159,6 +179,7 @@ call :build_scalapack || goto exit
 call :build_mumps || goto exit
 call :build_aed2 || goto exit
 call :build_gotm || goto exit
+call :install_python || goto exit
 call :install_python_packages || goto exit
 popd
 goto build_telemac
@@ -170,6 +191,7 @@ call :build_metis || goto exit
 rem call :build_mumps || goto exit
 rem call :build_aed2 || goto exit
 rem call :buid_gotm || goto exit
+call :install_python || goto exit
 call :install_python_packages || goto exit
 popd
 
@@ -179,33 +201,42 @@ rem *************
 :build_telemac
 pushd %install_path%
 
-xcopy /e/y %~dp0config configs\ >nul
-call configs\pysource.gnu.bat
-
-rem Replace "#!/usr/bin/env python3" with "#!/usr/bin/env python" so that the scripts
-rem can be executed by the Python launcher using the active virtual environment
-rem This is done using "find" and "sed" from the GNU tools provided by Git for Windows
-for %%a in ("%git_path%\..\..") do set "path=%%~fa\usr\bin;%path%"
-set folders=scripts\python3 examples\python3 optionals\addons
-find %folders% -name "*.py" -exec sed -i 's/env\ python3/env\ python/g' {} ;
-
-rem Compile TELEMAC
-compile_telemac.py
-
-rem Copy DLLs required by the API and Hermes Python modules
-for %%i IN ("%mingw_path%") do set mingw_path=%%~dpi
-set external_path=%external_path:/=\%
-xcopy /y %mingw_path%\libgcc_s_seh-1.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
-xcopy /y %mingw_path%\libgfortran-5.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
-xcopy /y %mingw_path%\libquadmath-0.dll %install_path%\builds\gnu.static\wrap_api\lib\>nul
-xcopy /y %mingw_path%\libstdc++-6.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
-xcopy /y %mingw_path%\libwinpthread-1.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
-xcopy /y %external_path%\%hdf5%\bin\libhdf5.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
-xcopy /y %external_path%\%med%\bin\libmedC.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
-xcopy /y %external_path%\%med%\bin\libmedfwrap.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
-xcopy /y %external_path%\%msmpi%\bin\msmpi.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
-xcopy /y %external_path%\%gotm%\bin\libturbulence.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
-xcopy /y %external_path%\%gotm%\bin\libutil.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
+rem Add Python to PATH
+set path=%external_path%\%python%\Scripts;%external_path%\%python%;%path%
+
+rem Copy systel.cfg and create the pysource batches
+pushd configs
+xcopy /y %~dp0config\systel.cfg .\
+call :write_pysource_bat gnu.static
+call :write_pysource_bat gnu.dynamic
+call :write_pysource_bat gnu.static.debug
+call :write_pysource_bat gnu.dynamic.debug
+popd
+
+rem Create a .bat for each .py file in the scripts\python3 directory
+for %%f in (scripts\python3\*.py) do (
+  echo @echo off > scripts\%%~nf.py.bat
+  echo python %%~dp0\python3\%%~nf.py %%* >> scripts\%%~nf.py.bat
+)
+
+rem Build TELEMAC for gnu.static
+call configs\pysource.gnu.static.bat
+call compile_telemac.py
+
+if %errorlevel% == 0 (
+  rem Copy DLLs required by the API and Hermes Python modules
+  xcopy /y %mingw_path%\libgcc_s_seh-1.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
+  xcopy /y %mingw_path%\libgfortran-5.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
+  xcopy /y %mingw_path%\libquadmath-0.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
+  xcopy /y %mingw_path%\libstdc++-6.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
+  xcopy /y %mingw_path%\libwinpthread-1.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
+  xcopy /y %external_path%\%hdf5%\bin\libhdf5.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
+  xcopy /y %external_path%\%med%\bin\libmedC.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
+  xcopy /y %external_path%\%med%\bin\libmedfwrap.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
+  xcopy /y %external_path%\%msmpi%\bin\msmpi.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
+  xcopy /y %external_path%\%gotm%\bin\libturbulence.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
+  xcopy /y %external_path%\%gotm%\bin\libutil.dll %install_path%\builds\gnu.static\wrap_api\lib\ >nul
+)
 
 :exit
 endlocal
@@ -278,9 +309,9 @@ bin\mpifort -c -Jinclude ..\mpi.f90 || popd && exit /b 1
 del mpi.o
 cd ..\..
 rem Installation
-xcopy /e/y bin %external_path:/=\%\%msmpi%\bin\
-xcopy /e/y license %external_path:/=\%\%msmpi%\license\
-xcopy /e/y sdk\build-x86_64 %external_path:/=\%\%msmpi%\
+xcopy /e/y bin %external_path%\%msmpi%\bin\
+xcopy /e/y license %external_path%\%msmpi%\license\
+xcopy /e/y sdk\build-x86_64 %external_path%\%msmpi%\
 popd
 exit /b 0
 
@@ -299,7 +330,8 @@ rem *********
 :build_scalapack
 call :download %scalapack% "https://github.com/Reference-ScaLAPACK/scalapack/archive/refs/tags/v2.1.0.zip" || exit /b 1
 rem We need to use a foward slash for lapack and blas libraries paths since CMake CheckFortranFunctionExists is bugged when using a backward slash
-set cmake_config_options=-DMPI_BASE_DIR:PATH=%external_path%/%msmpi% -DLAPACK_LIBRARIES:STRING=%external_path%/%openblas%/lib/libopenblas.a -DBLAS_LIBRARIES:STRING=%external_path%/%openblas%/lib/libopenblas.a -DBUILD_TESTING:BOOL=OFF
+set ext_path=%external_path:\=/%
+set cmake_config_options=-DMPI_BASE_DIR:PATH=%ext_path%/%msmpi% -DLAPACK_LIBRARIES:STRING=%ext_path%/%openblas%/lib/libopenblas.a -DBLAS_LIBRARIES:STRING=%ext_path%/%openblas%/lib/libopenblas.a -DBUILD_TESTING:BOOL=OFF
 call :cmake_build %scalapack% || exit /b 1
 exit /b 0
 
@@ -308,9 +340,9 @@ rem MUMPS
 rem *****
 :build_mumps
 call :download %mumps% "https://github.com/scivision/mumps/archive/refs/tags/v5.6.1.2.tar.gz" || exit /b 1
-set cmake_config_options=-DMUMPS_UPSTREAM_VERSION=5.2.1 -DBLAS_LIBRARY=%external_path%/%openblas%/lib/libopenblas.a -DLAPACK_LIBRARY=%external_path%/%openblas%/lib/libopenblas.a -DSCALAPACK_ROOT:PATH=%external_path%/%scalapack%
+set cmake_config_options=-DMUMPS_UPSTREAM_VERSION=5.2.1 -DBLAS_LIBRARY=%external_path%\%openblas%\lib\libopenblas.a -DLAPACK_LIBRARY=%external_path%\%openblas%\lib\libopenblas.a -DSCALAPACK_ROOT:PATH=%external_path%\%scalapack%
 if %compiler% == mingw (
-  set cmake_config_options=%cmake_config_options% -DMPI_ROOT:PATH=%external_path%/%msmpi%
+  set cmake_config_options=%cmake_config_options% -DMPI_ROOT:PATH=%external_path%\%msmpi%
 ) else (
   if not defined MKLROOT (
     rem Set Intel MKL environment
@@ -331,7 +363,7 @@ rem ****
 :build_aed2
 call :download %aed2% "http://www.opentelemac.org/index.php/component/jdownloads/finish/39-manual-installation-sources/2126-aed2m/0?Itemid=55" || exit /b 1
 echo Building libaed2...
-set install_dir=%external_path:/=\%\%aed2%
+set install_dir=%external_path%\%aed2%
 rd /s/q %install_dir% 2>nul
 pushd %aed2%
 mingw32-make || goto build_aed2_error
@@ -355,39 +387,82 @@ set cmake_config_options=-DBUILD_SHARED_LIBS:BOOL=ON -DGOTM_USE_NetCDF=OFF
 call :cmake_build %gotm% || exit /b 1
 exit /b 0
 
+rem ******
+rem Python
+rem ******
+:install_python
+if exist %external_path%\%python% (
+  exit /b 0
+)
+
+pushd %external_path%
+
+echo Downloading and extracting Python %python_version%...
+curl -L https://www.python.org/ftp/python/%python_version%/%python%-embed-amd64.zip -o python.zip || goto install_python_error
+mkdir %python% 2>nul
+tar -xvf python.zip -C %python% || goto install_python_error
+del python.zip
+rem Remove the _pth file
+del %python%\python3*._pth
+
+rem Download Python dev.msi package to get Python include folder, required by F2PY
+curl -OJL https://www.python.org/ftp/python/%python_version%/amd64/dev.msi
+msiexec /a dev.msi /qb TARGETDIR=%external_path%\%python% /quiet
+del dev.msi
+cd %python%
+rd /s/q libs
+del dev.msi
+
+rem Create the import library for the Python dll, required by F2PY
+mkdir libs 2>nul
+for /f "tokens=1,2 delims=." %%a in ("%python_version%") do set python_lib=python%%a%%b
+gendef - %python_lib%.dll > tmp.def || goto install_python_error
+dlltool --dllname %python_lib%.dll --def tmp.def --output-lib libs\lib%python_lib%.a || goto install_python_error
+del tmp.def
+
+rem Download and install pip
+curl -OJ https://bootstrap.pypa.io/get-pip.py || goto install_python_error
+%cd%\python get-pip.py --no-warn-script-location || goto install_python_error
+del get-pip.py
+
+popd
+exit /b 0
+
+:install_python_error
+rd /s/q %python%
+del tmp.def 2>nul
+del *.zip 2>nul
+del *.tgz 2>nul
+popd
+exit /b 1
+
 rem ***************
 rem Python packages
 rem ***************
 :install_python_packages
 rem Install all Python requirements for TELEMAC-MASCARET
 echo Installing Python requirements...
-rem Create a virtual environment
-set python_dir=%external_path:/=\%\python
-rd /s/q %python_dir% 2>nul
-py -3.10 -m venv %python_dir% --prompt telemac
-rem Copy python310.dll to the virtual environment (required by F2PY)
-pushd %python_dir%
-py -3.10 -c "import os, sys, shutil; shutil.copy2(f'{os.path.dirname(sys.executable)}\\python310.dll', f'{os.getcwd()}\\Scripts')"
-rem Mingw also requires a definition file for F2PY in a "libs" subdirectory
-if %compiler% == mingw (
-  mkdir libs
-  pushd libs
-  py -3.10 -c "import os, sys; os.system(f'gendef {os.path.dirname(sys.executable)}\python310.dll')"
-  popd
-)
+
+set path=%external_path%\%python%\Scripts;%external_path%\%python%;%path%
+
+mkdir %~dp0wheels 2>nul
+pushd %~dp0wheels
+echo https://github.com/cgohlke/geospatial-wheels/releases/download/%geo_wheels_version%/%gdal% 
+curl -OL https://github.com/cgohlke/geospatial-wheels/releases/download/%geo_wheels_version%/%gdal% || goto install_python_packages_error
+curl -OL https://github.com/cgohlke/geospatial-wheels/releases/download/%geo_wheels_version%/%fiona% || goto install_python_packages_error
+curl -OL https://github.com/cgohlke/geospatial-wheels/releases/download/%geo_wheels_version%/%rasterio% || goto install_python_packages_error
+curl -OL https://github.com/cgohlke/geospatial-wheels/releases/download/%geo_wheels_version%/%shapely% || goto install_python_packages_error
 popd
-rem Activate the virtual environment and install all Python requirements
-call %python_dir%\Scripts\activate.bat
 pushd %~dp0
-pip install -r python_requirements.txt || goto install_error
+pip install -r %python_requirements% || goto install_python_packages_error
 
 rem Starting with Python 3.8, mpi4py requires MPI DLLs to be present in the module directory: copy them there
-xcopy /y %external_path:/=\%\%msmpi%\bin\msmpi*.dll %python_dir%\Lib\site-packages\mpi4py\ >nul
+xcopy /y %external_path%\%msmpi%\bin\msmpi*.dll %external_path%\%python%\Lib\site-packages\mpi4py\ >nul
 
 popd
 exit /b 0
 
-:install_error
+:install_python_packages_error
 popd
 exit /b 1
 
@@ -495,3 +570,61 @@ exit /b 0
 :cmake_build_error
 popd
 exit /b 1
+
+
+rem ******************************************************
+rem Write a pysource batch for a given build configuration
+rem ******************************************************
+:write_pysource_bat
+set file_name=pysource.%1.bat
+echo @echo off> %file_name%
+echo set PROMPT=(telemac %version%) %%PROMPT%%>> %file_name%
+echo rem Path to TELEMAC root directory>> %file_name%
+echo for %%%%a in ("%%~dp0.") do set HOMETEL=%%%%~dpa>> %file_name%
+echo set HOMETEL=%%HOMETEL:~0,-1%%>> %file_name%
+echo rem Path to dependencies>> %file_name%
+echo set EXTERNAL=%external_path%>> %file_name%
+echo rem Path to this file>> %file_name%
+echo set SOURCEFILE=%%~dp0%%~nx0>> %file_name%
+echo rem Configuration file>> %file_name%
+echo set SYSTELCFG=%%~dp0systel.cfg>> %file_name%
+echo rem Name of the configuration to use>> %file_name%
+echo set USETELCFG=%1>> %file_name%
+echo:>> %file_name%
+echo rem Add Python to PATH and unset PYTHONHOME>> %file_name%
+echo set PATH=%%EXTERNAL%%\%python%\Scripts;%%EXTERNAL%%\%python%;%%PATH%%>> %file_name%
+echo set PYTHONHOME=>> %file_name%
+echo:>> %file_name%
+echo rem Add Mingw to PATH>> %file_name%
+echo set PATH=%mingw_path%;%%PATH%%>> %file_name%
+echo:>> %file_name%
+echo rem Add TELEMAC binaries directory to PATH>> %file_name%
+echo set PATH=%%HOMETEL%%\builds\%%USETELCFG%%\lib;%%PATH%%>> %file_name%
+echo rem Add TELEMAC scripts folder to PATH>> %file_name%
+echo set PATH=%%HOMETEL%%\scripts;%%PATH%%>> %file_name%
+echo rem Add TELEMAC Python scripts to PYTHONPATH>> %file_name%
+echo set PYTHONPATH=%%HOMETEL%%\scripts\python3;%%PYTHONPATH%%>> %file_name%
+echo set PYTHONPATH=%%HOMETEL%%\builds\%%USETELCFG%%\wrap_api\lib;%%PYTHONPATH%%>> %file_name%
+echo:>> %file_name%
+echo rem Paths to external libraries>> %file_name%
+echo rem HDF5>> %file_name%
+echo set HDF5HOME=%%EXTERNAL%%\%hdf5%>> %file_name%
+echo set PATH=%%HDF5HOME%%\bin;%%PATH%%>> %file_name%
+echo rem MED>> %file_name%
+echo set MEDHOME=%%EXTERNAL%%\%med%>> %file_name%
+echo set PATH=%%MEDHOME%%\bin;%%PATH%%>> %file_name%
+echo rem METIS>> %file_name%
+echo set METISHOME=%%EXTERNAL%%\%metis%>> %file_name%
+echo set PATH=%%METISHOME%%\bin;%%PATH%%>> %file_name%
+echo rem MSPMPI>> %file_name%
+echo set MPIHOME=%%EXTERNAL%%\%msmpi%>> %file_name%
+echo set PATH=%%MPIHOME%%\bin;%%PATH%%>> %file_name%
+echo rem OPENBLAS, SCALAPACK and MUMPS>> %file_name%
+echo set OPENBLASHOME=%%EXTERNAL%%\%openblas%>> %file_name%
+echo set SCALAPACKHOME=%%EXTERNAL%%\%scalapack%>> %file_name%
+echo set MUMPSHOME=%%EXTERNAL%%\%mumps%>> %file_name%
+echo rem AED>> %file_name%
+echo set AEDHOME=%%EXTERNAL%%\%aed2%>> %file_name%
+echo rem GOTM>> %file_name%
+echo set GOTMHOME=%%EXTERNAL%%\%gotm%>> %file_name%
+echo set PATH=%%GOTMHOME%%\bin;%%PATH%%>> %file_name%
\ No newline at end of file
diff --git a/config/pysource.gnu.bat b/config/pysource.gnu.bat
deleted file mode 100644
index dfe46fa0e69dffe5722435a38947da6456b84759..0000000000000000000000000000000000000000
--- a/config/pysource.gnu.bat
+++ /dev/null
@@ -1,67 +0,0 @@
-@echo off
-rem *****************************
-rem * TELEMAC-MASCARET settings *
-rem *****************************
-rem Path to TELEMAC root dir
-for %%a in ("%~dp0.") do set HOMETEL=%%~dpa
-set HOMETEL=%HOMETEL:~0,-1%
-rem Path to dependencies
-set EXTERNAL=%HOMETEL%\external
-rem Path to this file
-set SOURCEFILE=%~dp0%~n0%~x0
-rem Configuration file
-set SYSTELCFG=%~dp0systel.cfg
-rem Name of the configuration to use
-set USETELCFG=gnu.static
-
-rem Activate TELEMAC Python environment and set it as the default
-rem one to launch Python scripts from the command line
-call %EXTERNAL%\python\Scripts\activate.bat
-
-rem Add Mingw to PATH if it is found
-call :find_mingw
-
-rem Add TELEMAC binaries directory to PATH
-set PATH=%HOMETEL%\builds\%USETELCFG%\lib;%PATH%
-rem Add TELEMAC Python scripts to PATH and to Python environment
-set PATH=%HOMETEL%\scripts\python3;%PATH%
-set PYTHONPATH=%HOMETEL%\scripts\python3;%PYTHONPATH%
-set PYTHONPATH=%HOMETEL%\builds\%USETELCFG%\wrap_api\lib;%PYTHONPATH%
-
-rem External libraries versions
-rem HDF5
-set HDF5HOME=%EXTERNAL%\hdf5-1.10.9
-set PATH=%HDF5HOME%\bin;%PATH%
-rem MED
-set MEDHOME=%EXTERNAL%\med-4.1.1
-set PATH=%MEDHOME%\bin;%PATH%
-rem METIS
-set METISHOME=%EXTERNAL%\metis-5.1.0
-set PATH=%METISHOME%\bin;%PATH%
-rem MSPMPI
-set MPIHOME=%EXTERNAL%\msmpi-10.1.2
-set PATH=%MPIHOME%\bin;%PATH%
-rem OPENBLAS, SCALAPACK and MUMPS
-set OPENBLASHOME=%EXTERNAL%\openblas-0.3.24
-set SCALAPACKHOME=%EXTERNAL%\scalapack-2.1.0
-set MUMPSHOME=%EXTERNAL%\mumps-5.2.1
-rem AED
-set AEDHOME=%EXTERNAL%\libaed2-1.2.0
-rem GOTM
-set GOTMHOME=%EXTERNAL%\gotm-2019-06-14-opentelemac
-set PATH=%GOTMHOME%\bin;%PATH%
-
-exit /b 0
-
-:find_mingw
-rem Try to find Mingw in current user PATH
-for /f "delims=" %%a in ('"where mingw32-make 2>nul"') do set MINGW_PATH=%%a
-rem If not found, add usual Mingw location to PATH
-if not defined MINGW_PATH set PATH=C:\mingw64\bin;%PATH%
-for /f "delims=" %%a in ('"where mingw32-make 2>nul"') do set MINGW_PATH=%%a
-if not defined MINGW_PATH (
-  echo Warning: Mingw not found. Please ensure that Mingw bin folder is in your PATH or
-  echo you will not be able to compile TELEMAC-MASCARET or compile user Fortran code.
-)
-
-exit /b 0
\ No newline at end of file
diff --git a/config/pysource.gnu.debug.bat b/config/pysource.gnu.debug.bat
deleted file mode 100644
index 7c39617bb8c123e42848b4f9f1caed8a2dc800a8..0000000000000000000000000000000000000000
--- a/config/pysource.gnu.debug.bat
+++ /dev/null
@@ -1,67 +0,0 @@
-@echo off
-rem *****************************
-rem * TELEMAC-MASCARET settings *
-rem *****************************
-rem Path to TELEMAC root dir
-for %%a in ("%~dp0.") do set HOMETEL=%%~dpa
-set HOMETEL=%HOMETEL:~0,-1%
-rem Path to dependencies
-set EXTERNAL=%HOMETEL%\external
-rem Path to this file
-set SOURCEFILE=%~dp0%~n0%~x0
-rem Configuration file
-set SYSTELCFG=%~dp0systel.cfg
-rem Name of the configuration to use
-set USETELCFG=gnu.static.debug
-
-rem Activate TELEMAC Python environment and set it as the default
-rem one to launch Python scripts from the command line
-call %EXTERNAL%\python\Scripts\activate.bat
-
-rem Add Mingw to PATH if it is found
-call :find_mingw
-
-rem Add TELEMAC binaries directory to PATH
-set PATH=%HOMETEL%\builds\%USETELCFG%\lib;%PATH%
-rem Add TELEMAC Python scripts to PATH and to Python environment
-set PATH=%HOMETEL%\scripts\python3;%PATH%
-set PYTHONPATH=%HOMETEL%\scripts\python3;%PYTHONPATH%
-set PYTHONPATH=%HOMETEL%\builds\%USETELCFG%\wrap_api\lib;%PYTHONPATH%
-
-rem External libraries versions
-rem HDF5
-set HDF5HOME=%EXTERNAL%\hdf5-1.10.9
-set PATH=%HDF5HOME%\bin;%PATH%
-rem MED
-set MEDHOME=%EXTERNAL%\med-4.1.1
-set PATH=%MEDHOME%\bin;%PATH%
-rem METIS
-set METISHOME=%EXTERNAL%\metis-5.1.0
-set PATH=%METISHOME%\bin;%PATH%
-rem MSPMPI
-set MPIHOME=%EXTERNAL%\msmpi-10.1.2
-set PATH=%MPIHOME%\bin;%PATH%
-rem OPENBLAS, SCALAPACK and MUMPS
-set OPENBLASHOME=%EXTERNAL%\openblas-0.3.24
-set SCALAPACKHOME=%EXTERNAL%\scalapack-2.1.0
-set MUMPSHOME=%EXTERNAL%\mumps-5.2.1
-rem AED
-set AEDHOME=%EXTERNAL%\libaed2-1.2.0
-rem GOTM
-set GOTMHOME=%EXTERNAL%\gotm-2019-06-14-opentelemac
-set PATH=%GOTMHOME%\bin;%PATH%
-
-exit /b 0
-
-:find_mingw
-rem Try to find Mingw in current user PATH
-for /f "delims=" %%a in ('"where mingw32-make 2>nul"') do set MINGW_PATH=%%a
-rem If not found, add usual Mingw location to PATH
-if not defined MINGW_PATH set PATH=C:\mingw64\bin;%PATH%
-for /f "delims=" %%a in ('"where mingw32-make 2>nul"') do set MINGW_PATH=%%a
-if not defined MINGW_PATH (
-  echo Warning: Mingw not found. Please ensure that Mingw bin folder is in your PATH or
-  echo you will not be able to compile TELEMAC-MASCARET or compile user Fortran code.
-)
-
-exit /b 0
\ No newline at end of file
diff --git a/deps/msmpi-10.1.2/bin/mpiexec.exe b/deps/msmpi-10.1.3/bin/mpiexec.exe
similarity index 63%
rename from deps/msmpi-10.1.2/bin/mpiexec.exe
rename to deps/msmpi-10.1.3/bin/mpiexec.exe
index 5a7b767d4ad55357f037d42dffb8cbe045da9c1f..167c18a6b612d8597f6fc72f5d04103d9a778da6 100644
Binary files a/deps/msmpi-10.1.2/bin/mpiexec.exe and b/deps/msmpi-10.1.3/bin/mpiexec.exe differ
diff --git a/deps/msmpi-10.1.2/bin/mpitrace.man b/deps/msmpi-10.1.3/bin/mpitrace.man
similarity index 100%
rename from deps/msmpi-10.1.2/bin/mpitrace.man
rename to deps/msmpi-10.1.3/bin/mpitrace.man
diff --git a/deps/msmpi-10.1.2/bin/msmpi.dll b/deps/msmpi-10.1.3/bin/msmpi.dll
similarity index 56%
rename from deps/msmpi-10.1.2/bin/msmpi.dll
rename to deps/msmpi-10.1.3/bin/msmpi.dll
index b861f6b9979225675afbca3279eb49a2ab1a0130..60e07aec5d51f914c29c8848c03730dbdaafcfc4 100644
Binary files a/deps/msmpi-10.1.2/bin/msmpi.dll and b/deps/msmpi-10.1.3/bin/msmpi.dll differ
diff --git a/deps/msmpi-10.1.2/bin/msmpilaunchsvc.exe b/deps/msmpi-10.1.3/bin/msmpilaunchsvc.exe
similarity index 82%
rename from deps/msmpi-10.1.2/bin/msmpilaunchsvc.exe
rename to deps/msmpi-10.1.3/bin/msmpilaunchsvc.exe
index 30e9d8bf5314e1a4e46fb2a9c661e10a576ab3fa..f111b4aea8a32bf51d2d8b7a99187e50f8bd999b 100644
Binary files a/deps/msmpi-10.1.2/bin/msmpilaunchsvc.exe and b/deps/msmpi-10.1.3/bin/msmpilaunchsvc.exe differ
diff --git a/deps/msmpi-10.1.2/bin/msmpires.dll b/deps/msmpi-10.1.3/bin/msmpires.dll
similarity index 96%
rename from deps/msmpi-10.1.2/bin/msmpires.dll
rename to deps/msmpi-10.1.3/bin/msmpires.dll
index a0ea6b4062dcfb042519719bb31cb32759436ce7..5d4e8e41be377fb9c46a4c9274459ae7a10f130f 100644
Binary files a/deps/msmpi-10.1.2/bin/msmpires.dll and b/deps/msmpi-10.1.3/bin/msmpires.dll differ
diff --git a/deps/msmpi-10.1.2/bin/smpd.exe b/deps/msmpi-10.1.3/bin/smpd.exe
similarity index 57%
rename from deps/msmpi-10.1.2/bin/smpd.exe
rename to deps/msmpi-10.1.3/bin/smpd.exe
index 83acd1840dc67785411aa40c588adc914843e39f..7c411985a578e43df02cdff9e465b85ea2cf177a 100644
Binary files a/deps/msmpi-10.1.2/bin/smpd.exe and b/deps/msmpi-10.1.3/bin/smpd.exe differ
diff --git a/deps/msmpi-10.1.2/license/MPI_Redistributables_TPN.txt b/deps/msmpi-10.1.3/license/MPI-Redistributables-TPN.txt
similarity index 100%
rename from deps/msmpi-10.1.2/license/MPI_Redistributables_TPN.txt
rename to deps/msmpi-10.1.3/license/MPI-Redistributables-TPN.txt
diff --git a/deps/msmpi-10.1.2/license/MicrosoftMPI_Redistributable_EULA.rtf b/deps/msmpi-10.1.3/license/MicrosoftMPI-Redistributable-EULA.rtf
similarity index 100%
rename from deps/msmpi-10.1.2/license/MicrosoftMPI_Redistributable_EULA.rtf
rename to deps/msmpi-10.1.3/license/MicrosoftMPI-Redistributable-EULA.rtf
diff --git a/deps/msmpi-10.1.2/sdk/hello_mpi.F b/deps/msmpi-10.1.3/sdk/hello_mpi.F
similarity index 95%
rename from deps/msmpi-10.1.2/sdk/hello_mpi.F
rename to deps/msmpi-10.1.3/sdk/hello_mpi.F
index d8778b986398e87c6978041490bc43f1eb5eae23..7299f2b87d991fa329c399d402f9b9f2afd6c955 100644
--- a/deps/msmpi-10.1.2/sdk/hello_mpi.F
+++ b/deps/msmpi-10.1.3/sdk/hello_mpi.F
@@ -1,180 +1,180 @@
-      program main
-
-c*********************************************************************72
-c
-cc MAIN is the main program for HELLO_MPI.
-c
-c  Discussion:
-c
-c    HELLO is a simple MPI test program.
-c
-c    Each process prints out a "Hello, world!" message.
-c
-c    The master process also prints out a short message.
-c
-c  Licensing:
-c
-c    This code is distributed under the GNU LGPL license. 
-c
-c  Modified:
-c
-c    30 October 2008
-c
-c  Author:
-c
-c    John Burkardt
-c
-c  Reference:
-c
-c    William Gropp, Ewing Lusk, Anthony Skjellum,
-c    Using MPI: Portable Parallel Programming with the
-c    Message-Passing Interface,
-c    Second Edition,
-c    MIT Press, 1999,
-c    ISBN: 0262571323,
-c    LC: QA76.642.G76.
-c
-
-c
-c  Define MPI symbols:
-c
-      include 'mpif.h'
-c
-c implicit none
-c
-      integer error
-      integer id
-      integer p
-      double precision wtime
-c
-c  Initialize MPI.
-c
-      call MPI_Init ( error )
-c
-c  Get the number of processes.
-c
-      call MPI_Comm_size ( MPI_COMM_WORLD, p, error )
-c
-c  Get the individual process ID.
-c
-      call MPI_Comm_rank ( MPI_COMM_WORLD, id, error )
-c
-c  Print a message.
-c
-      if ( id .eq. 0 ) then
-        call timestamp ( )
-        write ( *, '(a)' ) ' '
-        write ( *, '(a)' ) 'HELLO_MPI - Master process:'
-        write ( *, '(a)' ) '  FORTRAN77/MPI version'
-        write ( *, '(a)' ) '  A simple MPI program.'
-        write ( *, '(a)' ) ' '
-        write ( *, '(a,i3)' ) '  The number of processes is ', p
-        write ( *, '(a)' ) ' '
-      end if
-
-      if ( id .eq. 0 ) then
-        wtime = MPI_Wtime ( )
-      end if
-
-      write ( *, '(a,i3,a)' ) '  Process ', id, 
-     &  ' says "Hello, world!"'
-
-      if ( id .eq. 0 ) then
-        wtime = MPI_Wtime ( ) - wtime
-        write ( *, '(a)' ) ' '
-        write ( *, '(a,g14.6,a)' ) 
-     &  'Elapsed wall clock time = ', wtime, ' seconds.'
-
-      end if
-c
-c  Terminate MPI.
-c
-      call MPI_Finalize ( error )
-c
-c  Terminate.
-c
-      if ( id .eq. 0 ) then
-        write ( *, '(a)' ) ' '
-        write ( *, '(a)' ) 'HELLO_MPI:'
-        write ( *, '(a)' ) '  Normal end of execution.'
-        write ( *, '(a)' ) ' '
-        call timestamp ( )
-      end if
-
-      stop
-      end
-      subroutine timestamp ( )
-
-c*********************************************************************72
-c
-cc TIMESTAMP prints out the current YMDHMS date as a timestamp.
-c
-c  Licensing:
-c
-c    This code is distributed under the GNU LGPL license.
-c
-c  Modified:
-c
-c    12 January 2007
-c
-c  Author:
-c
-c    John Burkardt
-c
-c  Parameters:
-c
-c    None
-c
-      implicit none
-
-      character * ( 8 ) ampm
-      integer d
-      character * ( 8 ) date
-      integer h
-      integer m
-      integer mm
-      character * ( 9 ) month(12)
-      integer n
-      integer s
-      character * ( 10 ) time
-      integer y
-
-      save month
-
-      data month /
-     &  'January  ', 'February ', 'March    ', 'April    ', 
-     &  'May      ', 'June     ', 'July     ', 'August   ', 
-     &  'September', 'October  ', 'November ', 'December ' /
-
-      call date_and_time ( date, time )
-
-      read ( date, '(i4,i2,i2)' ) y, m, d
-      read ( time, '(i2,i2,i2,1x,i3)' ) h, n, s, mm
-
-      if ( h .lt. 12 ) then
-        ampm = 'AM'
-      else if ( h .eq. 12 ) then
-        if ( n .eq. 0 .and. s .eq. 0 ) then
-          ampm = 'Noon'
-        else
-          ampm = 'PM'
-        end if
-      else
-        h = h - 12
-        if ( h .lt. 12 ) then
-          ampm = 'PM'
-        else if ( h .eq. 12 ) then
-          if ( n .eq. 0 .and. s .eq. 0 ) then
-            ampm = 'Midnight'
-          else
-            ampm = 'AM'
-          end if
-        end if
-      end if
-
-      write ( *, 
-     &  '(i2,1x,a,1x,i4,2x,i2,a1,i2.2,a1,i2.2,a1,i3.3,1x,a)' ) 
-     &  d, month(m), y, h, ':', n, ':', s, '.', mm, ampm
-
-      return
-      end
+      program main
+
+c*********************************************************************72
+c
+cc MAIN is the main program for HELLO_MPI.
+c
+c  Discussion:
+c
+c    HELLO is a simple MPI test program.
+c
+c    Each process prints out a "Hello, world!" message.
+c
+c    The master process also prints out a short message.
+c
+c  Licensing:
+c
+c    This code is distributed under the GNU LGPL license. 
+c
+c  Modified:
+c
+c    30 October 2008
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323,
+c    LC: QA76.642.G76.
+c
+
+c
+c  Define MPI symbols:
+c
+      include 'mpif.h'
+c
+c implicit none
+c
+      integer error
+      integer id
+      integer p
+      double precision wtime
+c
+c  Initialize MPI.
+c
+      call MPI_Init ( error )
+c
+c  Get the number of processes.
+c
+      call MPI_Comm_size ( MPI_COMM_WORLD, p, error )
+c
+c  Get the individual process ID.
+c
+      call MPI_Comm_rank ( MPI_COMM_WORLD, id, error )
+c
+c  Print a message.
+c
+      if ( id .eq. 0 ) then
+        call timestamp ( )
+        write ( *, '(a)' ) ' '
+        write ( *, '(a)' ) 'HELLO_MPI - Master process:'
+        write ( *, '(a)' ) '  FORTRAN77/MPI version'
+        write ( *, '(a)' ) '  A simple MPI program.'
+        write ( *, '(a)' ) ' '
+        write ( *, '(a,i3)' ) '  The number of processes is ', p
+        write ( *, '(a)' ) ' '
+      end if
+
+      if ( id .eq. 0 ) then
+        wtime = MPI_Wtime ( )
+      end if
+
+      write ( *, '(a,i3,a)' ) '  Process ', id, 
+     &  ' says "Hello, world!"'
+
+      if ( id .eq. 0 ) then
+        wtime = MPI_Wtime ( ) - wtime
+        write ( *, '(a)' ) ' '
+        write ( *, '(a,g14.6,a)' ) 
+     &  'Elapsed wall clock time = ', wtime, ' seconds.'
+
+      end if
+c
+c  Terminate MPI.
+c
+      call MPI_Finalize ( error )
+c
+c  Terminate.
+c
+      if ( id .eq. 0 ) then
+        write ( *, '(a)' ) ' '
+        write ( *, '(a)' ) 'HELLO_MPI:'
+        write ( *, '(a)' ) '  Normal end of execution.'
+        write ( *, '(a)' ) ' '
+        call timestamp ( )
+      end if
+
+      stop
+      end
+      subroutine timestamp ( )
+
+c*********************************************************************72
+c
+cc TIMESTAMP prints out the current YMDHMS date as a timestamp.
+c
+c  Licensing:
+c
+c    This code is distributed under the GNU LGPL license.
+c
+c  Modified:
+c
+c    12 January 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Parameters:
+c
+c    None
+c
+      implicit none
+
+      character * ( 8 ) ampm
+      integer d
+      character * ( 8 ) date
+      integer h
+      integer m
+      integer mm
+      character * ( 9 ) month(12)
+      integer n
+      integer s
+      character * ( 10 ) time
+      integer y
+
+      save month
+
+      data month /
+     &  'January  ', 'February ', 'March    ', 'April    ', 
+     &  'May      ', 'June     ', 'July     ', 'August   ', 
+     &  'September', 'October  ', 'November ', 'December ' /
+
+      call date_and_time ( date, time )
+
+      read ( date, '(i4,i2,i2)' ) y, m, d
+      read ( time, '(i2,i2,i2,1x,i3)' ) h, n, s, mm
+
+      if ( h .lt. 12 ) then
+        ampm = 'AM'
+      else if ( h .eq. 12 ) then
+        if ( n .eq. 0 .and. s .eq. 0 ) then
+          ampm = 'Noon'
+        else
+          ampm = 'PM'
+        end if
+      else
+        h = h - 12
+        if ( h .lt. 12 ) then
+          ampm = 'PM'
+        else if ( h .eq. 12 ) then
+          if ( n .eq. 0 .and. s .eq. 0 ) then
+            ampm = 'Midnight'
+          else
+            ampm = 'AM'
+          end if
+        end if
+      end if
+
+      write ( *, 
+     &  '(i2,1x,a,1x,i4,2x,i2,a1,i2.2,a1,i2.2,a1,i3.3,1x,a)' ) 
+     &  d, month(m), y, h, ':', n, ':', s, '.', mm, ampm
+
+      return
+      end
diff --git a/deps/msmpi-10.1.2/sdk/hello_mpi.c b/deps/msmpi-10.1.3/sdk/hello_mpi.c
similarity index 94%
rename from deps/msmpi-10.1.2/sdk/hello_mpi.c
rename to deps/msmpi-10.1.3/sdk/hello_mpi.c
index 725b11dc67d725e2de9bd8acb68ff08fdfc3f4ea..5eabcfca9c00efda3caa7cbcfbc2af5fc6769cd4 100644
--- a/deps/msmpi-10.1.2/sdk/hello_mpi.c
+++ b/deps/msmpi-10.1.3/sdk/hello_mpi.c
@@ -1,162 +1,162 @@
-# include <stdlib.h>
-# include <stdio.h>
-# include <time.h>
-
-# include "mpi.h"
-
-int main ( int argc, char *argv[] );
-void timestamp ( );
-
-/******************************************************************************/
-
-int main ( int argc, char *argv[] )
-
-/******************************************************************************/
-/*
-  Purpose:
-
-    MAIN is the main program for HELLO_MPI.
-
-  Discussion:
-
-    This is a simple MPI test program.
-
-    Each process prints out a "Hello, world!" message.
-
-    The master process also prints out a short message.
-
-  Licensing:
-
-    This code is distributed under the GNU LGPL license. 
-
-  Modified:
-
-    30 October 2008
-
-  Author:
-
-    John Burkardt
-
-  Reference:
-
-    William Gropp, Ewing Lusk, Anthony Skjellum,
-    Using MPI: Portable Parallel Programming with the
-    Message-Passing Interface,
-    Second Edition,
-    MIT Press, 1999,
-    ISBN: 0262571323,
-    LC: QA76.642.G76.
-*/
-{
-  int id;
-  int ierr;
-  int p;
-  double wtime;
-/*
-  Initialize MPI.
-*/
-  ierr = MPI_Init ( &argc, &argv );
-
-  if ( ierr != 0 )
-  {
-    printf ( "\n" );
-    printf ( "HELLO_MPI - Fatal error!\n" );
-    printf ( "  MPI_Init returned nonzero IERR.\n" );
-    exit ( 1 );
-  }
-/*
-  Get the number of processes.
-*/
-  ierr = MPI_Comm_size ( MPI_COMM_WORLD, &p );
-/*
-  Get the individual process ID.
-*/
-  ierr = MPI_Comm_rank ( MPI_COMM_WORLD, &id );
-/*
-  Process 0 prints an introductory message.
-*/
-  if ( id == 0 ) 
-  {
-    wtime = MPI_Wtime ( );
-
-    printf ( "\n" );
-    printf ( "P%d:  HELLO_MPI - Master process:\n", id );
-    printf ( "P%d:    C/MPI version\n", id );
-    printf ( "P%d:    An MPI example program.\n", id );
-    printf ( "P%d:    The number of processes is %d.\n", id, p );
-    printf ( "\n" );
-  }
-/*
-  Every process prints a hello.
-*/
-  printf ( "P%d:    'Hello, world!'\n", id );
-
-  if ( id == 0 )
-  {
-    wtime = MPI_Wtime ( ) - wtime;
-    printf ( "P%d:    Elapsed wall clock time = %f seconds.\n", id, wtime );
-  }
-/*
-  Terminate MPI.
-*/
-  ierr = MPI_Finalize ( );
-/*
-  Terminate
-*/
-  if ( id == 0 )
-  {
-    printf ( "\n" );
-    printf ( "P%d:  HELLO_MPI - Master process:\n", id );
-    printf ( "P%d:    Normal end of execution: 'Goodbye, world!'\n", id );
-    printf ( "\n" );
-    timestamp ( );
-  }
-  return 0;
-}
-/******************************************************************************/
-
-void timestamp ( )
-
-/******************************************************************************/
-/*
-  Purpose:
-
-    TIMESTAMP prints the current YMDHMS date as a time stamp.
-
-  Example:
-
-    31 May 2001 09:45:54 AM
-
-  Licensing:
-
-    This code is distributed under the GNU LGPL license. 
-
-  Modified:
-
-    24 September 2003
-
-  Author:
-
-    John Burkardt
-
-  Parameters:
-
-    None
-*/
-{
-# define TIME_SIZE 40
-
-  static char time_buffer[TIME_SIZE];
-  const struct tm *tm;
-  time_t now;
-
-  now = time ( NULL );
-  tm = localtime ( &now );
-
-  strftime ( time_buffer, TIME_SIZE, "%d %B %Y %I:%M:%S %p", tm );
-
-  printf ( "%s\n", time_buffer );
-
-  return;
-# undef TIME_SIZE
-}
+# include <stdlib.h>
+# include <stdio.h>
+# include <time.h>
+
+# include "mpi.h"
+
+int main ( int argc, char *argv[] );
+void timestamp ( );
+
+/******************************************************************************/
+
+int main ( int argc, char *argv[] )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    MAIN is the main program for HELLO_MPI.
+
+  Discussion:
+
+    This is a simple MPI test program.
+
+    Each process prints out a "Hello, world!" message.
+
+    The master process also prints out a short message.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license. 
+
+  Modified:
+
+    30 October 2008
+
+  Author:
+
+    John Burkardt
+
+  Reference:
+
+    William Gropp, Ewing Lusk, Anthony Skjellum,
+    Using MPI: Portable Parallel Programming with the
+    Message-Passing Interface,
+    Second Edition,
+    MIT Press, 1999,
+    ISBN: 0262571323,
+    LC: QA76.642.G76.
+*/
+{
+  int id;
+  int ierr;
+  int p;
+  double wtime;
+/*
+  Initialize MPI.
+*/
+  ierr = MPI_Init ( &argc, &argv );
+
+  if ( ierr != 0 )
+  {
+    printf ( "\n" );
+    printf ( "HELLO_MPI - Fatal error!\n" );
+    printf ( "  MPI_Init returned nonzero IERR.\n" );
+    exit ( 1 );
+  }
+/*
+  Get the number of processes.
+*/
+  ierr = MPI_Comm_size ( MPI_COMM_WORLD, &p );
+/*
+  Get the individual process ID.
+*/
+  ierr = MPI_Comm_rank ( MPI_COMM_WORLD, &id );
+/*
+  Process 0 prints an introductory message.
+*/
+  if ( id == 0 ) 
+  {
+    wtime = MPI_Wtime ( );
+
+    printf ( "\n" );
+    printf ( "P%d:  HELLO_MPI - Master process:\n", id );
+    printf ( "P%d:    C/MPI version\n", id );
+    printf ( "P%d:    An MPI example program.\n", id );
+    printf ( "P%d:    The number of processes is %d.\n", id, p );
+    printf ( "\n" );
+  }
+/*
+  Every process prints a hello.
+*/
+  printf ( "P%d:    'Hello, world!'\n", id );
+
+  if ( id == 0 )
+  {
+    wtime = MPI_Wtime ( ) - wtime;
+    printf ( "P%d:    Elapsed wall clock time = %f seconds.\n", id, wtime );
+  }
+/*
+  Terminate MPI.
+*/
+  ierr = MPI_Finalize ( );
+/*
+  Terminate
+*/
+  if ( id == 0 )
+  {
+    printf ( "\n" );
+    printf ( "P%d:  HELLO_MPI - Master process:\n", id );
+    printf ( "P%d:    Normal end of execution: 'Goodbye, world!'\n", id );
+    printf ( "\n" );
+    timestamp ( );
+  }
+  return 0;
+}
+/******************************************************************************/
+
+void timestamp ( )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    TIMESTAMP prints the current YMDHMS date as a time stamp.
+
+  Example:
+
+    31 May 2001 09:45:54 AM
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license. 
+
+  Modified:
+
+    24 September 2003
+
+  Author:
+
+    John Burkardt
+
+  Parameters:
+
+    None
+*/
+{
+# define TIME_SIZE 40
+
+  static char time_buffer[TIME_SIZE];
+  const struct tm *tm;
+  time_t now;
+
+  now = time ( NULL );
+  tm = localtime ( &now );
+
+  strftime ( time_buffer, TIME_SIZE, "%d %B %Y %I:%M:%S %p", tm );
+
+  printf ( "%s\n", time_buffer );
+
+  return;
+# undef TIME_SIZE
+}
diff --git a/deps/msmpi-10.1.2/sdk/hello_mpi.cpp b/deps/msmpi-10.1.3/sdk/hello_mpi.cpp
similarity index 95%
rename from deps/msmpi-10.1.2/sdk/hello_mpi.cpp
rename to deps/msmpi-10.1.3/sdk/hello_mpi.cpp
index 28b661e2b5622546b26253ec64ff4a42cdb622ea..0527855626721bec4e3a3965a0f2e26dac23d9dd 100644
--- a/deps/msmpi-10.1.2/sdk/hello_mpi.cpp
+++ b/deps/msmpi-10.1.3/sdk/hello_mpi.cpp
@@ -1,170 +1,170 @@
-# include <cstdlib>
-# include <ctime>
-# include <iomanip>
-# include <iostream>
-# include <mpi.h>
-
-using namespace std;
-
-int main ( int argc, char *argv[] );
-void timestamp ( );
-
-//****************************************************************************80
-
-int main ( int argc, char *argv[] )
-
-//****************************************************************************80
-//
-//  Purpose:
-//
-//    MAIN is the main program for HELLO_MPI.
-//
-//  Discussion:
-//
-//    This is a simple MPI test program.
-//    Each process prints out a "Hello, world!" message.
-//    The master process also prints out a short message.
-//
-//    Modified to use the C MPI bindings, 14 June 2016.
-//
-//  Licensing:
-//
-//    This code is distributed under the GNU LGPL license. 
-//
-//  Modified:
-//
-//    14 June 2016
-//
-//  Author:
-//
-//    John Burkardt
-//
-//  Reference:
-//
-//    William Gropp, Ewing Lusk, Anthony Skjellum,
-//    Using MPI: Portable Parallel Programming with the
-//    Message-Passing Interface,
-//    Second Edition,
-//    MIT Press, 1999,
-//    ISBN: 0262571323,
-//    LC: QA76.642.G76.
-//
-{
-  int id;
-  int ierr;
-  int p;
-  double wtime;
-//
-//  Initialize MPI.
-//
-  ierr = MPI_Init ( &argc, &argv );
-
-  if ( ierr != 0 )
-  {
-    cout << "\n";
-    cout << "HELLO_MPI - Fatal error!\n";
-    cout << "  MPI_Init returned nonzero ierr.\n";
-    exit ( 1 );
-  }
-//
-//  Get the number of processes.
-//
-  ierr = MPI_Comm_size ( MPI_COMM_WORLD, &p );
-//
-//  Get the individual process ID.
-//
-  ierr = MPI_Comm_rank ( MPI_COMM_WORLD, &id );
-//
-//  Process 0 prints an introductory message.
-//
-  if ( id == 0 ) 
-  {
-    timestamp ( );
-    cout << "\n";
-    cout << "P" << id << ":  HELLO_MPI - Master process:\n";
-    cout << "P" << id << ":    C++/MPI version\n";
-    cout << "P" << id << ":    An MPI example program.\n";
-    cout << "\n";
-    cout << "P" << id << ":    The number of processes is " << p << "\n";
-    cout << "\n";
-  }
-//
-//  Every process prints a hello.
-//
-  if ( id == 0 ) 
-  {
-    wtime = MPI_Wtime ( );
-  }
-  cout << "P" << id << ":    'Hello, world!'\n";
-//
-//  Process 0 says goodbye.
-//
-  if ( id == 0 )
-  {
-    wtime = MPI_Wtime ( ) - wtime;
-    cout << "P" << id << ":    Elapsed wall clock time = " << wtime << " seconds.\n";
-  }
-//
-//  Terminate MPI.
-//
-  MPI_Finalize ( );
-//
-//  Terminate.
-//
-  if ( id == 0 )
-  {
-    cout << "\n";
-    cout << "P" << id << ":  HELLO_MPI:\n";
-    cout << "P" << id << ":    Normal end of execution.\n";
-    cout << "\n";
-    timestamp ( );
-  }
-  return 0;
-}
-//****************************************************************************80
-
-void timestamp ( )
-
-//****************************************************************************80
-//
-//  Purpose:
-//
-//    TIMESTAMP prints the current YMDHMS date as a time stamp.
-//
-//  Example:
-//
-//    31 May 2001 09:45:54 AM
-//
-//  Licensing:
-//
-//    This code is distributed under the GNU LGPL license. 
-//
-//  Modified:
-//
-//    08 July 2009
-//
-//  Author:
-//
-//    John Burkardt
-//
-//  Parameters:
-//
-//    None
-//
-{
-# define TIME_SIZE 40
-
-  static char time_buffer[TIME_SIZE];
-  const struct std::tm *tm_ptr;
-  std::time_t now;
-
-  now = std::time ( NULL );
-  tm_ptr = std::localtime ( &now );
-
-  std::strftime ( time_buffer, TIME_SIZE, "%d %B %Y %I:%M:%S %p", tm_ptr );
-
-  std::cout << time_buffer << "\n";
-
-  return;
-# undef TIME_SIZE
-}
+# include <cstdlib>
+# include <ctime>
+# include <iomanip>
+# include <iostream>
+# include <mpi.h>
+
+using namespace std;
+
+int main ( int argc, char *argv[] );
+void timestamp ( );
+
+//****************************************************************************80
+
+int main ( int argc, char *argv[] )
+
+//****************************************************************************80
+//
+//  Purpose:
+//
+//    MAIN is the main program for HELLO_MPI.
+//
+//  Discussion:
+//
+//    This is a simple MPI test program.
+//    Each process prints out a "Hello, world!" message.
+//    The master process also prints out a short message.
+//
+//    Modified to use the C MPI bindings, 14 June 2016.
+//
+//  Licensing:
+//
+//    This code is distributed under the GNU LGPL license. 
+//
+//  Modified:
+//
+//    14 June 2016
+//
+//  Author:
+//
+//    John Burkardt
+//
+//  Reference:
+//
+//    William Gropp, Ewing Lusk, Anthony Skjellum,
+//    Using MPI: Portable Parallel Programming with the
+//    Message-Passing Interface,
+//    Second Edition,
+//    MIT Press, 1999,
+//    ISBN: 0262571323,
+//    LC: QA76.642.G76.
+//
+{
+  int id;
+  int ierr;
+  int p;
+  double wtime;
+//
+//  Initialize MPI.
+//
+  ierr = MPI_Init ( &argc, &argv );
+
+  if ( ierr != 0 )
+  {
+    cout << "\n";
+    cout << "HELLO_MPI - Fatal error!\n";
+    cout << "  MPI_Init returned nonzero ierr.\n";
+    exit ( 1 );
+  }
+//
+//  Get the number of processes.
+//
+  ierr = MPI_Comm_size ( MPI_COMM_WORLD, &p );
+//
+//  Get the individual process ID.
+//
+  ierr = MPI_Comm_rank ( MPI_COMM_WORLD, &id );
+//
+//  Process 0 prints an introductory message.
+//
+  if ( id == 0 ) 
+  {
+    timestamp ( );
+    cout << "\n";
+    cout << "P" << id << ":  HELLO_MPI - Master process:\n";
+    cout << "P" << id << ":    C++/MPI version\n";
+    cout << "P" << id << ":    An MPI example program.\n";
+    cout << "\n";
+    cout << "P" << id << ":    The number of processes is " << p << "\n";
+    cout << "\n";
+  }
+//
+//  Every process prints a hello.
+//
+  if ( id == 0 ) 
+  {
+    wtime = MPI_Wtime ( );
+  }
+  cout << "P" << id << ":    'Hello, world!'\n";
+//
+//  Process 0 says goodbye.
+//
+  if ( id == 0 )
+  {
+    wtime = MPI_Wtime ( ) - wtime;
+    cout << "P" << id << ":    Elapsed wall clock time = " << wtime << " seconds.\n";
+  }
+//
+//  Terminate MPI.
+//
+  MPI_Finalize ( );
+//
+//  Terminate.
+//
+  if ( id == 0 )
+  {
+    cout << "\n";
+    cout << "P" << id << ":  HELLO_MPI:\n";
+    cout << "P" << id << ":    Normal end of execution.\n";
+    cout << "\n";
+    timestamp ( );
+  }
+  return 0;
+}
+//****************************************************************************80
+
+void timestamp ( )
+
+//****************************************************************************80
+//
+//  Purpose:
+//
+//    TIMESTAMP prints the current YMDHMS date as a time stamp.
+//
+//  Example:
+//
+//    31 May 2001 09:45:54 AM
+//
+//  Licensing:
+//
+//    This code is distributed under the GNU LGPL license. 
+//
+//  Modified:
+//
+//    08 July 2009
+//
+//  Author:
+//
+//    John Burkardt
+//
+//  Parameters:
+//
+//    None
+//
+{
+# define TIME_SIZE 40
+
+  static char time_buffer[TIME_SIZE];
+  const struct std::tm *tm_ptr;
+  std::time_t now;
+
+  now = std::time ( NULL );
+  tm_ptr = std::localtime ( &now );
+
+  std::strftime ( time_buffer, TIME_SIZE, "%d %B %Y %I:%M:%S %p", tm_ptr );
+
+  std::cout << time_buffer << "\n";
+
+  return;
+# undef TIME_SIZE
+}
diff --git a/deps/msmpi-10.1.2/sdk/hello_mpi.f90 b/deps/msmpi-10.1.3/sdk/hello_mpi.f90
similarity index 95%
rename from deps/msmpi-10.1.2/sdk/hello_mpi.f90
rename to deps/msmpi-10.1.3/sdk/hello_mpi.f90
index e18a3188b9f8bbc17f37aad8fd958cde8ec427fc..0fa50ddd20554257f20fdcb5edf17abb4a685dfa 100644
--- a/deps/msmpi-10.1.2/sdk/hello_mpi.f90
+++ b/deps/msmpi-10.1.3/sdk/hello_mpi.f90
@@ -1,181 +1,181 @@
-program main
-
-!*****************************************************************************80
-!
-!! MAIN is the main program for HELLO_MPI.
-!
-!  Discussion:
-!
-!    HELLO is a simple MPI test program.
-!
-!    Each process prints out a "Hello, world!" message.
-!
-!    The master process also prints out a short message.
-!
-!  Licensing:
-!
-!    This code is distributed under the GNU LGPL license.
-!
-!  Modified:
-!
-!    30 October 2008
-!
-!  Author:
-!
-!    John Burkardt
-!
-!  Reference:
-!
-!    William Gropp, Ewing Lusk, Anthony Skjellum,
-!    Using MPI: Portable Parallel Programming with the
-!    Message-Passing Interface,
-!    Second Edition,
-!    MIT Press, 1999,
-!    ISBN: 0262571323,
-!    LC: QA76.642.G76.
-!
-  use mpi
-
-  integer ( kind = 4 ) error
-  integer ( kind = 4 ) id
-  integer ( kind = 4 ) p
-  real ( kind = 8 ) wtime
-!
-!  Initialize MPI.
-!
-  call MPI_Init ( error )
-!
-!  Get the number of processes.
-!
-  call MPI_Comm_size ( MPI_COMM_WORLD, p, error )
-!
-!  Get the individual process ID.
-!
-  call MPI_Comm_rank ( MPI_COMM_WORLD, id, error )
-!
-!  Print a message.
-!
-  if ( id == 0 ) then
-
-    wtime = MPI_Wtime ( )
-
-    call timestamp ( )
-    write ( *, '(a)' ) ''
-    write ( *, '(a,i1,2x,a)' ) 'P', id, 'HELLO_MPI - Master process:'
-    write ( *, '(a,i1,2x,a)' ) 'P', id, '  FORTRAN90/MPI version'
-    write ( *, '(a,i1,2x,a)' ) 'P', id, '  An MPI test program.'
-    write ( *, '(a,i1,2x,a,i8)' ) 'P', id, '  The number of MPI processes is ', p
-
-  end if
-!
-!  Every MPI process will print this message.
-!
-  write ( *, '(a,i1,2x,a)' ) 'P', id, '"Hello, world!"'
-
-  if ( id == 0 ) then
-
-    write ( *, '(a)' ) ''
-    write ( *, '(a,i1,2x,a)' ) 'P', id, 'HELLO_MPI - Master process:'
-    write ( *, '(a,i1,2x,a)' ) 'P', id, '  Normal end of execution: "Goodbye, world!".'
-
-    wtime = MPI_Wtime ( ) - wtime
-    write ( *, '(a)' ) ''
-    write ( *, '(a,i1,2x,a,g14.6,a)' ) &
-      'P', id, '  Elapsed wall clock time = ', wtime, ' seconds.'
-
-  end if
-!
-!  Shut down MPI.
-!
-  call MPI_Finalize ( error )
-!
-!  Terminate.
-!
-  if ( id == 0 ) then
-    write ( *, '(a)' ) ''
-    write ( *, '(a,i1,2x,a)' ) 'P', id, 'HELLO_MPI - Master process:'
-    write ( *, '(a,i1,2x,a)' ) 'P', id, '  Normal end of execution.'
-    write ( *, '(a)' ) ''
-    call timestamp ( )
-  end if
-
-  stop
-end
-subroutine timestamp ( )
-
-!*****************************************************************************80
-!
-!! TIMESTAMP prints the current YMDHMS date as a time stamp.
-!
-!  Example:
-!
-!    31 May 2001   9:45:54.872 AM
-!
-!  Licensing:
-!
-!    This code is distributed under the GNU LGPL license.
-!
-!  Modified:
-!
-!    06 August 2005
-!
-!  Author:
-!
-!    John Burkardt
-!
-!  Parameters:
-!
-!    None
-!
-  implicit none
-
-  character ( len = 8 ) ampm
-  integer ( kind = 4 ) d
-  integer ( kind = 4 ) h
-  integer ( kind = 4 ) m
-  integer ( kind = 4 ) mm
-  character ( len = 9 ), parameter, dimension(12) :: month = (/ &
-    'January  ', 'February ', 'March    ', 'April    ', &
-    'May      ', 'June     ', 'July     ', 'August   ', &
-    'September', 'October  ', 'November ', 'December ' /)
-  integer ( kind = 4 ) n
-  integer ( kind = 4 ) s
-  integer ( kind = 4 ) values(8)
-  integer ( kind = 4 ) y
-
-  call date_and_time ( values = values )
-
-  y = values(1)
-  m = values(2)
-  d = values(3)
-  h = values(5)
-  n = values(6)
-  s = values(7)
-  mm = values(8)
-
-  if ( h < 12 ) then
-    ampm = 'AM'
-  else if ( h == 12 ) then
-    if ( n == 0 .and. s == 0 ) then
-      ampm = 'Noon'
-    else
-      ampm = 'PM'
-    end if
-  else
-    h = h - 12
-    if ( h < 12 ) then
-      ampm = 'PM'
-    else if ( h == 12 ) then
-      if ( n == 0 .and. s == 0 ) then
-        ampm = 'Midnight'
-      else
-        ampm = 'AM'
-      end if
-    end if
-  end if
-
-  write ( *, '(i2,1x,a,1x,i4,2x,i2,a1,i2.2,a1,i2.2,a1,i3.3,1x,a)' ) &
-    d, trim ( month(m) ), y, h, ':', n, ':', s, '.', mm, trim ( ampm )
-
-  return
-end
+program main
+
+!*****************************************************************************80
+!
+!! MAIN is the main program for HELLO_MPI.
+!
+!  Discussion:
+!
+!    HELLO is a simple MPI test program.
+!
+!    Each process prints out a "Hello, world!" message.
+!
+!    The master process also prints out a short message.
+!
+!  Licensing:
+!
+!    This code is distributed under the GNU LGPL license.
+!
+!  Modified:
+!
+!    30 October 2008
+!
+!  Author:
+!
+!    John Burkardt
+!
+!  Reference:
+!
+!    William Gropp, Ewing Lusk, Anthony Skjellum,
+!    Using MPI: Portable Parallel Programming with the
+!    Message-Passing Interface,
+!    Second Edition,
+!    MIT Press, 1999,
+!    ISBN: 0262571323,
+!    LC: QA76.642.G76.
+!
+  use mpi
+
+  integer ( kind = 4 ) error
+  integer ( kind = 4 ) id
+  integer ( kind = 4 ) p
+  real ( kind = 8 ) wtime
+!
+!  Initialize MPI.
+!
+  call MPI_Init ( error )
+!
+!  Get the number of processes.
+!
+  call MPI_Comm_size ( MPI_COMM_WORLD, p, error )
+!
+!  Get the individual process ID.
+!
+  call MPI_Comm_rank ( MPI_COMM_WORLD, id, error )
+!
+!  Print a message.
+!
+  if ( id == 0 ) then
+
+    wtime = MPI_Wtime ( )
+
+    call timestamp ( )
+    write ( *, '(a)' ) ''
+    write ( *, '(a,i1,2x,a)' ) 'P', id, 'HELLO_MPI - Master process:'
+    write ( *, '(a,i1,2x,a)' ) 'P', id, '  FORTRAN90/MPI version'
+    write ( *, '(a,i1,2x,a)' ) 'P', id, '  An MPI test program.'
+    write ( *, '(a,i1,2x,a,i8)' ) 'P', id, '  The number of MPI processes is ', p
+
+  end if
+!
+!  Every MPI process will print this message.
+!
+  write ( *, '(a,i1,2x,a)' ) 'P', id, '"Hello, world!"'
+
+  if ( id == 0 ) then
+
+    write ( *, '(a)' ) ''
+    write ( *, '(a,i1,2x,a)' ) 'P', id, 'HELLO_MPI - Master process:'
+    write ( *, '(a,i1,2x,a)' ) 'P', id, '  Normal end of execution: "Goodbye, world!".'
+
+    wtime = MPI_Wtime ( ) - wtime
+    write ( *, '(a)' ) ''
+    write ( *, '(a,i1,2x,a,g14.6,a)' ) &
+      'P', id, '  Elapsed wall clock time = ', wtime, ' seconds.'
+
+  end if
+!
+!  Shut down MPI.
+!
+  call MPI_Finalize ( error )
+!
+!  Terminate.
+!
+  if ( id == 0 ) then
+    write ( *, '(a)' ) ''
+    write ( *, '(a,i1,2x,a)' ) 'P', id, 'HELLO_MPI - Master process:'
+    write ( *, '(a,i1,2x,a)' ) 'P', id, '  Normal end of execution.'
+    write ( *, '(a)' ) ''
+    call timestamp ( )
+  end if
+
+  stop
+end
+subroutine timestamp ( )
+
+!*****************************************************************************80
+!
+!! TIMESTAMP prints the current YMDHMS date as a time stamp.
+!
+!  Example:
+!
+!    31 May 2001   9:45:54.872 AM
+!
+!  Licensing:
+!
+!    This code is distributed under the GNU LGPL license.
+!
+!  Modified:
+!
+!    06 August 2005
+!
+!  Author:
+!
+!    John Burkardt
+!
+!  Parameters:
+!
+!    None
+!
+  implicit none
+
+  character ( len = 8 ) ampm
+  integer ( kind = 4 ) d
+  integer ( kind = 4 ) h
+  integer ( kind = 4 ) m
+  integer ( kind = 4 ) mm
+  character ( len = 9 ), parameter, dimension(12) :: month = (/ &
+    'January  ', 'February ', 'March    ', 'April    ', &
+    'May      ', 'June     ', 'July     ', 'August   ', &
+    'September', 'October  ', 'November ', 'December ' /)
+  integer ( kind = 4 ) n
+  integer ( kind = 4 ) s
+  integer ( kind = 4 ) values(8)
+  integer ( kind = 4 ) y
+
+  call date_and_time ( values = values )
+
+  y = values(1)
+  m = values(2)
+  d = values(3)
+  h = values(5)
+  n = values(6)
+  s = values(7)
+  mm = values(8)
+
+  if ( h < 12 ) then
+    ampm = 'AM'
+  else if ( h == 12 ) then
+    if ( n == 0 .and. s == 0 ) then
+      ampm = 'Noon'
+    else
+      ampm = 'PM'
+    end if
+  else
+    h = h - 12
+    if ( h < 12 ) then
+      ampm = 'PM'
+    else if ( h == 12 ) then
+      if ( n == 0 .and. s == 0 ) then
+        ampm = 'Midnight'
+      else
+        ampm = 'AM'
+      end if
+    end if
+  end if
+
+  write ( *, '(i2,1x,a,1x,i4,2x,i2,a1,i2.2,a1,i2.2,a1,i3.3,1x,a)' ) &
+    d, trim ( month(m) ), y, h, ':', n, ':', s, '.', mm, trim ( ampm )
+
+  return
+end
diff --git a/deps/msmpi-10.1.2/sdk/mpi.c b/deps/msmpi-10.1.3/sdk/mpi.c
similarity index 96%
rename from deps/msmpi-10.1.2/sdk/mpi.c
rename to deps/msmpi-10.1.3/sdk/mpi.c
index 31ff846fb46100c942f60657728f91e73fa122ac..8a9efc0efd7c2afbe1c7f9bbb1378bfcf7fdae2f 100644
--- a/deps/msmpi-10.1.2/sdk/mpi.c
+++ b/deps/msmpi-10.1.3/sdk/mpi.c
@@ -1,66 +1,66 @@
-#include <stdio.h>
-#include <process.h>
-#include <windows.h>
-
-#if defined(CC)
-	#define C "gcc.exe"
-	#define E "MPICC"
-#elif defined(CXX)
-	#define C "g++.exe"
-	#define E "MPICXX"
-#elif defined(FC)
-	#define C "gfortran.exe"
-	#define E "MPIFORT"
-#else
-	#error
-#endif
-
-#define SZ 32767
-
-int main(int argc, char** argv) {
-	// Get executable path
-	char path[MAX_PATH];
-	GetModuleFileNameA(NULL, path, MAX_PATH);
-	int s = strlen(path);
-	// Strip exe filename and move up one folder to go out of the "bin" directory
-	while (path[s] != '\\' && path[s] != '/') --s; --s;
-	while (path[s] != '\\' && path[s] != '/') --s;
-	path[s] = '\0';
-	// Force forward slash as directory separator
-	s = strlen(path);
-	while (s >= 0) if (path[s--] == '\\') path[s + 1] = '/';
-	// Set library and include directories
-	char* lpath = malloc(SZ * sizeof(char));
-	snprintf(lpath, SZ, "-L%s/lib", path);
-	char* ipath = malloc(SZ * sizeof(char));
-	snprintf(ipath, SZ, "-I%s/include", path);
-	// Get compiler name and check for the presence of the "show" argument
-	char* comp = malloc(SZ * sizeof(char));
-	int show = (argc == 2 && strcmp(argv[1], "-show") == 0);
-	// Fill compiler arguments
-	char** args = malloc(SZ * sizeof(char*));
-	int i = 0;
-	args[i++] = GetEnvironmentVariable(E, comp, SZ) > 0 ? comp : C;
-	args[i++] = ipath;
-#ifdef FC
-	// Workaround for GFortran
-	args[i++] = "-fno-range-check";
-#if __GNUC__ >= 10
-	// More workarounds for GFortran 10 increased strickness
-	args[i++] = "-fallow-invalid-boz";
-	args[i++] = "-fallow-argument-mismatch";
-#endif
-#endif
-	if(!show) for(int x = 1; x < argc; ++x) args[i++] = argv[x];
-	args[i++] = lpath;
-	args[i++] = "-lmsmpi";
-	args[i] = NULL;
-	if(show) {
-		for(int x = 0; args[x]; ++x) printf("%s ", args[x]);
-		printf("\n");
-		fflush(stdout);
-		return 0;
-	} else {
-		return _spawnvp(_P_WAIT, args[0], (const char* const*)args);
-	}
-};
+#include <stdio.h>
+#include <process.h>
+#include <windows.h>
+
+#if defined(CC)
+	#define C "gcc.exe"
+	#define E "MPICC"
+#elif defined(CXX)
+	#define C "g++.exe"
+	#define E "MPICXX"
+#elif defined(FC)
+	#define C "gfortran.exe"
+	#define E "MPIFORT"
+#else
+	#error
+#endif
+
+#define SZ 32767
+
+int main(int argc, char** argv) {
+	// Get executable path
+	char path[MAX_PATH];
+	GetModuleFileNameA(NULL, path, MAX_PATH);
+	int s = strlen(path);
+	// Strip exe filename and move up one folder to go out of the "bin" directory
+	while (path[s] != '\\' && path[s] != '/') --s; --s;
+	while (path[s] != '\\' && path[s] != '/') --s;
+	path[s] = '\0';
+	// Force forward slash as directory separator
+	s = strlen(path);
+	while (s >= 0) if (path[s--] == '\\') path[s + 1] = '/';
+	// Set library and include directories
+	char* lpath = malloc(SZ * sizeof(char));
+	snprintf(lpath, SZ, "-L%s/lib", path);
+	char* ipath = malloc(SZ * sizeof(char));
+	snprintf(ipath, SZ, "-I%s/include", path);
+	// Get compiler name and check for the presence of the "show" argument
+	char* comp = malloc(SZ * sizeof(char));
+	int show = (argc == 2 && strcmp(argv[1], "-show") == 0);
+	// Fill compiler arguments
+	char** args = malloc(SZ * sizeof(char*));
+	int i = 0;
+	args[i++] = GetEnvironmentVariable(E, comp, SZ) > 0 ? comp : C;
+	args[i++] = ipath;
+#ifdef FC
+	// Workaround for GFortran
+	args[i++] = "-fno-range-check";
+#if __GNUC__ >= 10
+	// More workarounds for GFortran 10 increased strickness
+	args[i++] = "-fallow-invalid-boz";
+	args[i++] = "-fallow-argument-mismatch";
+#endif
+#endif
+	if(!show) for(int x = 1; x < argc; ++x) args[i++] = argv[x];
+	args[i++] = lpath;
+	args[i++] = "-lmsmpi";
+	args[i] = NULL;
+	if(show) {
+		for(int x = 0; args[x]; ++x) printf("%s ", args[x]);
+		printf("\n");
+		fflush(stdout);
+		return 0;
+	} else {
+		return _spawnvp(_P_WAIT, args[0], (const char* const*)args);
+	}
+};
diff --git a/deps/msmpi-10.1.2/sdk/mpi.f90 b/deps/msmpi-10.1.3/sdk/mpi.f90
similarity index 96%
rename from deps/msmpi-10.1.2/sdk/mpi.f90
rename to deps/msmpi-10.1.3/sdk/mpi.f90
index 22693065c58827d719b2060f84b914d83e2d1919..0b5a11ef58065e2686078d8e1c6ebcc046cb87b2 100644
--- a/deps/msmpi-10.1.2/sdk/mpi.f90
+++ b/deps/msmpi-10.1.3/sdk/mpi.f90
@@ -1,1717 +1,1717 @@
-! -*- Mode: F90; -*-
-! Copyright(c) Microsoft Corporation.All rights reserved.
-! Licensed under the MIT License.
-!
-!      (C) 2004 by Argonne National Laboratory.
-!      (C) 2015 by Microsoft Corporation
-!
-!                                  MPICH COPYRIGHT
-!
-!   The following is a notice of limited availability of the code, and disclaimer
-!   which must be included in the prologue of the code and in all source listings
-!   of the code.
-!
-!   Copyright Notice
-!    + 2002 University of Chicago
-!
-!   Permission is hereby granted to use, reproduce, prepare derivative works, and
-!   to redistribute to others.  This software was authored by:
-!
-!   Mathematics and Computer Science Division
-!   Argonne National Laboratory, Argonne IL 60439
-!
-!   (and)
-!
-!   Department of Computer Science
-!   University of Illinois at Urbana-Champaign
-!
-!
-!                                 GOVERNMENT LICENSE
-!
-!   Portions of this material resulted from work developed under a U.S.
-!   Government Contract and are subject to the following license: the Government
-!   is granted for itself and others acting on its behalf a paid-up, nonexclusive,
-!   irrevocable worldwide license in this computer software to reproduce, prepare
-!   derivative works, and perform publicly and display publicly.
-!
-!                                     DISCLAIMER
-!
-!   This computer code material was prepared, in part, as an account of work
-!   sponsored by an agency of the United States Government.  Neither the United
-!   States, nor the University of Chicago, nor any of their employees, makes any
-!   warranty express or implied, or assumes any legal liability or responsibility
-!   for the accuracy, completeness, or usefulness of any information, apparatus,
-!   product, or process disclosed, or represents that its use would not infringe
-!   privately owned rights.
-!
-!
-       MODULE MPI_CONSTANTS
-       IMPLICIT NONE
-
-       INTEGER MPI_SOURCE, MPI_TAG, MPI_ERROR
-       PARAMETER (MPI_SOURCE=3,MPI_TAG=4,MPI_ERROR=5)
-       INTEGER MPI_STATUS_SIZE
-       PARAMETER (MPI_STATUS_SIZE=5)
-       INTEGER MPI_STATUS_IGNORE(MPI_STATUS_SIZE)
-       INTEGER MPI_STATUSES_IGNORE(MPI_STATUS_SIZE,1)
-       INTEGER MPI_ERRCODES_IGNORE(1)
-       CHARACTER*1 MPI_ARGVS_NULL(1,1)
-       CHARACTER*1 MPI_ARGV_NULL(1)
-       INTEGER MPI_SUCCESS
-       PARAMETER (MPI_SUCCESS=0)
-       INTEGER MPI_ERR_OTHER
-       PARAMETER (MPI_ERR_OTHER=15)
-       INTEGER MPI_ERR_WIN
-       PARAMETER (MPI_ERR_WIN=45)
-       INTEGER MPI_ERR_FILE
-       PARAMETER (MPI_ERR_FILE=27)
-       INTEGER MPI_ERR_COUNT
-       PARAMETER (MPI_ERR_COUNT=2)
-       INTEGER MPI_ERR_SPAWN
-       PARAMETER (MPI_ERR_SPAWN=42)
-       INTEGER MPI_ERR_BASE
-       PARAMETER (MPI_ERR_BASE=46)
-       INTEGER MPI_ERR_RMA_CONFLICT
-       PARAMETER (MPI_ERR_RMA_CONFLICT=49)
-       INTEGER MPI_ERR_IN_STATUS
-       PARAMETER (MPI_ERR_IN_STATUS=17)
-       INTEGER MPI_ERR_INFO_KEY
-       PARAMETER (MPI_ERR_INFO_KEY=29)
-       INTEGER MPI_ERR_LOCKTYPE
-       PARAMETER (MPI_ERR_LOCKTYPE=47)
-       INTEGER MPI_ERR_OP
-       PARAMETER (MPI_ERR_OP=9)
-       INTEGER MPI_ERR_ARG
-       PARAMETER (MPI_ERR_ARG=12)
-       INTEGER MPI_ERR_READ_ONLY
-       PARAMETER (MPI_ERR_READ_ONLY=40)
-       INTEGER MPI_ERR_SIZE
-       PARAMETER (MPI_ERR_SIZE=51)
-       INTEGER MPI_ERR_BUFFER
-       PARAMETER (MPI_ERR_BUFFER=1)
-       INTEGER MPI_ERR_DUP_DATAREP
-       PARAMETER (MPI_ERR_DUP_DATAREP=24)
-       INTEGER MPI_ERR_UNSUPPORTED_DATAREP
-       PARAMETER (MPI_ERR_UNSUPPORTED_DATAREP=43)
-       INTEGER MPI_ERR_LASTCODE
-       PARAMETER (MPI_ERR_LASTCODE=1073741823)
-       INTEGER MPI_ERR_TRUNCATE
-       PARAMETER (MPI_ERR_TRUNCATE=14)
-       INTEGER MPI_ERR_DISP
-       PARAMETER (MPI_ERR_DISP=52)
-       INTEGER MPI_ERR_PORT
-       PARAMETER (MPI_ERR_PORT=38)
-       INTEGER MPI_ERR_INFO_NOKEY
-       PARAMETER (MPI_ERR_INFO_NOKEY=31)
-       INTEGER MPI_ERR_ASSERT
-       PARAMETER (MPI_ERR_ASSERT=53)
-       INTEGER MPI_ERR_FILE_EXISTS
-       PARAMETER (MPI_ERR_FILE_EXISTS=25)
-       INTEGER MPI_ERR_PENDING
-       PARAMETER (MPI_ERR_PENDING=18)
-       INTEGER MPI_ERR_COMM
-       PARAMETER (MPI_ERR_COMM=5)
-       INTEGER MPI_ERR_KEYVAL
-       PARAMETER (MPI_ERR_KEYVAL=48)
-       INTEGER MPI_ERR_NAME
-       PARAMETER (MPI_ERR_NAME=33)
-       INTEGER MPI_ERR_REQUEST
-       PARAMETER (MPI_ERR_REQUEST=19)
-       INTEGER MPI_ERR_GROUP
-       PARAMETER (MPI_ERR_GROUP=8)
-       INTEGER MPI_ERR_TOPOLOGY
-       PARAMETER (MPI_ERR_TOPOLOGY=10)
-       INTEGER MPI_ERR_TYPE
-       PARAMETER (MPI_ERR_TYPE=3)
-       INTEGER MPI_ERR_TAG
-       PARAMETER (MPI_ERR_TAG=4)
-       INTEGER MPI_ERR_INFO_VALUE
-       PARAMETER (MPI_ERR_INFO_VALUE=30)
-       INTEGER MPI_ERR_NOT_SAME
-       PARAMETER (MPI_ERR_NOT_SAME=35)
-       INTEGER MPI_ERR_RMA_SYNC
-       PARAMETER (MPI_ERR_RMA_SYNC=50)
-       INTEGER MPI_ERR_INFO
-       PARAMETER (MPI_ERR_INFO=28)
-       INTEGER MPI_ERR_NO_MEM
-       PARAMETER (MPI_ERR_NO_MEM=34)
-       INTEGER MPI_ERR_BAD_FILE
-       PARAMETER (MPI_ERR_BAD_FILE=22)
-       INTEGER MPI_ERR_FILE_IN_USE
-       PARAMETER (MPI_ERR_FILE_IN_USE=26)
-       INTEGER MPI_ERR_UNKNOWN
-       PARAMETER (MPI_ERR_UNKNOWN=13)
-       INTEGER MPI_ERR_UNSUPPORTED_OPERATION
-       PARAMETER (MPI_ERR_UNSUPPORTED_OPERATION=44)
-       INTEGER MPI_ERR_QUOTA
-       PARAMETER (MPI_ERR_QUOTA=39)
-       INTEGER MPI_ERR_AMODE
-       PARAMETER (MPI_ERR_AMODE=21)
-       INTEGER MPI_ERR_ROOT
-       PARAMETER (MPI_ERR_ROOT=7)
-       INTEGER MPI_ERR_RANK
-       PARAMETER (MPI_ERR_RANK=6)
-       INTEGER MPI_ERR_DIMS
-       PARAMETER (MPI_ERR_DIMS=11)
-       INTEGER MPI_ERR_NO_SUCH_FILE
-       PARAMETER (MPI_ERR_NO_SUCH_FILE=37)
-       INTEGER MPI_ERR_SERVICE
-       PARAMETER (MPI_ERR_SERVICE=41)
-       INTEGER MPI_ERR_INTERN
-       PARAMETER (MPI_ERR_INTERN=16)
-       INTEGER MPI_ERR_IO
-       PARAMETER (MPI_ERR_IO=32)
-       INTEGER MPI_ERR_ACCESS
-       PARAMETER (MPI_ERR_ACCESS=20)
-       INTEGER MPI_ERR_NO_SPACE
-       PARAMETER (MPI_ERR_NO_SPACE=36)
-       INTEGER MPI_ERR_CONVERSION
-       PARAMETER (MPI_ERR_CONVERSION=23)
-       INTEGER MPI_ERRORS_ARE_FATAL
-       PARAMETER (MPI_ERRORS_ARE_FATAL=1409286144)
-       INTEGER MPI_ERRORS_RETURN
-       PARAMETER (MPI_ERRORS_RETURN=1409286145)
-       INTEGER MPI_IDENT
-       PARAMETER (MPI_IDENT=0)
-       INTEGER MPI_CONGRUENT
-       PARAMETER (MPI_CONGRUENT=1)
-       INTEGER MPI_SIMILAR
-       PARAMETER (MPI_SIMILAR=2)
-       INTEGER MPI_UNEQUAL
-       PARAMETER (MPI_UNEQUAL=3)
-       INTEGER MPI_MAX
-       PARAMETER (MPI_MAX=1476395009)
-       INTEGER MPI_MIN
-       PARAMETER (MPI_MIN=1476395010)
-       INTEGER MPI_SUM
-       PARAMETER (MPI_SUM=1476395011)
-       INTEGER MPI_PROD
-       PARAMETER (MPI_PROD=1476395012)
-       INTEGER MPI_LAND
-       PARAMETER (MPI_LAND=1476395013)
-       INTEGER MPI_BAND
-       PARAMETER (MPI_BAND=1476395014)
-       INTEGER MPI_LOR
-       PARAMETER (MPI_LOR=1476395015)
-       INTEGER MPI_BOR
-       PARAMETER (MPI_BOR=1476395016)
-       INTEGER MPI_LXOR
-       PARAMETER (MPI_LXOR=1476395017)
-       INTEGER MPI_BXOR
-       PARAMETER (MPI_BXOR=1476395018)
-       INTEGER MPI_MINLOC
-       PARAMETER (MPI_MINLOC=1476395019)
-       INTEGER MPI_MAXLOC
-       PARAMETER (MPI_MAXLOC=1476395020)
-       INTEGER MPI_REPLACE
-       PARAMETER (MPI_REPLACE=1476395021)
-       INTEGER MPI_NO_OP
-       PARAMETER (MPI_NO_OP=1476395022)
-       INTEGER MPI_COMM_WORLD
-       PARAMETER (MPI_COMM_WORLD=1140850688)
-       INTEGER MPI_COMM_SELF
-       PARAMETER (MPI_COMM_SELF=1140850689)
-       INTEGER MPI_COMM_TYPE_SHARED
-       PARAMETER (MPI_COMM_TYPE_SHARED=1)
-       INTEGER MPI_GROUP_EMPTY
-       PARAMETER (MPI_GROUP_EMPTY=1207959552)
-       INTEGER MPI_COMM_NULL
-       PARAMETER (MPI_COMM_NULL=67108864)
-       INTEGER MPI_WIN_NULL
-       PARAMETER (MPI_WIN_NULL=536870912)
-       INTEGER MPI_FILE_NULL
-       PARAMETER (MPI_FILE_NULL=0)
-       INTEGER MPI_GROUP_NULL
-       PARAMETER (MPI_GROUP_NULL=134217728)
-       INTEGER MPI_OP_NULL
-       PARAMETER (MPI_OP_NULL=402653184)
-       INTEGER MPI_DATATYPE_NULL
-       PARAMETER (MPI_DATATYPE_NULL=z'0c000000')
-       INTEGER MPI_REQUEST_NULL
-       PARAMETER (MPI_REQUEST_NULL=738197504)
-       INTEGER MPI_ERRHANDLER_NULL
-       PARAMETER (MPI_ERRHANDLER_NULL=335544320)
-       INTEGER MPI_INFO_NULL
-       PARAMETER (MPI_INFO_NULL=469762048)
-       INTEGER MPI_MESSAGE_NULL
-       PARAMETER (MPI_MESSAGE_NULL=805306368)
-       INTEGER MPI_MESSAGE_NO_PROC
-       PARAMETER (MPI_MESSAGE_NO_PROC=1879048192)
-       INTEGER MPI_TAG_UB
-       PARAMETER (MPI_TAG_UB=1681915906)
-       INTEGER MPI_HOST
-       PARAMETER (MPI_HOST=1681915908)
-       INTEGER MPI_IO
-       PARAMETER (MPI_IO=1681915910)
-       INTEGER MPI_WTIME_IS_GLOBAL
-       PARAMETER (MPI_WTIME_IS_GLOBAL=1681915912)
-       INTEGER MPI_UNIVERSE_SIZE
-       PARAMETER (MPI_UNIVERSE_SIZE=1681915914)
-       INTEGER MPI_LASTUSEDCODE
-       PARAMETER (MPI_LASTUSEDCODE=1681915916)
-       INTEGER MPI_APPNUM
-       PARAMETER (MPI_APPNUM=1681915918)
-       INTEGER MPI_WIN_BASE
-       PARAMETER (MPI_WIN_BASE=1711276034)
-       INTEGER MPI_WIN_SIZE
-       PARAMETER (MPI_WIN_SIZE=1711276036)
-       INTEGER MPI_WIN_DISP_UNIT
-       PARAMETER (MPI_WIN_DISP_UNIT=1711276038)
-       INTEGER MPI_MAX_ERROR_STRING
-       PARAMETER (MPI_MAX_ERROR_STRING=511)
-       INTEGER MPI_MAX_PORT_NAME
-       PARAMETER (MPI_MAX_PORT_NAME=255)
-       INTEGER MPI_MAX_OBJECT_NAME
-       PARAMETER (MPI_MAX_OBJECT_NAME=127)
-       INTEGER MPI_MAX_INFO_KEY
-       PARAMETER (MPI_MAX_INFO_KEY=254)
-       INTEGER MPI_MAX_INFO_VAL
-       PARAMETER (MPI_MAX_INFO_VAL=1023)
-       INTEGER MPI_MAX_PROCESSOR_NAME
-       PARAMETER (MPI_MAX_PROCESSOR_NAME=128-1)
-       INTEGER MPI_MAX_DATAREP_STRING
-       PARAMETER (MPI_MAX_DATAREP_STRING=127)
-       INTEGER MPI_MAX_LIBRARY_VERSION_STRING
-       PARAMETER (MPI_MAX_LIBRARY_VERSION_STRING=64-1)
-       INTEGER MPI_UNDEFINED
-       PARAMETER (MPI_UNDEFINED=(-32766))
-       INTEGER MPI_KEYVAL_INVALID
-       PARAMETER (MPI_KEYVAL_INVALID=603979776)
-       INTEGER MPI_BSEND_OVERHEAD
-       PARAMETER (MPI_BSEND_OVERHEAD=(95))
-       INTEGER MPI_PROC_NULL
-       PARAMETER (MPI_PROC_NULL=-1)
-       INTEGER MPI_ANY_SOURCE
-       PARAMETER (MPI_ANY_SOURCE=-2)
-       INTEGER MPI_ANY_TAG
-       PARAMETER (MPI_ANY_TAG=-1)
-       INTEGER MPI_ROOT
-       PARAMETER (MPI_ROOT=-3)
-       INTEGER MPI_GRAPH
-       PARAMETER (MPI_GRAPH=1)
-       INTEGER MPI_CART
-       PARAMETER (MPI_CART=2)
-       INTEGER MPI_DIST_GRAPH
-       PARAMETER (MPI_DIST_GRAPH=3)
-       INTEGER MPI_VERSION
-       PARAMETER (MPI_VERSION=2)
-       INTEGER MPI_SUBVERSION
-       PARAMETER (MPI_SUBVERSION=0)
-       INTEGER MPI_LOCK_EXCLUSIVE
-       PARAMETER (MPI_LOCK_EXCLUSIVE=234)
-       INTEGER MPI_LOCK_SHARED
-       PARAMETER (MPI_LOCK_SHARED=235)
-       INTEGER MPI_CHAR
-       PARAMETER (MPI_CHAR=z'4c000101')
-       INTEGER MPI_UNSIGNED_CHAR
-       PARAMETER (MPI_UNSIGNED_CHAR=z'4c000102')
-       INTEGER MPI_SHORT
-       PARAMETER (MPI_SHORT=z'4c000203')
-       INTEGER MPI_UNSIGNED_SHORT
-       PARAMETER (MPI_UNSIGNED_SHORT=z'4c000204')
-       INTEGER MPI_INT
-       PARAMETER (MPI_INT=z'4c000405')
-       INTEGER MPI_UNSIGNED
-       PARAMETER (MPI_UNSIGNED=z'4c000406')
-       INTEGER MPI_LONG
-       PARAMETER (MPI_LONG=z'4c000407')
-       INTEGER MPI_UNSIGNED_LONG
-       PARAMETER (MPI_UNSIGNED_LONG=z'4c000408')
-       INTEGER MPI_LONG_LONG
-       PARAMETER (MPI_LONG_LONG=z'4c000809')
-       INTEGER MPI_LONG_LONG_INT
-       PARAMETER (MPI_LONG_LONG_INT=z'4c000809')
-       INTEGER MPI_FLOAT
-       PARAMETER (MPI_FLOAT=z'4c00040a')
-       INTEGER MPI_DOUBLE
-       PARAMETER (MPI_DOUBLE=z'4c00080b')
-       INTEGER MPI_LONG_DOUBLE
-       PARAMETER (MPI_LONG_DOUBLE=z'4c00080c')
-       INTEGER MPI_BYTE
-       PARAMETER (MPI_BYTE=z'4c00010d')
-       INTEGER MPI_WCHAR
-       PARAMETER (MPI_WCHAR=z'4c00020e')
-       INTEGER MPI_PACKED
-       PARAMETER (MPI_PACKED=z'4c00010f')
-       INTEGER MPI_LB
-       PARAMETER (MPI_LB=z'4c000010')
-       INTEGER MPI_UB
-       PARAMETER (MPI_UB=z'4c000011')
-       INTEGER MPI_2INT
-       PARAMETER (MPI_2INT=z'4c000816')
-       INTEGER MPI_SIGNED_CHAR
-       PARAMETER (MPI_SIGNED_CHAR=z'4c000118')
-       INTEGER MPI_UNSIGNED_LONG_LONG
-       PARAMETER (MPI_UNSIGNED_LONG_LONG=z'4c000819')
-       INTEGER MPI_CHARACTER
-       PARAMETER (MPI_CHARACTER=z'4c00011a')
-       INTEGER MPI_INTEGER
-       PARAMETER (MPI_INTEGER=z'4c00041b')
-       INTEGER MPI_REAL
-       PARAMETER (MPI_REAL=z'4c00041c')
-       INTEGER MPI_LOGICAL
-       PARAMETER (MPI_LOGICAL=z'4c00041d')
-       INTEGER MPI_COMPLEX
-       PARAMETER (MPI_COMPLEX=z'4c00081e')
-       INTEGER MPI_DOUBLE_PRECISION
-       PARAMETER (MPI_DOUBLE_PRECISION=z'4c00081f')
-       INTEGER MPI_2INTEGER
-       PARAMETER (MPI_2INTEGER=z'4c000820')
-       INTEGER MPI_2REAL
-       PARAMETER (MPI_2REAL=z'4c000821')
-       INTEGER MPI_DOUBLE_COMPLEX
-       PARAMETER (MPI_DOUBLE_COMPLEX=z'4c001022')
-       INTEGER MPI_2DOUBLE_PRECISION
-       PARAMETER (MPI_2DOUBLE_PRECISION=z'4c001023')
-       INTEGER MPI_2COMPLEX
-       PARAMETER (MPI_2COMPLEX=z'4c001024')
-       INTEGER MPI_2DOUBLE_COMPLEX
-       PARAMETER (MPI_2DOUBLE_COMPLEX=z'4c002025')
-       INTEGER MPI_REAL2
-       PARAMETER (MPI_REAL2=z'0c000000')
-       INTEGER MPI_REAL4
-       PARAMETER (MPI_REAL4=z'4c000427')
-       INTEGER MPI_COMPLEX8
-       PARAMETER (MPI_COMPLEX8=z'4c000828')
-       INTEGER MPI_REAL8
-       PARAMETER (MPI_REAL8=z'4c000829')
-       INTEGER MPI_COMPLEX16
-       PARAMETER (MPI_COMPLEX16=z'4c00102a')
-       INTEGER MPI_REAL16
-       PARAMETER (MPI_REAL16=z'0c000000')
-       INTEGER MPI_COMPLEX32
-       PARAMETER (MPI_COMPLEX32=z'0c000000')
-       INTEGER MPI_INTEGER1
-       PARAMETER (MPI_INTEGER1=z'4c00012d')
-       INTEGER MPI_COMPLEX4
-       PARAMETER (MPI_COMPLEX4=z'0c000000')
-       INTEGER MPI_INTEGER2
-       PARAMETER (MPI_INTEGER2=z'4c00022f')
-       INTEGER MPI_INTEGER4
-       PARAMETER (MPI_INTEGER4=z'4c000430')
-       INTEGER MPI_INTEGER8
-       PARAMETER (MPI_INTEGER8=z'4c000831')
-       INTEGER MPI_INTEGER16
-       PARAMETER (MPI_INTEGER16=z'0c000000')
-
-       INCLUDE 'mpifptr.h'
-
-       INTEGER MPI_OFFSET
-       PARAMETER (MPI_OFFSET=z'4c00083c')
-       INTEGER MPI_COUNT
-       PARAMETER (MPI_COUNT=z'4c00083d')
-       INTEGER MPI_FLOAT_INT
-       PARAMETER (MPI_FLOAT_INT=z'8c000000')
-       INTEGER MPI_DOUBLE_INT
-       PARAMETER (MPI_DOUBLE_INT=z'8c000001')
-       INTEGER MPI_LONG_INT
-       PARAMETER (MPI_LONG_INT=z'8c000002')
-       INTEGER MPI_SHORT_INT
-       PARAMETER (MPI_SHORT_INT=z'8c000003')
-       INTEGER MPI_LONG_DOUBLE_INT
-       PARAMETER (MPI_LONG_DOUBLE_INT=z'8c000004')
-       INTEGER MPI_INTEGER_KIND
-       PARAMETER (MPI_INTEGER_KIND=4)
-       INTEGER MPI_OFFSET_KIND
-       PARAMETER (MPI_OFFSET_KIND=8)
-       INTEGER MPI_COUNT_KIND
-       PARAMETER (MPI_COUNT_KIND=8)
-       INTEGER MPI_COMBINER_NAMED
-       PARAMETER (MPI_COMBINER_NAMED=1)
-       INTEGER MPI_COMBINER_DUP
-       PARAMETER (MPI_COMBINER_DUP=2)
-       INTEGER MPI_COMBINER_CONTIGUOUS
-       PARAMETER (MPI_COMBINER_CONTIGUOUS=3)
-       INTEGER MPI_COMBINER_VECTOR
-       PARAMETER (MPI_COMBINER_VECTOR=4)
-       INTEGER MPI_COMBINER_HVECTOR_INTEGER
-       PARAMETER (MPI_COMBINER_HVECTOR_INTEGER=5)
-       INTEGER MPI_COMBINER_HVECTOR
-       PARAMETER (MPI_COMBINER_HVECTOR=6)
-       INTEGER MPI_COMBINER_INDEXED
-       PARAMETER (MPI_COMBINER_INDEXED=7)
-       INTEGER MPI_COMBINER_HINDEXED_INTEGER
-       PARAMETER (MPI_COMBINER_HINDEXED_INTEGER=8)
-       INTEGER MPI_COMBINER_HINDEXED
-       PARAMETER (MPI_COMBINER_HINDEXED=9)
-       INTEGER MPI_COMBINER_INDEXED_BLOCK
-       PARAMETER (MPI_COMBINER_INDEXED_BLOCK=10)
-       INTEGER MPI_COMBINER_STRUCT_INTEGER
-       PARAMETER (MPI_COMBINER_STRUCT_INTEGER=11)
-       INTEGER MPI_COMBINER_STRUCT
-       PARAMETER (MPI_COMBINER_STRUCT=12)
-       INTEGER MPI_COMBINER_SUBARRAY
-       PARAMETER (MPI_COMBINER_SUBARRAY=13)
-       INTEGER MPI_COMBINER_DARRAY
-       PARAMETER (MPI_COMBINER_DARRAY=14)
-       INTEGER MPI_COMBINER_F90_REAL
-       PARAMETER (MPI_COMBINER_F90_REAL=15)
-       INTEGER MPI_COMBINER_F90_COMPLEX
-       PARAMETER (MPI_COMBINER_F90_COMPLEX=16)
-       INTEGER MPI_COMBINER_F90_INTEGER
-       PARAMETER (MPI_COMBINER_F90_INTEGER=17)
-       INTEGER MPI_COMBINER_RESIZED
-       PARAMETER (MPI_COMBINER_RESIZED=18)
-       INTEGER MPI_COMBINER_HINDEXED_BLOCK
-       PARAMETER (MPI_COMBINER_HINDEXED_BLOCK=19)
-       INTEGER MPI_MODE_NOCHECK
-       PARAMETER (MPI_MODE_NOCHECK=1024)
-       INTEGER MPI_MODE_NOSTORE
-       PARAMETER (MPI_MODE_NOSTORE=2048)
-       INTEGER MPI_MODE_NOPUT
-       PARAMETER (MPI_MODE_NOPUT=4096)
-       INTEGER MPI_MODE_NOPRECEDE
-       PARAMETER (MPI_MODE_NOPRECEDE=8192)
-       INTEGER MPI_MODE_NOSUCCEED
-       PARAMETER (MPI_MODE_NOSUCCEED=16384)
-       INTEGER MPI_THREAD_SINGLE
-       PARAMETER (MPI_THREAD_SINGLE=0)
-       INTEGER MPI_THREAD_FUNNELED
-       PARAMETER (MPI_THREAD_FUNNELED=1)
-       INTEGER MPI_THREAD_SERIALIZED
-       PARAMETER (MPI_THREAD_SERIALIZED=2)
-       INTEGER MPI_THREAD_MULTIPLE
-       PARAMETER (MPI_THREAD_MULTIPLE=3)
-       INTEGER MPI_MODE_RDONLY
-       PARAMETER (MPI_MODE_RDONLY=2)
-       INTEGER MPI_MODE_RDWR
-       PARAMETER (MPI_MODE_RDWR=8)
-       INTEGER MPI_MODE_WRONLY
-       PARAMETER (MPI_MODE_WRONLY=4)
-       INTEGER MPI_MODE_DELETE_ON_CLOSE
-       PARAMETER (MPI_MODE_DELETE_ON_CLOSE=16)
-       INTEGER MPI_MODE_UNIQUE_OPEN
-       PARAMETER (MPI_MODE_UNIQUE_OPEN=32)
-       INTEGER MPI_MODE_CREATE
-       PARAMETER (MPI_MODE_CREATE=1)
-       INTEGER MPI_MODE_EXCL
-       PARAMETER (MPI_MODE_EXCL=64)
-       INTEGER MPI_MODE_APPEND
-       PARAMETER (MPI_MODE_APPEND=128)
-       INTEGER MPI_MODE_SEQUENTIAL
-       PARAMETER (MPI_MODE_SEQUENTIAL=256)
-       INTEGER MPI_SEEK_SET
-       PARAMETER (MPI_SEEK_SET=600)
-       INTEGER MPI_SEEK_CUR
-       PARAMETER (MPI_SEEK_CUR=602)
-       INTEGER MPI_SEEK_END
-       PARAMETER (MPI_SEEK_END=604)
-       INTEGER MPI_ORDER_C
-       PARAMETER (MPI_ORDER_C=56)
-       INTEGER MPI_ORDER_FORTRAN
-       PARAMETER (MPI_ORDER_FORTRAN=57)
-       INTEGER MPI_DISTRIBUTE_BLOCK
-       PARAMETER (MPI_DISTRIBUTE_BLOCK=121)
-       INTEGER MPI_DISTRIBUTE_CYCLIC
-       PARAMETER (MPI_DISTRIBUTE_CYCLIC=122)
-       INTEGER MPI_DISTRIBUTE_NONE
-       PARAMETER (MPI_DISTRIBUTE_NONE=123)
-       INTEGER MPI_DISTRIBUTE_DFLT_DARG
-       PARAMETER (MPI_DISTRIBUTE_DFLT_DARG=-49767)
-       INTEGER (KIND=8) MPI_DISPLACEMENT_CURRENT
-       PARAMETER (MPI_DISPLACEMENT_CURRENT=-54278278)
-       INTEGER MPI_BOTTOM, MPI_IN_PLACE
-       INTEGER MPI_UNWEIGHTED, MPI_WEIGHTS_EMPTY
-
-       COMMON /MPIPRIV1/ MPI_BOTTOM, MPI_IN_PLACE, MPI_STATUS_IGNORE
-
-       COMMON /MPIPRIV2/ MPI_STATUSES_IGNORE, MPI_ERRCODES_IGNORE
-!DEC$ ATTRIBUTES DLLIMPORT :: /MPIPRIV1/, /MPIPRIV2/
-
-       COMMON /MPIFCMB5/ MPI_UNWEIGHTED
-       COMMON /MPIFCMB9/ MPI_WEIGHTS_EMPTY
-!DEC$ ATTRIBUTES DLLIMPORT :: /MPIFCMB5/, /MPIFCMB9/
-
-       COMMON /MPIPRIVC/ MPI_ARGVS_NULL, MPI_ARGV_NULL
-!DEC$ ATTRIBUTES DLLIMPORT :: /MPIPRIVC/
-
-       END MODULE MPI_CONSTANTS
-
-       MODULE MPI_BASE
-       IMPLICIT NONE
-       INTERFACE
-       SUBROUTINE MPI_TYPE_CREATE_DARRAY(v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,ierror)
-       INTEGER v0, v1, v2, v3(*), v4(*), v5(*), v6(*), v7, v8, v9
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_CREATE_DARRAY
-
-       SUBROUTINE MPI_COMM_FREE_KEYVAL(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_FREE_KEYVAL
-
-       SUBROUTINE MPI_TYPE_EXTENT(v0,v1,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-       INTEGER v0
-       INTEGER(KIND=MPI_ADDRESS_KIND) v1
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_EXTENT
-
-       SUBROUTINE MPI_TYPE_GET_NAME(v0,v1,v2,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1
-       INTEGER v2
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_GET_NAME
-
-       SUBROUTINE MPI_GROUP_INTERSECTION(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_GROUP_INTERSECTION
-
-       SUBROUTINE MPI_WIN_LOCK(v0,v1,v2,v3,ierror)
-       INTEGER v0, v1, v2, v3
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_LOCK
-
-       SUBROUTINE MPI_CARTDIM_GET(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_CARTDIM_GET
-
-       SUBROUTINE MPI_WIN_GET_ERRHANDLER(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_GET_ERRHANDLER
-
-       SUBROUTINE MPI_COMM_SPLIT(v0,v1,v2,v3,ierror)
-       INTEGER v0, v1, v2, v3
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_SPLIT
-
-       SUBROUTINE MPI_COMM_SPLIT_TYPE(v0,v1,v2,v3,v4,ierror)
-       INTEGER v0, v1, v2, v3, v4
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_SPLIT_TYPE
-
-       SUBROUTINE MPI_CANCEL(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_CANCEL
-
-       SUBROUTINE MPI_WIN_POST(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_POST
-
-       SUBROUTINE MPI_WIN_COMPLETE(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_COMPLETE
-
-       SUBROUTINE MPI_TEST_CANCELLED(v0,v1,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
-       INTEGER v0(MPI_STATUS_SIZE)
-       LOGICAL v1
-       INTEGER ierror
-       END SUBROUTINE MPI_TEST_CANCELLED
-
-       SUBROUTINE MPI_GROUP_SIZE(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_GROUP_SIZE
-
-       SUBROUTINE MPI_ADD_ERROR_STRING(v0,v1,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1
-       INTEGER ierror
-       END SUBROUTINE MPI_ADD_ERROR_STRING
-
-       SUBROUTINE MPI_PACK_SIZE(v0,v1,v2,v3,ierror)
-       INTEGER v0, v1, v2, v3
-       INTEGER ierror
-       END SUBROUTINE MPI_PACK_SIZE
-
-       SUBROUTINE MPI_GET_ELEMENTS(v0,v1,v2,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
-       INTEGER v0(MPI_STATUS_SIZE), v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_GET_ELEMENTS
-
-       SUBROUTINE MPI_GET_ELEMENTS_X(v0,v1,v2,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE,MPI_COUNT_KIND
-       INTEGER v0(MPI_STATUS_SIZE), v1
-       INTEGER(KIND=MPI_COUNT_KIND) v2
-       INTEGER ierror
-       END SUBROUTINE MPI_GET_ELEMENTS_X
-
-       SUBROUTINE MPI_ERRHANDLER_GET(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_ERRHANDLER_GET
-
-       SUBROUTINE MPI_FILE_GET_ERRHANDLER(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_FILE_GET_ERRHANDLER
-
-       SUBROUTINE MPI_TYPE_LB(v0,v1,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-       INTEGER v0
-       INTEGER(KIND=MPI_ADDRESS_KIND) v1
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_LB
-
-       SUBROUTINE MPI_REQUEST_FREE(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_REQUEST_FREE
-
-       SUBROUTINE MPI_GROUP_RANGE_INCL(v0,v1,v2,v3,ierror)
-       INTEGER v0, v1, v2(3,*), v3
-       INTEGER ierror
-       END SUBROUTINE MPI_GROUP_RANGE_INCL
-
-       SUBROUTINE MPI_TYPE_GET_TRUE_EXTENT(v0,v1,v2,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-       INTEGER v0
-       INTEGER(KIND=MPI_ADDRESS_KIND) v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_GET_TRUE_EXTENT
-
-       SUBROUTINE MPI_TYPE_GET_TRUE_EXTENT_X(v0,v1,v2,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_COUNT_KIND
-       INTEGER v0
-       INTEGER(KIND=MPI_COUNT_KIND) v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_GET_TRUE_EXTENT_X
-
-       SUBROUTINE MPI_BARRIER(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_BARRIER
-
-       SUBROUTINE MPI_IS_THREAD_MAIN(v0,ierror)
-       LOGICAL v0
-       INTEGER ierror
-       END SUBROUTINE MPI_IS_THREAD_MAIN
-
-       SUBROUTINE MPI_WIN_FREE_KEYVAL(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_FREE_KEYVAL
-
-       SUBROUTINE MPI_TYPE_COMMIT(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_COMMIT
-
-       SUBROUTINE MPI_GROUP_RANGE_EXCL(v0,v1,v2,v3,ierror)
-       INTEGER v0, v1, v2(3,*), v3
-       INTEGER ierror
-       END SUBROUTINE MPI_GROUP_RANGE_EXCL
-
-       SUBROUTINE MPI_REQUEST_GET_STATUS(v0,v1,v2,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
-       INTEGER v0
-       LOGICAL v1
-       INTEGER v2(MPI_STATUS_SIZE)
-       INTEGER ierror
-       END SUBROUTINE MPI_REQUEST_GET_STATUS
-
-       SUBROUTINE MPI_QUERY_THREAD(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_QUERY_THREAD
-
-       SUBROUTINE MPI_ERRHANDLER_CREATE(v0,v1,ierror)
-       INTERFACE
-       SUBROUTINE v0(vv0,vv1)
-       INTEGER vv0,vv1
-       END SUBROUTINE
-       END INTERFACE
-       INTEGER v1
-       INTEGER ierror
-       END SUBROUTINE MPI_ERRHANDLER_CREATE
-
-       SUBROUTINE MPI_COMM_SPAWN_MULTIPLE(v0,v1,v2,v3,v4,v5,v6,v7,v8,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1(*), v2(v0,*)
-       INTEGER v3(*), v4(*), v5, v6, v7, v8(*)
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_SPAWN_MULTIPLE
-
-       SUBROUTINE MPI_COMM_REMOTE_GROUP(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_REMOTE_GROUP
-
-       SUBROUTINE MPI_TYPE_GET_EXTENT(v0,v1,v2,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-       INTEGER v0
-       INTEGER(KIND=MPI_ADDRESS_KIND) v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_GET_EXTENT
-
-       SUBROUTINE MPI_TYPE_GET_EXTENT_X(v0,v1,v2,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_COUNT_KIND
-       INTEGER v0
-       INTEGER(KIND=MPI_COUNT_KIND) v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_GET_EXTENT_X
-
-       SUBROUTINE MPI_COMM_COMPARE(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_COMPARE
-
-       SUBROUTINE MPI_INFO_GET_VALUELEN(v0,v1,v2,v3,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1
-       INTEGER v2
-       LOGICAL v3
-       INTEGER ierror
-       END SUBROUTINE MPI_INFO_GET_VALUELEN
-
-       SUBROUTINE MPI_INFO_GET(v0,v1,v2,v3,v4,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1
-       INTEGER v2
-       CHARACTER (LEN=*) v3
-       LOGICAL v4
-       INTEGER ierror
-       END SUBROUTINE MPI_INFO_GET
-
-       SUBROUTINE MPI_OP_COMMUTATIVE(v0,v1,ierror)
-       INTEGER v0
-       LOGICAL v1
-       INTEGER ierror
-       END SUBROUTINE MPI_OP_COMMUTATIVE
-
-       SUBROUTINE MPI_OP_CREATE(v0,v1,v2,ierror)
-       EXTERNAL v0
-       LOGICAL v1
-       INTEGER v2
-       INTEGER ierror
-       END SUBROUTINE MPI_OP_CREATE
-
-       SUBROUTINE MPI_TYPE_CREATE_STRUCT(v0,v1,v2,v3,v4,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-       INTEGER v0, v1(*)
-       INTEGER(KIND=MPI_ADDRESS_KIND) v2(*)
-       INTEGER v3(*), v4
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_CREATE_STRUCT
-
-       SUBROUTINE MPI_TYPE_VECTOR(v0,v1,v2,v3,v4,ierror)
-       INTEGER v0, v1, v2, v3, v4
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_VECTOR
-
-       SUBROUTINE MPI_WIN_GET_GROUP(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_GET_GROUP
-
-       SUBROUTINE MPI_GROUP_COMPARE(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_GROUP_COMPARE
-
-       SUBROUTINE MPI_CART_SHIFT(v0,v1,v2,v3,v4,ierror)
-       INTEGER v0, v1, v2, v3, v4
-       INTEGER ierror
-       END SUBROUTINE MPI_CART_SHIFT
-
-       SUBROUTINE MPI_WIN_SET_ERRHANDLER(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_SET_ERRHANDLER
-
-       SUBROUTINE MPI_COMM_SPAWN(v0,v1,v2,v3,v4,v5,v6,v7,ierror)
-       CHARACTER (LEN=*) v0, v1(*)
-       INTEGER v2, v3, v4, v5, v6, v7(*)
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_SPAWN
-
-       SUBROUTINE MPI_COMM_GROUP(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_GROUP
-
-       SUBROUTINE MPI_WIN_CALL_ERRHANDLER(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_CALL_ERRHANDLER
-
-       SUBROUTINE MPI_LOOKUP_NAME(v0,v1,v2,ierror)
-       CHARACTER (LEN=*) v0
-       INTEGER v1
-       CHARACTER (LEN=*) v2
-       INTEGER ierror
-       END SUBROUTINE MPI_LOOKUP_NAME
-
-       SUBROUTINE MPI_INFO_FREE(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_INFO_FREE
-
-       SUBROUTINE MPI_COMM_SET_ERRHANDLER(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_SET_ERRHANDLER
-
-       SUBROUTINE MPI_GRAPH_GET(v0,v1,v2,v3,v4,ierror)
-       INTEGER v0, v1, v2, v3(*), v4(*)
-       INTEGER ierror
-       END SUBROUTINE MPI_GRAPH_GET
-
-       SUBROUTINE MPI_GROUP_FREE(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_GROUP_FREE
-
-       SUBROUTINE MPI_STATUS_SET_ELEMENTS(v0,v1,v2,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
-       INTEGER v0(MPI_STATUS_SIZE), v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_STATUS_SET_ELEMENTS
-
-       SUBROUTINE MPI_STATUS_SET_ELEMENTS_X(v0,v1,v2,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE,MPI_COUNT_KIND
-       INTEGER v0(MPI_STATUS_SIZE), v1
-       INTEGER(KIND=MPI_COUNT_KIND) v2
-       INTEGER ierror
-       END SUBROUTINE MPI_STATUS_SET_ELEMENTS_X
-
-       SUBROUTINE MPI_WIN_TEST(v0,v1,ierror)
-       INTEGER v0
-       LOGICAL v1
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_TEST
-
-       SUBROUTINE MPI_WIN_FREE(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_FREE
-
-       SUBROUTINE MPI_GRAPH_MAP(v0,v1,v2,v3,v4,ierror)
-       INTEGER v0, v1, v2(*), v3(*), v4
-       INTEGER ierror
-       END SUBROUTINE MPI_GRAPH_MAP
-
-       SUBROUTINE MPI_DIST_GRAPH_NEIGHBORS_COUNT(v0,v1,v2,v3,ierror)
-       INTEGER v0, v1, v2
-       LOGICAL v3
-       INTEGER ierror
-       END SUBROUTINE MPI_DIST_GRAPH_NEIGHBORS_COUNT
-
-       SUBROUTINE MPI_PACK_EXTERNAL_SIZE(v0,v1,v2,v3,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-       CHARACTER (LEN=*) v0
-       INTEGER v1, v2
-       INTEGER(KIND=MPI_ADDRESS_KIND) v3
-       INTEGER ierror
-       END SUBROUTINE MPI_PACK_EXTERNAL_SIZE
-
-       SUBROUTINE MPI_PUBLISH_NAME(v0,v1,v2,ierror)
-       CHARACTER (LEN=*) v0
-       INTEGER v1
-       CHARACTER (LEN=*) v2
-       INTEGER ierror
-       END SUBROUTINE MPI_PUBLISH_NAME
-
-       SUBROUTINE MPI_TYPE_CREATE_F90_REAL(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_CREATE_F90_REAL
-
-       SUBROUTINE MPI_OPEN_PORT(v0,v1,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1
-       INTEGER ierror
-       END SUBROUTINE MPI_OPEN_PORT
-
-       SUBROUTINE MPI_GROUP_UNION(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_GROUP_UNION
-
-       SUBROUTINE MPI_COMM_ACCEPT(v0,v1,v2,v3,v4,ierror)
-       CHARACTER (LEN=*) v0
-       INTEGER v1, v2, v3, v4
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_ACCEPT
-
-       SUBROUTINE MPI_FILE_CREATE_ERRHANDLER(v0,v1,ierror)
-       INTERFACE
-       SUBROUTINE v0(vv0,vv1)
-       INTEGER vv0,vv1
-       END SUBROUTINE
-       END INTERFACE
-       INTEGER v1
-       INTEGER ierror
-       END SUBROUTINE MPI_FILE_CREATE_ERRHANDLER
-
-       SUBROUTINE MPI_WIN_GET_NAME(v0,v1,v2,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1
-       INTEGER v2
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_GET_NAME
-
-       SUBROUTINE MPI_INFO_CREATE(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_INFO_CREATE
-
-       SUBROUTINE MPI_TYPE_CREATE_F90_INTEGER(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_CREATE_F90_INTEGER
-
-       SUBROUTINE MPI_TYPE_SET_NAME(v0,v1,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_SET_NAME
-
-       SUBROUTINE MPI_ATTR_DELETE(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_ATTR_DELETE
-
-       SUBROUTINE MPI_GROUP_INCL(v0,v1,v2,v3,ierror)
-       INTEGER v0, v1, v2(*), v3
-       INTEGER ierror
-       END SUBROUTINE MPI_GROUP_INCL
-
-       SUBROUTINE MPI_COMM_CREATE_ERRHANDLER(v0,v1,ierror)
-       INTERFACE
-       SUBROUTINE v0(vv0,vv1)
-       INTEGER vv0,vv1
-       END SUBROUTINE
-       END INTERFACE
-       INTEGER v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_CREATE_ERRHANDLER
-
-       SUBROUTINE MPI_COMM_CONNECT(v0,v1,v2,v3,v4,ierror)
-       CHARACTER (LEN=*) v0
-       INTEGER v1, v2, v3, v4
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_CONNECT
-
-       SUBROUTINE MPI_ERROR_STRING(v0,v1,v2,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1
-       INTEGER v2
-       INTEGER ierror
-       END SUBROUTINE MPI_ERROR_STRING
-
-       SUBROUTINE MPI_TYPE_GET_CONTENTS(v0,v1,v2,v3,v4,v5,v6,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-       INTEGER v0, v1, v2, v3, v4(*)
-       INTEGER(KIND=MPI_ADDRESS_KIND) v5(*)
-       INTEGER v6(*)
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_GET_CONTENTS
-
-       SUBROUTINE MPI_TYPE_STRUCT(v0,v1,v2,v3,v4,ierror)
-       INTEGER v0, v1(*), v2(*), v3(*), v4
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_STRUCT
-
-       SUBROUTINE MPI_TYPE_CREATE_INDEXED_BLOCK(v0,v1,v2,v3,v4,ierror)
-       INTEGER v0, v1, v2(*), v3, v4
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_CREATE_INDEXED_BLOCK
-
-       SUBROUTINE MPI_TYPE_CREATE_HVECTOR(v0,v1,v2,v3,v4,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-       INTEGER v0, v1
-       INTEGER(KIND=MPI_ADDRESS_KIND) v2
-       INTEGER v3, v4
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_CREATE_HVECTOR
-
-       SUBROUTINE MPI_TYPE_FREE_KEYVAL(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_FREE_KEYVAL
-
-       SUBROUTINE MPI_START(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_START
-
-       SUBROUTINE MPI_ABORT(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_ABORT
-
-       SUBROUTINE MPI_INTERCOMM_CREATE(v0,v1,v2,v3,v4,v5,ierror)
-       INTEGER v0, v1, v2, v3, v4, v5
-       INTEGER ierror
-       END SUBROUTINE MPI_INTERCOMM_CREATE
-
-       SUBROUTINE MPI_COMM_RANK(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_RANK
-
-       SUBROUTINE MPI_COMM_GET_PARENT(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_GET_PARENT
-
-       SUBROUTINE MPI_FINALIZED(v0,ierror)
-       LOGICAL v0
-       INTEGER ierror
-       END SUBROUTINE MPI_FINALIZED
-
-       SUBROUTINE MPI_INTERCOMM_MERGE(v0,v1,v2,ierror)
-       INTEGER v0
-       LOGICAL v1
-       INTEGER v2
-       INTEGER ierror
-       END SUBROUTINE MPI_INTERCOMM_MERGE
-
-       SUBROUTINE MPI_INFO_GET_NTHKEY(v0,v1,v2,ierror)
-       INTEGER v0, v1
-       CHARACTER (LEN=*) v2
-       INTEGER ierror
-       END SUBROUTINE MPI_INFO_GET_NTHKEY
-
-       SUBROUTINE MPI_TYPE_MATCH_SIZE(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_MATCH_SIZE
-
-       SUBROUTINE MPI_STATUS_SET_CANCELLED(v0,v1,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
-       INTEGER v0(MPI_STATUS_SIZE), v1
-       INTEGER ierror
-       END SUBROUTINE MPI_STATUS_SET_CANCELLED
-
-       SUBROUTINE MPI_FILE_SET_ERRHANDLER(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_FILE_SET_ERRHANDLER
-
-       SUBROUTINE MPI_INFO_DELETE(v0,v1,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1
-       INTEGER ierror
-       END SUBROUTINE MPI_INFO_DELETE
-
-       SUBROUTINE MPI_UNPUBLISH_NAME(v0,v1,v2,ierror)
-       CHARACTER (LEN=*) v0
-       INTEGER v1
-       CHARACTER (LEN=*) v2
-       INTEGER ierror
-       END SUBROUTINE MPI_UNPUBLISH_NAME
-
-       SUBROUTINE MPI_TYPE_CONTIGUOUS(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_CONTIGUOUS
-
-       SUBROUTINE MPI_INITIALIZED(v0,ierror)
-       LOGICAL v0
-       INTEGER ierror
-       END SUBROUTINE MPI_INITIALIZED
-
-       SUBROUTINE MPI_TYPE_CREATE_RESIZED(v0,v1,v2,v3,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-       INTEGER v0
-       INTEGER(KIND=MPI_ADDRESS_KIND) v1, v2
-       INTEGER v3
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_CREATE_RESIZED
-
-       SUBROUTINE MPI_TYPE_UB(v0,v1,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-       INTEGER v0
-       INTEGER(KIND=MPI_ADDRESS_KIND) v1
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_UB
-
-       SUBROUTINE MPI_INFO_DUP(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_INFO_DUP
-
-       SUBROUTINE MPI_TYPE_DUP(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_DUP
-
-       SUBROUTINE MPI_ERRHANDLER_SET(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_ERRHANDLER_SET
-
-       SUBROUTINE MPI_WIN_DELETE_ATTR(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_DELETE_ATTR
-
-       SUBROUTINE MPI_INFO_GET_NKEYS(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_INFO_GET_NKEYS
-
-       SUBROUTINE MPI_GROUP_EXCL(v0,v1,v2,v3,ierror)
-       INTEGER v0, v1, v2(*), v3
-       INTEGER ierror
-       END SUBROUTINE MPI_GROUP_EXCL
-
-       SUBROUTINE MPI_INFO_SET(v0,v1,v2,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_INFO_SET
-
-       SUBROUTINE MPI_WAIT(v0,v1,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
-       INTEGER v0, v1(MPI_STATUS_SIZE)
-       INTEGER ierror
-       END SUBROUTINE MPI_WAIT
-
-       SUBROUTINE MPI_COMM_DELETE_ATTR(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_DELETE_ATTR
-
-       SUBROUTINE MPI_COMM_GET_NAME(v0,v1,v2,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1
-       INTEGER v2
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_GET_NAME
-
-       SUBROUTINE MPI_TEST(v0,v1,v2,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
-       INTEGER v0
-       LOGICAL v1
-       INTEGER v2(MPI_STATUS_SIZE)
-       INTEGER ierror
-       END SUBROUTINE MPI_TEST
-
-       SUBROUTINE MPI_GET_COUNT(v0,v1,v2,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
-       INTEGER v0(MPI_STATUS_SIZE), v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_GET_COUNT
-
-       SUBROUTINE MPI_ADD_ERROR_CLASS(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_ADD_ERROR_CLASS
-
-       SUBROUTINE MPI_COMM_FREE(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_FREE
-
-       SUBROUTINE MPI_COMM_SET_NAME(v0,v1,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_SET_NAME
-
-       SUBROUTINE MPI_COMM_DISCONNECT(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_DISCONNECT
-
-       SUBROUTINE MPI_IPROBE(v0,v1,v2,v3,v4,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
-       INTEGER v0, v1, v2
-       LOGICAL v3
-       INTEGER v4(MPI_STATUS_SIZE)
-       INTEGER ierror
-       END SUBROUTINE MPI_IPROBE
-
-       SUBROUTINE MPI_IMPROBE(v0,v1,v2,v3,v4,v5,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
-       INTEGER v0, v1, v2, v3, v4
-       INTEGER v5(MPI_STATUS_SIZE)
-       INTEGER ierror
-       END SUBROUTINE MPI_IMPROBE
-
-       SUBROUTINE MPI_MPROBE(v0,v1,v2,v3,v4,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
-       INTEGER v0, v1, v2, v3
-       INTEGER v4(MPI_STATUS_SIZE)
-       INTEGER ierror
-       END SUBROUTINE MPI_MPROBE
-
-       SUBROUTINE MPI_ADD_ERROR_CODE(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_ADD_ERROR_CODE
-
-       SUBROUTINE MPI_COMM_GET_ERRHANDLER(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_GET_ERRHANDLER
-
-       SUBROUTINE MPI_COMM_CREATE(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_CREATE
-
-       SUBROUTINE MPI_OP_FREE(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_OP_FREE
-
-       SUBROUTINE MPI_TOPO_TEST(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_TOPO_TEST
-
-       SUBROUTINE MPI_GET_PROCESSOR_NAME(v0,v1,ierror)
-       CHARACTER (LEN=*) v0
-       INTEGER v1
-       INTEGER ierror
-       END SUBROUTINE MPI_GET_PROCESSOR_NAME
-
-       SUBROUTINE MPI_COMM_SIZE(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_SIZE
-
-       SUBROUTINE MPI_WIN_UNLOCK(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_UNLOCK
-
-       SUBROUTINE MPI_WIN_FLUSH(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_FLUSH
-
-       SUBROUTINE MPI_WIN_FLUSH_LOCAL(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_FLUSH_LOCAL
-
-       SUBROUTINE MPI_ERRHANDLER_FREE(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_ERRHANDLER_FREE
-
-       SUBROUTINE MPI_COMM_REMOTE_SIZE(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_REMOTE_SIZE
-
-       SUBROUTINE MPI_PROBE(v0,v1,v2,v3,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
-       INTEGER v0, v1, v2, v3(MPI_STATUS_SIZE)
-       INTEGER ierror
-       END SUBROUTINE MPI_PROBE
-
-       SUBROUTINE MPI_TYPE_HINDEXED(v0,v1,v2,v3,v4,ierror)
-       INTEGER v0, v1(*), v2(*), v3, v4
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_HINDEXED
-
-       SUBROUTINE MPI_WIN_WAIT(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_WAIT
-
-       SUBROUTINE MPI_WIN_SET_NAME(v0,v1,ierror)
-       INTEGER v0
-       CHARACTER (LEN=*) v1
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_SET_NAME
-
-       SUBROUTINE MPI_TYPE_SIZE(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_SIZE
-
-       SUBROUTINE MPI_TYPE_SIZE_X(v0,v1,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_COUNT_KIND
-       INTEGER v0
-       INTEGER(KIND=MPI_COUNT_KIND) v1
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_SIZE_X
-
-       SUBROUTINE MPI_TYPE_CREATE_SUBARRAY(v0,v1,v2,v3,v4,v5,v6,ierror)
-       INTEGER v0, v1(*), v2(*), v3(*), v4, v5, v6
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_CREATE_SUBARRAY
-
-       SUBROUTINE MPI_WIN_CREATE_ERRHANDLER(v0,v1,ierror)
-       INTERFACE
-       SUBROUTINE v0(vv0,vv1)
-       INTEGER vv0,vv1
-       END SUBROUTINE
-       END INTERFACE
-       INTEGER v1
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_CREATE_ERRHANDLER
-
-       SUBROUTINE MPI_WIN_START(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_START
-
-       SUBROUTINE MPI_TYPE_FREE(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_FREE
-
-       SUBROUTINE MPI_WIN_FENCE(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_WIN_FENCE
-
-       SUBROUTINE MPI_GRAPHDIMS_GET(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_GRAPHDIMS_GET
-
-       SUBROUTINE MPI_FILE_CALL_ERRHANDLER(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_FILE_CALL_ERRHANDLER
-
-       SUBROUTINE MPI_TYPE_GET_ENVELOPE(v0,v1,v2,v3,v4,ierror)
-       INTEGER v0, v1, v2, v3, v4
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_GET_ENVELOPE
-
-       SUBROUTINE MPI_TYPE_DELETE_ATTR(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_DELETE_ATTR
-
-       SUBROUTINE MPI_TYPE_CREATE_HINDEXED(v0,v1,v2,v3,v4,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-       INTEGER v0, v1(*)
-       INTEGER(KIND=MPI_ADDRESS_KIND) v2(*)
-       INTEGER v3, v4
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_CREATE_HINDEXED
-
-       SUBROUTINE MPI_TYPE_CREATE_HINDEXED_BLOCK(v0,v1,v2,v3,v4,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-       INTEGER v0, v1
-       INTEGER(KIND=MPI_ADDRESS_KIND) v2(*)
-       INTEGER v3, v4
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_CREATE_HINDEXED_BLOCK
-
-       SUBROUTINE MPI_TYPE_INDEXED(v0,v1,v2,v3,v4,ierror)
-       INTEGER v0, v1(*), v2(*), v3, v4
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_INDEXED
-
-       SUBROUTINE MPI_GREQUEST_COMPLETE(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_GREQUEST_COMPLETE
-
-       SUBROUTINE MPI_GRAPH_NEIGHBORS_COUNT(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_GRAPH_NEIGHBORS_COUNT
-
-       SUBROUTINE MPI_GET_VERSION(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_GET_VERSION
-
-       SUBROUTINE MPI_GET_LIBRARY_VERSION(v0,v1,ierror)
-       CHARACTER (LEN=*) v0
-       INTEGER v1
-       INTEGER ierror
-       END SUBROUTINE MPI_GET_LIBRARY_VERSION
-
-       SUBROUTINE MSMPI_GET_BSEND_OVERHEAD(size)
-       INTEGER size
-       END SUBROUTINE MSMPI_GET_BSEND_OVERHEAD
-
-       SUBROUTINE MSMPI_GET_VERSION(version)
-       INTEGER version
-       END SUBROUTINE MSMPI_GET_VERSION
-
-       SUBROUTINE MPI_TYPE_HVECTOR(v0,v1,v2,v3,v4,ierror)
-       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
-       INTEGER v0, v1
-       INTEGER(KIND=MPI_ADDRESS_KIND) v2
-       INTEGER v3, v4
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_HVECTOR
-
-       SUBROUTINE MPI_KEYVAL_FREE(v0,ierror)
-       INTEGER v0
-       INTEGER ierror
-       END SUBROUTINE MPI_KEYVAL_FREE
-
-       SUBROUTINE MPI_COMM_CALL_ERRHANDLER(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_CALL_ERRHANDLER
-
-       SUBROUTINE MPI_COMM_JOIN(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_JOIN
-
-       SUBROUTINE MPI_COMM_TEST_INTER(v0,v1,ierror)
-       INTEGER v0
-       LOGICAL v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_TEST_INTER
-
-       SUBROUTINE MPI_CLOSE_PORT(v0,ierror)
-       CHARACTER (LEN=*) v0
-       INTEGER ierror
-       END SUBROUTINE MPI_CLOSE_PORT
-
-       SUBROUTINE MPI_TYPE_CREATE_F90_COMPLEX(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_TYPE_CREATE_F90_COMPLEX
-
-       SUBROUTINE MPI_GROUP_DIFFERENCE(v0,v1,v2,ierror)
-       INTEGER v0, v1, v2
-       INTEGER ierror
-       END SUBROUTINE MPI_GROUP_DIFFERENCE
-
-       SUBROUTINE MPI_COMM_DUP(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_COMM_DUP
-
-       SUBROUTINE MPI_ERROR_CLASS(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_ERROR_CLASS
-
-       SUBROUTINE MPI_GROUP_RANK(v0,v1,ierror)
-       INTEGER v0, v1
-       INTEGER ierror
-       END SUBROUTINE MPI_GROUP_RANK
-
-
-        SUBROUTINE MPI_INIT(ierror)
-        INTEGER ierror
-        END SUBROUTINE MPI_INIT
-
-        SUBROUTINE MPI_INIT_THREAD(v0,v1,ierror)
-        INTEGER v0, v1, ierror
-        END SUBROUTINE MPI_INIT_THREAD
-
-        FUNCTION MPI_WTIME()
-            DOUBLE PRECISION MPI_WTIME
-        END FUNCTION MPI_WTIME
-
-        FUNCTION MPI_WTICK()
-            DOUBLE PRECISION MPI_WTICK
-        END FUNCTION MPI_WTICK
-
-        FUNCTION PMPI_WTIME()
-            DOUBLE PRECISION PMPI_WTIME
-        END FUNCTION PMPI_WTIME
-
-        FUNCTION PMPI_WTICK()
-            DOUBLE PRECISION PMPI_WTICK
-        END FUNCTION PMPI_WTICK
-
-        SUBROUTINE MPI_NULL_DELETE_FN(a,b,c,d,e)
-          INTEGER a,b,c,d,e
-        END SUBROUTINE MPI_NULL_DELETE_FN
-
-        SUBROUTINE MPI_DUP_FN(a,b,c,d,e,f,g)
-          INTEGER a,b,c,d,e,g
-          LOGICAL f
-        END SUBROUTINE MPI_DUP_FN
-
-        SUBROUTINE MPI_NULL_COPY_FN(a,b,c,d,e,f,g)
-          INTEGER a,b,c,d,e,g
-          LOGICAL f
-        END SUBROUTINE MPI_NULL_COPY_FN
-
-        SUBROUTINE MPI_COMM_NULL_DELETE_FN(a,b,c,d,e)
-          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
-          INTEGER a,b,e
-          INTEGER (KIND=MPI_ADDRESS_KIND) c, d
-        END SUBROUTINE MPI_COMM_NULL_DELETE_FN
-
-        SUBROUTINE MPI_COMM_DUP_FN(a,b,c,d,e,f,g)
-          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
-          INTEGER a,b,g
-          INTEGER (KIND=MPI_ADDRESS_KIND) c,d,e
-          LOGICAL f
-        END SUBROUTINE MPI_COMM_DUP_FN
-
-        SUBROUTINE MPI_COMM_NULL_COPY_FN(a,b,c,d,e,f,g)
-          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
-          INTEGER a,b,g
-          INTEGER (KIND=MPI_ADDRESS_KIND) c,d,e
-          LOGICAL f
-        END SUBROUTINE MPI_COMM_NULL_COPY_FN
-
-        SUBROUTINE MPI_TYPE_NULL_DELETE_FN(a,b,c,d,e)
-          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
-          INTEGER a,b,e
-          INTEGER (KIND=MPI_ADDRESS_KIND) c, d
-        END SUBROUTINE MPI_TYPE_NULL_DELETE_FN
-
-        SUBROUTINE MPI_TYPE_DUP_FN(a,b,c,d,e,f,g)
-          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
-          INTEGER a,b,g
-          INTEGER (KIND=MPI_ADDRESS_KIND) c,d,e
-          LOGICAL f
-        END SUBROUTINE MPI_TYPE_DUP_FN
-
-        SUBROUTINE MPI_TYPE_NULL_COPY_FN(a,b,c,d,e,f,g)
-          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
-          INTEGER a,b,g
-          INTEGER (KIND=MPI_ADDRESS_KIND) c,d,e
-          LOGICAL f
-        END SUBROUTINE MPI_TYPE_NULL_COPY_FN
-
-        SUBROUTINE MPI_WIN_NULL_DELETE_FN(a,b,c,d,e)
-          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
-          INTEGER a,b,e
-          INTEGER (KIND=MPI_ADDRESS_KIND) c, d
-        END SUBROUTINE MPI_WIN_NULL_DELETE_FN
-
-        SUBROUTINE MPI_WIN_DUP_FN(a,b,c,d,e,f,g)
-          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
-          INTEGER a,b,g
-          INTEGER (KIND=MPI_ADDRESS_KIND) c,d,e
-          LOGICAL f
-        END SUBROUTINE MPI_WIN_DUP_FN
-
-        SUBROUTINE MPI_WIN_NULL_COPY_FN(a,b,c,d,e,f,g)
-          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
-          INTEGER a,b,g
-          INTEGER (KIND=MPI_ADDRESS_KIND) c,d,e
-          LOGICAL f
-        END SUBROUTINE MPI_WIN_NULL_COPY_FN
-
-       END INTERFACE
-       END MODULE MPI_BASE
-
-       MODULE MPI_SIZEOFS
-!      This module contains the definitions for MPI_SIZEOF for the
-!      predefined, named types in Fortran 90.  This is provided
-!      as a separate module to allow MPI_SIZEOF to supply the
-!      basic size information even when we do not provide the
-!      arbitrary choice types
-       IMPLICIT NONE
-
-       PUBLIC :: MPI_SIZEOF
-       INTERFACE MPI_SIZEOF
-           MODULE PROCEDURE MPI_SIZEOF_I, MPI_SIZEOF_R,                &
-     &                      MPI_SIZEOF_L, MPI_SIZEOF_CH, MPI_SIZEOF_CX,&
-     &           MPI_SIZEOF_IV, MPI_SIZEOF_RV,                         &
-     &           MPI_SIZEOF_LV, MPI_SIZEOF_CHV, MPI_SIZEOF_CXV
-            MODULE PROCEDURE MPI_SIZEOF_D, MPI_SIZEOF_DV
-       END INTERFACE ! MPI_SIZEOF
-
-       CONTAINS
-
-       SUBROUTINE MPI_SIZEOF_I( X, SIZE, IERROR )
-       INTEGER X
-       INTEGER SIZE, IERROR
-       SIZE = 4
-       IERROR = 0
-       END SUBROUTINE MPI_SIZEOF_I
-
-       SUBROUTINE MPI_SIZEOF_R( X, SIZE, IERROR )
-       REAL X
-       INTEGER SIZE, IERROR
-       SIZE = 4
-       IERROR = 0
-       END SUBROUTINE MPI_SIZEOF_R
-
-! If reals and doubles have been forced to the same size (e.g., with
-! -i8 -r8 to compilers like g95), then the compiler may refuse to
-! allow interfaces that use real and double precision (failing to
-! determine which one is intended)
-        SUBROUTINE MPI_SIZEOF_D( X, SIZE, IERROR )
-        DOUBLE PRECISION X
-        INTEGER SIZE, IERROR
-        SIZE = 8
-        IERROR = 0
-        END SUBROUTINE MPI_SIZEOF_D
-
-       SUBROUTINE MPI_SIZEOF_L( X, SIZE, IERROR )
-       LOGICAL X
-       INTEGER SIZE, IERROR
-       SIZE = 4
-       IERROR = 0
-       END SUBROUTINE MPI_SIZEOF_L
-
-       SUBROUTINE MPI_SIZEOF_CH( X, SIZE, IERROR )
-       CHARACTER X
-       INTEGER SIZE, IERROR
-       SIZE = 1
-       IERROR = 0
-       END SUBROUTINE MPI_SIZEOF_CH
-
-       SUBROUTINE MPI_SIZEOF_CX( X, SIZE, IERROR )
-       COMPLEX X
-       INTEGER SIZE, IERROR
-       SIZE = 2*4
-       IERROR = 0
-       END SUBROUTINE MPI_SIZEOF_CX
-
-       SUBROUTINE MPI_SIZEOF_IV( X, SIZE, IERROR )
-       INTEGER X(*)
-       INTEGER SIZE, IERROR
-       SIZE = 4
-       IERROR = 0
-       END SUBROUTINE MPI_SIZEOF_IV
-
-       SUBROUTINE MPI_SIZEOF_RV( X, SIZE, IERROR )
-       REAL X(*)
-       INTEGER SIZE, IERROR
-       SIZE = 4
-       IERROR = 0
-       END SUBROUTINE MPI_SIZEOF_RV
-
-! If reals and doubles have been forced to the same size (e.g., with
-! -i8 -r8 to compilers like g95), then the compiler may refuse to
-! allow interfaces that use real and double precision (failing to
-! determine which one is intended)
-        SUBROUTINE MPI_SIZEOF_DV( X, SIZE, IERROR )
-        DOUBLE PRECISION X(*)
-        INTEGER SIZE, IERROR
-        SIZE = 8
-        IERROR = 0
-        END SUBROUTINE MPI_SIZEOF_DV
-
-       SUBROUTINE MPI_SIZEOF_LV( X, SIZE, IERROR )
-       LOGICAL X(*)
-       INTEGER SIZE, IERROR
-       SIZE = 4
-       IERROR = 0
-       END SUBROUTINE MPI_SIZEOF_LV
-
-       SUBROUTINE MPI_SIZEOF_CHV( X, SIZE, IERROR )
-       CHARACTER X(*)
-       INTEGER SIZE, IERROR
-       SIZE = 1
-       IERROR = 0
-       END SUBROUTINE MPI_SIZEOF_CHV
-
-       SUBROUTINE MPI_SIZEOF_CXV( X, SIZE, IERROR )
-       COMPLEX X(*)
-       INTEGER SIZE, IERROR
-       SIZE = 2*4
-       IERROR = 0
-       END SUBROUTINE MPI_SIZEOF_CXV
-
-! We don't include double complex.  If we did, we'd need to include the
-! same hack as for real and double above if the compiler has been forced
-! to make them the same size.
-       END MODULE MPI_SIZEOFS
-
-       MODULE MPI
-       USE MPI_CONSTANTS
-       USE MPI_SIZEOFS
-       USE MPI_BASE
-       END MODULE MPI
+! -*- Mode: F90; -*-
+! Copyright(c) Microsoft Corporation.All rights reserved.
+! Licensed under the MIT License.
+!
+!      (C) 2004 by Argonne National Laboratory.
+!      (C) 2015 by Microsoft Corporation
+!
+!                                  MPICH COPYRIGHT
+!
+!   The following is a notice of limited availability of the code, and disclaimer
+!   which must be included in the prologue of the code and in all source listings
+!   of the code.
+!
+!   Copyright Notice
+!    + 2002 University of Chicago
+!
+!   Permission is hereby granted to use, reproduce, prepare derivative works, and
+!   to redistribute to others.  This software was authored by:
+!
+!   Mathematics and Computer Science Division
+!   Argonne National Laboratory, Argonne IL 60439
+!
+!   (and)
+!
+!   Department of Computer Science
+!   University of Illinois at Urbana-Champaign
+!
+!
+!                                 GOVERNMENT LICENSE
+!
+!   Portions of this material resulted from work developed under a U.S.
+!   Government Contract and are subject to the following license: the Government
+!   is granted for itself and others acting on its behalf a paid-up, nonexclusive,
+!   irrevocable worldwide license in this computer software to reproduce, prepare
+!   derivative works, and perform publicly and display publicly.
+!
+!                                     DISCLAIMER
+!
+!   This computer code material was prepared, in part, as an account of work
+!   sponsored by an agency of the United States Government.  Neither the United
+!   States, nor the University of Chicago, nor any of their employees, makes any
+!   warranty express or implied, or assumes any legal liability or responsibility
+!   for the accuracy, completeness, or usefulness of any information, apparatus,
+!   product, or process disclosed, or represents that its use would not infringe
+!   privately owned rights.
+!
+!
+       MODULE MPI_CONSTANTS
+       IMPLICIT NONE
+
+       INTEGER MPI_SOURCE, MPI_TAG, MPI_ERROR
+       PARAMETER (MPI_SOURCE=3,MPI_TAG=4,MPI_ERROR=5)
+       INTEGER MPI_STATUS_SIZE
+       PARAMETER (MPI_STATUS_SIZE=5)
+       INTEGER MPI_STATUS_IGNORE(MPI_STATUS_SIZE)
+       INTEGER MPI_STATUSES_IGNORE(MPI_STATUS_SIZE,1)
+       INTEGER MPI_ERRCODES_IGNORE(1)
+       CHARACTER*1 MPI_ARGVS_NULL(1,1)
+       CHARACTER*1 MPI_ARGV_NULL(1)
+       INTEGER MPI_SUCCESS
+       PARAMETER (MPI_SUCCESS=0)
+       INTEGER MPI_ERR_OTHER
+       PARAMETER (MPI_ERR_OTHER=15)
+       INTEGER MPI_ERR_WIN
+       PARAMETER (MPI_ERR_WIN=45)
+       INTEGER MPI_ERR_FILE
+       PARAMETER (MPI_ERR_FILE=27)
+       INTEGER MPI_ERR_COUNT
+       PARAMETER (MPI_ERR_COUNT=2)
+       INTEGER MPI_ERR_SPAWN
+       PARAMETER (MPI_ERR_SPAWN=42)
+       INTEGER MPI_ERR_BASE
+       PARAMETER (MPI_ERR_BASE=46)
+       INTEGER MPI_ERR_RMA_CONFLICT
+       PARAMETER (MPI_ERR_RMA_CONFLICT=49)
+       INTEGER MPI_ERR_IN_STATUS
+       PARAMETER (MPI_ERR_IN_STATUS=17)
+       INTEGER MPI_ERR_INFO_KEY
+       PARAMETER (MPI_ERR_INFO_KEY=29)
+       INTEGER MPI_ERR_LOCKTYPE
+       PARAMETER (MPI_ERR_LOCKTYPE=47)
+       INTEGER MPI_ERR_OP
+       PARAMETER (MPI_ERR_OP=9)
+       INTEGER MPI_ERR_ARG
+       PARAMETER (MPI_ERR_ARG=12)
+       INTEGER MPI_ERR_READ_ONLY
+       PARAMETER (MPI_ERR_READ_ONLY=40)
+       INTEGER MPI_ERR_SIZE
+       PARAMETER (MPI_ERR_SIZE=51)
+       INTEGER MPI_ERR_BUFFER
+       PARAMETER (MPI_ERR_BUFFER=1)
+       INTEGER MPI_ERR_DUP_DATAREP
+       PARAMETER (MPI_ERR_DUP_DATAREP=24)
+       INTEGER MPI_ERR_UNSUPPORTED_DATAREP
+       PARAMETER (MPI_ERR_UNSUPPORTED_DATAREP=43)
+       INTEGER MPI_ERR_LASTCODE
+       PARAMETER (MPI_ERR_LASTCODE=1073741823)
+       INTEGER MPI_ERR_TRUNCATE
+       PARAMETER (MPI_ERR_TRUNCATE=14)
+       INTEGER MPI_ERR_DISP
+       PARAMETER (MPI_ERR_DISP=52)
+       INTEGER MPI_ERR_PORT
+       PARAMETER (MPI_ERR_PORT=38)
+       INTEGER MPI_ERR_INFO_NOKEY
+       PARAMETER (MPI_ERR_INFO_NOKEY=31)
+       INTEGER MPI_ERR_ASSERT
+       PARAMETER (MPI_ERR_ASSERT=53)
+       INTEGER MPI_ERR_FILE_EXISTS
+       PARAMETER (MPI_ERR_FILE_EXISTS=25)
+       INTEGER MPI_ERR_PENDING
+       PARAMETER (MPI_ERR_PENDING=18)
+       INTEGER MPI_ERR_COMM
+       PARAMETER (MPI_ERR_COMM=5)
+       INTEGER MPI_ERR_KEYVAL
+       PARAMETER (MPI_ERR_KEYVAL=48)
+       INTEGER MPI_ERR_NAME
+       PARAMETER (MPI_ERR_NAME=33)
+       INTEGER MPI_ERR_REQUEST
+       PARAMETER (MPI_ERR_REQUEST=19)
+       INTEGER MPI_ERR_GROUP
+       PARAMETER (MPI_ERR_GROUP=8)
+       INTEGER MPI_ERR_TOPOLOGY
+       PARAMETER (MPI_ERR_TOPOLOGY=10)
+       INTEGER MPI_ERR_TYPE
+       PARAMETER (MPI_ERR_TYPE=3)
+       INTEGER MPI_ERR_TAG
+       PARAMETER (MPI_ERR_TAG=4)
+       INTEGER MPI_ERR_INFO_VALUE
+       PARAMETER (MPI_ERR_INFO_VALUE=30)
+       INTEGER MPI_ERR_NOT_SAME
+       PARAMETER (MPI_ERR_NOT_SAME=35)
+       INTEGER MPI_ERR_RMA_SYNC
+       PARAMETER (MPI_ERR_RMA_SYNC=50)
+       INTEGER MPI_ERR_INFO
+       PARAMETER (MPI_ERR_INFO=28)
+       INTEGER MPI_ERR_NO_MEM
+       PARAMETER (MPI_ERR_NO_MEM=34)
+       INTEGER MPI_ERR_BAD_FILE
+       PARAMETER (MPI_ERR_BAD_FILE=22)
+       INTEGER MPI_ERR_FILE_IN_USE
+       PARAMETER (MPI_ERR_FILE_IN_USE=26)
+       INTEGER MPI_ERR_UNKNOWN
+       PARAMETER (MPI_ERR_UNKNOWN=13)
+       INTEGER MPI_ERR_UNSUPPORTED_OPERATION
+       PARAMETER (MPI_ERR_UNSUPPORTED_OPERATION=44)
+       INTEGER MPI_ERR_QUOTA
+       PARAMETER (MPI_ERR_QUOTA=39)
+       INTEGER MPI_ERR_AMODE
+       PARAMETER (MPI_ERR_AMODE=21)
+       INTEGER MPI_ERR_ROOT
+       PARAMETER (MPI_ERR_ROOT=7)
+       INTEGER MPI_ERR_RANK
+       PARAMETER (MPI_ERR_RANK=6)
+       INTEGER MPI_ERR_DIMS
+       PARAMETER (MPI_ERR_DIMS=11)
+       INTEGER MPI_ERR_NO_SUCH_FILE
+       PARAMETER (MPI_ERR_NO_SUCH_FILE=37)
+       INTEGER MPI_ERR_SERVICE
+       PARAMETER (MPI_ERR_SERVICE=41)
+       INTEGER MPI_ERR_INTERN
+       PARAMETER (MPI_ERR_INTERN=16)
+       INTEGER MPI_ERR_IO
+       PARAMETER (MPI_ERR_IO=32)
+       INTEGER MPI_ERR_ACCESS
+       PARAMETER (MPI_ERR_ACCESS=20)
+       INTEGER MPI_ERR_NO_SPACE
+       PARAMETER (MPI_ERR_NO_SPACE=36)
+       INTEGER MPI_ERR_CONVERSION
+       PARAMETER (MPI_ERR_CONVERSION=23)
+       INTEGER MPI_ERRORS_ARE_FATAL
+       PARAMETER (MPI_ERRORS_ARE_FATAL=1409286144)
+       INTEGER MPI_ERRORS_RETURN
+       PARAMETER (MPI_ERRORS_RETURN=1409286145)
+       INTEGER MPI_IDENT
+       PARAMETER (MPI_IDENT=0)
+       INTEGER MPI_CONGRUENT
+       PARAMETER (MPI_CONGRUENT=1)
+       INTEGER MPI_SIMILAR
+       PARAMETER (MPI_SIMILAR=2)
+       INTEGER MPI_UNEQUAL
+       PARAMETER (MPI_UNEQUAL=3)
+       INTEGER MPI_MAX
+       PARAMETER (MPI_MAX=1476395009)
+       INTEGER MPI_MIN
+       PARAMETER (MPI_MIN=1476395010)
+       INTEGER MPI_SUM
+       PARAMETER (MPI_SUM=1476395011)
+       INTEGER MPI_PROD
+       PARAMETER (MPI_PROD=1476395012)
+       INTEGER MPI_LAND
+       PARAMETER (MPI_LAND=1476395013)
+       INTEGER MPI_BAND
+       PARAMETER (MPI_BAND=1476395014)
+       INTEGER MPI_LOR
+       PARAMETER (MPI_LOR=1476395015)
+       INTEGER MPI_BOR
+       PARAMETER (MPI_BOR=1476395016)
+       INTEGER MPI_LXOR
+       PARAMETER (MPI_LXOR=1476395017)
+       INTEGER MPI_BXOR
+       PARAMETER (MPI_BXOR=1476395018)
+       INTEGER MPI_MINLOC
+       PARAMETER (MPI_MINLOC=1476395019)
+       INTEGER MPI_MAXLOC
+       PARAMETER (MPI_MAXLOC=1476395020)
+       INTEGER MPI_REPLACE
+       PARAMETER (MPI_REPLACE=1476395021)
+       INTEGER MPI_NO_OP
+       PARAMETER (MPI_NO_OP=1476395022)
+       INTEGER MPI_COMM_WORLD
+       PARAMETER (MPI_COMM_WORLD=1140850688)
+       INTEGER MPI_COMM_SELF
+       PARAMETER (MPI_COMM_SELF=1140850689)
+       INTEGER MPI_COMM_TYPE_SHARED
+       PARAMETER (MPI_COMM_TYPE_SHARED=1)
+       INTEGER MPI_GROUP_EMPTY
+       PARAMETER (MPI_GROUP_EMPTY=1207959552)
+       INTEGER MPI_COMM_NULL
+       PARAMETER (MPI_COMM_NULL=67108864)
+       INTEGER MPI_WIN_NULL
+       PARAMETER (MPI_WIN_NULL=536870912)
+       INTEGER MPI_FILE_NULL
+       PARAMETER (MPI_FILE_NULL=0)
+       INTEGER MPI_GROUP_NULL
+       PARAMETER (MPI_GROUP_NULL=134217728)
+       INTEGER MPI_OP_NULL
+       PARAMETER (MPI_OP_NULL=402653184)
+       INTEGER MPI_DATATYPE_NULL
+       PARAMETER (MPI_DATATYPE_NULL=z'0c000000')
+       INTEGER MPI_REQUEST_NULL
+       PARAMETER (MPI_REQUEST_NULL=738197504)
+       INTEGER MPI_ERRHANDLER_NULL
+       PARAMETER (MPI_ERRHANDLER_NULL=335544320)
+       INTEGER MPI_INFO_NULL
+       PARAMETER (MPI_INFO_NULL=469762048)
+       INTEGER MPI_MESSAGE_NULL
+       PARAMETER (MPI_MESSAGE_NULL=805306368)
+       INTEGER MPI_MESSAGE_NO_PROC
+       PARAMETER (MPI_MESSAGE_NO_PROC=1879048192)
+       INTEGER MPI_TAG_UB
+       PARAMETER (MPI_TAG_UB=1681915906)
+       INTEGER MPI_HOST
+       PARAMETER (MPI_HOST=1681915908)
+       INTEGER MPI_IO
+       PARAMETER (MPI_IO=1681915910)
+       INTEGER MPI_WTIME_IS_GLOBAL
+       PARAMETER (MPI_WTIME_IS_GLOBAL=1681915912)
+       INTEGER MPI_UNIVERSE_SIZE
+       PARAMETER (MPI_UNIVERSE_SIZE=1681915914)
+       INTEGER MPI_LASTUSEDCODE
+       PARAMETER (MPI_LASTUSEDCODE=1681915916)
+       INTEGER MPI_APPNUM
+       PARAMETER (MPI_APPNUM=1681915918)
+       INTEGER MPI_WIN_BASE
+       PARAMETER (MPI_WIN_BASE=1711276034)
+       INTEGER MPI_WIN_SIZE
+       PARAMETER (MPI_WIN_SIZE=1711276036)
+       INTEGER MPI_WIN_DISP_UNIT
+       PARAMETER (MPI_WIN_DISP_UNIT=1711276038)
+       INTEGER MPI_MAX_ERROR_STRING
+       PARAMETER (MPI_MAX_ERROR_STRING=511)
+       INTEGER MPI_MAX_PORT_NAME
+       PARAMETER (MPI_MAX_PORT_NAME=255)
+       INTEGER MPI_MAX_OBJECT_NAME
+       PARAMETER (MPI_MAX_OBJECT_NAME=127)
+       INTEGER MPI_MAX_INFO_KEY
+       PARAMETER (MPI_MAX_INFO_KEY=254)
+       INTEGER MPI_MAX_INFO_VAL
+       PARAMETER (MPI_MAX_INFO_VAL=1023)
+       INTEGER MPI_MAX_PROCESSOR_NAME
+       PARAMETER (MPI_MAX_PROCESSOR_NAME=128-1)
+       INTEGER MPI_MAX_DATAREP_STRING
+       PARAMETER (MPI_MAX_DATAREP_STRING=127)
+       INTEGER MPI_MAX_LIBRARY_VERSION_STRING
+       PARAMETER (MPI_MAX_LIBRARY_VERSION_STRING=64-1)
+       INTEGER MPI_UNDEFINED
+       PARAMETER (MPI_UNDEFINED=(-32766))
+       INTEGER MPI_KEYVAL_INVALID
+       PARAMETER (MPI_KEYVAL_INVALID=603979776)
+       INTEGER MPI_BSEND_OVERHEAD
+       PARAMETER (MPI_BSEND_OVERHEAD=(95))
+       INTEGER MPI_PROC_NULL
+       PARAMETER (MPI_PROC_NULL=-1)
+       INTEGER MPI_ANY_SOURCE
+       PARAMETER (MPI_ANY_SOURCE=-2)
+       INTEGER MPI_ANY_TAG
+       PARAMETER (MPI_ANY_TAG=-1)
+       INTEGER MPI_ROOT
+       PARAMETER (MPI_ROOT=-3)
+       INTEGER MPI_GRAPH
+       PARAMETER (MPI_GRAPH=1)
+       INTEGER MPI_CART
+       PARAMETER (MPI_CART=2)
+       INTEGER MPI_DIST_GRAPH
+       PARAMETER (MPI_DIST_GRAPH=3)
+       INTEGER MPI_VERSION
+       PARAMETER (MPI_VERSION=2)
+       INTEGER MPI_SUBVERSION
+       PARAMETER (MPI_SUBVERSION=0)
+       INTEGER MPI_LOCK_EXCLUSIVE
+       PARAMETER (MPI_LOCK_EXCLUSIVE=234)
+       INTEGER MPI_LOCK_SHARED
+       PARAMETER (MPI_LOCK_SHARED=235)
+       INTEGER MPI_CHAR
+       PARAMETER (MPI_CHAR=z'4c000101')
+       INTEGER MPI_UNSIGNED_CHAR
+       PARAMETER (MPI_UNSIGNED_CHAR=z'4c000102')
+       INTEGER MPI_SHORT
+       PARAMETER (MPI_SHORT=z'4c000203')
+       INTEGER MPI_UNSIGNED_SHORT
+       PARAMETER (MPI_UNSIGNED_SHORT=z'4c000204')
+       INTEGER MPI_INT
+       PARAMETER (MPI_INT=z'4c000405')
+       INTEGER MPI_UNSIGNED
+       PARAMETER (MPI_UNSIGNED=z'4c000406')
+       INTEGER MPI_LONG
+       PARAMETER (MPI_LONG=z'4c000407')
+       INTEGER MPI_UNSIGNED_LONG
+       PARAMETER (MPI_UNSIGNED_LONG=z'4c000408')
+       INTEGER MPI_LONG_LONG
+       PARAMETER (MPI_LONG_LONG=z'4c000809')
+       INTEGER MPI_LONG_LONG_INT
+       PARAMETER (MPI_LONG_LONG_INT=z'4c000809')
+       INTEGER MPI_FLOAT
+       PARAMETER (MPI_FLOAT=z'4c00040a')
+       INTEGER MPI_DOUBLE
+       PARAMETER (MPI_DOUBLE=z'4c00080b')
+       INTEGER MPI_LONG_DOUBLE
+       PARAMETER (MPI_LONG_DOUBLE=z'4c00080c')
+       INTEGER MPI_BYTE
+       PARAMETER (MPI_BYTE=z'4c00010d')
+       INTEGER MPI_WCHAR
+       PARAMETER (MPI_WCHAR=z'4c00020e')
+       INTEGER MPI_PACKED
+       PARAMETER (MPI_PACKED=z'4c00010f')
+       INTEGER MPI_LB
+       PARAMETER (MPI_LB=z'4c000010')
+       INTEGER MPI_UB
+       PARAMETER (MPI_UB=z'4c000011')
+       INTEGER MPI_2INT
+       PARAMETER (MPI_2INT=z'4c000816')
+       INTEGER MPI_SIGNED_CHAR
+       PARAMETER (MPI_SIGNED_CHAR=z'4c000118')
+       INTEGER MPI_UNSIGNED_LONG_LONG
+       PARAMETER (MPI_UNSIGNED_LONG_LONG=z'4c000819')
+       INTEGER MPI_CHARACTER
+       PARAMETER (MPI_CHARACTER=z'4c00011a')
+       INTEGER MPI_INTEGER
+       PARAMETER (MPI_INTEGER=z'4c00041b')
+       INTEGER MPI_REAL
+       PARAMETER (MPI_REAL=z'4c00041c')
+       INTEGER MPI_LOGICAL
+       PARAMETER (MPI_LOGICAL=z'4c00041d')
+       INTEGER MPI_COMPLEX
+       PARAMETER (MPI_COMPLEX=z'4c00081e')
+       INTEGER MPI_DOUBLE_PRECISION
+       PARAMETER (MPI_DOUBLE_PRECISION=z'4c00081f')
+       INTEGER MPI_2INTEGER
+       PARAMETER (MPI_2INTEGER=z'4c000820')
+       INTEGER MPI_2REAL
+       PARAMETER (MPI_2REAL=z'4c000821')
+       INTEGER MPI_DOUBLE_COMPLEX
+       PARAMETER (MPI_DOUBLE_COMPLEX=z'4c001022')
+       INTEGER MPI_2DOUBLE_PRECISION
+       PARAMETER (MPI_2DOUBLE_PRECISION=z'4c001023')
+       INTEGER MPI_2COMPLEX
+       PARAMETER (MPI_2COMPLEX=z'4c001024')
+       INTEGER MPI_2DOUBLE_COMPLEX
+       PARAMETER (MPI_2DOUBLE_COMPLEX=z'4c002025')
+       INTEGER MPI_REAL2
+       PARAMETER (MPI_REAL2=z'0c000000')
+       INTEGER MPI_REAL4
+       PARAMETER (MPI_REAL4=z'4c000427')
+       INTEGER MPI_COMPLEX8
+       PARAMETER (MPI_COMPLEX8=z'4c000828')
+       INTEGER MPI_REAL8
+       PARAMETER (MPI_REAL8=z'4c000829')
+       INTEGER MPI_COMPLEX16
+       PARAMETER (MPI_COMPLEX16=z'4c00102a')
+       INTEGER MPI_REAL16
+       PARAMETER (MPI_REAL16=z'0c000000')
+       INTEGER MPI_COMPLEX32
+       PARAMETER (MPI_COMPLEX32=z'0c000000')
+       INTEGER MPI_INTEGER1
+       PARAMETER (MPI_INTEGER1=z'4c00012d')
+       INTEGER MPI_COMPLEX4
+       PARAMETER (MPI_COMPLEX4=z'0c000000')
+       INTEGER MPI_INTEGER2
+       PARAMETER (MPI_INTEGER2=z'4c00022f')
+       INTEGER MPI_INTEGER4
+       PARAMETER (MPI_INTEGER4=z'4c000430')
+       INTEGER MPI_INTEGER8
+       PARAMETER (MPI_INTEGER8=z'4c000831')
+       INTEGER MPI_INTEGER16
+       PARAMETER (MPI_INTEGER16=z'0c000000')
+
+       INCLUDE 'mpifptr.h'
+
+       INTEGER MPI_OFFSET
+       PARAMETER (MPI_OFFSET=z'4c00083c')
+       INTEGER MPI_COUNT
+       PARAMETER (MPI_COUNT=z'4c00083d')
+       INTEGER MPI_FLOAT_INT
+       PARAMETER (MPI_FLOAT_INT=z'8c000000')
+       INTEGER MPI_DOUBLE_INT
+       PARAMETER (MPI_DOUBLE_INT=z'8c000001')
+       INTEGER MPI_LONG_INT
+       PARAMETER (MPI_LONG_INT=z'8c000002')
+       INTEGER MPI_SHORT_INT
+       PARAMETER (MPI_SHORT_INT=z'8c000003')
+       INTEGER MPI_LONG_DOUBLE_INT
+       PARAMETER (MPI_LONG_DOUBLE_INT=z'8c000004')
+       INTEGER MPI_INTEGER_KIND
+       PARAMETER (MPI_INTEGER_KIND=4)
+       INTEGER MPI_OFFSET_KIND
+       PARAMETER (MPI_OFFSET_KIND=8)
+       INTEGER MPI_COUNT_KIND
+       PARAMETER (MPI_COUNT_KIND=8)
+       INTEGER MPI_COMBINER_NAMED
+       PARAMETER (MPI_COMBINER_NAMED=1)
+       INTEGER MPI_COMBINER_DUP
+       PARAMETER (MPI_COMBINER_DUP=2)
+       INTEGER MPI_COMBINER_CONTIGUOUS
+       PARAMETER (MPI_COMBINER_CONTIGUOUS=3)
+       INTEGER MPI_COMBINER_VECTOR
+       PARAMETER (MPI_COMBINER_VECTOR=4)
+       INTEGER MPI_COMBINER_HVECTOR_INTEGER
+       PARAMETER (MPI_COMBINER_HVECTOR_INTEGER=5)
+       INTEGER MPI_COMBINER_HVECTOR
+       PARAMETER (MPI_COMBINER_HVECTOR=6)
+       INTEGER MPI_COMBINER_INDEXED
+       PARAMETER (MPI_COMBINER_INDEXED=7)
+       INTEGER MPI_COMBINER_HINDEXED_INTEGER
+       PARAMETER (MPI_COMBINER_HINDEXED_INTEGER=8)
+       INTEGER MPI_COMBINER_HINDEXED
+       PARAMETER (MPI_COMBINER_HINDEXED=9)
+       INTEGER MPI_COMBINER_INDEXED_BLOCK
+       PARAMETER (MPI_COMBINER_INDEXED_BLOCK=10)
+       INTEGER MPI_COMBINER_STRUCT_INTEGER
+       PARAMETER (MPI_COMBINER_STRUCT_INTEGER=11)
+       INTEGER MPI_COMBINER_STRUCT
+       PARAMETER (MPI_COMBINER_STRUCT=12)
+       INTEGER MPI_COMBINER_SUBARRAY
+       PARAMETER (MPI_COMBINER_SUBARRAY=13)
+       INTEGER MPI_COMBINER_DARRAY
+       PARAMETER (MPI_COMBINER_DARRAY=14)
+       INTEGER MPI_COMBINER_F90_REAL
+       PARAMETER (MPI_COMBINER_F90_REAL=15)
+       INTEGER MPI_COMBINER_F90_COMPLEX
+       PARAMETER (MPI_COMBINER_F90_COMPLEX=16)
+       INTEGER MPI_COMBINER_F90_INTEGER
+       PARAMETER (MPI_COMBINER_F90_INTEGER=17)
+       INTEGER MPI_COMBINER_RESIZED
+       PARAMETER (MPI_COMBINER_RESIZED=18)
+       INTEGER MPI_COMBINER_HINDEXED_BLOCK
+       PARAMETER (MPI_COMBINER_HINDEXED_BLOCK=19)
+       INTEGER MPI_MODE_NOCHECK
+       PARAMETER (MPI_MODE_NOCHECK=1024)
+       INTEGER MPI_MODE_NOSTORE
+       PARAMETER (MPI_MODE_NOSTORE=2048)
+       INTEGER MPI_MODE_NOPUT
+       PARAMETER (MPI_MODE_NOPUT=4096)
+       INTEGER MPI_MODE_NOPRECEDE
+       PARAMETER (MPI_MODE_NOPRECEDE=8192)
+       INTEGER MPI_MODE_NOSUCCEED
+       PARAMETER (MPI_MODE_NOSUCCEED=16384)
+       INTEGER MPI_THREAD_SINGLE
+       PARAMETER (MPI_THREAD_SINGLE=0)
+       INTEGER MPI_THREAD_FUNNELED
+       PARAMETER (MPI_THREAD_FUNNELED=1)
+       INTEGER MPI_THREAD_SERIALIZED
+       PARAMETER (MPI_THREAD_SERIALIZED=2)
+       INTEGER MPI_THREAD_MULTIPLE
+       PARAMETER (MPI_THREAD_MULTIPLE=3)
+       INTEGER MPI_MODE_RDONLY
+       PARAMETER (MPI_MODE_RDONLY=2)
+       INTEGER MPI_MODE_RDWR
+       PARAMETER (MPI_MODE_RDWR=8)
+       INTEGER MPI_MODE_WRONLY
+       PARAMETER (MPI_MODE_WRONLY=4)
+       INTEGER MPI_MODE_DELETE_ON_CLOSE
+       PARAMETER (MPI_MODE_DELETE_ON_CLOSE=16)
+       INTEGER MPI_MODE_UNIQUE_OPEN
+       PARAMETER (MPI_MODE_UNIQUE_OPEN=32)
+       INTEGER MPI_MODE_CREATE
+       PARAMETER (MPI_MODE_CREATE=1)
+       INTEGER MPI_MODE_EXCL
+       PARAMETER (MPI_MODE_EXCL=64)
+       INTEGER MPI_MODE_APPEND
+       PARAMETER (MPI_MODE_APPEND=128)
+       INTEGER MPI_MODE_SEQUENTIAL
+       PARAMETER (MPI_MODE_SEQUENTIAL=256)
+       INTEGER MPI_SEEK_SET
+       PARAMETER (MPI_SEEK_SET=600)
+       INTEGER MPI_SEEK_CUR
+       PARAMETER (MPI_SEEK_CUR=602)
+       INTEGER MPI_SEEK_END
+       PARAMETER (MPI_SEEK_END=604)
+       INTEGER MPI_ORDER_C
+       PARAMETER (MPI_ORDER_C=56)
+       INTEGER MPI_ORDER_FORTRAN
+       PARAMETER (MPI_ORDER_FORTRAN=57)
+       INTEGER MPI_DISTRIBUTE_BLOCK
+       PARAMETER (MPI_DISTRIBUTE_BLOCK=121)
+       INTEGER MPI_DISTRIBUTE_CYCLIC
+       PARAMETER (MPI_DISTRIBUTE_CYCLIC=122)
+       INTEGER MPI_DISTRIBUTE_NONE
+       PARAMETER (MPI_DISTRIBUTE_NONE=123)
+       INTEGER MPI_DISTRIBUTE_DFLT_DARG
+       PARAMETER (MPI_DISTRIBUTE_DFLT_DARG=-49767)
+       INTEGER (KIND=8) MPI_DISPLACEMENT_CURRENT
+       PARAMETER (MPI_DISPLACEMENT_CURRENT=-54278278)
+       INTEGER MPI_BOTTOM, MPI_IN_PLACE
+       INTEGER MPI_UNWEIGHTED, MPI_WEIGHTS_EMPTY
+
+       COMMON /MPIPRIV1/ MPI_BOTTOM, MPI_IN_PLACE, MPI_STATUS_IGNORE
+
+       COMMON /MPIPRIV2/ MPI_STATUSES_IGNORE, MPI_ERRCODES_IGNORE
+!DEC$ ATTRIBUTES DLLIMPORT :: /MPIPRIV1/, /MPIPRIV2/
+
+       COMMON /MPIFCMB5/ MPI_UNWEIGHTED
+       COMMON /MPIFCMB9/ MPI_WEIGHTS_EMPTY
+!DEC$ ATTRIBUTES DLLIMPORT :: /MPIFCMB5/, /MPIFCMB9/
+
+       COMMON /MPIPRIVC/ MPI_ARGVS_NULL, MPI_ARGV_NULL
+!DEC$ ATTRIBUTES DLLIMPORT :: /MPIPRIVC/
+
+       END MODULE MPI_CONSTANTS
+
+       MODULE MPI_BASE
+       IMPLICIT NONE
+       INTERFACE
+       SUBROUTINE MPI_TYPE_CREATE_DARRAY(v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,ierror)
+       INTEGER v0, v1, v2, v3(*), v4(*), v5(*), v6(*), v7, v8, v9
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_CREATE_DARRAY
+
+       SUBROUTINE MPI_COMM_FREE_KEYVAL(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_FREE_KEYVAL
+
+       SUBROUTINE MPI_TYPE_EXTENT(v0,v1,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
+       INTEGER v0
+       INTEGER(KIND=MPI_ADDRESS_KIND) v1
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_EXTENT
+
+       SUBROUTINE MPI_TYPE_GET_NAME(v0,v1,v2,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1
+       INTEGER v2
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_GET_NAME
+
+       SUBROUTINE MPI_GROUP_INTERSECTION(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_GROUP_INTERSECTION
+
+       SUBROUTINE MPI_WIN_LOCK(v0,v1,v2,v3,ierror)
+       INTEGER v0, v1, v2, v3
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_LOCK
+
+       SUBROUTINE MPI_CARTDIM_GET(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_CARTDIM_GET
+
+       SUBROUTINE MPI_WIN_GET_ERRHANDLER(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_GET_ERRHANDLER
+
+       SUBROUTINE MPI_COMM_SPLIT(v0,v1,v2,v3,ierror)
+       INTEGER v0, v1, v2, v3
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_SPLIT
+
+       SUBROUTINE MPI_COMM_SPLIT_TYPE(v0,v1,v2,v3,v4,ierror)
+       INTEGER v0, v1, v2, v3, v4
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_SPLIT_TYPE
+
+       SUBROUTINE MPI_CANCEL(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_CANCEL
+
+       SUBROUTINE MPI_WIN_POST(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_POST
+
+       SUBROUTINE MPI_WIN_COMPLETE(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_COMPLETE
+
+       SUBROUTINE MPI_TEST_CANCELLED(v0,v1,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
+       INTEGER v0(MPI_STATUS_SIZE)
+       LOGICAL v1
+       INTEGER ierror
+       END SUBROUTINE MPI_TEST_CANCELLED
+
+       SUBROUTINE MPI_GROUP_SIZE(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_GROUP_SIZE
+
+       SUBROUTINE MPI_ADD_ERROR_STRING(v0,v1,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1
+       INTEGER ierror
+       END SUBROUTINE MPI_ADD_ERROR_STRING
+
+       SUBROUTINE MPI_PACK_SIZE(v0,v1,v2,v3,ierror)
+       INTEGER v0, v1, v2, v3
+       INTEGER ierror
+       END SUBROUTINE MPI_PACK_SIZE
+
+       SUBROUTINE MPI_GET_ELEMENTS(v0,v1,v2,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
+       INTEGER v0(MPI_STATUS_SIZE), v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_GET_ELEMENTS
+
+       SUBROUTINE MPI_GET_ELEMENTS_X(v0,v1,v2,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE,MPI_COUNT_KIND
+       INTEGER v0(MPI_STATUS_SIZE), v1
+       INTEGER(KIND=MPI_COUNT_KIND) v2
+       INTEGER ierror
+       END SUBROUTINE MPI_GET_ELEMENTS_X
+
+       SUBROUTINE MPI_ERRHANDLER_GET(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_ERRHANDLER_GET
+
+       SUBROUTINE MPI_FILE_GET_ERRHANDLER(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_FILE_GET_ERRHANDLER
+
+       SUBROUTINE MPI_TYPE_LB(v0,v1,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
+       INTEGER v0
+       INTEGER(KIND=MPI_ADDRESS_KIND) v1
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_LB
+
+       SUBROUTINE MPI_REQUEST_FREE(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_REQUEST_FREE
+
+       SUBROUTINE MPI_GROUP_RANGE_INCL(v0,v1,v2,v3,ierror)
+       INTEGER v0, v1, v2(3,*), v3
+       INTEGER ierror
+       END SUBROUTINE MPI_GROUP_RANGE_INCL
+
+       SUBROUTINE MPI_TYPE_GET_TRUE_EXTENT(v0,v1,v2,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
+       INTEGER v0
+       INTEGER(KIND=MPI_ADDRESS_KIND) v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_GET_TRUE_EXTENT
+
+       SUBROUTINE MPI_TYPE_GET_TRUE_EXTENT_X(v0,v1,v2,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_COUNT_KIND
+       INTEGER v0
+       INTEGER(KIND=MPI_COUNT_KIND) v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_GET_TRUE_EXTENT_X
+
+       SUBROUTINE MPI_BARRIER(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_BARRIER
+
+       SUBROUTINE MPI_IS_THREAD_MAIN(v0,ierror)
+       LOGICAL v0
+       INTEGER ierror
+       END SUBROUTINE MPI_IS_THREAD_MAIN
+
+       SUBROUTINE MPI_WIN_FREE_KEYVAL(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_FREE_KEYVAL
+
+       SUBROUTINE MPI_TYPE_COMMIT(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_COMMIT
+
+       SUBROUTINE MPI_GROUP_RANGE_EXCL(v0,v1,v2,v3,ierror)
+       INTEGER v0, v1, v2(3,*), v3
+       INTEGER ierror
+       END SUBROUTINE MPI_GROUP_RANGE_EXCL
+
+       SUBROUTINE MPI_REQUEST_GET_STATUS(v0,v1,v2,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
+       INTEGER v0
+       LOGICAL v1
+       INTEGER v2(MPI_STATUS_SIZE)
+       INTEGER ierror
+       END SUBROUTINE MPI_REQUEST_GET_STATUS
+
+       SUBROUTINE MPI_QUERY_THREAD(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_QUERY_THREAD
+
+       SUBROUTINE MPI_ERRHANDLER_CREATE(v0,v1,ierror)
+       INTERFACE
+       SUBROUTINE v0(vv0,vv1)
+       INTEGER vv0,vv1
+       END SUBROUTINE
+       END INTERFACE
+       INTEGER v1
+       INTEGER ierror
+       END SUBROUTINE MPI_ERRHANDLER_CREATE
+
+       SUBROUTINE MPI_COMM_SPAWN_MULTIPLE(v0,v1,v2,v3,v4,v5,v6,v7,v8,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1(*), v2(v0,*)
+       INTEGER v3(*), v4(*), v5, v6, v7, v8(*)
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_SPAWN_MULTIPLE
+
+       SUBROUTINE MPI_COMM_REMOTE_GROUP(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_REMOTE_GROUP
+
+       SUBROUTINE MPI_TYPE_GET_EXTENT(v0,v1,v2,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
+       INTEGER v0
+       INTEGER(KIND=MPI_ADDRESS_KIND) v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_GET_EXTENT
+
+       SUBROUTINE MPI_TYPE_GET_EXTENT_X(v0,v1,v2,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_COUNT_KIND
+       INTEGER v0
+       INTEGER(KIND=MPI_COUNT_KIND) v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_GET_EXTENT_X
+
+       SUBROUTINE MPI_COMM_COMPARE(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_COMPARE
+
+       SUBROUTINE MPI_INFO_GET_VALUELEN(v0,v1,v2,v3,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1
+       INTEGER v2
+       LOGICAL v3
+       INTEGER ierror
+       END SUBROUTINE MPI_INFO_GET_VALUELEN
+
+       SUBROUTINE MPI_INFO_GET(v0,v1,v2,v3,v4,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1
+       INTEGER v2
+       CHARACTER (LEN=*) v3
+       LOGICAL v4
+       INTEGER ierror
+       END SUBROUTINE MPI_INFO_GET
+
+       SUBROUTINE MPI_OP_COMMUTATIVE(v0,v1,ierror)
+       INTEGER v0
+       LOGICAL v1
+       INTEGER ierror
+       END SUBROUTINE MPI_OP_COMMUTATIVE
+
+       SUBROUTINE MPI_OP_CREATE(v0,v1,v2,ierror)
+       EXTERNAL v0
+       LOGICAL v1
+       INTEGER v2
+       INTEGER ierror
+       END SUBROUTINE MPI_OP_CREATE
+
+       SUBROUTINE MPI_TYPE_CREATE_STRUCT(v0,v1,v2,v3,v4,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
+       INTEGER v0, v1(*)
+       INTEGER(KIND=MPI_ADDRESS_KIND) v2(*)
+       INTEGER v3(*), v4
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_CREATE_STRUCT
+
+       SUBROUTINE MPI_TYPE_VECTOR(v0,v1,v2,v3,v4,ierror)
+       INTEGER v0, v1, v2, v3, v4
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_VECTOR
+
+       SUBROUTINE MPI_WIN_GET_GROUP(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_GET_GROUP
+
+       SUBROUTINE MPI_GROUP_COMPARE(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_GROUP_COMPARE
+
+       SUBROUTINE MPI_CART_SHIFT(v0,v1,v2,v3,v4,ierror)
+       INTEGER v0, v1, v2, v3, v4
+       INTEGER ierror
+       END SUBROUTINE MPI_CART_SHIFT
+
+       SUBROUTINE MPI_WIN_SET_ERRHANDLER(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_SET_ERRHANDLER
+
+       SUBROUTINE MPI_COMM_SPAWN(v0,v1,v2,v3,v4,v5,v6,v7,ierror)
+       CHARACTER (LEN=*) v0, v1(*)
+       INTEGER v2, v3, v4, v5, v6, v7(*)
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_SPAWN
+
+       SUBROUTINE MPI_COMM_GROUP(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_GROUP
+
+       SUBROUTINE MPI_WIN_CALL_ERRHANDLER(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_CALL_ERRHANDLER
+
+       SUBROUTINE MPI_LOOKUP_NAME(v0,v1,v2,ierror)
+       CHARACTER (LEN=*) v0
+       INTEGER v1
+       CHARACTER (LEN=*) v2
+       INTEGER ierror
+       END SUBROUTINE MPI_LOOKUP_NAME
+
+       SUBROUTINE MPI_INFO_FREE(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_INFO_FREE
+
+       SUBROUTINE MPI_COMM_SET_ERRHANDLER(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_SET_ERRHANDLER
+
+       SUBROUTINE MPI_GRAPH_GET(v0,v1,v2,v3,v4,ierror)
+       INTEGER v0, v1, v2, v3(*), v4(*)
+       INTEGER ierror
+       END SUBROUTINE MPI_GRAPH_GET
+
+       SUBROUTINE MPI_GROUP_FREE(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_GROUP_FREE
+
+       SUBROUTINE MPI_STATUS_SET_ELEMENTS(v0,v1,v2,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
+       INTEGER v0(MPI_STATUS_SIZE), v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_STATUS_SET_ELEMENTS
+
+       SUBROUTINE MPI_STATUS_SET_ELEMENTS_X(v0,v1,v2,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE,MPI_COUNT_KIND
+       INTEGER v0(MPI_STATUS_SIZE), v1
+       INTEGER(KIND=MPI_COUNT_KIND) v2
+       INTEGER ierror
+       END SUBROUTINE MPI_STATUS_SET_ELEMENTS_X
+
+       SUBROUTINE MPI_WIN_TEST(v0,v1,ierror)
+       INTEGER v0
+       LOGICAL v1
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_TEST
+
+       SUBROUTINE MPI_WIN_FREE(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_FREE
+
+       SUBROUTINE MPI_GRAPH_MAP(v0,v1,v2,v3,v4,ierror)
+       INTEGER v0, v1, v2(*), v3(*), v4
+       INTEGER ierror
+       END SUBROUTINE MPI_GRAPH_MAP
+
+       SUBROUTINE MPI_DIST_GRAPH_NEIGHBORS_COUNT(v0,v1,v2,v3,ierror)
+       INTEGER v0, v1, v2
+       LOGICAL v3
+       INTEGER ierror
+       END SUBROUTINE MPI_DIST_GRAPH_NEIGHBORS_COUNT
+
+       SUBROUTINE MPI_PACK_EXTERNAL_SIZE(v0,v1,v2,v3,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
+       CHARACTER (LEN=*) v0
+       INTEGER v1, v2
+       INTEGER(KIND=MPI_ADDRESS_KIND) v3
+       INTEGER ierror
+       END SUBROUTINE MPI_PACK_EXTERNAL_SIZE
+
+       SUBROUTINE MPI_PUBLISH_NAME(v0,v1,v2,ierror)
+       CHARACTER (LEN=*) v0
+       INTEGER v1
+       CHARACTER (LEN=*) v2
+       INTEGER ierror
+       END SUBROUTINE MPI_PUBLISH_NAME
+
+       SUBROUTINE MPI_TYPE_CREATE_F90_REAL(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_CREATE_F90_REAL
+
+       SUBROUTINE MPI_OPEN_PORT(v0,v1,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1
+       INTEGER ierror
+       END SUBROUTINE MPI_OPEN_PORT
+
+       SUBROUTINE MPI_GROUP_UNION(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_GROUP_UNION
+
+       SUBROUTINE MPI_COMM_ACCEPT(v0,v1,v2,v3,v4,ierror)
+       CHARACTER (LEN=*) v0
+       INTEGER v1, v2, v3, v4
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_ACCEPT
+
+       SUBROUTINE MPI_FILE_CREATE_ERRHANDLER(v0,v1,ierror)
+       INTERFACE
+       SUBROUTINE v0(vv0,vv1)
+       INTEGER vv0,vv1
+       END SUBROUTINE
+       END INTERFACE
+       INTEGER v1
+       INTEGER ierror
+       END SUBROUTINE MPI_FILE_CREATE_ERRHANDLER
+
+       SUBROUTINE MPI_WIN_GET_NAME(v0,v1,v2,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1
+       INTEGER v2
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_GET_NAME
+
+       SUBROUTINE MPI_INFO_CREATE(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_INFO_CREATE
+
+       SUBROUTINE MPI_TYPE_CREATE_F90_INTEGER(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_CREATE_F90_INTEGER
+
+       SUBROUTINE MPI_TYPE_SET_NAME(v0,v1,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_SET_NAME
+
+       SUBROUTINE MPI_ATTR_DELETE(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_ATTR_DELETE
+
+       SUBROUTINE MPI_GROUP_INCL(v0,v1,v2,v3,ierror)
+       INTEGER v0, v1, v2(*), v3
+       INTEGER ierror
+       END SUBROUTINE MPI_GROUP_INCL
+
+       SUBROUTINE MPI_COMM_CREATE_ERRHANDLER(v0,v1,ierror)
+       INTERFACE
+       SUBROUTINE v0(vv0,vv1)
+       INTEGER vv0,vv1
+       END SUBROUTINE
+       END INTERFACE
+       INTEGER v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_CREATE_ERRHANDLER
+
+       SUBROUTINE MPI_COMM_CONNECT(v0,v1,v2,v3,v4,ierror)
+       CHARACTER (LEN=*) v0
+       INTEGER v1, v2, v3, v4
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_CONNECT
+
+       SUBROUTINE MPI_ERROR_STRING(v0,v1,v2,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1
+       INTEGER v2
+       INTEGER ierror
+       END SUBROUTINE MPI_ERROR_STRING
+
+       SUBROUTINE MPI_TYPE_GET_CONTENTS(v0,v1,v2,v3,v4,v5,v6,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
+       INTEGER v0, v1, v2, v3, v4(*)
+       INTEGER(KIND=MPI_ADDRESS_KIND) v5(*)
+       INTEGER v6(*)
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_GET_CONTENTS
+
+       SUBROUTINE MPI_TYPE_STRUCT(v0,v1,v2,v3,v4,ierror)
+       INTEGER v0, v1(*), v2(*), v3(*), v4
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_STRUCT
+
+       SUBROUTINE MPI_TYPE_CREATE_INDEXED_BLOCK(v0,v1,v2,v3,v4,ierror)
+       INTEGER v0, v1, v2(*), v3, v4
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_CREATE_INDEXED_BLOCK
+
+       SUBROUTINE MPI_TYPE_CREATE_HVECTOR(v0,v1,v2,v3,v4,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
+       INTEGER v0, v1
+       INTEGER(KIND=MPI_ADDRESS_KIND) v2
+       INTEGER v3, v4
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_CREATE_HVECTOR
+
+       SUBROUTINE MPI_TYPE_FREE_KEYVAL(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_FREE_KEYVAL
+
+       SUBROUTINE MPI_START(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_START
+
+       SUBROUTINE MPI_ABORT(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_ABORT
+
+       SUBROUTINE MPI_INTERCOMM_CREATE(v0,v1,v2,v3,v4,v5,ierror)
+       INTEGER v0, v1, v2, v3, v4, v5
+       INTEGER ierror
+       END SUBROUTINE MPI_INTERCOMM_CREATE
+
+       SUBROUTINE MPI_COMM_RANK(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_RANK
+
+       SUBROUTINE MPI_COMM_GET_PARENT(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_GET_PARENT
+
+       SUBROUTINE MPI_FINALIZED(v0,ierror)
+       LOGICAL v0
+       INTEGER ierror
+       END SUBROUTINE MPI_FINALIZED
+
+       SUBROUTINE MPI_INTERCOMM_MERGE(v0,v1,v2,ierror)
+       INTEGER v0
+       LOGICAL v1
+       INTEGER v2
+       INTEGER ierror
+       END SUBROUTINE MPI_INTERCOMM_MERGE
+
+       SUBROUTINE MPI_INFO_GET_NTHKEY(v0,v1,v2,ierror)
+       INTEGER v0, v1
+       CHARACTER (LEN=*) v2
+       INTEGER ierror
+       END SUBROUTINE MPI_INFO_GET_NTHKEY
+
+       SUBROUTINE MPI_TYPE_MATCH_SIZE(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_MATCH_SIZE
+
+       SUBROUTINE MPI_STATUS_SET_CANCELLED(v0,v1,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
+       INTEGER v0(MPI_STATUS_SIZE), v1
+       INTEGER ierror
+       END SUBROUTINE MPI_STATUS_SET_CANCELLED
+
+       SUBROUTINE MPI_FILE_SET_ERRHANDLER(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_FILE_SET_ERRHANDLER
+
+       SUBROUTINE MPI_INFO_DELETE(v0,v1,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1
+       INTEGER ierror
+       END SUBROUTINE MPI_INFO_DELETE
+
+       SUBROUTINE MPI_UNPUBLISH_NAME(v0,v1,v2,ierror)
+       CHARACTER (LEN=*) v0
+       INTEGER v1
+       CHARACTER (LEN=*) v2
+       INTEGER ierror
+       END SUBROUTINE MPI_UNPUBLISH_NAME
+
+       SUBROUTINE MPI_TYPE_CONTIGUOUS(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_CONTIGUOUS
+
+       SUBROUTINE MPI_INITIALIZED(v0,ierror)
+       LOGICAL v0
+       INTEGER ierror
+       END SUBROUTINE MPI_INITIALIZED
+
+       SUBROUTINE MPI_TYPE_CREATE_RESIZED(v0,v1,v2,v3,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
+       INTEGER v0
+       INTEGER(KIND=MPI_ADDRESS_KIND) v1, v2
+       INTEGER v3
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_CREATE_RESIZED
+
+       SUBROUTINE MPI_TYPE_UB(v0,v1,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
+       INTEGER v0
+       INTEGER(KIND=MPI_ADDRESS_KIND) v1
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_UB
+
+       SUBROUTINE MPI_INFO_DUP(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_INFO_DUP
+
+       SUBROUTINE MPI_TYPE_DUP(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_DUP
+
+       SUBROUTINE MPI_ERRHANDLER_SET(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_ERRHANDLER_SET
+
+       SUBROUTINE MPI_WIN_DELETE_ATTR(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_DELETE_ATTR
+
+       SUBROUTINE MPI_INFO_GET_NKEYS(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_INFO_GET_NKEYS
+
+       SUBROUTINE MPI_GROUP_EXCL(v0,v1,v2,v3,ierror)
+       INTEGER v0, v1, v2(*), v3
+       INTEGER ierror
+       END SUBROUTINE MPI_GROUP_EXCL
+
+       SUBROUTINE MPI_INFO_SET(v0,v1,v2,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_INFO_SET
+
+       SUBROUTINE MPI_WAIT(v0,v1,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
+       INTEGER v0, v1(MPI_STATUS_SIZE)
+       INTEGER ierror
+       END SUBROUTINE MPI_WAIT
+
+       SUBROUTINE MPI_COMM_DELETE_ATTR(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_DELETE_ATTR
+
+       SUBROUTINE MPI_COMM_GET_NAME(v0,v1,v2,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1
+       INTEGER v2
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_GET_NAME
+
+       SUBROUTINE MPI_TEST(v0,v1,v2,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
+       INTEGER v0
+       LOGICAL v1
+       INTEGER v2(MPI_STATUS_SIZE)
+       INTEGER ierror
+       END SUBROUTINE MPI_TEST
+
+       SUBROUTINE MPI_GET_COUNT(v0,v1,v2,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
+       INTEGER v0(MPI_STATUS_SIZE), v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_GET_COUNT
+
+       SUBROUTINE MPI_ADD_ERROR_CLASS(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_ADD_ERROR_CLASS
+
+       SUBROUTINE MPI_COMM_FREE(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_FREE
+
+       SUBROUTINE MPI_COMM_SET_NAME(v0,v1,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_SET_NAME
+
+       SUBROUTINE MPI_COMM_DISCONNECT(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_DISCONNECT
+
+       SUBROUTINE MPI_IPROBE(v0,v1,v2,v3,v4,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
+       INTEGER v0, v1, v2
+       LOGICAL v3
+       INTEGER v4(MPI_STATUS_SIZE)
+       INTEGER ierror
+       END SUBROUTINE MPI_IPROBE
+
+       SUBROUTINE MPI_IMPROBE(v0,v1,v2,v3,v4,v5,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
+       INTEGER v0, v1, v2, v3, v4
+       INTEGER v5(MPI_STATUS_SIZE)
+       INTEGER ierror
+       END SUBROUTINE MPI_IMPROBE
+
+       SUBROUTINE MPI_MPROBE(v0,v1,v2,v3,v4,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
+       INTEGER v0, v1, v2, v3
+       INTEGER v4(MPI_STATUS_SIZE)
+       INTEGER ierror
+       END SUBROUTINE MPI_MPROBE
+
+       SUBROUTINE MPI_ADD_ERROR_CODE(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_ADD_ERROR_CODE
+
+       SUBROUTINE MPI_COMM_GET_ERRHANDLER(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_GET_ERRHANDLER
+
+       SUBROUTINE MPI_COMM_CREATE(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_CREATE
+
+       SUBROUTINE MPI_OP_FREE(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_OP_FREE
+
+       SUBROUTINE MPI_TOPO_TEST(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_TOPO_TEST
+
+       SUBROUTINE MPI_GET_PROCESSOR_NAME(v0,v1,ierror)
+       CHARACTER (LEN=*) v0
+       INTEGER v1
+       INTEGER ierror
+       END SUBROUTINE MPI_GET_PROCESSOR_NAME
+
+       SUBROUTINE MPI_COMM_SIZE(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_SIZE
+
+       SUBROUTINE MPI_WIN_UNLOCK(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_UNLOCK
+
+       SUBROUTINE MPI_WIN_FLUSH(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_FLUSH
+
+       SUBROUTINE MPI_WIN_FLUSH_LOCAL(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_FLUSH_LOCAL
+
+       SUBROUTINE MPI_ERRHANDLER_FREE(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_ERRHANDLER_FREE
+
+       SUBROUTINE MPI_COMM_REMOTE_SIZE(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_REMOTE_SIZE
+
+       SUBROUTINE MPI_PROBE(v0,v1,v2,v3,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_STATUS_SIZE
+       INTEGER v0, v1, v2, v3(MPI_STATUS_SIZE)
+       INTEGER ierror
+       END SUBROUTINE MPI_PROBE
+
+       SUBROUTINE MPI_TYPE_HINDEXED(v0,v1,v2,v3,v4,ierror)
+       INTEGER v0, v1(*), v2(*), v3, v4
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_HINDEXED
+
+       SUBROUTINE MPI_WIN_WAIT(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_WAIT
+
+       SUBROUTINE MPI_WIN_SET_NAME(v0,v1,ierror)
+       INTEGER v0
+       CHARACTER (LEN=*) v1
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_SET_NAME
+
+       SUBROUTINE MPI_TYPE_SIZE(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_SIZE
+
+       SUBROUTINE MPI_TYPE_SIZE_X(v0,v1,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_COUNT_KIND
+       INTEGER v0
+       INTEGER(KIND=MPI_COUNT_KIND) v1
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_SIZE_X
+
+       SUBROUTINE MPI_TYPE_CREATE_SUBARRAY(v0,v1,v2,v3,v4,v5,v6,ierror)
+       INTEGER v0, v1(*), v2(*), v3(*), v4, v5, v6
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_CREATE_SUBARRAY
+
+       SUBROUTINE MPI_WIN_CREATE_ERRHANDLER(v0,v1,ierror)
+       INTERFACE
+       SUBROUTINE v0(vv0,vv1)
+       INTEGER vv0,vv1
+       END SUBROUTINE
+       END INTERFACE
+       INTEGER v1
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_CREATE_ERRHANDLER
+
+       SUBROUTINE MPI_WIN_START(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_START
+
+       SUBROUTINE MPI_TYPE_FREE(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_FREE
+
+       SUBROUTINE MPI_WIN_FENCE(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_WIN_FENCE
+
+       SUBROUTINE MPI_GRAPHDIMS_GET(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_GRAPHDIMS_GET
+
+       SUBROUTINE MPI_FILE_CALL_ERRHANDLER(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_FILE_CALL_ERRHANDLER
+
+       SUBROUTINE MPI_TYPE_GET_ENVELOPE(v0,v1,v2,v3,v4,ierror)
+       INTEGER v0, v1, v2, v3, v4
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_GET_ENVELOPE
+
+       SUBROUTINE MPI_TYPE_DELETE_ATTR(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_DELETE_ATTR
+
+       SUBROUTINE MPI_TYPE_CREATE_HINDEXED(v0,v1,v2,v3,v4,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
+       INTEGER v0, v1(*)
+       INTEGER(KIND=MPI_ADDRESS_KIND) v2(*)
+       INTEGER v3, v4
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_CREATE_HINDEXED
+
+       SUBROUTINE MPI_TYPE_CREATE_HINDEXED_BLOCK(v0,v1,v2,v3,v4,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
+       INTEGER v0, v1
+       INTEGER(KIND=MPI_ADDRESS_KIND) v2(*)
+       INTEGER v3, v4
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_CREATE_HINDEXED_BLOCK
+
+       SUBROUTINE MPI_TYPE_INDEXED(v0,v1,v2,v3,v4,ierror)
+       INTEGER v0, v1(*), v2(*), v3, v4
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_INDEXED
+
+       SUBROUTINE MPI_GREQUEST_COMPLETE(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_GREQUEST_COMPLETE
+
+       SUBROUTINE MPI_GRAPH_NEIGHBORS_COUNT(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_GRAPH_NEIGHBORS_COUNT
+
+       SUBROUTINE MPI_GET_VERSION(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_GET_VERSION
+
+       SUBROUTINE MPI_GET_LIBRARY_VERSION(v0,v1,ierror)
+       CHARACTER (LEN=*) v0
+       INTEGER v1
+       INTEGER ierror
+       END SUBROUTINE MPI_GET_LIBRARY_VERSION
+
+       SUBROUTINE MSMPI_GET_BSEND_OVERHEAD(size)
+       INTEGER size
+       END SUBROUTINE MSMPI_GET_BSEND_OVERHEAD
+
+       SUBROUTINE MSMPI_GET_VERSION(version)
+       INTEGER version
+       END SUBROUTINE MSMPI_GET_VERSION
+
+       SUBROUTINE MPI_TYPE_HVECTOR(v0,v1,v2,v3,v4,ierror)
+       USE MPI_CONSTANTS,ONLY:MPI_ADDRESS_KIND
+       INTEGER v0, v1
+       INTEGER(KIND=MPI_ADDRESS_KIND) v2
+       INTEGER v3, v4
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_HVECTOR
+
+       SUBROUTINE MPI_KEYVAL_FREE(v0,ierror)
+       INTEGER v0
+       INTEGER ierror
+       END SUBROUTINE MPI_KEYVAL_FREE
+
+       SUBROUTINE MPI_COMM_CALL_ERRHANDLER(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_CALL_ERRHANDLER
+
+       SUBROUTINE MPI_COMM_JOIN(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_JOIN
+
+       SUBROUTINE MPI_COMM_TEST_INTER(v0,v1,ierror)
+       INTEGER v0
+       LOGICAL v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_TEST_INTER
+
+       SUBROUTINE MPI_CLOSE_PORT(v0,ierror)
+       CHARACTER (LEN=*) v0
+       INTEGER ierror
+       END SUBROUTINE MPI_CLOSE_PORT
+
+       SUBROUTINE MPI_TYPE_CREATE_F90_COMPLEX(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_TYPE_CREATE_F90_COMPLEX
+
+       SUBROUTINE MPI_GROUP_DIFFERENCE(v0,v1,v2,ierror)
+       INTEGER v0, v1, v2
+       INTEGER ierror
+       END SUBROUTINE MPI_GROUP_DIFFERENCE
+
+       SUBROUTINE MPI_COMM_DUP(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_COMM_DUP
+
+       SUBROUTINE MPI_ERROR_CLASS(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_ERROR_CLASS
+
+       SUBROUTINE MPI_GROUP_RANK(v0,v1,ierror)
+       INTEGER v0, v1
+       INTEGER ierror
+       END SUBROUTINE MPI_GROUP_RANK
+
+
+        SUBROUTINE MPI_INIT(ierror)
+        INTEGER ierror
+        END SUBROUTINE MPI_INIT
+
+        SUBROUTINE MPI_INIT_THREAD(v0,v1,ierror)
+        INTEGER v0, v1, ierror
+        END SUBROUTINE MPI_INIT_THREAD
+
+        FUNCTION MPI_WTIME()
+            DOUBLE PRECISION MPI_WTIME
+        END FUNCTION MPI_WTIME
+
+        FUNCTION MPI_WTICK()
+            DOUBLE PRECISION MPI_WTICK
+        END FUNCTION MPI_WTICK
+
+        FUNCTION PMPI_WTIME()
+            DOUBLE PRECISION PMPI_WTIME
+        END FUNCTION PMPI_WTIME
+
+        FUNCTION PMPI_WTICK()
+            DOUBLE PRECISION PMPI_WTICK
+        END FUNCTION PMPI_WTICK
+
+        SUBROUTINE MPI_NULL_DELETE_FN(a,b,c,d,e)
+          INTEGER a,b,c,d,e
+        END SUBROUTINE MPI_NULL_DELETE_FN
+
+        SUBROUTINE MPI_DUP_FN(a,b,c,d,e,f,g)
+          INTEGER a,b,c,d,e,g
+          LOGICAL f
+        END SUBROUTINE MPI_DUP_FN
+
+        SUBROUTINE MPI_NULL_COPY_FN(a,b,c,d,e,f,g)
+          INTEGER a,b,c,d,e,g
+          LOGICAL f
+        END SUBROUTINE MPI_NULL_COPY_FN
+
+        SUBROUTINE MPI_COMM_NULL_DELETE_FN(a,b,c,d,e)
+          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
+          INTEGER a,b,e
+          INTEGER (KIND=MPI_ADDRESS_KIND) c, d
+        END SUBROUTINE MPI_COMM_NULL_DELETE_FN
+
+        SUBROUTINE MPI_COMM_DUP_FN(a,b,c,d,e,f,g)
+          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
+          INTEGER a,b,g
+          INTEGER (KIND=MPI_ADDRESS_KIND) c,d,e
+          LOGICAL f
+        END SUBROUTINE MPI_COMM_DUP_FN
+
+        SUBROUTINE MPI_COMM_NULL_COPY_FN(a,b,c,d,e,f,g)
+          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
+          INTEGER a,b,g
+          INTEGER (KIND=MPI_ADDRESS_KIND) c,d,e
+          LOGICAL f
+        END SUBROUTINE MPI_COMM_NULL_COPY_FN
+
+        SUBROUTINE MPI_TYPE_NULL_DELETE_FN(a,b,c,d,e)
+          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
+          INTEGER a,b,e
+          INTEGER (KIND=MPI_ADDRESS_KIND) c, d
+        END SUBROUTINE MPI_TYPE_NULL_DELETE_FN
+
+        SUBROUTINE MPI_TYPE_DUP_FN(a,b,c,d,e,f,g)
+          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
+          INTEGER a,b,g
+          INTEGER (KIND=MPI_ADDRESS_KIND) c,d,e
+          LOGICAL f
+        END SUBROUTINE MPI_TYPE_DUP_FN
+
+        SUBROUTINE MPI_TYPE_NULL_COPY_FN(a,b,c,d,e,f,g)
+          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
+          INTEGER a,b,g
+          INTEGER (KIND=MPI_ADDRESS_KIND) c,d,e
+          LOGICAL f
+        END SUBROUTINE MPI_TYPE_NULL_COPY_FN
+
+        SUBROUTINE MPI_WIN_NULL_DELETE_FN(a,b,c,d,e)
+          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
+          INTEGER a,b,e
+          INTEGER (KIND=MPI_ADDRESS_KIND) c, d
+        END SUBROUTINE MPI_WIN_NULL_DELETE_FN
+
+        SUBROUTINE MPI_WIN_DUP_FN(a,b,c,d,e,f,g)
+          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
+          INTEGER a,b,g
+          INTEGER (KIND=MPI_ADDRESS_KIND) c,d,e
+          LOGICAL f
+        END SUBROUTINE MPI_WIN_DUP_FN
+
+        SUBROUTINE MPI_WIN_NULL_COPY_FN(a,b,c,d,e,f,g)
+          USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND
+          INTEGER a,b,g
+          INTEGER (KIND=MPI_ADDRESS_KIND) c,d,e
+          LOGICAL f
+        END SUBROUTINE MPI_WIN_NULL_COPY_FN
+
+       END INTERFACE
+       END MODULE MPI_BASE
+
+       MODULE MPI_SIZEOFS
+!      This module contains the definitions for MPI_SIZEOF for the
+!      predefined, named types in Fortran 90.  This is provided
+!      as a separate module to allow MPI_SIZEOF to supply the
+!      basic size information even when we do not provide the
+!      arbitrary choice types
+       IMPLICIT NONE
+
+       PUBLIC :: MPI_SIZEOF
+       INTERFACE MPI_SIZEOF
+           MODULE PROCEDURE MPI_SIZEOF_I, MPI_SIZEOF_R,                &
+     &                      MPI_SIZEOF_L, MPI_SIZEOF_CH, MPI_SIZEOF_CX,&
+     &           MPI_SIZEOF_IV, MPI_SIZEOF_RV,                         &
+     &           MPI_SIZEOF_LV, MPI_SIZEOF_CHV, MPI_SIZEOF_CXV
+            MODULE PROCEDURE MPI_SIZEOF_D, MPI_SIZEOF_DV
+       END INTERFACE ! MPI_SIZEOF
+
+       CONTAINS
+
+       SUBROUTINE MPI_SIZEOF_I( X, SIZE, IERROR )
+       INTEGER X
+       INTEGER SIZE, IERROR
+       SIZE = 4
+       IERROR = 0
+       END SUBROUTINE MPI_SIZEOF_I
+
+       SUBROUTINE MPI_SIZEOF_R( X, SIZE, IERROR )
+       REAL X
+       INTEGER SIZE, IERROR
+       SIZE = 4
+       IERROR = 0
+       END SUBROUTINE MPI_SIZEOF_R
+
+! If reals and doubles have been forced to the same size (e.g., with
+! -i8 -r8 to compilers like g95), then the compiler may refuse to
+! allow interfaces that use real and double precision (failing to
+! determine which one is intended)
+        SUBROUTINE MPI_SIZEOF_D( X, SIZE, IERROR )
+        DOUBLE PRECISION X
+        INTEGER SIZE, IERROR
+        SIZE = 8
+        IERROR = 0
+        END SUBROUTINE MPI_SIZEOF_D
+
+       SUBROUTINE MPI_SIZEOF_L( X, SIZE, IERROR )
+       LOGICAL X
+       INTEGER SIZE, IERROR
+       SIZE = 4
+       IERROR = 0
+       END SUBROUTINE MPI_SIZEOF_L
+
+       SUBROUTINE MPI_SIZEOF_CH( X, SIZE, IERROR )
+       CHARACTER X
+       INTEGER SIZE, IERROR
+       SIZE = 1
+       IERROR = 0
+       END SUBROUTINE MPI_SIZEOF_CH
+
+       SUBROUTINE MPI_SIZEOF_CX( X, SIZE, IERROR )
+       COMPLEX X
+       INTEGER SIZE, IERROR
+       SIZE = 2*4
+       IERROR = 0
+       END SUBROUTINE MPI_SIZEOF_CX
+
+       SUBROUTINE MPI_SIZEOF_IV( X, SIZE, IERROR )
+       INTEGER X(*)
+       INTEGER SIZE, IERROR
+       SIZE = 4
+       IERROR = 0
+       END SUBROUTINE MPI_SIZEOF_IV
+
+       SUBROUTINE MPI_SIZEOF_RV( X, SIZE, IERROR )
+       REAL X(*)
+       INTEGER SIZE, IERROR
+       SIZE = 4
+       IERROR = 0
+       END SUBROUTINE MPI_SIZEOF_RV
+
+! If reals and doubles have been forced to the same size (e.g., with
+! -i8 -r8 to compilers like g95), then the compiler may refuse to
+! allow interfaces that use real and double precision (failing to
+! determine which one is intended)
+        SUBROUTINE MPI_SIZEOF_DV( X, SIZE, IERROR )
+        DOUBLE PRECISION X(*)
+        INTEGER SIZE, IERROR
+        SIZE = 8
+        IERROR = 0
+        END SUBROUTINE MPI_SIZEOF_DV
+
+       SUBROUTINE MPI_SIZEOF_LV( X, SIZE, IERROR )
+       LOGICAL X(*)
+       INTEGER SIZE, IERROR
+       SIZE = 4
+       IERROR = 0
+       END SUBROUTINE MPI_SIZEOF_LV
+
+       SUBROUTINE MPI_SIZEOF_CHV( X, SIZE, IERROR )
+       CHARACTER X(*)
+       INTEGER SIZE, IERROR
+       SIZE = 1
+       IERROR = 0
+       END SUBROUTINE MPI_SIZEOF_CHV
+
+       SUBROUTINE MPI_SIZEOF_CXV( X, SIZE, IERROR )
+       COMPLEX X(*)
+       INTEGER SIZE, IERROR
+       SIZE = 2*4
+       IERROR = 0
+       END SUBROUTINE MPI_SIZEOF_CXV
+
+! We don't include double complex.  If we did, we'd need to include the
+! same hack as for real and double above if the compiler has been forced
+! to make them the same size.
+       END MODULE MPI_SIZEOFS
+
+       MODULE MPI
+       USE MPI_CONSTANTS
+       USE MPI_SIZEOFS
+       USE MPI_BASE
+       END MODULE MPI
diff --git a/deps/msmpi-10.1.2/sdk/mpi.h b/deps/msmpi-10.1.3/sdk/mpi.h
similarity index 95%
rename from deps/msmpi-10.1.2/sdk/mpi.h
rename to deps/msmpi-10.1.3/sdk/mpi.h
index ad8665de7b0b0c93609ef0b1f6164a2a2af03c35..c3925e7fe7ebdcf390cd74d65579933c9243dd03 100644
--- a/deps/msmpi-10.1.2/sdk/mpi.h
+++ b/deps/msmpi-10.1.3/sdk/mpi.h
@@ -1,7039 +1,7039 @@
-/*
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License.
- *
- *  (C) 2001 by Argonne National Laboratory.
- *  (C) 2015 by Microsoft Corporation.
- *
- *                                 MPICH COPYRIGHT
- *
- *  The following is a notice of limited availability of the code, and disclaimer
- *  which must be included in the prologue of the code and in all source listings
- *  of the code.
- *
- *  Copyright Notice
- *   + 2002 University of Chicago
- *
- *  Permission is hereby granted to use, reproduce, prepare derivative works, and
- *  to redistribute to others.  This software was authored by:
- *
- *  Mathematics and Computer Science Division
- *  Argonne National Laboratory, Argonne IL 60439
- *
- *  (and)
- *
- *  Department of Computer Science
- *  University of Illinois at Urbana-Champaign
- *
- *
- *                                GOVERNMENT LICENSE
- *
- *  Portions of this material resulted from work developed under a U.S.
- *  Government Contract and are subject to the following license: the Government
- *  is granted for itself and others acting on its behalf a paid-up, nonexclusive,
- *  irrevocable worldwide license in this computer software to reproduce, prepare
- *  derivative works, and perform publicly and display publicly.
- *
- *                                    DISCLAIMER
- *
- *  This computer code material was prepared, in part, as an account of work
- *  sponsored by an agency of the United States Government.  Neither the United
- *  States, nor the University of Chicago, nor any of their employees, makes any
- *  warranty express or implied, or assumes any legal liability or responsibility
- *  for the accuracy, completeness, or usefulness of any information, apparatus,
- *  product, or process disclosed, or represents that its use would not infringe
- *  privately owned rights.
- *
- */
-
-#ifndef MPI_INCLUDED
-#define MPI_INCLUDED
-
-#include <stdint.h>
-#ifndef MSMPI_NO_SAL
-#include <sal.h>
-#endif
-
-#if defined(_MSC_VER) && _MSC_VER < 1600 
-typedef signed __int64 _MSMPI_int64_t;
-#else 
-#include <stdint.h> 
-typedef int64_t _MSMPI_int64_t;
-#endif
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-
-#ifndef MSMPI_VER
-#define MSMPI_VER 0x100
-#endif
-
-
-/*---------------------------------------------------------------------------*/
-/* SAL ANNOTATIONS                                                           */
-/*---------------------------------------------------------------------------*/
-/*
- * Define SAL annotations if they aren't defined yet.
- */
-#ifndef _Success_
-#define _Success_( x )
-#endif
-#ifndef _Notref_
-#define _Notref_
-#endif
-#ifndef _When_
-#define _When_( x, y )
-#endif
-#ifndef _Pre_valid_
-#define _Pre_valid_
-#endif
-#ifndef _Pre_opt_valid_
-#define _Pre_opt_valid_
-#endif
-#ifndef _Post_invalid_
-#define _Post_invalid_
-#endif
-#ifndef _In_
-#define _In_
-#endif
-#ifndef _In_z_
-#define _In_z_
-#endif
-#ifndef _In_opt_
-#define _In_opt_
-#endif
-#ifndef _In_range_
-#define _In_range_( x, y )
-#endif
-#ifndef _In_reads_
-#define _In_reads_( x )
-#endif
-#ifndef _In_reads_z_
-#define _In_reads_z_( x )
-#endif
-#ifndef _In_reads_opt_
-#define _In_reads_opt_( x )
-#endif
-#ifndef _In_reads_bytes_opt_
-#define _In_reads_bytes_opt_( x )
-#endif
-#ifndef _Out_
-#define _Out_
-#endif
-#ifndef _Out_opt_
-#define _Out_opt_
-#endif
-#ifndef _Out_writes_
-#define _Out_writes_( x )
-#endif
-#ifndef _Out_writes_z_
-#define _Out_writes_z_( x )
-#endif
-#ifndef _Out_writes_opt_
-#define _Out_writes_opt_( x )
-#endif
-#ifndef _Out_writes_to_opt_
-#define _Out_writes_to_opt_( x, y )
-#endif
-#ifndef _Out_writes_bytes_opt_
-#define _Out_writes_bytes_opt_( x )
-#endif
-#ifndef _Inout_
-#define _Inout_
-#endif
-#ifndef _Inout_opt_
-#define _Inout_opt_
-#endif
-#ifndef _Inout_updates_opt_
-#define _Inout_updates_opt_( x )
-#endif
-#ifndef _Deref_in_range_
-#define _Deref_in_range_( x, y )
-#endif
-#ifndef _Deref_out_range_
-#define _Deref_out_range_( x, y )
-#endif
-#ifndef _Pre_satisfies_
-#define _Pre_satisfies_( x )
-#endif
-#ifndef _Post_satisfies_
-#define _Post_satisfies_( x )
-#endif
-#ifndef _Post_equal_to_
-#define _Post_equal_to_( x )
-#endif
-
-#define _mpi_updates_(size) _When_(size != 0, _Inout_updates_(size))
-#define _mpi_reads_(size) _When_(size != 0, _In_reads_(size))
-#define _mpi_reads_bytes_(size) _When_(size != 0, _In_reads_bytes_(size))
-#define _mpi_writes_(size) _When_(size != 0, _Out_writes_(size))
-#define _mpi_writes_bytes_(size) _When_(size != 0, _Out_writes_bytes_(size))
-#define _mpi_writes_to_(size, count) _When_(size != 0, _Out_writes_to_(size, count))
-#define _mpi_out_flag_ _Out_ _Deref_out_range_(0, 1)
-#define _mpi_out_(param, sentinel) _Out_ _Post_satisfies_(*param == sentinel || *param >= 0)
-#define _mpi_out_range_(param, sentinel, ub) \
-    _Out_ _Post_satisfies_(*param == sentinel || (ub > 0 && *param >= 0 && *param <= ub))
-#define _mpi_position_(ub) _Inout_ _Deref_in_range_(0, ub) _Deref_out_range_(0, ub)
-#define _mpi_coll_rank_(param) _In_ _Pre_satisfies_(param == MPI_ROOT || param >= MPI_PROC_NULL)
-
-/*---------------------------------------------------------------------------*/
-/* MSMPI Calling convention                                                  */
-/*---------------------------------------------------------------------------*/
-
-#define MPIAPI __stdcall
-
-
-/*---------------------------------------------------------------------------*/
-/* MPI ERROR CLASS                                                           */
-/*---------------------------------------------------------------------------*/
-
-#define MPI_SUCCESS          0      /* Successful return code */
-
-#define MPI_ERR_BUFFER       1      /* Invalid buffer pointer */
-#define MPI_ERR_COUNT        2      /* Invalid count argument */
-#define MPI_ERR_TYPE         3      /* Invalid datatype argument */
-#define MPI_ERR_TAG          4      /* Invalid tag argument */
-#define MPI_ERR_COMM         5      /* Invalid communicator */
-#define MPI_ERR_RANK         6      /* Invalid rank */
-#define MPI_ERR_ROOT         7      /* Invalid root */
-#define MPI_ERR_GROUP        8      /* Invalid group */
-#define MPI_ERR_OP           9      /* Invalid operation */
-#define MPI_ERR_TOPOLOGY    10      /* Invalid topology */
-#define MPI_ERR_DIMS        11      /* Invalid dimension argument */
-#define MPI_ERR_ARG         12      /* Invalid argument */
-#define MPI_ERR_UNKNOWN     13      /* Unknown error */
-#define MPI_ERR_TRUNCATE    14      /* Message truncated on receive */
-#define MPI_ERR_OTHER       15      /* Other error; use Error_string */
-#define MPI_ERR_INTERN      16      /* Internal error code */
-#define MPI_ERR_IN_STATUS   17      /* Error code is in status */
-#define MPI_ERR_PENDING     18      /* Pending request */
-#define MPI_ERR_REQUEST     19      /* Invalid request (handle) */
-#define MPI_ERR_ACCESS      20      /* Premission denied */
-#define MPI_ERR_AMODE       21      /* Error related to amode passed to MPI_File_open */
-#define MPI_ERR_BAD_FILE    22      /* Invalid file name (e.g., path name too long) */
-#define MPI_ERR_CONVERSION  23      /* Error in user data conversion function */
-#define MPI_ERR_DUP_DATAREP 24      /* Data representation identifier already registered */
-#define MPI_ERR_FILE_EXISTS 25      /* File exists */
-#define MPI_ERR_FILE_IN_USE 26      /* File operation could not be completed, file in use */
-#define MPI_ERR_FILE        27      /* Invalid file handle */
-#define MPI_ERR_INFO        28      /* Invalid info argument */
-#define MPI_ERR_INFO_KEY    29      /* Key longer than MPI_MAX_INFO_KEY */
-#define MPI_ERR_INFO_VALUE  30      /* Value longer than MPI_MAX_INFO_VAL */
-#define MPI_ERR_INFO_NOKEY  31      /* Invalid key passed to MPI_Info_delete */
-#define MPI_ERR_IO          32      /* Other I/O error */
-#define MPI_ERR_NAME        33      /* Invalid service name in MPI_Lookup_name */
-#define MPI_ERR_NO_MEM      34      /* Alloc_mem could not allocate memory */
-#define MPI_ERR_NOT_SAME    35      /* Collective argument/sequence not the same on all processes */
-#define MPI_ERR_NO_SPACE    36      /* Not enough space */
-#define MPI_ERR_NO_SUCH_FILE 37     /* File does not exist */
-#define MPI_ERR_PORT        38      /* Invalid port name in MPI_comm_connect*/
-#define MPI_ERR_QUOTA       39      /* Quota exceeded */
-#define MPI_ERR_READ_ONLY   40      /* Read-only file or file system */
-#define MPI_ERR_SERVICE     41      /* Invalid service name in MPI_Unpublish_name */
-#define MPI_ERR_SPAWN       42      /* Error in spawning processes */
-#define MPI_ERR_UNSUPPORTED_DATAREP   43  /* Unsupported dararep in MPI_File_set_view */
-#define MPI_ERR_UNSUPPORTED_OPERATION 44  /* Unsupported operation on file */
-#define MPI_ERR_WIN         45      /* Invalid win argument */
-#define MPI_ERR_BASE        46      /* Invalid base passed to MPI_Free_mem */
-#define MPI_ERR_LOCKTYPE    47      /* Invalid locktype argument */
-#define MPI_ERR_KEYVAL      48      /* Invalid keyval  */
-#define MPI_ERR_RMA_CONFLICT 49     /* Conflicting accesses to window */
-#define MPI_ERR_RMA_SYNC    50      /* Wrong synchronization of RMA calls */
-#define MPI_ERR_SIZE        51      /* Invalid size argument */
-#define MPI_ERR_DISP        52      /* Invalid disp argument */
-#define MPI_ERR_ASSERT      53      /* Invalid assert argument */
-
-#define MPI_ERR_LASTCODE    0x3fffffff    /* Last valid error code for a predefined error class */
-
-#define MPICH_ERR_LAST_CLASS 53
-
-
-/*---------------------------------------------------------------------------*/
-/* MPI Basic integer types                                                   */
-/*---------------------------------------------------------------------------*/
-
-/* Address size integer */
-#ifdef _WIN64
-typedef _MSMPI_int64_t MPI_Aint;
-#else
-typedef int MPI_Aint;
-#endif
-
-/* Fortran INTEGER */
-typedef int MPI_Fint;
-
-/* File offset */
-typedef _MSMPI_int64_t MPI_Offset;
-
-//
-// MPI-3 standard defines this type that can be used to address locations
-// within either memory or files as well as express count values.
-//
-typedef _MSMPI_int64_t MPI_Count;
-
-
-/*---------------------------------------------------------------------------*/
-/* MPI_Datatype                                                              */
-/*---------------------------------------------------------------------------*/
-
-typedef int MPI_Datatype;
-#define MPI_DATATYPE_NULL           ((MPI_Datatype)0x0c000000)
-
-#define MPI_CHAR                    ((MPI_Datatype)0x4c000101)
-#define MPI_UNSIGNED_CHAR           ((MPI_Datatype)0x4c000102)
-#define MPI_SHORT                   ((MPI_Datatype)0x4c000203)
-#define MPI_UNSIGNED_SHORT          ((MPI_Datatype)0x4c000204)
-#define MPI_INT                     ((MPI_Datatype)0x4c000405)
-#define MPI_UNSIGNED                ((MPI_Datatype)0x4c000406)
-#define MPI_LONG                    ((MPI_Datatype)0x4c000407)
-#define MPI_UNSIGNED_LONG           ((MPI_Datatype)0x4c000408)
-#define MPI_LONG_LONG_INT           ((MPI_Datatype)0x4c000809)
-#define MPI_LONG_LONG               MPI_LONG_LONG_INT
-#define MPI_FLOAT                   ((MPI_Datatype)0x4c00040a)
-#define MPI_DOUBLE                  ((MPI_Datatype)0x4c00080b)
-#define MPI_LONG_DOUBLE             ((MPI_Datatype)0x4c00080c)
-#define MPI_BYTE                    ((MPI_Datatype)0x4c00010d)
-#define MPI_WCHAR                   ((MPI_Datatype)0x4c00020e)
-
-#define MPI_PACKED                  ((MPI_Datatype)0x4c00010f)
-#define MPI_LB                      ((MPI_Datatype)0x4c000010)
-#define MPI_UB                      ((MPI_Datatype)0x4c000011)
-
-#define MPI_C_COMPLEX               ((MPI_Datatype)0x4c000812)
-#define MPI_C_FLOAT_COMPLEX         ((MPI_Datatype)0x4c000813)
-#define MPI_C_DOUBLE_COMPLEX        ((MPI_Datatype)0x4c001014)
-#define MPI_C_LONG_DOUBLE_COMPLEX   ((MPI_Datatype)0x4c001015)
-
-#define MPI_2INT                    ((MPI_Datatype)0x4c000816)
-#define MPI_C_BOOL                  ((MPI_Datatype)0x4c000117)
-#define MPI_SIGNED_CHAR             ((MPI_Datatype)0x4c000118)
-#define MPI_UNSIGNED_LONG_LONG      ((MPI_Datatype)0x4c000819)
-
-/* Fortran types */
-#define MPI_CHARACTER               ((MPI_Datatype)0x4c00011a)
-#define MPI_INTEGER                 ((MPI_Datatype)0x4c00041b)
-#define MPI_REAL                    ((MPI_Datatype)0x4c00041c)
-#define MPI_LOGICAL                 ((MPI_Datatype)0x4c00041d)
-#define MPI_COMPLEX                 ((MPI_Datatype)0x4c00081e)
-#define MPI_DOUBLE_PRECISION        ((MPI_Datatype)0x4c00081f)
-#define MPI_2INTEGER                ((MPI_Datatype)0x4c000820)
-#define MPI_2REAL                   ((MPI_Datatype)0x4c000821)
-#define MPI_DOUBLE_COMPLEX          ((MPI_Datatype)0x4c001022)
-#define MPI_2DOUBLE_PRECISION       ((MPI_Datatype)0x4c001023)
-#define MPI_2COMPLEX                ((MPI_Datatype)0x4c001024)
-#define MPI_2DOUBLE_COMPLEX         ((MPI_Datatype)0x4c002025)
-
-/* Size-specific types (see MPI 2.2, 16.2.5) */
-#define MPI_REAL2                   MPI_DATATYPE_NULL
-#define MPI_REAL4                   ((MPI_Datatype)0x4c000427)
-#define MPI_COMPLEX8                ((MPI_Datatype)0x4c000828)
-#define MPI_REAL8                   ((MPI_Datatype)0x4c000829)
-#define MPI_COMPLEX16               ((MPI_Datatype)0x4c00102a)
-#define MPI_REAL16                  MPI_DATATYPE_NULL
-#define MPI_COMPLEX32               MPI_DATATYPE_NULL
-#define MPI_INTEGER1                ((MPI_Datatype)0x4c00012d)
-#define MPI_COMPLEX4                MPI_DATATYPE_NULL
-#define MPI_INTEGER2                ((MPI_Datatype)0x4c00022f)
-#define MPI_INTEGER4                ((MPI_Datatype)0x4c000430)
-#define MPI_INTEGER8                ((MPI_Datatype)0x4c000831)
-#define MPI_INTEGER16               MPI_DATATYPE_NULL
-#define MPI_INT8_T                  ((MPI_Datatype)0x4c000133)
-#define MPI_INT16_T                 ((MPI_Datatype)0x4c000234)
-#define MPI_INT32_T                 ((MPI_Datatype)0x4c000435)
-#define MPI_INT64_T                 ((MPI_Datatype)0x4c000836)
-#define MPI_UINT8_T                 ((MPI_Datatype)0x4c000137)
-#define MPI_UINT16_T                ((MPI_Datatype)0x4c000238)
-#define MPI_UINT32_T                ((MPI_Datatype)0x4c000439)
-#define MPI_UINT64_T                ((MPI_Datatype)0x4c00083a)
-
-#ifdef _WIN64
-#define MPI_AINT                    ((MPI_Datatype)0x4c00083b)
-#else
-#define MPI_AINT                    ((MPI_Datatype)0x4c00043b)
-#endif
-#define MPI_OFFSET                  ((MPI_Datatype)0x4c00083c)
-#define MPI_COUNT                   ((MPI_Datatype)0x4c00083d)
-
-/*
- * The layouts for the types MPI_DOUBLE_INT etc. are
- *
- *      struct { double a; int b; }
- */
-#define MPI_FLOAT_INT               ((MPI_Datatype)0x8c000000)
-#define MPI_DOUBLE_INT              ((MPI_Datatype)0x8c000001)
-#define MPI_LONG_INT                ((MPI_Datatype)0x8c000002)
-#define MPI_SHORT_INT               ((MPI_Datatype)0x8c000003)
-#define MPI_LONG_DOUBLE_INT         ((MPI_Datatype)0x8c000004)
-
-
-/*---------------------------------------------------------------------------*/
-/* MPI_Comm                                                                  */
-/*---------------------------------------------------------------------------*/
-
-typedef int MPI_Comm;
-#define MPI_COMM_NULL  ((MPI_Comm)0x04000000)
-
-#define MPI_COMM_WORLD ((MPI_Comm)0x44000000)
-#define MPI_COMM_SELF  ((MPI_Comm)0x44000001)
-
-/*---------------------------------------------------------------------------*/
-/* MPI_Comm Split Types                                                      */
-/*---------------------------------------------------------------------------*/
-enum
-{
-    MPI_COMM_TYPE_SHARED    = 1,
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* MPI_Win                                                                   */
-/*---------------------------------------------------------------------------*/
-
-typedef int MPI_Win;
-#define MPI_WIN_NULL ((MPI_Win)0x20000000)
-
-
-/*---------------------------------------------------------------------------*/
-/* MPI_File                                                                  */
-/*---------------------------------------------------------------------------*/
-
-typedef struct ADIOI_FileD* MPI_File;
-#define MPI_FILE_NULL ((MPI_File)0)
-
-
-/*---------------------------------------------------------------------------*/
-/* MPI_Op                                                                    */
-/*---------------------------------------------------------------------------*/
-
-typedef int MPI_Op;
-#define MPI_OP_NULL ((MPI_Op)0x18000000)
-
-#define MPI_MAX     ((MPI_Op)0x58000001)
-#define MPI_MIN     ((MPI_Op)0x58000002)
-#define MPI_SUM     ((MPI_Op)0x58000003)
-#define MPI_PROD    ((MPI_Op)0x58000004)
-#define MPI_LAND    ((MPI_Op)0x58000005)
-#define MPI_BAND    ((MPI_Op)0x58000006)
-#define MPI_LOR     ((MPI_Op)0x58000007)
-#define MPI_BOR     ((MPI_Op)0x58000008)
-#define MPI_LXOR    ((MPI_Op)0x58000009)
-#define MPI_BXOR    ((MPI_Op)0x5800000a)
-#define MPI_MINLOC  ((MPI_Op)0x5800000b)
-#define MPI_MAXLOC  ((MPI_Op)0x5800000c)
-#define MPI_REPLACE ((MPI_Op)0x5800000d)
-#define MPI_NO_OP   ((MPI_Op)0x5800000e)
-
-
-/*---------------------------------------------------------------------------*/
-/* MPI_Info                                                                  */
-/*---------------------------------------------------------------------------*/
-
-typedef int MPI_Info;
-#define MPI_INFO_NULL         ((MPI_Info)0x1c000000)
-
-
-/*---------------------------------------------------------------------------*/
-/* MPI_Request                                                               */
-/*---------------------------------------------------------------------------*/
-
-typedef int MPI_Request;
-#define MPI_REQUEST_NULL ((MPI_Request)0x2c000000)
-
-
-/*---------------------------------------------------------------------------*/
-/* MPI_Group                                                                 */
-/*---------------------------------------------------------------------------*/
-
-typedef int MPI_Group;
-#define MPI_GROUP_NULL  ((MPI_Group)0x08000000)
-
-#define MPI_GROUP_EMPTY ((MPI_Group)0x48000000)
-
-
-/*---------------------------------------------------------------------------*/
-/* MPI_Errhandler                                                            */
-/*---------------------------------------------------------------------------*/
-
-typedef int MPI_Errhandler;
-#define MPI_ERRHANDLER_NULL  ((MPI_Errhandler)0x14000000)
-
-#define MPI_ERRORS_ARE_FATAL ((MPI_Errhandler)0x54000000)
-#define MPI_ERRORS_RETURN    ((MPI_Errhandler)0x54000001)
-
-
-/*---------------------------------------------------------------------------*/
-/* MPI_Message                                                               */
-/*---------------------------------------------------------------------------*/
-
-typedef int MPI_Message;
-#define MPI_MESSAGE_NULL     ((MPI_Message)0x30000000)
-#define MPI_MESSAGE_NO_PROC  ((MPI_Message)0x70000000)
-
-/*---------------------------------------------------------------------------*/
-/* MPI_Status                                                                */
-/*---------------------------------------------------------------------------*/
-
-typedef struct MPI_Status
-{
-    int internal[2];
-
-    int MPI_SOURCE;
-    int MPI_TAG;
-    int MPI_ERROR;
-
-} MPI_Status;
-
-#define MPI_STATUS_IGNORE ((MPI_Status*)(MPI_Aint)1)
-#define MPI_STATUSES_IGNORE ((MPI_Status*)(MPI_Aint)1)
-
-
-/*---------------------------------------------------------------------------*/
-/* MISC CONSTANTS                                                            */
-/*---------------------------------------------------------------------------*/
-
-/* Used in: Count, Index, Rank, Color, Toplogy, Precision, Exponent range  */
-#define MPI_UNDEFINED   (-32766)
-
-/* Used in: Rank */
-#define MPI_PROC_NULL   (-1)
-#define MPI_ANY_SOURCE  (-2)
-#define MPI_ROOT        (-3)
-
-/* Used in: Tag */
-#define MPI_ANY_TAG     (-1)
-
-/* Used for: Buffer address */
-#define MPI_BOTTOM        ((void*)0)
-#define MPI_UNWEIGHTED    ((int*)1)
-#define MPI_WEIGHTS_EMPTY ((int*)2)
-
-/*---------------------------------------------------------------------------*/
-/* Macro for function return values.                                         */
-/*---------------------------------------------------------------------------*/
-#define MPI_METHOD _Success_( return == MPI_SUCCESS ) int MPIAPI
-
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 3: Point-to-Point Communication                                   */
-/*---------------------------------------------------------------------------*/
-
-/*---------------------------------------------*/
-/* Section 3.2: Blocking Communication         */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Send(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm
-    );
-
-MPI_METHOD
-PMPI_Send(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm
-    );
-
-MPI_METHOD
-MPI_Recv(
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_Recv(
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Status* status
-    );
-
-_Pre_satisfies_(status != MPI_STATUS_IGNORE)
-MPI_METHOD
-MPI_Get_count(
-    _In_ const MPI_Status* status,
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(count, MPI_UNDEFINED) int* count
-    );
-
-_Pre_satisfies_(status != MPI_STATUS_IGNORE)
-MPI_METHOD
-PMPI_Get_count(
-    _In_ const MPI_Status* status,
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(count, MPI_UNDEFINED) int* count
-    );
-
-
-/*---------------------------------------------*/
-/* Section 3.4: Communication Modes            */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Bsend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm
-    );
-
-MPI_METHOD
-PMPI_Bsend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm
-    );
-
-MPI_METHOD
-MPI_Ssend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm
-    );
-
-MPI_METHOD
-PMPI_Ssend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm
-    );
-
-MPI_METHOD
-MPI_Rsend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm
-    );
-
-MPI_METHOD
-PMPI_Rsend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm
-    );
-
-
-/*---------------------------------------------*/
-/* Section 3.6: Buffer Allocation              */
-/*---------------------------------------------*/
-
-/* Upper bound on bsend overhead for each message */
-#define MSMPI_BSEND_OVERHEAD_V1   95
-#define MSMPI_BSEND_OVERHEAD_V2   MSMPI_BSEND_OVERHEAD_V1
-
-#if MSMPI_VER > 0x300
-#  define MPI_BSEND_OVERHEAD  MSMPI_Get_bsend_overhead()
-#else
-#  define MPI_BSEND_OVERHEAD  MSMPI_BSEND_OVERHEAD_V1
-#endif
-
-MPI_METHOD
-MPI_Buffer_attach(
-    _In_ void* buffer,
-    _In_range_(>=, 0) int size
-    );
-
-MPI_METHOD
-PMPI_Buffer_attach(
-    _In_ void* buffer,
-    _In_range_(>=, 0) int size
-    );
-
-MPI_METHOD
-MPI_Buffer_detach(
-    _Out_ void* buffer_addr,
-    _Out_ int* size
-    );
-
-MPI_METHOD
-PMPI_Buffer_detach(
-    _Out_ void* buffer_addr,
-    _Out_ int* size
-    );
-
-
-/*---------------------------------------------*/
-/* Section 3.7: Nonblocking Communication      */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Isend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Isend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_Ibsend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Ibsend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_Issend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Issend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_Irsend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Irsend(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_Irecv(
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Irecv(
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-
-/*---------------------------------------------*/
-/* Section 3.7.3: Communication Completion     */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Wait(
-    _Inout_ _Post_equal_to_(MPI_REQUEST_NULL) MPI_Request* request,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_Wait(
-    _Inout_ _Post_equal_to_(MPI_REQUEST_NULL) MPI_Request* request,
-    _Out_ MPI_Status* status
-    );
-
-_Success_(return == MPI_SUCCESS && *flag != 0)
-int
-MPIAPI
-MPI_Test(
-    _Inout_ _Post_equal_to_(MPI_REQUEST_NULL) MPI_Request* request,
-    _mpi_out_flag_ int* flag,
-    _Out_ MPI_Status* status
-    );
-
-_Success_(return == MPI_SUCCESS && *flag != 0)
-int
-MPIAPI
-PMPI_Test(
-    _Inout_ _Post_equal_to_(MPI_REQUEST_NULL) MPI_Request* request,
-    _mpi_out_flag_ int* flag,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_Request_free(
-    _Inout_ _Post_equal_to_(MPI_REQUEST_NULL) MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Request_free(
-    _Inout_ _Post_equal_to_(MPI_REQUEST_NULL) MPI_Request* request
-    );
-
-
-/*---------------------------------------------*/
-/* Section 3.7.5: Multiple Completions         */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Waitany(
-    _In_range_(>=, 0) int count,
-    _mpi_updates_(count) MPI_Request array_of_requests[],
-    _mpi_out_range_(index, MPI_UNDEFINED, (count - 1)) int* index,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_Waitany(
-    _In_range_(>=, 0) int count,
-    _mpi_updates_(count) MPI_Request array_of_requests[],
-    _mpi_out_range_(index, MPI_UNDEFINED, (count - 1)) int* index,
-    _Out_ MPI_Status* status
-    );
-
-_Success_(return == MPI_SUCCESS && *flag != 0)
-int
-MPIAPI
-MPI_Testany(
-    _In_range_(>=, 0) int count,
-    _mpi_updates_(count) MPI_Request array_of_requests[],
-    _mpi_out_range_(index, MPI_UNDEFINED, (count - 1)) int* index,
-    _mpi_out_flag_ int* flag,
-    _Out_ MPI_Status* status
-    );
-
-_Success_(return == MPI_SUCCESS && *flag != 0)
-int
-MPIAPI
-PMPI_Testany(
-    _In_range_(>=, 0) int count,
-    _mpi_updates_(count) MPI_Request array_of_requests[],
-    _mpi_out_range_(index, MPI_UNDEFINED, (count - 1)) int* index,
-    _mpi_out_flag_ int* flag,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_Waitall(
-    _In_range_(>=, 0) int count,
-    _mpi_updates_(count) MPI_Request array_of_requests[],
-    _Out_writes_opt_(count) MPI_Status array_of_statuses[]
-    );
-
-MPI_METHOD
-PMPI_Waitall(
-    _In_range_(>=, 0) int count,
-    _mpi_updates_(count) MPI_Request array_of_requests[],
-    _Out_writes_opt_(count) MPI_Status array_of_statuses[]
-    );
-
-_Success_(return == MPI_SUCCESS && *flag != 0)
-int
-MPIAPI
-MPI_Testall(
-    _In_range_(>=, 0) int count,
-    _mpi_updates_(count) MPI_Request array_of_requests[],
-    _mpi_out_flag_ int* flag,
-    _Out_writes_opt_(count) MPI_Status array_of_statuses[]
-    );
-
-_Success_(return == MPI_SUCCESS && *flag != 0)
-int
-MPIAPI
-PMPI_Testall(
-    _In_range_(>=, 0) int count,
-    _mpi_updates_(count) MPI_Request array_of_requests[],
-    _mpi_out_flag_ int* flag,
-    _Out_writes_opt_(count) MPI_Status array_of_statuses[]
-);
-
-MPI_METHOD
-MPI_Waitsome(
-    _In_range_(>=, 0) int incount,
-    _mpi_updates_(incount) MPI_Request array_of_requests[],
-    _mpi_out_range_(outcount, MPI_UNDEFINED, incount) int* outcount,
-    _mpi_writes_to_(incount,*outcount) int array_of_indices[],
-    _Out_writes_to_opt_(incount, *outcount) MPI_Status array_of_statuses[]
-    );
-
-MPI_METHOD
-PMPI_Waitsome(
-    _In_range_(>=, 0) int incount,
-    _mpi_updates_(incount) MPI_Request array_of_requests[],
-    _mpi_out_range_(outcount, MPI_UNDEFINED, incount) int* outcount,
-    _mpi_writes_to_(incount,*outcount) int array_of_indices[],
-    _Out_writes_to_opt_(incount, *outcount) MPI_Status array_of_statuses[]
-    );
-
-_Success_(return == MPI_SUCCESS && *outcount > 0)
-int
-MPIAPI
-MPI_Testsome(
-    _In_range_(>=, 0) int incount,
-    _mpi_updates_(incount) MPI_Request array_of_requests[],
-    _mpi_out_range_(outcount, MPI_UNDEFINED, incount) int* outcount,
-    _mpi_writes_to_(incount,*outcount) int array_of_indices[],
-    _Out_writes_to_opt_(incount, *outcount) MPI_Status array_of_statuses[]
-    );
-
-_Success_(return == MPI_SUCCESS && *outcount > 0)
-int
-MPIAPI
-PMPI_Testsome(
-    _In_range_(>=, 0) int incount,
-    _mpi_updates_(incount) MPI_Request array_of_requests[],
-    _mpi_out_range_(outcount, MPI_UNDEFINED, incount) int* outcount,
-    _mpi_writes_to_(incount,*outcount) int array_of_indices[],
-    _Out_writes_to_opt_(incount, *outcount) MPI_Status array_of_statuses[]
-    );
-
-
-/*---------------------------------------------*/
-/* Section 3.7.6: Test of status               */
-/*---------------------------------------------*/
-
-_Success_(return == MPI_SUCCESS && *flag != 0)
-int
-MPIAPI
-MPI_Request_get_status(
-    _In_ MPI_Request request,
-    _mpi_out_flag_ int* flag,
-    _Out_ MPI_Status* status
-    );
-
-_Success_(return == MPI_SUCCESS && *flag != 0)
-int
-MPIAPI
-PMPI_Request_get_status(
-    _In_ MPI_Request request,
-    _mpi_out_flag_ int* flag,
-    _Out_ MPI_Status* status
-    );
-
-
-/*---------------------------------------------*/
-/* Section 3.8: Probe and Cancel               */
-/*---------------------------------------------*/
-
-_Success_(return == MPI_SUCCESS && *flag != 0)
-int
-MPIAPI
-MPI_Iprobe(
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _mpi_out_flag_ int* flag,
-    _Out_ MPI_Status* status
-    );
-
-_Success_(return == MPI_SUCCESS && *flag != 0)
-int
-MPIAPI
-PMPI_Iprobe(
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _mpi_out_flag_ int* flag,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_Probe(
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_Probe(
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Status* status
-    );
-
-_Success_(return == MPI_SUCCESS && *flag != 0)
-int
-MPIAPI
-MPI_Improbe(
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _mpi_out_flag_ int* flag,
-    _Out_ MPI_Message* message,
-    _Out_ MPI_Status* status
-    );
-
-_Success_(return == MPI_SUCCESS && *flag != 0)
-int
-MPIAPI
-PMPI_Improbe(
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _mpi_out_flag_ int* flag,
-    _Out_ MPI_Message* message,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_Mprobe(
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Message* message,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_Mprobe(
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Message* message,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_Mrecv(
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Inout_ MPI_Message* message,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_Mrecv(
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Inout_ MPI_Message* message,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_Imrecv(
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Inout_ MPI_Message* message,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Imrecv(
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Inout_ MPI_Message* message,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(*request != MPI_REQUEST_NULL)
-MPI_METHOD
-MPI_Cancel(
-    _In_ MPI_Request* request
-    );
-
-_Pre_satisfies_(*request != MPI_REQUEST_NULL)
-MPI_METHOD
-PMPI_Cancel(
-    _In_ MPI_Request* request
-    );
-
-_Pre_satisfies_(status != MPI_STATUS_IGNORE)
-MPI_METHOD
-MPI_Test_cancelled(
-    _In_ const MPI_Status* status,
-    _mpi_out_flag_ int* flag
-    );
-
-_Pre_satisfies_(status != MPI_STATUS_IGNORE)
-MPI_METHOD
-PMPI_Test_cancelled(
-    _In_ const MPI_Status* status,
-    _mpi_out_flag_ int* flag
-    );
-
-
-/*---------------------------------------------*/
-/* Section 3.9: Persistent Communication       */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Send_init(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Send_init(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_Bsend_init(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Bsend_init(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_Ssend_init(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Ssend_init(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_Rsend_init(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Rsend_init(
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_Recv_init(
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Recv_init(
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int tag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(*request != MPI_REQUEST_NULL)
-MPI_METHOD
-MPI_Start(
-    _Inout_ MPI_Request* request
-    );
-
-_Pre_satisfies_(*request != MPI_REQUEST_NULL)
-MPI_METHOD
-PMPI_Start(
-    _Inout_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_Startall(
-    _In_range_(>=, 0) int count,
-    _mpi_updates_(count) MPI_Request array_of_requests[]
-    );
-
-MPI_METHOD
-PMPI_Startall(
-    _In_range_(>=, 0) int count,
-    _mpi_updates_(count) MPI_Request array_of_requests[]
-    );
-
-
-/*---------------------------------------------*/
-/* Section 3.10: Send-Recv                     */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Sendrecv(
-    _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int sendtag,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int recvtag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_Sendrecv(
-    _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int sendtag,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int recvtag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_Sendrecv_replace(
-    _Inout_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int sendtag,
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int recvtag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_Sendrecv_replace(
-    _Inout_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, MPI_PROC_NULL) int dest,
-    _In_range_(>=, 0) int sendtag,
-    _In_range_(>=, MPI_ANY_SOURCE) int source,
-    _In_range_(>=, MPI_ANY_TAG) int recvtag,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Status* status
-    );
-
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 4: Datatypes                                                      */
-/*---------------------------------------------------------------------------*/
-
-/*---------------------------------------------*/
-/* Section 4.1: Derived Datatypes              */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Type_contiguous(
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_contiguous(
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-MPI_Type_vector(
-    _In_range_(>=, 0) int count,
-    _In_range_(>=, 0) int blocklength,
-    _In_ int stride,
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_vector(
-    _In_range_(>=, 0) int count,
-    _In_range_(>=, 0) int blocklength,
-    _In_ int stride,
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-MPI_Type_create_hvector(
-    _In_range_(>=, 0) int count,
-    _In_range_(>=, 0) int blocklength,
-    _In_ MPI_Aint stride,
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_create_hvector(
-    _In_range_(>=, 0) int count,
-    _In_range_(>=, 0) int blocklength,
-    _In_ MPI_Aint stride,
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-MPI_Type_indexed(
-    _In_range_(>=, 0) int count,
-    _mpi_reads_(count) const int array_of_blocklengths[],
-    _mpi_reads_(count) const int array_of_displacements[],
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_indexed(
-    _In_range_(>=, 0) int count,
-    _mpi_reads_(count) const int array_of_blocklengths[],
-    _mpi_reads_(count) const int array_of_displacements[],
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-MPI_Type_create_hindexed(
-    _In_range_(>=, 0) int count,
-    _mpi_reads_(count) const int array_of_blocklengths[],
-    _mpi_reads_(count) const MPI_Aint array_of_displacements[],
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_create_hindexed(
-    _In_range_(>=, 0) int count,
-    _mpi_reads_(count) const int array_of_blocklengths[],
-    _mpi_reads_(count) const MPI_Aint array_of_displacements[],
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-MPI_Type_create_hindexed_block(
-    _In_range_(>=, 0) int count,
-    _In_range_(>=, 0) int blocklength,
-    _mpi_reads_(count) const MPI_Aint array_of_displacements[],
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_create_hindexed_block(
-    _In_range_(>=, 0) int count,
-    _In_range_(>=, 0) int blocklength,
-    _mpi_reads_(count) const MPI_Aint array_of_displacements[],
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-MPI_Type_create_indexed_block(
-    _In_range_(>=, 0) int count,
-    _In_range_(>=, 0) int blocklength,
-    _mpi_reads_(count) const int array_of_displacements[],
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_create_indexed_block(
-    _In_range_(>=, 0) int count,
-    _In_range_(>=, 0) int blocklength,
-    _mpi_reads_(count) const int array_of_displacements[],
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-MPI_Type_create_struct(
-    _In_range_(>=, 0) int count,
-    _mpi_reads_(count) const int array_of_blocklengths[],
-    _mpi_reads_(count) const MPI_Aint array_of_displacements[],
-    _mpi_reads_(count) const MPI_Datatype array_of_types[],
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_create_struct(
-    _In_range_(>=, 0) int count,
-    _mpi_reads_(count) const int array_of_blocklengths[],
-    _mpi_reads_(count) const MPI_Aint array_of_displacements[],
-    _mpi_reads_(count) const MPI_Datatype array_of_types[],
-    _Out_ MPI_Datatype* newtype
-    );
-
-
-#define MPI_ORDER_C         56
-#define MPI_ORDER_FORTRAN   57
-
-MPI_METHOD
-MPI_Type_create_subarray(
-    _In_range_(>=, 0) int ndims,
-    _mpi_reads_(ndims) const int array_of_sizes[],
-    _mpi_reads_(ndims) const int array_of_subsizes[],
-    _mpi_reads_(ndims) const int array_of_starts[],
-    _In_range_(MPI_ORDER_C, MPI_ORDER_FORTRAN) int order,
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_create_subarray(
-    _In_range_(>=, 0) int ndims,
-    _In_reads_opt_(ndims) const int array_of_sizes[],
-    _In_reads_opt_(ndims) const int array_of_subsizes[],
-    _In_reads_opt_(ndims) const int array_of_starts[],
-    _In_range_(MPI_ORDER_C, MPI_ORDER_FORTRAN) int order,
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-
-#define MPI_DISTRIBUTE_BLOCK         121
-#define MPI_DISTRIBUTE_CYCLIC        122
-#define MPI_DISTRIBUTE_NONE          123
-#define MPI_DISTRIBUTE_DFLT_DARG (-49767)
-
-_Pre_satisfies_(
-    order == MPI_DISTRIBUTE_DFLT_DARG ||
-    (order >= MPI_DISTRIBUTE_BLOCK && order <= MPI_DISTRIBUTE_NONE)
-    )
-MPI_METHOD
-MPI_Type_create_darray(
-    _In_range_(>=, 0) int size,
-    _In_range_(>=, 0) int rank,
-    _In_range_(>=, 0) int ndims,
-    _mpi_reads_(ndims) const int array_of_gsizes[],
-    _mpi_reads_(ndims) const int array_of_distribs[],
-    _mpi_reads_(ndims) const int array_of_dargs[],
-    _mpi_reads_(ndims) const int array_of_psizes[],
-    _In_ int order,
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-_Pre_satisfies_(
-    order == MPI_DISTRIBUTE_DFLT_DARG ||
-    (order >= MPI_DISTRIBUTE_BLOCK && order <= MPI_DISTRIBUTE_NONE)
-    )
-MPI_METHOD
-PMPI_Type_create_darray(
-    _In_range_(>=, 0) int size,
-    _In_range_(>=, 0) int rank,
-    _In_range_(>=, 0) int ndims,
-    _mpi_reads_(ndims) const int array_of_gsizes[],
-    _mpi_reads_(ndims) const int array_of_distribs[],
-    _mpi_reads_(ndims) const int array_of_dargs[],
-    _mpi_reads_(ndims) const int array_of_psizes[],
-    _In_ int order,
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-
-/*---------------------------------------------*/
-/* Section 4.1.5: Datatype Address and Size    */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Get_address(
-    _In_ const void* location,
-    _Out_ MPI_Aint* address
-    );
-
-MPI_METHOD
-PMPI_Get_address(
-    _In_ const void* location,
-    _Out_ MPI_Aint* address
-    );
-
-MPI_Aint
-MPI_Aint_add(
-    _In_ MPI_Aint base,
-    _In_ MPI_Aint disp
-    );
-
-MPI_Aint
-PMPI_Aint_add(
-    _In_ MPI_Aint base,
-    _In_ MPI_Aint disp
-    );
-
-MPI_Aint
-MPI_Aint_diff(
-    _In_ MPI_Aint base,
-    _In_ MPI_Aint disp
-    );
-
-MPI_Aint
-PMPI_Aint_diff(
-    _In_ MPI_Aint base,
-    _In_ MPI_Aint disp
-    );
-
-MPI_METHOD
-MPI_Type_size(
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(size, MPI_UNDEFINED) int* size
-    );
-
-MPI_METHOD
-PMPI_Type_size(
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(size, MPI_UNDEFINED) int* size
-    );
-
-MPI_METHOD
-MPI_Type_size_x(
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(size, MPI_UNDEFINED) MPI_Count *size
-    );
-
-MPI_METHOD
-PMPI_Type_size_x(
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(size, MPI_UNDEFINED) MPI_Count *size
-    );
-
-
-/*---------------------------------------------*/
-/* Section 4.1.7: Datatype Extent and Bounds   */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Type_get_extent(
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(lb, MPI_UNDEFINED) MPI_Aint* lb,
-    _mpi_out_(extent, MPI_UNDEFINED) MPI_Aint* extent
-    );
-
-MPI_METHOD
-PMPI_Type_get_extent(
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(lb, MPI_UNDEFINED) MPI_Aint* lb,
-    _mpi_out_(extent, MPI_UNDEFINED) MPI_Aint* extent
-    );
-
-MPI_METHOD
-MPI_Type_get_extent_x(
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(lb, MPI_UNDEFINED) MPI_Count *lb,
-    _mpi_out_(extent, MPI_UNDEFINED) MPI_Count *extent
-    );
-
-MPI_METHOD
-PMPI_Type_get_extent_x(
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(lb, MPI_UNDEFINED) MPI_Count *lb,
-    _mpi_out_(extent, MPI_UNDEFINED) MPI_Count *extent
-    );
-
-MPI_METHOD
-MPI_Type_create_resized(
-    _In_ MPI_Datatype oldtype,
-    _In_ MPI_Aint lb,
-    _In_range_(>=, 0) MPI_Aint extent,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_create_resized(
-    _In_ MPI_Datatype oldtype,
-    _In_ MPI_Aint lb,
-    _In_range_(>=, 0) MPI_Aint extent,
-    _Out_ MPI_Datatype* newtype
-    );
-
-
-/*---------------------------------------------*/
-/* Section 4.1.8: Datatype True Extent         */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Type_get_true_extent(
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(true_lb, MPI_UNDEFINED) MPI_Aint* true_lb,
-    _mpi_out_(true_extent, MPI_UNDEFINED) MPI_Aint* true_extent
-    );
-
-MPI_METHOD
-PMPI_Type_get_true_extent(
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(true_lb, MPI_UNDEFINED) MPI_Aint* true_lb,
-    _mpi_out_(true_extent, MPI_UNDEFINED) MPI_Aint* true_extent
-    );
-
-MPI_METHOD
-MPI_Type_get_true_extent_x(
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(true_lb, MPI_UNDEFINED) MPI_Count *true_lb,
-    _mpi_out_(true_extent, MPI_UNDEFINED) MPI_Count *true_extent
-    );
-
-MPI_METHOD
-PMPI_Type_get_true_extent_x(
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(true_lb, MPI_UNDEFINED) MPI_Count *true_lb,
-    _mpi_out_(true_extent, MPI_UNDEFINED) MPI_Count *true_extent
-    );
-
-
-/*---------------------------------------------*/
-/* Section 4.1.9: Datatype Commit and Free     */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Type_commit(
-    _In_ MPI_Datatype* datatype
-    );
-
-MPI_METHOD
-PMPI_Type_commit(
-    _In_ MPI_Datatype* datatype
-    );
-
-MPI_METHOD
-MPI_Type_free(
-    _Deref_out_range_(==, MPI_DATATYPE_NULL) _Inout_ MPI_Datatype* datatype
-    );
-
-MPI_METHOD
-PMPI_Type_free(
-    _Deref_out_range_(==, MPI_DATATYPE_NULL) _Inout_ MPI_Datatype* datatype
-    );
-
-
-/*---------------------------------------------*/
-/* Section 4.1.10: Datatype Duplication        */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Type_dup(
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_dup(
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-
-/*---------------------------------------------*/
-/* Section 4.1.11: Datatype and Communication  */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Get_elements(
-    _In_ const MPI_Status* status,
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(count, MPI_UNDEFINED) int* count
-    );
-
-MPI_METHOD
-PMPI_Get_elements(
-    _In_ const MPI_Status* status,
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(count, MPI_UNDEFINED) int* count
-    );
-
-MPI_METHOD
-MPI_Get_elements_x(
-    _In_ const MPI_Status* status,
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(count, MPI_UNDEFINED) MPI_Count *count
-    );
-
-MPI_METHOD
-PMPI_Get_elements_x(
-    _In_ const MPI_Status* status,
-    _In_ MPI_Datatype datatype,
-    _mpi_out_(count, MPI_UNDEFINED) MPI_Count *count
-    );
-
-
-/*---------------------------------------------*/
-/* Section 4.1.13: Decoding a Datatype         */
-/*---------------------------------------------*/
-
-/* Datatype combiners result */
-enum
-{
-    MPI_COMBINER_NAMED            = 1,
-    MPI_COMBINER_DUP              = 2,
-    MPI_COMBINER_CONTIGUOUS       = 3,
-    MPI_COMBINER_VECTOR           = 4,
-    MPI_COMBINER_HVECTOR_INTEGER  = 5,
-    MPI_COMBINER_HVECTOR          = 6,
-    MPI_COMBINER_INDEXED          = 7,
-    MPI_COMBINER_HINDEXED_INTEGER = 8,
-    MPI_COMBINER_HINDEXED         = 9,
-    MPI_COMBINER_INDEXED_BLOCK    = 10,
-    MPI_COMBINER_STRUCT_INTEGER   = 11,
-    MPI_COMBINER_STRUCT           = 12,
-    MPI_COMBINER_SUBARRAY         = 13,
-    MPI_COMBINER_DARRAY           = 14,
-    MPI_COMBINER_F90_REAL         = 15,
-    MPI_COMBINER_F90_COMPLEX      = 16,
-    MPI_COMBINER_F90_INTEGER      = 17,
-    MPI_COMBINER_RESIZED          = 18,
-    MPI_COMBINER_HINDEXED_BLOCK   = 19
-};
-
-MPI_METHOD
-MPI_Type_get_envelope(
-    _In_ MPI_Datatype datatype,
-    _Out_ _Deref_out_range_(>=, 0) int* num_integers,
-    _Out_ _Deref_out_range_(>=, 0) int* num_addresses,
-    _Out_ _Deref_out_range_(>=, 0) int* num_datatypes,
-    _Out_ _Deref_out_range_(MPI_COMBINER_NAMED, MPI_COMBINER_RESIZED) int* combiner
-    );
-
-MPI_METHOD
-PMPI_Type_get_envelope(
-    _In_ MPI_Datatype datatype,
-    _Out_ _Deref_out_range_(>=, 0) int* num_integers,
-    _Out_ _Deref_out_range_(>=, 0) int* num_addresses,
-    _Out_ _Deref_out_range_(>=, 0) int* num_datatypes,
-    _Out_ _Deref_out_range_(MPI_COMBINER_NAMED, MPI_COMBINER_RESIZED) int* combiner
-    );
-
-MPI_METHOD
-MPI_Type_get_contents(
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, 0) int max_integers,
-    _In_range_(>=, 0) int max_addresses,
-    _In_range_(>=, 0) int max_datatypes,
-    _mpi_writes_(max_integers) int array_of_integers[],
-    _mpi_writes_(max_addresses) MPI_Aint array_of_addresses[],
-    _mpi_writes_(max_datatypes) MPI_Datatype array_of_datatypes[]
-    );
-
-MPI_METHOD
-PMPI_Type_get_contents(
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, 0) int max_integers,
-    _In_range_(>=, 0) int max_addresses,
-    _In_range_(>=, 0) int max_datatypes,
-    _mpi_writes_(max_integers) int array_of_integers[],
-    _mpi_writes_(max_addresses) MPI_Aint array_of_addresses[],
-    _mpi_writes_(max_datatypes) MPI_Datatype array_of_datatypes[]
-    );
-
-
-/*---------------------------------------------*/
-/* Section 4.2: Datatype Pack and Unpack       */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Pack(
-    _In_opt_ const void* inbuf,
-    _In_range_(>=, 0) int incount,
-    _In_ MPI_Datatype datatype,
-    _mpi_writes_bytes_(outsize) void* outbuf,
-    _In_range_(>=, 0) int outsize,
-    _mpi_position_(outsize) int* position,
-    _In_ MPI_Comm comm
-    );
-
-MPI_METHOD
-PMPI_Pack(
-    _In_opt_ const void* inbuf,
-    _In_range_(>=, 0) int incount,
-    _In_ MPI_Datatype datatype,
-    _mpi_writes_bytes_(outsize) void* outbuf,
-    _In_range_(>=, 0) int outsize,
-    _mpi_position_(outsize) int* position,
-    _In_ MPI_Comm comm
-    );
-
-MPI_METHOD
-MPI_Unpack(
-    _mpi_reads_bytes_(insize) const void* inbuf,
-    _In_range_(>=, 0) int insize,
-    _mpi_position_(insize) int* position,
-    _When_(insize > 0, _Out_opt_) void* outbuf,
-    _In_range_(>=, 0) int outcount,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Comm comm
-    );
-
-MPI_METHOD
-PMPI_Unpack(
-    _mpi_reads_bytes_(insize) const void* inbuf,
-    _In_range_(>=, 0) int insize,
-    _mpi_position_(insize) int* position,
-    _When_(insize > 0, _Out_opt_) void* outbuf,
-    _In_range_(>=, 0) int outcount,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Comm comm
-    );
-
-MPI_METHOD
-MPI_Pack_size(
-    _In_range_(>=, 0) int incount,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Comm comm,
-    _mpi_out_(size, MPI_UNDEFINED) int *size
-    );
-
-MPI_METHOD
-PMPI_Pack_size(
-    _In_range_(>=, 0) int incount,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Comm comm,
-    _mpi_out_(size, MPI_UNDEFINED) int *size
-    );
-
-
-/*---------------------------------------------*/
-/* Section 4.3: Canonical Pack and Unpack      */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Pack_external(
-    _In_z_ const char* datarep,
-    _In_opt_ const void* inbuf,
-    _In_range_(>=, 0) int incount,
-    _In_ MPI_Datatype datatype,
-    _mpi_writes_bytes_(outsize) void* outbuf,
-    _In_range_(>=, 0) MPI_Aint outsize,
-    _mpi_position_(outsize) MPI_Aint* position
-    );
-
-MPI_METHOD
-PMPI_Pack_external(
-    _In_z_ const char* datarep,
-    _In_opt_ const void* inbuf,
-    _In_range_(>=, 0) int incount,
-    _In_ MPI_Datatype datatype,
-    _mpi_writes_bytes_(outsize) void* outbuf,
-    _In_range_(>=, 0) MPI_Aint outsize,
-    _mpi_position_(outsize) MPI_Aint* position
-    );
-
-MPI_METHOD
-MPI_Unpack_external(
-    _In_z_ const char* datarep,
-    _In_reads_bytes_opt_(insize) const void* inbuf,
-    _In_range_(>=, 0) MPI_Aint insize,
-    _mpi_position_(insize) MPI_Aint* position,
-    _When_(insize > 0, _Out_opt_) void* outbuf,
-    _In_range_(>=, 0) int outcount,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-PMPI_Unpack_external(
-    _In_z_ const char* datarep,
-    _In_reads_bytes_opt_(insize) const void* inbuf,
-    _In_range_(>=, 0) MPI_Aint insize,
-    _mpi_position_(insize) MPI_Aint* position,
-    _When_(insize > 0, _Out_opt_) void* outbuf,
-    _In_range_(>=, 0) int outcount,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-MPI_Pack_external_size(
-    _In_z_ const char* datarep,
-    _In_range_(>=, 0) int incount,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Aint* size
-    );
-
-MPI_METHOD
-PMPI_Pack_external_size(
-    _In_z_ const char* datarep,
-    _In_range_(>=, 0) int incount,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Aint* size
-    );
-
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 5: Collective Communication                                       */
-/*---------------------------------------------------------------------------*/
-
-#define MPI_IN_PLACE ((void*)(MPI_Aint)-1)
-
-/*---------------------------------------------*/
-/* Section 5.3: Barrier Synchronization        */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Barrier(
-    _In_ MPI_Comm comm
-    );
-
-MPI_METHOD
-PMPI_Barrier(
-    _In_ MPI_Comm comm
-    );
-
-
-/*---------------------------------------------*/
-/* Section 5.4: Broadcast                      */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Bcast(
-    _Pre_opt_valid_ void* buffer,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm
-    );
-
-MPI_METHOD
-PMPI_Bcast(
-    _Pre_opt_valid_ void* buffer,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm
-    );
-
-
-/*---------------------------------------------*/
-/* Section 5.5: Gather                         */
-/*---------------------------------------------*/
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Gather(
-    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Gather(
-    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Gatherv(
-    _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_opt_ const int recvcounts[],
-    _In_opt_ const int displs[],
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Gatherv(
-    _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_opt_ const int recvcounts[],
-    _In_opt_ const int displs[],
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm
-    );
-
-
-/*---------------------------------------------*/
-/* Section 5.6: Scatter                        */
-/*---------------------------------------------*/
-
-_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Scatter(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Scatter(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Scatterv(
-    _In_opt_ const void* sendbuf,
-    _In_opt_ const int sendcounts[],
-    _In_opt_ const int displs[],
-    _In_ MPI_Datatype sendtype,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Scatterv(
-    _In_opt_ const void* sendbuf,
-    _In_opt_ const int sendcounts[],
-    _In_opt_ const int displs[],
-    _In_ MPI_Datatype sendtype,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm
-    );
-
-
-/*---------------------------------------------*/
-/* Section 5.6: Gather-to-all                  */
-/*---------------------------------------------*/
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Allgather(
-    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Allgather(
-    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Allgatherv(
-    _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ const int displs[],
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Allgatherv(
-    _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ const int displs[],
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm
-    );
-
-
-/*---------------------------------------------*/
-/* Section 5.6: All-to-All Scatter/Gather      */
-/*---------------------------------------------*/
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Alltoall(
-    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Alltoall(
-    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Alltoallv(
-    _In_opt_ const void* sendbuf,
-    _In_opt_ const int sendcounts[],
-    _In_opt_ const int sdispls[],
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ const int rdispls[],
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Alltoallv(
-    _In_opt_ const void* sendbuf,
-    _In_opt_ const int sendcounts[],
-    _In_opt_ const int sdispls[],
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ const int rdispls[],
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Alltoallw(
-    _In_opt_ const void* sendbuf,
-    _In_opt_ const int sendcounts[],
-    _In_opt_ const int sdispls[],
-    _In_opt_ const MPI_Datatype sendtypes[],
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ const int rdispls[],
-    _In_ const MPI_Datatype recvtypes[],
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Alltoallw(
-    _In_opt_ const void* sendbuf,
-    _In_opt_ const int sendcounts[],
-    _In_opt_ const int sdispls[],
-    _In_opt_ const MPI_Datatype sendtypes[],
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ const int rdispls[],
-    _In_ const MPI_Datatype recvtypes[],
-    _In_ MPI_Comm comm
-    );
-
-
-/*---------------------------------------------*/
-/* Section 5.9: Global Reduction Operations    */
-/*---------------------------------------------*/
-
-typedef
-void
-(MPIAPI MPI_User_function)(
-    _In_opt_ void* invec,
-    _Inout_opt_ void* inoutvec,
-    _In_ int* len,
-    _In_ MPI_Datatype* datatype
-    );
-
-MPI_METHOD
-MPI_Op_commutative(
-    _In_ MPI_Op op,
-    _Out_ int* commute
-    );
-
-MPI_METHOD
-PMPI_Op_commutative(
-    _In_ MPI_Op op,
-    _Out_ int* commute
-    );
-
-MPI_METHOD
-MPI_Op_create(
-    _In_ MPI_User_function* user_fn,
-    _In_ int commute,
-    _Out_ MPI_Op* op
-    );
-
-MPI_METHOD
-PMPI_Op_create(
-    _In_ MPI_User_function* user_fn,
-    _In_ int commute,
-    _Out_ MPI_Op* op
-    );
-
-MPI_METHOD
-MPI_Op_free(
-    _Inout_ MPI_Op* op
-    );
-
-MPI_METHOD
-PMPI_Op_free(
-    _Inout_ MPI_Op* op
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Reduce(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Reduce(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Allreduce(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Allreduce(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(inbuf != MPI_IN_PLACE)
-_Pre_satisfies_(inoutbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Reduce_local(
-    _In_opt_ _In_range_(!=, inoutbuf) const void *inbuf,
-    _Inout_opt_ void *inoutbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op
-    );
-
-_Pre_satisfies_(inbuf != MPI_IN_PLACE)
-_Pre_satisfies_(inoutbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Reduce_local(
-    _In_opt_ _In_range_(!=, inoutbuf) const void *inbuf,
-    _Inout_opt_ void *inoutbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op
-    );
-
-/*---------------------------------------------*/
-/* Section 5.10: Reduce-Scatter                */
-/*---------------------------------------------*/
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Reduce_scatter_block(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=,0) int recvcount,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Reduce_scatter_block(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Reduce_scatter(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Reduce_scatter(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm
-    );
-
-
-/*---------------------------------------------*/
-/* Section 5.11: Scan                          */
-/*---------------------------------------------*/
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Scan(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Scan(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Exscan(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Exscan(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm
-    );
-
-
-//
-// Section 5.12: Nonblocking Collective Operations
-//
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Iallgather(
-    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Iallgather(
-    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Iallgatherv(
-    _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ const int displs[],
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Iallgatherv(
-    _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ const int displs[],
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Iallreduce(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Iallreduce(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Ialltoall(
-    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Ialltoall(
-    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Ialltoallv(
-    _In_opt_ const void* sendbuf,
-    _In_opt_ const int sendcounts[],
-    _In_opt_ const int sdispls[],
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ const int rdispls[],
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Ialltoallv(
-    _In_opt_ const void* sendbuf,
-    _In_opt_ const int sendcounts[],
-    _In_opt_ const int sdispls[],
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ const int rdispls[],
-    _In_ MPI_Datatype recvtype,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Ialltoallw(
-    _In_opt_ const void* sendbuf,
-    _In_opt_ const int sendcounts[],
-    _In_opt_ const int sdispls[],
-    _In_opt_ const MPI_Datatype sendtypes[],
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ const int rdispls[],
-    _In_ const MPI_Datatype recvtypes[],
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Ialltoallw(
-    _In_opt_ const void* sendbuf,
-    _In_opt_ const int sendcounts[],
-    _In_opt_ const int sdispls[],
-    _In_opt_ const MPI_Datatype sendtypes[],
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ const int rdispls[],
-    _In_ const MPI_Datatype recvtypes[],
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_Ibarrier(
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Ibarrier(
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_Ibcast(
-    _Pre_opt_valid_ void* buffer,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Ibcast(
-    _Pre_opt_valid_ void* buffer,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Iexscan(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Iexscan(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Igather(
-    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Igather(
-    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Igatherv(
-    _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_opt_ const int recvcounts[],
-    _In_opt_ const int displs[],
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Igatherv(
-    _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _Out_opt_ void* recvbuf,
-    _In_opt_ const int recvcounts[],
-    _In_opt_ const int displs[],
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Ireduce(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Ireduce(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Ireduce_scatter(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Ireduce_scatter(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_ const int recvcounts[],
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Iscan(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Iscan(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Ireduce_scatter_block(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=,0) int recvcount,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Ireduce_scatter_block(
-    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
-    _Out_opt_ void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Iscatter(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Iscatter(
-    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
-    _In_range_(>=, 0) int sendcount,
-    _In_ MPI_Datatype sendtype,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
-MPI_METHOD
-MPI_Iscatterv(
-    _In_opt_ const void* sendbuf,
-    _In_opt_ const int sendcounts[],
-    _In_opt_ const int displs[],
-    _In_ MPI_Datatype sendtype,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
-MPI_METHOD
-PMPI_Iscatterv(
-    _In_opt_ const void* sendbuf,
-    _In_opt_ const int sendcounts[],
-    _In_opt_ const int displs[],
-    _In_ MPI_Datatype sendtype,
-    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
-    _In_range_(>=, 0) int recvcount,
-    _In_ MPI_Datatype recvtype,
-    _mpi_coll_rank_(root) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Request* request
-    );
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 6: Groups, Contexts, Communicators, and Caching                   */
-/*---------------------------------------------------------------------------*/
-
-/*---------------------------------------------*/
-/* Section 6.3: Group Management               */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Group_size(
-    _In_ MPI_Group group,
-    _Out_ _Deref_out_range_(>, 0) int* size
-    );
-
-MPI_METHOD
-PMPI_Group_size(
-    _In_ MPI_Group group,
-    _Out_ _Deref_out_range_(>, 0) int* size
-    );
-
-MPI_METHOD
-MPI_Group_rank(
-    _In_ MPI_Group group,
-    _Out_ _Deref_out_range_(>=, MPI_UNDEFINED) int* rank
-    );
-
-MPI_METHOD
-PMPI_Group_rank(
-    _In_ MPI_Group group,
-    _Out_ _Deref_out_range_(>=, MPI_UNDEFINED) int* rank
-    );
-
-MPI_METHOD
-MPI_Group_translate_ranks(
-    _In_ MPI_Group group1,
-    _In_ int n,
-    _In_reads_opt_(n) const int ranks1[],
-    _In_ MPI_Group group2,
-    _Out_writes_opt_(n) int ranks2[]
-    );
-
-MPI_METHOD
-PMPI_Group_translate_ranks(
-    _In_ MPI_Group group1,
-    _In_ int n,
-    _In_reads_opt_(n) const int ranks1[],
-    _In_ MPI_Group group2,
-    _Out_writes_opt_(n) int ranks2[]
-    );
-
-/* Results of the compare operations */
-#define MPI_IDENT       0
-#define MPI_CONGRUENT   1
-#define MPI_SIMILAR     2
-#define MPI_UNEQUAL     3
-
-MPI_METHOD
-MPI_Group_compare(
-    _In_ MPI_Group group1,
-    _In_ MPI_Group group2,
-    _Out_ int* result
-    );
-
-MPI_METHOD
-PMPI_Group_compare(
-    _In_ MPI_Group group1,
-    _In_ MPI_Group group2,
-    _Out_ int* result
-    );
-
-MPI_METHOD
-MPI_Comm_group(
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Group* group
-    );
-
-MPI_METHOD
-PMPI_Comm_group(
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Group* group
-    );
-
-MPI_METHOD
-MPI_Group_union(
-    _In_ MPI_Group group1,
-    _In_ MPI_Group group2,
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-PMPI_Group_union(
-    _In_ MPI_Group group1,
-    _In_ MPI_Group group2,
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-MPI_Group_intersection(
-    _In_ MPI_Group group1,
-    _In_ MPI_Group group2,
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-PMPI_Group_intersection(
-   _In_  MPI_Group group1,
-    _In_ MPI_Group group2,
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-MPI_Group_difference(
-    _In_ MPI_Group group1,
-    _In_ MPI_Group group2,
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-PMPI_Group_difference(
-    _In_ MPI_Group group1,
-    _In_ MPI_Group group2,
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-MPI_Group_incl(
-    _In_ MPI_Group group,
-    _In_range_(>=, 0) int n,
-    _In_reads_opt_(n) const int ranks[],
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-PMPI_Group_incl(
-    _In_ MPI_Group group,
-    _In_range_(>=, 0) int n,
-    _In_reads_opt_(n) const int ranks[],
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-MPI_Group_excl(
-    _In_ MPI_Group group,
-    _In_range_(>=, 0) int n,
-    _In_reads_opt_(n) const int ranks[],
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-PMPI_Group_excl(
-    _In_ MPI_Group group,
-    _In_range_(>=, 0) int n,
-    _In_reads_opt_(n) const int ranks[],
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-MPI_Group_range_incl(
-    _In_ MPI_Group group,
-    _In_range_(>=, 0) int n,
-    _In_reads_opt_(n) int ranges[][3],
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-PMPI_Group_range_incl(
-    _In_ MPI_Group group,
-    _In_range_(>=, 0) int n,
-    _In_reads_opt_(n) int ranges[][3],
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-MPI_Group_range_excl(
-    _In_ MPI_Group group,
-    _In_range_(>=, 0) int n,
-    _In_reads_opt_(n) int ranges[][3],
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-PMPI_Group_range_excl(
-    _In_ MPI_Group group,
-    _In_range_(>=, 0) int n,
-    _In_reads_opt_(n) int ranges[][3],
-    _Out_ MPI_Group* newgroup
-    );
-
-MPI_METHOD
-MPI_Group_free(
-    _Inout_ MPI_Group* group
-    );
-
-MPI_METHOD
-PMPI_Group_free(
-    _Inout_ MPI_Group* group
-    );
-
-
-/*---------------------------------------------*/
-/* Section 6.4: Communicator Management        */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Comm_size(
-    _In_ MPI_Comm comm,
-    _Out_ _Deref_out_range_(>, 0) int* size
-    );
-
-MPI_METHOD
-PMPI_Comm_size(
-    _In_ MPI_Comm comm,
-    _Out_ _Deref_out_range_(>, 0) int* size
-    );
-
-MPI_METHOD
-MPI_Comm_rank(
-    _In_ MPI_Comm comm,
-    _Out_ _Deref_out_range_(>=, 0)  int* rank
-    );
-
-MPI_METHOD
-PMPI_Comm_rank(
-    _In_ MPI_Comm comm,
-    _Out_ _Deref_out_range_(>=, 0)  int* rank
-    );
-
-MPI_METHOD
-MPI_Comm_compare(
-    _In_ MPI_Comm comm1,
-    _In_ MPI_Comm comm2,
-    _Out_ int* result
-    );
-
-MPI_METHOD
-PMPI_Comm_compare(
-    _In_ MPI_Comm comm1,
-    _In_ MPI_Comm comm2,
-    _Out_ int* result
-    );
-
-MPI_METHOD
-MPI_Comm_dup(
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Comm* newcomm
-    );
-
-MPI_METHOD
-PMPI_Comm_dup(
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Comm* newcomm
-    );
-
-MPI_METHOD
-MPI_Comm_create(
-    _In_ MPI_Comm comm,
-    _In_ MPI_Group group,
-    _Out_ MPI_Comm* newcomm
-    );
-
-MPI_METHOD
-PMPI_Comm_create(
-    _In_ MPI_Comm comm,
-    _In_ MPI_Group group,
-    _Out_ MPI_Comm* newcomm
-    );
-
-MPI_METHOD
-MPI_Comm_split(
-    _In_ MPI_Comm comm,
-    _In_ int color,
-    _In_ int key,
-    _Out_ MPI_Comm* newcomm
-    );
-
-MPI_METHOD
-PMPI_Comm_split(
-    _In_ MPI_Comm comm,
-    _In_ int color,
-    _In_ int key,
-    _Out_ MPI_Comm* newcomm
-    );
-
-MPI_METHOD
-MPI_Comm_split_type(
-    _In_ MPI_Comm comm,
-    _In_ int split_type,
-    _In_ int key,
-    _In_ MPI_Info info,
-    _Out_ MPI_Comm *newcomm
-    );
-
-MPI_METHOD
-PMPI_Comm_split_type(
-    _In_ MPI_Comm comm,
-    _In_ int split_type,
-    _In_ int key,
-    _In_ MPI_Info info,
-    _Out_ MPI_Comm *newcomm
-    );
-
-MPI_METHOD
-MPI_Comm_free(
-    _Inout_ MPI_Comm* comm
-    );
-
-MPI_METHOD
-PMPI_Comm_free(
-    _Inout_ MPI_Comm* comm
-    );
-
-
-/*---------------------------------------------*/
-/* Section 6.6: Inter-Communication            */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Comm_test_inter(
-    _In_ MPI_Comm comm,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-PMPI_Comm_test_inter(
-    _In_ MPI_Comm comm,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-MPI_Comm_remote_size(
-    _In_ MPI_Comm comm,
-    _Out_ int* size
-    );
-
-MPI_METHOD
-PMPI_Comm_remote_size(
-    _In_ MPI_Comm comm,
-    _Out_ int* size
-    );
-
-MPI_METHOD
-MPI_Comm_remote_group(
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Group* group
-    );
-
-MPI_METHOD
-PMPI_Comm_remote_group(
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Group* group
-    );
-
-MPI_METHOD
-MPI_Intercomm_create(
-    _In_ MPI_Comm local_comm,
-    _In_range_(>=, 0) int local_leader,
-    _In_ MPI_Comm peer_comm,
-    _In_range_(>=, 0) int remote_leader,
-    _In_range_(>=, 0) int tag,
-    _Out_ MPI_Comm* newintercomm
-    );
-
-MPI_METHOD
-PMPI_Intercomm_create(
-    _In_ MPI_Comm local_comm,
-    _In_range_(>=, 0) int local_leader,
-    _In_ MPI_Comm peer_comm,
-    _In_range_(>=, 0) int remote_leader,
-    _In_range_(>=, 0) int tag,
-    _Out_ MPI_Comm* newintercomm
-    );
-
-MPI_METHOD
-MPI_Intercomm_merge(
-    _In_ MPI_Comm intercomm,
-    _In_ int high,
-    _Out_ MPI_Comm* newintracomm
-    );
-
-MPI_METHOD
-PMPI_Intercomm_merge(
-    _In_ MPI_Comm intercomm,
-    _In_ int high,
-    _Out_ MPI_Comm* newintracomm
-    );
-
-
-/*---------------------------------------------*/
-/* Section 6.7: Caching                        */
-/*---------------------------------------------*/
-
-#define MPI_KEYVAL_INVALID  0x24000000
-
-typedef
-int
-(MPIAPI MPI_Comm_copy_attr_function)(
-    _In_ MPI_Comm oldcomm,
-    _In_ int comm_keyval,
-    _In_opt_ void* extra_state,
-    _In_opt_ void* attribute_val_in,
-    _Out_ void* attribute_val_out,
-    _mpi_out_flag_ int* flag
-    );
-
-typedef
-int
-(MPIAPI MPI_Comm_delete_attr_function)(
-    _In_ MPI_Comm comm,
-    _In_ int comm_keyval,
-    _In_opt_ void* attribute_val,
-    _In_opt_ void* extra_state
-    );
-
-#define MPI_COMM_NULL_COPY_FN ((MPI_Comm_copy_attr_function*)0)
-#define MPI_COMM_NULL_DELETE_FN ((MPI_Comm_delete_attr_function*)0)
-#define MPI_COMM_DUP_FN ((MPI_Comm_copy_attr_function*)MPIR_Dup_fn)
-
-MPI_METHOD
-MPI_Comm_create_keyval(
-    _In_opt_ MPI_Comm_copy_attr_function* comm_copy_attr_fn,
-    _In_opt_ MPI_Comm_delete_attr_function* comm_delete_attr_fn,
-    _Out_ int* comm_keyval,
-    _In_opt_ void* extra_state
-    );
-
-MPI_METHOD
-PMPI_Comm_create_keyval(
-    _In_opt_ MPI_Comm_copy_attr_function* comm_copy_attr_fn,
-    _In_opt_ MPI_Comm_delete_attr_function* comm_delete_attr_fn,
-    _Out_ int* comm_keyval,
-    _In_opt_ void* extra_state
-    );
-
-MPI_METHOD
-MPI_Comm_free_keyval(
-    _Inout_ int* comm_keyval
-    );
-
-MPI_METHOD
-PMPI_Comm_free_keyval(
-    _Inout_ int* comm_keyval
-    );
-
-MPI_METHOD
-MPI_Comm_set_attr(
-    _In_ MPI_Comm comm,
-    _In_ int comm_keyval,
-    _In_opt_ void* attribute_val
-    );
-
-MPI_METHOD
-PMPI_Comm_set_attr(
-    _In_ MPI_Comm comm,
-    _In_ int comm_keyval,
-    _In_opt_ void* attribute_val
-    );
-
-
-/* Predefined comm attribute key values */
-/* C Versions (return pointer to value),
-   Fortran Versions (return integer value).
-
-   DO NOT CHANGE THESE.  The values encode:
-   builtin kind (0x1 in bit 30-31)
-   Keyval object (0x9 in bits 26-29)
-   for communicator (0x1 in bits 22-25)
-
-   Fortran versions of the attributes are formed by adding one to
-   the C version.
- */
-#define MPI_TAG_UB          0x64400001
-#define MPI_HOST            0x64400003
-#define MPI_IO              0x64400005
-#define MPI_WTIME_IS_GLOBAL 0x64400007
-#define MPI_UNIVERSE_SIZE   0x64400009
-#define MPI_LASTUSEDCODE    0x6440000b
-#define MPI_APPNUM          0x6440000d
-
-MPI_METHOD
-MPI_Comm_get_attr(
-    _In_ MPI_Comm comm,
-    _In_ int comm_keyval,
-    _When_(*flag != 0, _Out_) void* attribute_val,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-PMPI_Comm_get_attr(
-    _In_ MPI_Comm comm,
-    _In_ int comm_keyval,
-    _When_(*flag != 0, _Out_) void* attribute_val,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-MPI_Comm_delete_attr(
-    _In_ MPI_Comm comm,
-    _In_ int comm_keyval
-    );
-
-MPI_METHOD
-PMPI_Comm_delete_attr(
-    _In_ MPI_Comm comm,
-    _In_ int comm_keyval
-    );
-
-
-typedef
-int
-(MPIAPI MPI_Win_copy_attr_function)(
-    _In_ MPI_Win oldwin,
-    _In_ int win_keyval,
-    _In_opt_ void* extra_state,
-    _In_opt_ void* attribute_val_in,
-    _Out_ void* attribute_val_out,
-    _mpi_out_flag_ int* flag
-    );
-
-typedef
-int
-(MPIAPI MPI_Win_delete_attr_function)(
-    _In_ MPI_Win win,
-    _In_ int win_keyval,
-    _In_opt_ void* attribute_val,
-    _In_opt_ void* extra_state
-    );
-
-#define MPI_WIN_NULL_COPY_FN ((MPI_Win_copy_attr_function*)0)
-#define MPI_WIN_NULL_DELETE_FN ((MPI_Win_delete_attr_function*)0)
-#define MPI_WIN_DUP_FN ((MPI_Win_copy_attr_function*)MPIR_Dup_fn)
-
-MPI_METHOD
-MPI_Win_create_keyval(
-    _In_opt_ MPI_Win_copy_attr_function* win_copy_attr_fn,
-    _In_opt_ MPI_Win_delete_attr_function* win_delete_attr_fn,
-    _Out_ int* win_keyval,
-    _In_opt_ void* extra_state
-    );
-
-MPI_METHOD
-PMPI_Win_create_keyval(
-    _In_opt_ MPI_Win_copy_attr_function* win_copy_attr_fn,
-    _In_opt_ MPI_Win_delete_attr_function* win_delete_attr_fn,
-    _Out_ int* win_keyval,
-    _In_opt_ void* extra_state
-    );
-
-MPI_METHOD
-MPI_Win_free_keyval(
-    _Inout_ int* win_keyval
-    );
-
-MPI_METHOD
-PMPI_Win_free_keyval(
-    _Inout_ int* win_keyval
-    );
-
-MPI_METHOD
-MPI_Win_set_attr(
-    _In_ MPI_Win win,
-    _In_ int win_keyval,
-    _In_opt_ void* attribute_val
-    );
-
-MPI_METHOD
-PMPI_Win_set_attr(
-    _In_ MPI_Win win,
-    _In_ int win_keyval,
-    _In_opt_ void* attribute_val
-    );
-
-
-/* Predefined window key value attributes */
-#define MPI_WIN_BASE              0x66000001
-#define MPI_WIN_SIZE              0x66000003
-#define MPI_WIN_DISP_UNIT         0x66000005
-#define MPI_WIN_CREATE_FLAVOR     0x66000007
-#define MPI_WIN_MODEL             0x66000009
-
-/* MPI Window Create Flavors */
-#define MPI_WIN_FLAVOR_CREATE     1
-#define MPI_WIN_FLAVOR_ALLOCATE   2
-#define MPI_WIN_FLAVOR_DYNAMIC    3
-#define MPI_WIN_FLAVOR_SHARED     4
-
-/* MPI Window Models */
-#define MPI_WIN_SEPARATE          1
-#define MPI_WIN_UNIFIED           2
-
-MPI_METHOD
-MPI_Win_get_attr(
-    _In_ MPI_Win win,
-    _In_ int win_keyval,
-    _When_(*flag != 0, _Out_) void* attribute_val,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-PMPI_Win_get_attr(
-    _In_ MPI_Win win,
-    _In_ int win_keyval,
-    _When_(*flag != 0, _Out_) void* attribute_val,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-MPI_Win_delete_attr(
-    _In_ MPI_Win win,
-    _In_ int win_keyval
-    );
-
-MPI_METHOD
-PMPI_Win_delete_attr(
-    _In_ MPI_Win win,
-    _In_ int win_keyval
-    );
-
-
-typedef
-int
-(MPIAPI MPI_Type_copy_attr_function)(
-    MPI_Datatype olddatatype,
-    int datatype_keyval,
-    _In_opt_ void* extra_state,
-    _In_opt_ void* attribute_val_in,
-    _Out_ void* attribute_val_out,
-    _mpi_out_flag_ int* flag
-    );
-
-typedef
-int
-(MPIAPI MPI_Type_delete_attr_function)(
-    MPI_Datatype datatype,
-    int datatype_keyval,
-    _In_opt_ void* attribute_val,
-    _In_opt_ void* extra_state
-    );
-
-#define MPI_TYPE_NULL_COPY_FN ((MPI_Type_copy_attr_function*)0)
-#define MPI_TYPE_NULL_DELETE_FN ((MPI_Type_delete_attr_function*)0)
-#define MPI_TYPE_DUP_FN ((MPI_Type_copy_attr_function*)MPIR_Dup_fn)
-
-MPI_METHOD
-MPI_Type_create_keyval(
-    _In_opt_ MPI_Type_copy_attr_function* type_copy_attr_fn,
-    _In_opt_ MPI_Type_delete_attr_function* type_delete_attr_fn,
-    _Out_ int* type_keyval,
-    _In_opt_ void* extra_state
-    );
-
-MPI_METHOD
-PMPI_Type_create_keyval(
-    _In_opt_ MPI_Type_copy_attr_function* type_copy_attr_fn,
-    _In_opt_ MPI_Type_delete_attr_function* type_delete_attr_fn,
-    _Out_ int* type_keyval,
-    _In_opt_ void* extra_state
-    );
-
-MPI_METHOD
-MPI_Type_free_keyval(
-    _Inout_ int* type_keyval
-    );
-
-MPI_METHOD
-PMPI_Type_free_keyval(
-    _Inout_ int* type_keyval
-    );
-
-MPI_METHOD
-MPI_Type_set_attr(
-    _In_ MPI_Datatype type,
-    _In_ int type_keyval,
-    _In_opt_ void* attribute_val
-    );
-
-MPI_METHOD
-PMPI_Type_set_attr(
-    _In_ MPI_Datatype type,
-    _In_ int type_keyval,
-    _In_opt_ void* attribute_val
-    );
-
-MPI_METHOD
-MPI_Type_get_attr(
-    _In_ MPI_Datatype type,
-    _In_ int type_keyval,
-    _When_(*flag != 0, _Out_) void* attribute_val,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-PMPI_Type_get_attr(
-    _In_ MPI_Datatype type,
-    _In_ int type_keyval,
-    _When_(*flag != 0, _Out_) void* attribute_val,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-MPI_Type_delete_attr(
-    _In_ MPI_Datatype type,
-    _In_ int type_keyval
-    );
-
-MPI_METHOD
-PMPI_Type_delete_attr(
-    _In_ MPI_Datatype type,
-    _In_ int type_keyval
-    );
-
-
-/*---------------------------------------------*/
-/* Section 6.8: Naming Objects                 */
-/*---------------------------------------------*/
-
-#define MPI_MAX_OBJECT_NAME 128
-
-MPI_METHOD
-MPI_Comm_set_name(
-    _In_ MPI_Comm comm,
-    _In_z_ const char* comm_name
-    );
-
-MPI_METHOD
-PMPI_Comm_set_name(
-    _In_ MPI_Comm comm,
-    _In_z_ const char* comm_name
-    );
-
-MPI_METHOD
-MPI_Comm_get_name(
-    _In_ MPI_Comm comm,
-    _Out_writes_z_(MPI_MAX_OBJECT_NAME) char* comm_name,
-    _Out_ int* resultlen
-    );
-
-MPI_METHOD
-PMPI_Comm_get_name(
-    _In_ MPI_Comm comm,
-    _Out_writes_z_(MPI_MAX_OBJECT_NAME) char* comm_name,
-    _Out_ int* resultlen
-    );
-
-MPI_METHOD
-MPI_Type_set_name(
-    _In_ MPI_Datatype datatype,
-    _In_z_ const char* type_name
-    );
-
-MPI_METHOD
-PMPI_Type_set_name(
-    _In_ MPI_Datatype datatype,
-    _In_z_ const char* type_name
-    );
-
-MPI_METHOD
-MPI_Type_get_name(
-    _In_ MPI_Datatype datatype,
-    _Out_writes_z_(MPI_MAX_OBJECT_NAME) char* type_name,
-    _Out_ int* resultlen
-    );
-
-MPI_METHOD
-PMPI_Type_get_name(
-    _In_ MPI_Datatype datatype,
-    _Out_writes_z_(MPI_MAX_OBJECT_NAME) char* type_name,
-    _Out_ int* resultlen
-    );
-
-MPI_METHOD
-MPI_Win_set_name(
-    _In_ MPI_Win win,
-    _In_z_ const char* win_name
-    );
-
-MPI_METHOD
-PMPI_Win_set_name(
-    _In_ MPI_Win win,
-    _In_z_ const char* win_name
-    );
-
-MPI_METHOD
-MPI_Win_get_name(
-    _In_ MPI_Win win,
-    _Out_writes_z_(MPI_MAX_OBJECT_NAME) char* win_name,
-    _Out_ int* resultlen
-    );
-
-MPI_METHOD
-PMPI_Win_get_name(
-    _In_ MPI_Win win,
-    _Out_writes_z_(MPI_MAX_OBJECT_NAME) char* win_name,
-    _Out_ int* resultlen
-    );
-
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 7: Process Topologies                                             */
-/*---------------------------------------------------------------------------*/
-
-MPI_METHOD
-MPI_Cart_create(
-    _In_ MPI_Comm comm_old,
-    _In_range_(>=, 0) int ndims,
-    _In_reads_opt_(ndims) const int dims[],
-    _In_reads_opt_(ndims) const int periods[],
-    _In_ int reorder,
-    _Out_ MPI_Comm* comm_cart
-    );
-
-MPI_METHOD
-PMPI_Cart_create(
-    _In_ MPI_Comm comm_old,
-    _In_range_(>=, 0) int ndims,
-    _In_reads_opt_(ndims) const int dims[],
-    _In_reads_opt_(ndims) const int periods[],
-    _In_ int reorder,
-    _Out_ MPI_Comm* comm_cart
-    );
-
-MPI_METHOD
-MPI_Dims_create(
-    _In_range_(>, 0) int nnodes,
-    _In_range_(>=, 0) int ndims,
-    _Inout_updates_opt_(ndims) int dims[]
-    );
-
-MPI_METHOD
-PMPI_Dims_create(
-    _In_range_(>, 0) int nnodes,
-    _In_range_(>=, 0) int ndims,
-    _Inout_updates_opt_(ndims) int dims[]
-    );
-
-MPI_METHOD
-MPI_Graph_create(
-    _In_ MPI_Comm comm_old,
-    _In_range_(>=, 0) int nnodes,
-    _In_reads_opt_(nnodes) const int index[],
-    _In_reads_opt_(nnodes) const int edges[],
-    _In_ int reorder,
-    _Out_ MPI_Comm* comm_graph
-    );
-
-MPI_METHOD
-PMPI_Graph_create(
-    _In_ MPI_Comm comm_old,
-    _In_range_(>=, 0) int nnodes,
-    _In_reads_opt_(nnodes) const int index[],
-    _In_opt_ const int edges[],
-    _In_ int reorder,
-    _Out_ MPI_Comm* comm_graph
-    );
-
-MPI_METHOD
-MPI_Dist_graph_create_adjacent(
-    _In_ MPI_Comm comm_old,
-    _In_range_(>=, 0) int indegree,
-    _In_reads_opt_(indegree) const int sources[],
-    _In_reads_opt_(indegree) const int sourceweights[],
-    _In_range_(>=, 0) int outdegree,
-    _In_reads_opt_(outdegree) const int destinations[],
-    _In_reads_opt_(outdegree) const int destweights[],
-    _In_ MPI_Info info,
-    _In_range_(0,1) int reorder,
-    _Out_ MPI_Comm* comm_dist_graph
-);
-
-MPI_METHOD
-PMPI_Dist_graph_create_adjacent(
-    _In_ MPI_Comm comm_old,
-    _In_range_(>=, 0) int indegree,
-    _In_reads_opt_(indegree) const int sources[],
-    _In_reads_opt_(indegree) const int sourceweights[],
-    _In_range_(>=, 0) int outdegree,
-    _In_reads_opt_(outdegree) const int destinations[],
-    _In_reads_opt_(outdegree) const int destweights[],
-    _In_ MPI_Info info,
-    _In_range_(0,1) int reorder,
-    _Out_ MPI_Comm* comm_dist_graph
-);
-
-MPI_METHOD
-MPI_Dist_graph_create(
-    _In_ MPI_Comm comm_old,
-    _In_range_(>=, 0) int n,
-    _In_reads_opt_(n) const int sources[],
-    _In_reads_opt_(n) const int degrees[],
-    _In_opt_ const int destinations[],
-    _In_opt_ const int weights[],
-    _In_ MPI_Info info,
-    _In_range_(0, 1) int reorder,
-    _Out_ MPI_Comm *comm_dist_graph
-    );
-
-MPI_METHOD
-PMPI_Dist_graph_create(
-    _In_ MPI_Comm comm_old,
-    _In_range_(>=, 0) int n,
-    _In_reads_opt_(n) const int sources[],
-    _In_reads_opt_(n) const int degrees[],
-    _In_opt_ const int destinations[],
-    _In_opt_ const int weights[],
-    _In_ MPI_Info info,
-    _In_range_(0, 1) int reorder,
-    _Out_ MPI_Comm *comm_dist_graph
-    );
-
-/* Topology types */
-enum
-{
-    MPI_GRAPH      = 1,
-    MPI_CART       = 2,
-    MPI_DIST_GRAPH = 3
-};
-
-MPI_METHOD
-MPI_Topo_test(
-    _In_ MPI_Comm comm,
-    _Out_ int* status
-    );
-
-MPI_METHOD
-PMPI_Topo_test(
-    _In_ MPI_Comm comm,
-    _Out_ int* status
-    );
-
-MPI_METHOD
-MPI_Graphdims_get(
-   _In_  MPI_Comm comm,
-    _Out_ int* nnodes,
-    _Out_ int* nedges
-    );
-
-MPI_METHOD
-PMPI_Graphdims_get(
-    _In_ MPI_Comm comm,
-    _Out_ int* nnodes,
-    _Out_ int* nedges
-    );
-
-MPI_METHOD
-MPI_Graph_get(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int maxindex,
-    _In_range_(>=, 0) int maxedges,
-    _Out_writes_opt_(maxindex) int index[],
-    _Out_writes_opt_(maxedges) int edges[]
-    );
-
-MPI_METHOD
-PMPI_Graph_get(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int maxindex,
-    _In_range_(>=, 0) int maxedges,
-    _Out_writes_opt_(maxindex) int index[],
-    _Out_writes_opt_(maxedges) int edges[]
-    );
-
-MPI_METHOD
-MPI_Cartdim_get(
-    _In_ MPI_Comm comm,
-    _Out_ int* ndims
-    );
-
-MPI_METHOD
-PMPI_Cartdim_get(
-    _In_ MPI_Comm comm,
-    _Out_ int* ndims
-    );
-
-MPI_METHOD
-MPI_Cart_get(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int maxdims,
-    _Out_writes_opt_(maxdims) int dims[],
-    _Out_writes_opt_(maxdims) int periods[],
-    _Out_writes_opt_(maxdims) int coords[]
-    );
-
-MPI_METHOD
-PMPI_Cart_get(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int maxdims,
-    _Out_writes_opt_(maxdims) int dims[],
-    _Out_writes_opt_(maxdims) int periods[],
-    _Out_writes_opt_(maxdims) int coords[]
-    );
-
-MPI_METHOD
-MPI_Cart_rank(
-    _In_ MPI_Comm comm,
-    _In_ const int coords[],
-    _Out_ _Deref_out_range_(>=, 0) int* rank
-    );
-
-MPI_METHOD
-PMPI_Cart_rank(
-    _In_ MPI_Comm comm,
-    _In_ const int coords[],
-    _Out_ _Deref_out_range_(>=, 0) int* rank
-    );
-
-MPI_METHOD
-MPI_Cart_coords(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int rank,
-    _In_range_(>=, 0) int maxdims,
-    _Out_writes_opt_(maxdims) int coords[]
-    );
-
-MPI_METHOD
-PMPI_Cart_coords(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int rank,
-    _In_range_(>=, 0) int maxdims,
-    _Out_writes_opt_(maxdims) int coords[]
-    );
-
-MPI_METHOD
-MPI_Graph_neighbors_count(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int rank,
-    _Out_ _Deref_out_range_(>=, 0) int* nneighbors
-    );
-
-MPI_METHOD
-PMPI_Graph_neighbors_count(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int rank,
-    _Out_ _Deref_out_range_(>=, 0) int* nneighbors
-    );
-
-MPI_METHOD
-MPI_Graph_neighbors(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int rank,
-    _In_range_(>=, 0) int maxneighbors,
-    _Out_writes_opt_(maxneighbors) int neighbors[]
-    );
-
-MPI_METHOD
-PMPI_Graph_neighbors(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int rank,
-    _In_range_(>=, 0) int maxneighbors,
-    _Out_writes_opt_(maxneighbors) int neighbors[]
-    );
-
-MPI_METHOD
-MPI_Cart_shift(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int direction,
-    _In_ int disp,
-    _Out_ _Deref_out_range_(>=, MPI_PROC_NULL) int* rank_source,
-    _Out_ _Deref_out_range_(>=, MPI_PROC_NULL)  int* rank_dest
-    );
-
-MPI_METHOD
-PMPI_Cart_shift(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int direction,
-    _In_ int disp,
-    _Out_ _Deref_out_range_(>=, MPI_PROC_NULL) int* rank_source,
-    _Out_ _Deref_out_range_(>=, MPI_PROC_NULL)  int* rank_dest
-    );
-
-MPI_METHOD
-MPI_Cart_sub(
-    _In_ MPI_Comm comm,
-    _In_ const int remain_dims[],
-    _Out_ MPI_Comm* newcomm
-    );
-
-MPI_METHOD
-PMPI_Cart_sub(
-    _In_ MPI_Comm comm,
-    _In_ const int remain_dims[],
-    _Out_ MPI_Comm* newcomm
-    );
-
-MPI_METHOD
-MPI_Cart_map(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int ndims,
-    _In_reads_opt_(ndims) const int dims[],
-    _In_reads_opt_(ndims) const int periods[],
-    _Out_ _Deref_out_range_(>=, MPI_UNDEFINED) int* newrank
-    );
-
-MPI_METHOD
-PMPI_Cart_map(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int ndims,
-    _In_reads_opt_(ndims) const int dims[],
-    _In_reads_opt_(ndims) const int periods[],
-    _Out_ _Deref_out_range_(>=, MPI_UNDEFINED) int* newrank
-    );
-
-MPI_METHOD
-MPI_Graph_map(
-    _In_ MPI_Comm comm,
-    _In_range_(>, 0) int nnodes,
-    _In_reads_opt_(nnodes) const int index[],
-    _In_opt_ const int edges[],
-    _Out_ _Deref_out_range_(>=, MPI_UNDEFINED) int* newrank
-    );
-
-MPI_METHOD
-PMPI_Graph_map(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int nnodes,
-    _In_reads_opt_(nnodes) const int index[],
-    _In_opt_ const int edges[],
-    _Out_ _Deref_out_range_(>=, MPI_UNDEFINED) int* newrank
-    );
-
-MPI_METHOD
-MPI_Dist_graph_neighbors_count(
-    _In_ MPI_Comm comm,
-    _Out_ _Deref_out_range_(>=, 0) int *indegree,
-    _Out_ _Deref_out_range_(>=, 0) int *outdegree,
-    _Out_ _Deref_out_range_(>=, 0) int *weighted
-    );
-
-MPI_METHOD
-PMPI_Dist_graph_neighbors_count(
-    _In_ MPI_Comm comm,
-    _Out_ _Deref_out_range_(>=, 0) int *indegree,
-    _Out_ _Deref_out_range_(>=, 0) int *outdegree,
-    _Out_ _Deref_out_range_(>=, 0) int *weighted
-    );
-
-MPI_METHOD
-MPI_Dist_graph_neighbors(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int maxindegree,
-    _Out_writes_opt_(maxindegree) int sources[],
-    _Out_writes_opt_(maxindegree) int sourceweights[],
-    _In_range_(>=, 0) int maxoutdegree,
-    _Out_writes_opt_(maxoutdegree) int destinations[],
-    _Out_writes_opt_(maxoutdegree) int destweights[]
-    );
-
-MPI_METHOD
-PMPI_Dist_graph_neighbors(
-    _In_ MPI_Comm comm,
-    _In_range_(>=, 0) int maxindegree,
-    _Out_writes_opt_(maxindegree) int sources[],
-    _Out_writes_opt_(maxindegree) int sourceweights[],
-    _In_range_(>=, 0) int maxoutdegree,
-    _Out_writes_opt_(maxoutdegree) int destinations[],
-    _Out_writes_opt_(maxoutdegree) int destweights[]
-    );
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 8: Environmental Management                                       */
-/*---------------------------------------------------------------------------*/
-
-/*---------------------------------------------*/
-/* Section 8.1: Implementation Information     */
-/*---------------------------------------------*/
-
-#define MPI_VERSION     2
-#define MPI_SUBVERSION  0
-
-MPI_METHOD
-MPI_Get_version(
-    _Out_ int* version,
-    _Out_ int* subversion
-    );
-
-MPI_METHOD
-PMPI_Get_version(
-    _Out_ int* version,
-    _Out_ int* subversion
-    );
-
-#define MPI_MAX_LIBRARY_VERSION_STRING  64
-
-MPI_METHOD
-MPI_Get_library_version(
-    _Out_writes_z_(MPI_MAX_LIBRARY_VERSION_STRING) char* version,
-    _Out_ int* resultlen
-);
-
-MPI_METHOD
-PMPI_Get_library_version(
-    _Out_writes_z_(MPI_MAX_LIBRARY_VERSION_STRING) char* version,
-    _Out_ int* resultlen
-);
-
-#define MPI_MAX_PROCESSOR_NAME  128
-
-MPI_METHOD
-MPI_Get_processor_name(
-    _Out_writes_z_(MPI_MAX_PROCESSOR_NAME) char* name,
-    _Out_ int* resultlen
-    );
-
-MPI_METHOD
-PMPI_Get_processor_name(
-    _Out_writes_z_(MPI_MAX_PROCESSOR_NAME) char* name,
-    _Out_ int* resultlen
-    );
-
-/*---------------------------------------------*/
-/* Section 8.2: Memory Allocation              */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Alloc_mem(
-    _In_ MPI_Aint size,
-    _In_ MPI_Info info,
-    _Out_ void* baseptr
-    );
-
-MPI_METHOD
-PMPI_Alloc_mem(
-    _In_ MPI_Aint size,
-    _In_ MPI_Info info,
-    _Out_ void* baseptr
-    );
-
-MPI_METHOD
-MPI_Free_mem(
-    _In_ _Post_invalid_ void* base
-    );
-
-MPI_METHOD
-PMPI_Free_mem(
-    _In_ _Post_invalid_ void* base
-    );
-
-
-/*---------------------------------------------*/
-/* Section 8.3: Error Handling                 */
-/*---------------------------------------------*/
-
-typedef
-void
-(MPIAPI MPI_Comm_errhandler_fn)(
-    _In_ MPI_Comm* comm,
-    _Inout_ int* errcode,
-    ...
-    );
-
-MPI_METHOD
-MPI_Comm_create_errhandler(
-    _In_ MPI_Comm_errhandler_fn* function,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-MPI_METHOD
-PMPI_Comm_create_errhandler(
-    _In_ MPI_Comm_errhandler_fn* function,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-MPI_METHOD
-MPI_Comm_set_errhandler(
-    _In_ MPI_Comm comm,
-    _In_ MPI_Errhandler errhandler
-    );
-
-MPI_METHOD
-PMPI_Comm_set_errhandler(
-    _In_ MPI_Comm comm,
-    _In_ MPI_Errhandler errhandler
-    );
-
-MPI_METHOD
-MPI_Comm_get_errhandler(
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-MPI_METHOD
-PMPI_Comm_get_errhandler(
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-
-typedef
-void
-(MPIAPI MPI_Win_errhandler_fn)(
-    _In_ MPI_Win* win,
-    _Inout_ int* errcode,
-    ...
-    );
-
-MPI_METHOD
-MPI_Win_create_errhandler(
-    _In_ MPI_Win_errhandler_fn* function,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-MPI_METHOD
-PMPI_Win_create_errhandler(
-    _In_ MPI_Win_errhandler_fn* function,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-MPI_METHOD
-MPI_Win_set_errhandler(
-    _In_ MPI_Win win,
-    _In_ MPI_Errhandler errhandler
-    );
-
-MPI_METHOD
-PMPI_Win_set_errhandler(
-    _In_ MPI_Win win,
-    _In_ MPI_Errhandler errhandler
-    );
-
-MPI_METHOD
-MPI_Win_get_errhandler(
-    _In_ MPI_Win win,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-MPI_METHOD
-PMPI_Win_get_errhandler(
-    _In_ MPI_Win win,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-
-typedef
-void
-(MPIAPI MPI_File_errhandler_fn)(
-    _In_ MPI_File* file,
-    _Inout_ int* errcode,
-    ...
-    );
-
-MPI_METHOD
-MPI_File_create_errhandler(
-    _In_ MPI_File_errhandler_fn* function,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-MPI_METHOD
-PMPI_File_create_errhandler(
-    _In_ MPI_File_errhandler_fn* function,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-MPI_METHOD
-MPI_File_set_errhandler(
-    _In_ MPI_File file,
-    _In_ MPI_Errhandler errhandler
-    );
-
-MPI_METHOD
-PMPI_File_set_errhandler(
-    _In_ MPI_File file,
-    _In_ MPI_Errhandler errhandler
-    );
-
-MPI_METHOD
-MPI_File_get_errhandler(
-    _In_ MPI_File file,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-MPI_METHOD
-PMPI_File_get_errhandler(
-    _In_ MPI_File file,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-MPI_METHOD
-MPI_Errhandler_free(
-    _Inout_ MPI_Errhandler* errhandler
-    );
-
-MPI_METHOD
-PMPI_Errhandler_free(
-    _Inout_ MPI_Errhandler* errhandler
-    );
-
-#define MPI_MAX_ERROR_STRING    512
-
-MPI_METHOD
-MPI_Error_string(
-    _In_ int errorcode,
-    _Out_writes_z_(MPI_MAX_ERROR_STRING) char* string,
-    _Out_ int* resultlen
-    );
-
-MPI_METHOD
-PMPI_Error_string(
-    _In_ int errorcode,
-    _Out_writes_z_(MPI_MAX_ERROR_STRING) char* string,
-    _Out_ int* resultlen
-    );
-
-
-/*---------------------------------------------*/
-/* Section 8.4: Error Codes and Classes        */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Error_class(
-    _In_ int errorcode,
-    _Out_ int* errorclass
-    );
-
-MPI_METHOD
-PMPI_Error_class(
-    _In_ int errorcode,
-    _Out_ int* errorclass
-    );
-
-MPI_METHOD
-MPI_Add_error_class(
-    _Out_ int* errorclass
-    );
-
-MPI_METHOD
-PMPI_Add_error_class(
-    _Out_ int* errorclass
-    );
-
-MPI_METHOD
-MPI_Add_error_code(
-    _In_ int errorclass,
-    _Out_ int* errorcode
-    );
-
-MPI_METHOD
-PMPI_Add_error_code(
-    _In_ int errorclass,
-    _Out_ int* errorcode
-    );
-
-MPI_METHOD
-MPI_Add_error_string(
-    _In_ int errorcode,
-    _In_z_ const char* string
-    );
-
-MPI_METHOD
-PMPI_Add_error_string(
-    _In_ int errorcode,
-    _In_z_ const char* string
-    );
-
-MPI_METHOD
-MPI_Comm_call_errhandler(
-    _In_ MPI_Comm comm,
-    _In_ int errorcode
-    );
-
-MPI_METHOD
-PMPI_Comm_call_errhandler(
-    _In_ MPI_Comm comm,
-    _In_ int errorcode
-    );
-
-MPI_METHOD
-MPI_Win_call_errhandler(
-    _In_ MPI_Win win,
-    _In_ int errorcode
-    );
-
-MPI_METHOD
-PMPI_Win_call_errhandler(
-    _In_ MPI_Win win,
-    _In_ int errorcode
-    );
-
-MPI_METHOD
-MPI_File_call_errhandler(
-    _In_ MPI_File file,
-    _In_ int errorcode
-    );
-
-MPI_METHOD
-PMPI_File_call_errhandler(
-    _In_ MPI_File file,
-    _In_ int errorcode
-    );
-
-
-/*---------------------------------------------*/
-/* Section 8.6: Timers and Synchronization     */
-/*---------------------------------------------*/
-
-double
-MPIAPI
-MPI_Wtime(
-    void
-    );
-
-double
-MPIAPI
-PMPI_Wtime(
-    void
-    );
-
-double
-MPIAPI
-MPI_Wtick(
-    void
-    );
-
-double
-MPIAPI
-PMPI_Wtick(
-    void
-    );
-
-
-/*---------------------------------------------*/
-/* Section 8.7: Startup                        */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Init(
-    _In_opt_ const int* argc,
-    _Notref_ _In_reads_opt_(*argc) char*** argv
-    );
-
-MPI_METHOD
-PMPI_Init(
-    _In_opt_ int* argc,
-    _Notref_ _In_reads_opt_(*argc) char*** argv
-    );
-
-MPI_METHOD
-MPI_Finalize(
-    void
-    );
-
-MPI_METHOD
-PMPI_Finalize(
-    void
-    );
-
-MPI_METHOD
-MPI_Initialized(
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-PMPI_Initialized(
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-MPI_Abort(
-    _In_ MPI_Comm comm,
-    _In_ int errorcode
-    );
-
-MPI_METHOD
-PMPI_Abort(
-    _In_ MPI_Comm comm,
-    _In_ int errorcode
-    );
-
-MPI_METHOD
-MPI_Finalized(
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-PMPI_Finalized(
-    _mpi_out_flag_ int* flag
-    );
-
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 9: The Info Object                                                */
-/*---------------------------------------------------------------------------*/
-
-#define MPI_MAX_INFO_KEY    255
-#define MPI_MAX_INFO_VAL   1024
-
-MPI_METHOD
-MPI_Info_create(
-    _Out_ MPI_Info* info
-    );
-
-MPI_METHOD
-PMPI_Info_create(
-    _Out_ MPI_Info* info
-    );
-
-MPI_METHOD
-MPI_Info_set(
-    _In_ MPI_Info info,
-    _In_z_ const char* key,
-    _In_z_ const char* value
-    );
-
-MPI_METHOD
-PMPI_Info_set(
-    _In_ MPI_Info info,
-    _In_z_ const char* key,
-    _In_z_ const char* value
-    );
-
-MPI_METHOD
-MPI_Info_delete(
-    _In_ MPI_Info info,
-    _In_z_ const char* key
-    );
-
-MPI_METHOD
-PMPI_Info_delete(
-    _In_ MPI_Info info,
-    _In_z_ const char* key
-    );
-
-MPI_METHOD
-MPI_Info_get(
-    _In_ MPI_Info info,
-    _In_z_ const char* key,
-    _In_ int valuelen,
-    _When_(*flag != 0, _Out_writes_z_(valuelen)) char* value,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-PMPI_Info_get(
-    _In_ MPI_Info info,
-    _In_z_ const char* key,
-    _In_ int valuelen,
-    _When_(*flag != 0, _Out_writes_z_(valuelen)) char* value,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-MPI_Info_get_valuelen(
-    _In_ MPI_Info info,
-    _In_z_ const char* key,
-    _Out_ _Deref_out_range_(0, MPI_MAX_INFO_VAL) int* valuelen,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-PMPI_Info_get_valuelen(
-    _In_ MPI_Info info,
-    _In_z_ const char* key,
-    _Out_ _Deref_out_range_(0, MPI_MAX_INFO_VAL) int* valuelen,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-MPI_Info_get_nkeys(
-    _In_ MPI_Info info,
-    _Out_ int* nkeys
-    );
-
-MPI_METHOD
-PMPI_Info_get_nkeys(
-    _In_ MPI_Info info,
-    _Out_ int* nkeys
-    );
-
-MPI_METHOD
-MPI_Info_get_nthkey(
-    _In_ MPI_Info info,
-    _In_range_(>=, 0) int n,
-    _Out_writes_z_(MPI_MAX_INFO_KEY) char* key
-    );
-
-MPI_METHOD
-PMPI_Info_get_nthkey(
-    _In_ MPI_Info info,
-    _In_range_(>=, 0) int n,
-    _Out_writes_z_(MPI_MAX_INFO_KEY) char* key
-    );
-
-MPI_METHOD
-MPI_Info_dup(
-    _In_ MPI_Info info,
-    _Out_ MPI_Info* newinfo
-    );
-
-MPI_METHOD
-PMPI_Info_dup(
-    _In_ MPI_Info info,
-    _Out_ MPI_Info* newinfo
-    );
-
-MPI_METHOD
-MPI_Info_free(
-    _Inout_ MPI_Info* info
-    );
-
-MPI_METHOD
-PMPI_Info_free(
-    _Inout_ MPI_Info* info
-    );
-
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 10: Process Creation and Management                               */
-/*---------------------------------------------------------------------------*/
-
-/*---------------------------------------------*/
-/* Section 10.3: Process Manager Interface     */
-/*---------------------------------------------*/
-
-#define MPI_ARGV_NULL ((char**)0)
-#define MPI_ARGVS_NULL ((char***)0)
-
-#define MPI_ERRCODES_IGNORE ((int*)0)
-
-MPI_METHOD
-MPI_Comm_spawn(
-    _In_z_ const char* command,
-    _In_ char* argv[],
-    _In_range_(>=, 0) int maxprocs,
-    _In_ MPI_Info info,
-    _In_range_(>=, 0) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Comm* intercomm,
-    _Out_writes_(maxprocs) int array_of_errcodes[]
-    );
-
-MPI_METHOD
-PMPI_Comm_spawn(
-    _In_z_ const char* command,
-    _In_ char* argv[],
-    _In_range_(>=, 0) int maxprocs,
-    _In_ MPI_Info info,
-    _In_range_(>=, 0) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Comm* intercomm,
-    _Out_writes_(maxprocs) int array_of_errcodes[]
-    );
-
-MPI_METHOD
-MPI_Comm_get_parent(
-    _Out_ MPI_Comm* parent
-    );
-
-MPI_METHOD
-PMPI_Comm_get_parent(
-    _Out_ MPI_Comm* parent
-    );
-
-MPI_METHOD
-MPI_Comm_spawn_multiple(
-    _In_range_(>, 0) int count,
-    _In_reads_z_(count) char* array_of_commands[],
-    _In_reads_z_(count) char** array_of_argv[],
-    _In_reads_(count) const int array_of_maxprocs[],
-    _In_reads_(count) const MPI_Info array_of_info[],
-    _In_range_(>=, 0) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Comm* intercomm,
-    _Out_ int array_of_errcodes[]
-    );
-
-MPI_METHOD
-PMPI_Comm_spawn_multiple(
-    _In_range_(>, 0) int count,
-    _In_reads_z_(count) char* array_of_commands[],
-    _In_reads_z_(count) char** array_of_argv[],
-    _In_reads_(count) const int array_of_maxprocs[],
-    _In_reads_(count) const MPI_Info array_of_info[],
-    _In_range_(>=, 0) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Comm* intercomm,
-    _Out_ int array_of_errcodes[]
-    );
-
-
-/*---------------------------------------------*/
-/* Section 10.4: Establishing Communication    */
-/*---------------------------------------------*/
-
-#define MPI_MAX_PORT_NAME   256
-
-MPI_METHOD
-MPI_Open_port(
-    _In_ MPI_Info info,
-    _Out_writes_z_(MPI_MAX_PORT_NAME) char* port_name
-    );
-
-MPI_METHOD
-PMPI_Open_port(
-    _In_ MPI_Info info,
-    _Out_writes_z_(MPI_MAX_PORT_NAME) char* port_name
-    );
-
-MPI_METHOD
-MPI_Close_port(
-    _In_z_ const char* port_name
-    );
-
-MPI_METHOD
-PMPI_Close_port(
-    _In_z_ const char* port_name
-    );
-
-MPI_METHOD
-MPI_Comm_accept(
-    _In_z_ const char* port_name,
-    _In_ MPI_Info info,
-    _In_range_(>=, 0) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Comm* newcomm
-    );
-
-MPI_METHOD
-PMPI_Comm_accept(
-    _In_z_ const char* port_name,
-    _In_ MPI_Info info,
-    _In_range_(>=, 0) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Comm* newcomm
-    );
-
-MPI_METHOD
-MPI_Comm_connect(
-    _In_z_ const char* port_name,
-    _In_ MPI_Info info,
-    _In_range_(>=, 0) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Comm* newcomm
-    );
-
-MPI_METHOD
-PMPI_Comm_connect(
-    _In_z_ const char* port_name,
-    _In_ MPI_Info info,
-    _In_range_(>=, 0) int root,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Comm* newcomm
-    );
-
-
-/*---------------------------------------------*/
-/* Section 10.4.4: Name Publishing             */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Publish_name(
-    _In_z_ const char* service_name,
-    _In_ MPI_Info info,
-    _In_z_ const char* port_name
-    );
-
-MPI_METHOD
-PMPI_Publish_name(
-    _In_z_ const char* service_name,
-    _In_ MPI_Info info,
-    _In_z_ const char* port_name
-    );
-
-MPI_METHOD
-MPI_Unpublish_name(
-    _In_z_ const char* service_name,
-    _In_ MPI_Info info,
-    _In_z_ const char* port_name
-    );
-
-MPI_METHOD
-PMPI_Unpublish_name(
-    _In_z_ const char* service_name,
-    _In_ MPI_Info info,
-    _In_z_ const char* port_name
-    );
-
-MPI_METHOD
-MPI_Lookup_name(
-    _In_z_ const char* service_name,
-    _In_ MPI_Info info,
-    _Out_writes_z_(MPI_MAX_PORT_NAME) char* port_name
-    );
-
-MPI_METHOD
-PMPI_Lookup_name(
-    _In_z_ const char* service_name,
-    _In_ MPI_Info info,
-    _Out_writes_z_(MPI_MAX_PORT_NAME) char* port_name
-    );
-
-
-/*---------------------------------------------*/
-/* Section 10.5: Other Functionality           */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Comm_disconnect(
-    _In_ MPI_Comm* comm
-    );
-
-MPI_METHOD
-PMPI_Comm_disconnect(
-    _In_ MPI_Comm* comm
-    );
-
-MPI_METHOD
-MPI_Comm_join(
-    _In_ int fd,
-    _Out_ MPI_Comm* intercomm
-    );
-
-MPI_METHOD
-PMPI_Comm_join(
-    _In_ int fd,
-    _Out_ MPI_Comm* intercomm
-    );
-
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 11: One-Sided Communications                                      */
-/*---------------------------------------------------------------------------*/
-
-MPI_METHOD
-MPI_Win_create(
-    _In_ void* base,
-    _In_range_(>=, 0)  MPI_Aint size,
-    _In_range_(>, 0)  int disp_unit,
-    _In_ MPI_Info info,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Win* win
-    );
-
-MPI_METHOD
-PMPI_Win_create(
-    _In_ void* base,
-    _In_range_(>=, 0)  MPI_Aint size,
-    _In_range_(>, 0)  int disp_unit,
-    _In_ MPI_Info info,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Win* win
-    );
-
-MPI_METHOD
-MPI_Win_allocate(
-    _In_range_(>= , 0) MPI_Aint size,
-    _In_range_(>, 0) int disp_unit,
-    _In_ MPI_Info info,
-    _In_ MPI_Comm comm,
-    _Out_ void *baseptr,
-    _Out_ MPI_Win *win
-    );
-
-MPI_METHOD
-PMPI_Win_allocate(
-    _In_range_(>= , 0) MPI_Aint size,
-    _In_range_(>, 0) int disp_unit,
-    _In_ MPI_Info info,
-    _In_ MPI_Comm comm,
-    _Out_ void *baseptr,
-    _Out_ MPI_Win *win
-    );
-
-MPI_METHOD
-MPI_Win_allocate_shared(
-    _In_range_(>=, 0) MPI_Aint size,
-    _In_range_(>, 0) int disp_unit,
-    _In_ MPI_Info info,
-    _In_ MPI_Comm comm,
-    _Out_ void *baseptr,
-    _Out_ MPI_Win *win
-    );
-
-MPI_METHOD
-PMPI_Win_allocate_shared(
-    _In_range_(>=, 0) MPI_Aint size,
-    _In_range_(>, 0) int disp_unit,
-    _In_ MPI_Info info,
-    _In_ MPI_Comm comm,
-    _Out_ void *baseptr,
-    _Out_ MPI_Win *win
-    );
-
-MPI_METHOD
-MPI_Win_shared_query(
-    _In_ MPI_Win win,
-    _In_range_(>=, MPI_PROC_NULL) int rank,
-    _Out_ MPI_Aint *size,
-    _Out_ int *disp_unit,
-    _Out_ void *baseptr
-    );
-
-MPI_METHOD
-PMPI_Win_shared_query(
-    _In_ MPI_Win win,
-    _In_range_(>=, MPI_PROC_NULL) int rank,
-    _Out_ MPI_Aint *size,
-    _Out_ int *disp_unit,
-    _Out_ void *baseptr
-    );
-
-MPI_METHOD
-MPI_Win_create_dynamic(
-    _In_ MPI_Info info,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Win* win
-    );
-
-MPI_METHOD
-PMPI_Win_create_dynamic(
-    _In_ MPI_Info info,
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Win* win
-    );
-
-MPI_METHOD
-MPI_Win_free(
-    _Inout_ MPI_Win* win
-    );
-
-MPI_METHOD
-PMPI_Win_free(
-    _Inout_ MPI_Win* win
-    );
-
-MPI_METHOD
-MPI_Win_get_group(
-    _In_ MPI_Win win,
-    _Out_ MPI_Group* group
-    );
-
-MPI_METHOD
-PMPI_Win_get_group(
-    _In_ MPI_Win win,
-    _Out_ MPI_Group* group
-    );
-
-MPI_METHOD
-MPI_Win_attach(
-    _In_ MPI_Win win,
-    _In_ void* base,
-    _In_range_(>=, 0)  MPI_Aint size
-    );
-
-MPI_METHOD
-PMPI_Win_attach(
-    _In_ MPI_Win win,
-    _In_ void* base,
-    _In_range_(>=, 0)  MPI_Aint size
-    );
-
-MPI_METHOD
-MPI_Win_detach(
-    _In_ MPI_Win win,
-    _In_ void* base
-    );
-
-MPI_METHOD
-PMPI_Win_detach(
-    _In_ MPI_Win win,
-    _In_ void* base
-    );
-
-MPI_METHOD
-MPI_Put(
-    _In_opt_ const void* origin_addr,
-    _In_range_(>=, 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_range_(>=, MPI_PROC_NULL) int target_rank,
-    _In_range_(>=, 0) MPI_Aint target_disp,
-    _In_range_(>=, 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Put(
-    _In_opt_ const void* origin_addr,
-    _In_range_(>=, 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_range_(>=, MPI_PROC_NULL) int target_rank,
-    _In_range_(>=, 0) MPI_Aint target_disp,
-    _In_range_(>=, 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Rput(
-    _In_opt_ const void* origin_addr,
-    _In_range_(>=, 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_range_(>=, MPI_PROC_NULL) int target_rank,
-    _In_range_(>=, 0) MPI_Aint target_disp,
-    _In_range_(>=, 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Win win,
-    _Out_ MPI_Request *request
-    );
-
-MPI_METHOD
-PMPI_Rput(
-    _In_opt_ const void* origin_addr,
-    _In_range_(>=, 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_range_(>=, MPI_PROC_NULL) int target_rank,
-    _In_range_(>=, 0) MPI_Aint target_disp,
-    _In_range_(>=, 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Win win,
-    _Out_ MPI_Request *request
-    );
-
-MPI_METHOD
-MPI_Get(
-    _In_opt_ void* origin_addr,
-    _In_range_(>=, 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_range_(>=, MPI_PROC_NULL) int target_rank,
-    _In_range_(>=, 0) MPI_Aint target_disp,
-    _In_range_(>=, 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Get(
-    _In_opt_ void* origin_addr,
-    _In_range_(>=, 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_range_(>=, MPI_PROC_NULL) int target_rank,
-    _In_range_(>=, 0) MPI_Aint target_disp,
-    _In_range_(>=, 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Rget(
-    _In_opt_ void* origin_addr,
-    _In_range_(>= , 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_range_(>= , MPI_PROC_NULL) int target_rank,
-    _In_range_(>= , 0) MPI_Aint target_disp,
-    _In_range_(>= , 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Win win,
-    _Out_ MPI_Request *request
-    );
-
-MPI_METHOD
-PMPI_Rget(
-    _In_opt_ void* origin_addr,
-    _In_range_(>= , 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_range_(>= , MPI_PROC_NULL) int target_rank,
-    _In_range_(>= , 0) MPI_Aint target_disp,
-    _In_range_(>= , 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Win win,
-    _Out_ MPI_Request *request
-    );
-
-MPI_METHOD
-MPI_Accumulate(
-    _In_opt_ const void* origin_addr,
-    _In_range_(>=, 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_range_(>=, MPI_PROC_NULL) int target_rank,
-    _In_range_(>=, 0) MPI_Aint target_disp,
-    _In_range_(>=, 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Accumulate(
-    _In_opt_ const void* origin_addr,
-    _In_range_(>=, 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_range_(>=, MPI_PROC_NULL) int target_rank,
-    _In_range_(>=, 0) MPI_Aint target_disp,
-    _In_range_(>=, 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Raccumulate(
-    _In_opt_ const void* origin_addr,
-    _In_range_(>=, 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_range_(>=, MPI_PROC_NULL) int target_rank,
-    _In_range_(>=, 0) MPI_Aint target_disp,
-    _In_range_(>=, 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Win win,
-    _Out_ MPI_Request *request
-    );
-
-MPI_METHOD
-PMPI_Raccumulate(
-    _In_opt_ const void* origin_addr,
-    _In_range_(>=, 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_range_(>=, MPI_PROC_NULL) int target_rank,
-    _In_range_(>=, 0) MPI_Aint target_disp,
-    _In_range_(>=, 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Win win,
-    _Out_ MPI_Request *request
-    );
-
-MPI_METHOD
-MPI_Get_accumulate(
-    _In_opt_ const void* origin_addr,
-    _In_range_(>= , 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_opt_ void* result_addr,
-    _In_range_(>= , 0) int result_count,
-    _In_ MPI_Datatype result_datatype,
-    _In_range_(>= , MPI_PROC_NULL) int target_rank,
-    _In_range_(>= , 0) MPI_Aint target_disp,
-    _In_range_(>= , 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Win win
-);
-
-MPI_METHOD
-PMPI_Get_accumulate(
-    _In_opt_ const void* origin_addr,
-    _In_range_(>= , 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_opt_ void* result_addr,
-    _In_range_(>= , 0) int result_count,
-    _In_ MPI_Datatype result_datatype,
-    _In_range_(>= , MPI_PROC_NULL) int target_rank,
-    _In_range_(>= , 0) MPI_Aint target_disp,
-    _In_range_(>= , 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Win win
-);
-
-MPI_METHOD
-MPI_Rget_accumulate(
-    _In_opt_ const void* origin_addr,
-    _In_range_(>= , 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_opt_ void* result_addr,
-    _In_range_(>= , 0) int result_count,
-    _In_ MPI_Datatype result_datatype,
-    _In_range_(>= , MPI_PROC_NULL) int target_rank,
-    _In_range_(>= , 0) MPI_Aint target_disp,
-    _In_range_(>= , 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Win win,
-    _Out_ MPI_Request *request
-);
-
-MPI_METHOD
-PMPI_Rget_accumulate(
-    _In_opt_ const void* origin_addr,
-    _In_range_(>= , 0) int origin_count,
-    _In_ MPI_Datatype origin_datatype,
-    _In_opt_ void* result_addr,
-    _In_range_(>= , 0) int result_count,
-    _In_ MPI_Datatype result_datatype,
-    _In_range_(>= , MPI_PROC_NULL) int target_rank,
-    _In_range_(>= , 0) MPI_Aint target_disp,
-    _In_range_(>= , 0) int target_count,
-    _In_ MPI_Datatype target_datatype,
-    _In_ MPI_Op op,
-    _In_ MPI_Win win,
-    _Out_ MPI_Request *request
-);
-
-MPI_METHOD
-MPI_Fetch_and_op(
-    _In_opt_ const void* origin_addr,
-    _When_(target_rank != MPI_PROC_NULL, _In_)
-    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
-        void* result_addr,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>= , MPI_PROC_NULL) int target_rank,
-    _In_range_(>= , 0) MPI_Aint target_disp,
-    _In_ MPI_Op op,
-    _In_ MPI_Win win
-);
-
-MPI_METHOD
-PMPI_Fetch_and_op(
-    _In_opt_ const void* origin_addr,
-    _When_(target_rank != MPI_PROC_NULL, _In_)
-    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
-        void* result_addr,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>= , MPI_PROC_NULL) int target_rank,
-    _In_range_(>= , 0) MPI_Aint target_disp,
-    _In_ MPI_Op op,
-    _In_ MPI_Win win
-);
-
-MPI_METHOD
-MPI_Compare_and_swap(
-    _When_(target_rank != MPI_PROC_NULL, _In_)
-    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
-        const void* origin_addr,
-    _When_(target_rank != MPI_PROC_NULL, _In_)
-    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
-        const void* compare_addr,
-    _When_(target_rank != MPI_PROC_NULL, _In_)
-    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
-        void* result_addr,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>= , MPI_PROC_NULL) int target_rank,
-    _In_range_(>= , 0) MPI_Aint target_disp,
-    _In_ MPI_Win win
-);
-
-MPI_METHOD
-PMPI_Compare_and_swap(
-    _When_(target_rank != MPI_PROC_NULL, _In_)
-    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
-        const void* origin_addr,
-    _When_(target_rank != MPI_PROC_NULL, _In_)
-    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
-        const void* compare_addr,
-    _When_(target_rank != MPI_PROC_NULL, _In_)
-    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
-        void* result_addr,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>= , MPI_PROC_NULL) int target_rank,
-    _In_range_(>= , 0) MPI_Aint target_disp,
-    _In_ MPI_Win win
-);
-
-/* Asserts for one-sided communication */
-#define MPI_MODE_NOCHECK    1024
-#define MPI_MODE_NOSTORE    2048
-#define MPI_MODE_NOPUT      4096
-#define MPI_MODE_NOPRECEDE  8192
-#define MPI_MODE_NOSUCCEED 16384
-
-MPI_METHOD
-MPI_Win_fence(
-    _In_ int assert,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_fence(
-    _In_ int assert,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Win_start(
-    _In_ MPI_Group group,
-    _In_ int assert,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_start(
-    _In_ MPI_Group group,
-    _In_ int assert,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Win_complete(
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_complete(
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Win_post(
-    _In_ MPI_Group group,
-    _In_ int assert,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_post(
-    _In_ MPI_Group group,
-    _In_ int assert,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Win_wait(
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_wait(
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Win_test(
-    _In_ MPI_Win win,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-PMPI_Win_test(
-    _In_ MPI_Win win,
-    _mpi_out_flag_ int* flag
-    );
-
-#define MPI_LOCK_EXCLUSIVE  234
-#define MPI_LOCK_SHARED     235
-
-MPI_METHOD
-MPI_Win_lock(
-    _In_ int lock_type,
-    _In_range_(>=, MPI_PROC_NULL) int rank,
-    _In_ int assert,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_lock(
-    _In_ int lock_type,
-    _In_range_(>=, MPI_PROC_NULL) int rank,
-    _In_ int assert,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Win_lock_all(
-    _In_ int assert,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_lock_all(
-    _In_ int assert,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Win_unlock(
-    _In_range_(>=, MPI_PROC_NULL) int rank,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_unlock(
-    _In_range_(>=, MPI_PROC_NULL) int rank,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Win_unlock_all(
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_unlock_all(
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Win_flush(
-    _In_range_(>=, MPI_PROC_NULL) int rank,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_flush(
-    _In_range_(>=, MPI_PROC_NULL) int rank,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Win_flush_all(
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_flush_all(
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Win_flush_local(
-    _In_range_(>= , MPI_PROC_NULL) int rank,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_flush_local(
-    _In_range_(>= , MPI_PROC_NULL) int rank,
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Win_flush_local_all(
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_flush_local_all(
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-MPI_Win_sync(
-    _In_ MPI_Win win
-    );
-
-MPI_METHOD
-PMPI_Win_sync(
-    _In_ MPI_Win win
-    );
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 12: External Interfaces                                           */
-/*---------------------------------------------------------------------------*/
-
-/*---------------------------------------------*/
-/* Section 12.2: Generalized Requests          */
-/*---------------------------------------------*/
-
-typedef
-int
-(MPIAPI MPI_Grequest_query_function)(
-    _In_opt_ void* extra_state,
-    _Out_ MPI_Status* status
-    );
-
-typedef
-int
-(MPIAPI MPI_Grequest_free_function)(
-    _In_opt_ void* extra_state
-    );
-
-typedef
-int
-(MPIAPI MPI_Grequest_cancel_function)(
-    _In_opt_ void* extra_state,
-    _In_ int complete
-    );
-
-MPI_METHOD
-MPI_Grequest_start(
-    _In_ MPI_Grequest_query_function* query_fn,
-    _In_ MPI_Grequest_free_function* free_fn,
-    _In_ MPI_Grequest_cancel_function* cancel_fn,
-    _In_opt_ void* extra_state,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_Grequest_start(
-    _In_ MPI_Grequest_query_function* query_fn,
-    _In_ MPI_Grequest_free_function* free_fn,
-    _In_ MPI_Grequest_cancel_function* cancel_fn,
-    _In_opt_ void* extra_state,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_Grequest_complete(
-    _In_ MPI_Request request
-    );
-
-MPI_METHOD
-PMPI_Grequest_complete(
-    _In_ MPI_Request request
-    );
-
-
-/*---------------------------------------------*/
-/* Section 12.3: Information with Status       */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Status_set_elements(
-    _In_ MPI_Status* status,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, 0) int count
-    );
-
-MPI_METHOD
-PMPI_Status_set_elements(
-    _In_ MPI_Status* status,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, 0) int count
-    );
-
-MPI_METHOD
-MPI_Status_set_elements_x(
-    _In_ MPI_Status* status,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, 0) MPI_Count count
-    );
-
-MPI_METHOD
-PMPI_Status_set_elements_x(
-    _In_ MPI_Status* status,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, 0) MPI_Count count
-    );
-
-MPI_METHOD
-MPI_Status_set_cancelled(
-    _In_ MPI_Status* status,
-    _In_range_(0,1) int flag
-    );
-
-MPI_METHOD
-PMPI_Status_set_cancelled(
-    _In_ MPI_Status* status,
-    _In_range_(0,1) int flag
-    );
-
-
-/*---------------------------------------------*/
-/* Section 12.4: Threads                       */
-/*---------------------------------------------*/
-
-#define MPI_THREAD_SINGLE       0
-#define MPI_THREAD_FUNNELED     1
-#define MPI_THREAD_SERIALIZED   2
-#define MPI_THREAD_MULTIPLE     3
-
-MPI_METHOD
-MPI_Init_thread(
-    _In_opt_ const int* argc,
-    _Notref_ _In_reads_opt_(*argc) char*** argv,
-    _In_ int required,
-    _Out_ int* provided
-    );
-
-MPI_METHOD
-PMPI_Init_thread(
-    _In_opt_ int* argc,
-    _Notref_ _In_reads_opt_(*argc) char*** argv,
-    _In_ int required,
-    _Out_ int* provided
-    );
-
-MPI_METHOD
-MPI_Query_thread(
-    _Out_ int* provided
-    );
-
-MPI_METHOD
-PMPI_Query_thread(
-    _Out_ int* provided
-    );
-
-MPI_METHOD
-MPI_Is_thread_main(
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-PMPI_Is_thread_main(
-    _mpi_out_flag_ int* flag
-    );
-
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 13: I/O                                                           */
-/*---------------------------------------------------------------------------*/
-
-/*---------------------------------------------*/
-/* Section 13.2: File Manipulation             */
-/*---------------------------------------------*/
-
-#define MPI_MODE_CREATE             0x00000001
-#define MPI_MODE_RDONLY             0x00000002
-#define MPI_MODE_WRONLY             0x00000004
-#define MPI_MODE_RDWR               0x00000008
-#define MPI_MODE_DELETE_ON_CLOSE    0x00000010
-#define MPI_MODE_UNIQUE_OPEN        0x00000020
-#define MPI_MODE_EXCL               0x00000040
-#define MPI_MODE_APPEND             0x00000080
-#define MPI_MODE_SEQUENTIAL         0x00000100
-#define MSMPI_MODE_HIDDEN           0x00000200
-
-MPI_METHOD
-MPI_File_open(
-    _In_ MPI_Comm comm,
-    _In_z_ const char* filename,
-    _In_ int amode,
-    _In_ MPI_Info info,
-    _Out_ MPI_File* fh
-    );
-
-MPI_METHOD
-PMPI_File_open(
-    _In_ MPI_Comm comm,
-    _In_z_ const char* filename,
-    _In_ int amode,
-    _In_ MPI_Info info,
-    _Out_ MPI_File* fh
-    );
-
-MPI_METHOD
-MPI_File_close(
-    _In_ MPI_File* fh
-    );
-
-MPI_METHOD
-PMPI_File_close(
-    _In_ MPI_File* fh
-    );
-
-MPI_METHOD
-MPI_File_delete(
-    _In_z_ const char* filename,
-    _In_ MPI_Info info
-    );
-
-MPI_METHOD
-PMPI_File_delete(
-    _In_z_ const char* filename,
-    _In_ MPI_Info info
-    );
-
-MPI_METHOD
-MPI_File_set_size(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset size
-    );
-
-MPI_METHOD
-PMPI_File_set_size(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset size
-    );
-
-MPI_METHOD
-MPI_File_preallocate(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset size
-    );
-
-MPI_METHOD
-PMPI_File_preallocate(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset size
-    );
-
-MPI_METHOD
-MPI_File_get_size(
-    _In_ MPI_File fh,
-    _Out_ MPI_Offset* size
-    );
-
-MPI_METHOD
-PMPI_File_get_size(
-    _In_ MPI_File fh,
-    _Out_ MPI_Offset* size
-    );
-
-MPI_METHOD
-MPI_File_get_group(
-    _In_ MPI_File fh,
-    _Out_ MPI_Group* group
-    );
-
-MPI_METHOD
-PMPI_File_get_group(
-    _In_ MPI_File fh,
-    _Out_ MPI_Group* group
-    );
-
-MPI_METHOD
-MPI_File_get_amode(
-    _In_ MPI_File fh,
-    _Out_ int* amode
-    );
-
-MPI_METHOD
-PMPI_File_get_amode(
-    _In_ MPI_File fh,
-    _Out_ int* amode
-    );
-
-MPI_METHOD
-MPI_File_set_info(
-    _In_ MPI_File fh,
-    _In_ MPI_Info info
-    );
-
-MPI_METHOD
-PMPI_File_set_info(
-    _In_ MPI_File fh,
-    _In_ MPI_Info info
-    );
-
-MPI_METHOD
-MPI_File_get_info(
-    _In_ MPI_File fh,
-    _Out_ MPI_Info* info_used
-    );
-
-MPI_METHOD
-PMPI_File_get_info(
-    _In_ MPI_File fh,
-    _Out_ MPI_Info* info_used
-    );
-
-
-/*---------------------------------------------*/
-/* Section 13.3: File Views                    */
-/*---------------------------------------------*/
-
-#define MPI_DISPLACEMENT_CURRENT (-54278278)
-
-MPI_METHOD
-MPI_File_set_view(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset disp,
-    _In_ MPI_Datatype etype,
-    _In_ MPI_Datatype filetype,
-    _In_z_ const char* datarep,
-    _In_ MPI_Info info
-    );
-
-MPI_METHOD
-PMPI_File_set_view(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset disp,
-    _In_ MPI_Datatype etype,
-    _In_ MPI_Datatype filetype,
-    _In_z_ const char* datarep,
-    _In_ MPI_Info info
-    );
-
-#define MPI_MAX_DATAREP_STRING  128
-
-MPI_METHOD
-MPI_File_get_view(
-    _In_ MPI_File fh,
-    _Out_ MPI_Offset* disp,
-    _Out_ MPI_Datatype* etype,
-    _Out_ MPI_Datatype* filetype,
-    _Out_writes_z_(MPI_MAX_DATAREP_STRING) char* datarep
-    );
-
-MPI_METHOD
-PMPI_File_get_view(
-    _In_ MPI_File fh,
-    _Out_ MPI_Offset* disp,
-    _Out_ MPI_Datatype* etype,
-    _Out_ MPI_Datatype* filetype,
-    _Out_writes_z_(MPI_MAX_DATAREP_STRING) char* datarep
-    );
-
-
-/*---------------------------------------------*/
-/* Section 13.4: Data Access                   */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_File_read_at(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_read_at(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_read_at_all(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_read_at_all(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_write_at(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_write_at(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_write_at_all(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_write_at_all(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_iread_at(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_File_iread_at(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_File_iwrite_at(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_File_iwrite_at(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_File_read(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_read(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_read_all(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_read_all(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_write(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_write(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_write_all(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_write_all(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-
-MPI_METHOD
-MPI_File_iread(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_File_iread(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_File_iwrite(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_File_iwrite(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Request* request
-    );
-
-
-/* File seek whence */
-#define MPI_SEEK_SET    600
-#define MPI_SEEK_CUR    602
-#define MPI_SEEK_END    604
-
-MPI_METHOD
-MPI_File_seek(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _In_ int whence
-    );
-
-MPI_METHOD
-PMPI_File_seek(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _In_ int whence
-    );
-
-MPI_METHOD
-MPI_File_get_position(
-    _In_ MPI_File fh,
-    _Out_ MPI_Offset* offset
-    );
-
-MPI_METHOD
-PMPI_File_get_position(
-    _In_ MPI_File fh,
-    _Out_ MPI_Offset* offset
-    );
-
-MPI_METHOD
-MPI_File_get_byte_offset(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _Out_ MPI_Offset* disp
-    );
-
-MPI_METHOD
-PMPI_File_get_byte_offset(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _Out_ MPI_Offset* disp
-    );
-
-MPI_METHOD
-MPI_File_read_shared(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-     );
-
-MPI_METHOD
-PMPI_File_read_shared(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-     );
-
-MPI_METHOD
-MPI_File_write_shared(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_write_shared(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_iread_shared(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_File_iread_shared(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_File_iwrite_shared(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-PMPI_File_iwrite_shared(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Request* request
-    );
-
-MPI_METHOD
-MPI_File_read_ordered(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_read_ordered(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_write_ordered(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_write_ordered(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_seek_shared(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _In_ int whence
-    );
-
-MPI_METHOD
-PMPI_File_seek_shared(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _In_ int whence
-    );
-
-MPI_METHOD
-MPI_File_get_position_shared(
-    _In_ MPI_File fh,
-    _Out_ MPI_Offset* offset
-    );
-
-MPI_METHOD
-PMPI_File_get_position_shared(
-    _In_ MPI_File fh,
-    _Out_ MPI_Offset* offset
-    );
-
-MPI_METHOD
-MPI_File_read_at_all_begin(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-PMPI_File_read_at_all_begin(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-MPI_File_read_at_all_end(
-    _In_ MPI_File fh,
-    _Out_ void* buf,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_read_at_all_end(
-    _In_ MPI_File fh,
-    _Out_ void* buf,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_write_at_all_begin(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-PMPI_File_write_at_all_begin(
-    _In_ MPI_File fh,
-    _In_ MPI_Offset offset,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-MPI_File_write_at_all_end(
-    _In_ MPI_File fh,
-    _In_ const void* buf,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_write_at_all_end(
-    _In_ MPI_File fh,
-    _In_ const void* buf,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_read_all_begin(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-PMPI_File_read_all_begin(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-MPI_File_read_all_end(
-    _In_ MPI_File fh,
-    _Out_ void* buf,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_read_all_end(
-    _In_ MPI_File fh,
-    _Out_ void* buf,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_write_all_begin(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-PMPI_File_write_all_begin(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-MPI_File_write_all_end(
-    _In_ MPI_File fh,
-    _In_ const void* buf,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_write_all_end(
-    _In_ MPI_File fh,
-    _In_ const void* buf,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_read_ordered_begin(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-PMPI_File_read_ordered_begin(
-    _In_ MPI_File fh,
-    _Out_opt_ void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-MPI_File_read_ordered_end(
-    _In_ MPI_File fh,
-    _Out_ void* buf,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_read_ordered_end(
-    _In_ MPI_File fh,
-    _Out_ void* buf,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-MPI_File_write_ordered_begin(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-PMPI_File_write_ordered_begin(
-    _In_ MPI_File fh,
-    _In_opt_ const void* buf,
-    _In_range_(>=, 0) int count,
-    _In_ MPI_Datatype datatype
-    );
-
-MPI_METHOD
-MPI_File_write_ordered_end(
-    _In_ MPI_File fh,
-    _In_ const void* buf,
-    _Out_ MPI_Status* status
-    );
-
-MPI_METHOD
-PMPI_File_write_ordered_end(
-    _In_ MPI_File fh,
-    _In_ const void* buf,
-    _Out_ MPI_Status* status
-    );
-
-
-/*---------------------------------------------*/
-/* Section 13.5: File Interoperability         */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_File_get_type_extent(
-    _In_ MPI_File fh,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Aint* extent
-    );
-
-MPI_METHOD
-PMPI_File_get_type_extent(
-    _In_ MPI_File fh,
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Aint* extent
-    );
-
-
-typedef
-int
-(MPIAPI MPI_Datarep_conversion_function)(
-    _Inout_ void* userbuf,
-    _In_ MPI_Datatype datatype,
-    _In_range_(>=, 0) int count,
-    _Inout_ void* filebuf,
-    _In_ MPI_Offset position,
-    _In_opt_ void* extra_state
-    );
-
-typedef
-int
-(MPIAPI MPI_Datarep_extent_function)(
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Aint* file_extent,
-    _In_opt_ void* extra_state
-    );
-
-#define MPI_CONVERSION_FN_NULL ((MPI_Datarep_conversion_function*)0)
-
-MPI_METHOD
-MPI_Register_datarep(
-    _In_z_ const char* datarep,
-    _In_opt_ MPI_Datarep_conversion_function* read_conversion_fn,
-    _In_opt_ MPI_Datarep_conversion_function* write_conversion_fn,
-    _In_ MPI_Datarep_extent_function* dtype_file_extent_fn,
-    _In_opt_ void* extra_state
-    );
-
-MPI_METHOD
-PMPI_Register_datarep(
-    _In_z_ const char* datarep,
-    _In_opt_ MPI_Datarep_conversion_function* read_conversion_fn,
-    _In_opt_ MPI_Datarep_conversion_function* write_conversion_fn,
-    _In_ MPI_Datarep_extent_function* dtype_file_extent_fn,
-    _In_opt_ void* extra_state
-    );
-
-
-/*---------------------------------------------*/
-/* Section 13.6: Consistency and Semantics     */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_File_set_atomicity(
-    _In_ MPI_File fh,
-    _In_range_(0, 1) int flag
-    );
-
-MPI_METHOD
-PMPI_File_set_atomicity(
-    _In_ MPI_File fh,
-    _In_range_(0, 1) int flag
-    );
-
-MPI_METHOD
-MPI_File_get_atomicity(
-    _In_ MPI_File fh,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-PMPI_File_get_atomicity(
-    _In_ MPI_File fh,
-    _mpi_out_flag_ int* flag
-    );
-
-MPI_METHOD
-MPI_File_sync(
-    _In_ MPI_File fh
-    );
-
-MPI_METHOD
-PMPI_File_sync(
-    _In_ MPI_File fh
-    );
-
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 14: Profiling Interface                                           */
-/*---------------------------------------------------------------------------*/
-
-MPI_METHOD
-MPI_Pcontrol(
-    _In_ const int level,
-    ...
-    );
-
-MPI_METHOD
-PMPI_Pcontrol(
-    _In_ const int level,
-    ...
-    );
-
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 15: Deprecated Functions                                          */
-/*---------------------------------------------------------------------------*/
-
-#ifdef MSMPI_NO_DEPRECATE_20
-#define MSMPI_DEPRECATE_20( x )
-#else
-#define MSMPI_DEPRECATE_20( x ) __declspec(deprecated( \
-    "Deprecated in MPI 2.0, use '" #x "'.  " \
-    "To disable deprecation, define MSMPI_NO_DEPRECATE_20." ))
-#endif
-
-MSMPI_DEPRECATE_20( MPI_Type_create_hvector )
-MPI_METHOD
-MPI_Type_hvector(
-    _In_range_(>=, 0) int count,
-    _In_range_(>=, 0) int blocklength,
-    _In_ MPI_Aint stride,
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Type_create_hvector )
-MPI_METHOD
-PMPI_Type_hvector(
-    _In_range_(>=, 0) int count,
-    _In_range_(>=, 0) int blocklength,
-    _In_ MPI_Aint stride,
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MSMPI_DEPRECATE_20( MPI_Type_create_hindexed )
-MPI_METHOD
-MPI_Type_hindexed(
-    _In_range_(>=, 0) int count,
-    _In_reads_opt_(count) const int array_of_blocklengths[],
-    _In_reads_opt_(count) const MPI_Aint array_of_displacements[],
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Type_create_hindexed )
-MPI_METHOD
-PMPI_Type_hindexed(
-    _In_range_(>=, 0) int count,
-    _In_reads_opt_(count) const int array_of_blocklengths[],
-    _In_reads_opt_(count) const MPI_Aint array_of_displacements[],
-    _In_ MPI_Datatype oldtype,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MSMPI_DEPRECATE_20( MPI_Type_create_struct )
-MPI_METHOD
-MPI_Type_struct(
-    _In_range_(>=, 0) int count,
-    _In_reads_opt_(count) const int array_of_blocklengths[],
-    _In_reads_opt_(count) const MPI_Aint array_of_displacements[],
-    _In_reads_opt_(count) const MPI_Datatype array_of_types[],
-    _Out_ MPI_Datatype* newtype
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Type_create_struct )
-MPI_METHOD
-PMPI_Type_struct(
-    _In_range_(>=, 0) int count,
-    _In_reads_opt_(count) const int array_of_blocklengths[],
-    _In_reads_opt_(count) const MPI_Aint array_of_displacements[],
-    _In_reads_opt_(count) const MPI_Datatype array_of_types[],
-    _Out_ MPI_Datatype* newtype
-    );
-
-MSMPI_DEPRECATE_20( MPI_Get_address )
-MPI_METHOD
-MPI_Address(
-    _In_ void* location,
-    _Out_ MPI_Aint* address
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Get_address )
-MPI_METHOD
-PMPI_Address(
-    _In_ void* location,
-    _Out_ MPI_Aint* address
-    );
-
-MSMPI_DEPRECATE_20( MPI_Type_get_extent )
-MPI_METHOD
-MPI_Type_extent(
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Aint* extent
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Type_get_extent )
-MPI_METHOD
-PMPI_Type_extent(
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Aint* extent
-    );
-
-MSMPI_DEPRECATE_20( MPI_Type_get_extent )
-MPI_METHOD
-MPI_Type_lb(
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Aint* displacement
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Type_get_extent )
-MPI_METHOD
-PMPI_Type_lb(
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Aint* displacement
-    );
-
-MSMPI_DEPRECATE_20( MPI_Type_get_extent )
-MPI_METHOD
-MPI_Type_ub(
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Aint* displacement
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Type_get_extent )
-MPI_METHOD
-PMPI_Type_ub(
-    _In_ MPI_Datatype datatype,
-    _Out_ MPI_Aint* displacement
-    );
-
-
-typedef MPI_Comm_copy_attr_function MPI_Copy_function;
-typedef MPI_Comm_delete_attr_function MPI_Delete_function;
-
-#define MPI_NULL_COPY_FN ((MPI_Copy_function*)0)
-#define MPI_NULL_DELETE_FN ((MPI_Delete_function*)0)
-#define MPI_DUP_FN MPIR_Dup_fn
-
-
-MSMPI_DEPRECATE_20( MPI_Comm_create_keyval )
-MPI_METHOD
-MPI_Keyval_create(
-    _In_opt_ MPI_Copy_function* copy_fn,
-    _In_opt_ MPI_Delete_function* delete_fn,
-    _Out_ int* keyval,
-    _In_opt_ void* extra_state
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Comm_create_keyval )
-MPI_METHOD
-PMPI_Keyval_create(
-    _In_opt_ MPI_Copy_function* copy_fn,
-    _In_opt_ MPI_Delete_function* delete_fn,
-    _Out_ int* keyval,
-    _In_opt_ void* extra_state
-    );
-
-MSMPI_DEPRECATE_20( MPI_Comm_free_keyval )
-MPI_METHOD
-MPI_Keyval_free(
-    _Inout_ int* keyval
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Comm_free_keyval )
-MPI_METHOD
-PMPI_Keyval_free(
-    _Inout_ int* keyval
-    );
-
-MSMPI_DEPRECATE_20( MPI_Comm_set_attr )
-MPI_METHOD
-MPI_Attr_put(
-    _In_ MPI_Comm comm,
-    _In_ int keyval,
-    _In_opt_ void* attribute_val
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Comm_set_attr )
-MPI_METHOD
-PMPI_Attr_put(
-    _In_ MPI_Comm comm,
-    _In_ int keyval,
-    _In_opt_ void* attribute_val
-    );
-
-MSMPI_DEPRECATE_20( MPI_Comm_get_attr )
-MPI_METHOD
-MPI_Attr_get(
-    _In_ MPI_Comm comm,
-    _In_ int keyval,
-    _Out_ void* attribute_val,
-    _mpi_out_flag_ int* flag
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Comm_get_attr )
-MPI_METHOD
-PMPI_Attr_get(
-    _In_ MPI_Comm comm,
-    _In_ int keyval,
-    _Out_ void* attribute_val,
-    _mpi_out_flag_ int* flag
-    );
-
-MSMPI_DEPRECATE_20( MPI_Comm_delete_attr )
-MPI_METHOD
-MPI_Attr_delete(
-    _In_ MPI_Comm comm,
-    _In_ int keyval
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Comm_delete_attr )
-MPI_METHOD
-PMPI_Attr_delete(
-    _In_ MPI_Comm comm,
-    _In_ int keyval
-    );
-
-
-typedef MPI_Comm_errhandler_fn MPI_Handler_function;
-
-MSMPI_DEPRECATE_20( MPI_Comm_create_errhandler )
-MPI_METHOD
-MPI_Errhandler_create(
-    _In_ MPI_Handler_function* function,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Comm_create_errhandler )
-MPI_METHOD
-PMPI_Errhandler_create(
-    _In_ MPI_Handler_function* function,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-MSMPI_DEPRECATE_20( MPI_Comm_set_errhandler )
-MPI_METHOD
-MPI_Errhandler_set(
-    _In_ MPI_Comm comm,
-    _In_ MPI_Errhandler errhandler
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Comm_set_errhandler )
-MPI_METHOD
-PMPI_Errhandler_set(
-    _In_ MPI_Comm comm,
-    _In_ MPI_Errhandler errhandler
-    );
-
-MSMPI_DEPRECATE_20( MPI_Comm_get_errhandler )
-MPI_METHOD
-MPI_Errhandler_get(
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-MSMPI_DEPRECATE_20( PMPI_Comm_get_errhandler )
-MPI_METHOD
-PMPI_Errhandler_get(
-    _In_ MPI_Comm comm,
-    _Out_ MPI_Errhandler* errhandler
-    );
-
-
-/*---------------------------------------------------------------------------*/
-/* Chapter 16: Language Bindings                                             */
-/*---------------------------------------------------------------------------*/
-
-/*---------------------------------------------*/
-/* Section 16.2: Fortran Support               */
-/*---------------------------------------------*/
-
-MPI_METHOD
-MPI_Type_create_f90_real(
-    _In_ int p,
-    _In_ int r,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_create_f90_real(
-    _In_ int p,
-    _In_ int r,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-MPI_Type_create_f90_complex(
-    _In_ int p,
-    _In_ int r,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_create_f90_complex(
-    _In_ int p,
-    _In_ int r,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-MPI_Type_create_f90_integer(
-    _In_ int r,
-    _Out_ MPI_Datatype* newtype
-    );
-
-MPI_METHOD
-PMPI_Type_create_f90_integer(
-    _In_ int r,
-    _Out_ MPI_Datatype* newtype
-    );
-
-/* typeclasses */
-#define MPI_TYPECLASS_REAL      1
-#define MPI_TYPECLASS_INTEGER   2
-#define MPI_TYPECLASS_COMPLEX   3
-
-MPI_METHOD
-MPI_Type_match_size(
-    _In_ int typeclass,
-    _In_ int size,
-    _Out_ MPI_Datatype* datatype
-    );
-
-MPI_METHOD
-PMPI_Type_match_size(
-    _In_ int typeclass,
-    _In_ int size,
-    _Out_ MPI_Datatype* datatype
-    );
-
-
-/*---------------------------------------------*/
-/* Section 16.3: Language Interoperability     */
-/*---------------------------------------------*/
-
-#define MPI_Comm_c2f(comm)  (MPI_Fint)(comm)
-#define PMPI_Comm_c2f(comm) (MPI_Fint)(comm)
-
-#define MPI_Comm_f2c(comm)  (MPI_Comm)(comm)
-#define PMPI_Comm_f2c(comm) (MPI_Comm)(comm)
-
-
-#define MPI_Type_f2c(datatype)  (MPI_Datatype)(datatype)
-#define PMPI_Type_f2c(datatype) (MPI_Datatype)(datatype)
-
-#define MPI_Type_c2f(datatype)  (MPI_Fint)(datatype)
-#define PMPI_Type_c2f(datatype) (MPI_Fint)(datatype)
-
-
-#define MPI_Group_f2c(group)  (MPI_Group)(group)
-#define PMPI_Group_f2c(group) (MPI_Group)(group)
-
-#define MPI_Group_c2f(group)  (MPI_Fint)(group)
-#define PMPI_Group_c2f(group) (MPI_Fint)(group)
-
-
-#define MPI_Request_f2c(request)  (MPI_Request)(request)
-#define PMPI_Request_f2c(request) (MPI_Request)(request)
-
-#define MPI_Request_c2f(request)  (MPI_Fint)(request)
-#define PMPI_Request_c2f(request) (MPI_Fint)(request)
-
-
-#define MPI_Win_f2c(win)  (MPI_Win)(win)
-#define PMPI_Win_f2c(win) (MPI_Win)(win)
-
-#define MPI_Win_c2f(win)  (MPI_Fint)(win)
-#define PMPI_Win_c2f(win) (MPI_Fint)(win)
-
-
-#define MPI_Op_c2f(op)  (MPI_Fint)(op)
-#define PMPI_Op_c2f(op) (MPI_Fint)(op)
-
-#define MPI_Op_f2c(op)  (MPI_Op)(op)
-#define PMPI_Op_f2c(op) (MPI_Op)(op)
-
-
-#define MPI_Info_c2f(info)  (MPI_Fint)(info)
-#define PMPI_Info_c2f(info) (MPI_Fint)(info)
-
-#define MPI_Info_f2c(info)  (MPI_Info)(info)
-#define PMPI_Info_f2c(info) (MPI_Info)(info)
-
-
-#define MPI_Message_c2f(msg)  (MPI_Fint)(msg)
-#define PMPI_Message_c2f(msg) (MPI_Fint)(msg)
-
-#define MPI_Message_f2c(msg)  (MPI_Message)(msg)
-#define PMPI_Message_f2c(msg) (MPI_Message)(msg)
-
-
-#define MPI_Errhandler_c2f(errhandler)  (MPI_Fint)(errhandler)
-#define PMPI_Errhandler_c2f(errhandler) (MPI_Fint)(errhandler)
-
-#define MPI_Errhandler_f2c(errhandler)  (MPI_Errhandler)(errhandler)
-#define PMPI_Errhandler_f2c(errhandler) (MPI_Errhandler)(errhandler)
-
-
-MPI_File
-MPIAPI
-MPI_File_f2c(
-    _In_ MPI_Fint file
-    );
-
-MPI_File
-MPIAPI
-PMPI_File_f2c(
-    _In_ MPI_Fint file
-    );
-
-MPI_Fint
-MPIAPI
-MPI_File_c2f(
-    _In_ MPI_File file
-    );
-
-MPI_Fint
-MPIAPI
-PMPI_File_c2f(
-    _In_ MPI_File file
-    );
-
-MPI_METHOD
-MPI_Status_f2c(
-    _In_ const MPI_Fint* f_status,
-    _Out_ MPI_Status* c_status
-    );
-
-MPI_METHOD
-PMPI_Status_f2c(
-    _In_ const MPI_Fint* f_status,
-    _Out_ MPI_Status* c_status
-    );
-
-MPI_METHOD
-MPI_Status_c2f(
-    _In_ const MPI_Status* c_status,
-    _Out_ MPI_Fint* f_status
-    );
-
-MPI_METHOD
-PMPI_Status_c2f(
-    _In_ const MPI_Status* c_status,
-    _Out_ MPI_Fint* f_status
-    );
-
-
-#if !defined(_MPICH_DLL_)
-#define MPIU_DLL_SPEC __declspec(dllimport)
-#else
-#define MPIU_DLL_SPEC
-#endif
-
-extern MPIU_DLL_SPEC MPI_Fint* MPI_F_STATUS_IGNORE;
-extern MPIU_DLL_SPEC MPI_Fint* MPI_F_STATUSES_IGNORE;
-
-
-/*---------------------------------------------------------------------------*/
-/* Implementation Specific                                                   */
-/*---------------------------------------------------------------------------*/
-
-MPI_METHOD
-MPIR_Dup_fn(
-    _In_ MPI_Comm oldcomm,
-    _In_ int keyval,
-    _In_opt_ void* extra_state,
-    _In_opt_ void* attribute_val_in,
-    _Out_ void* attribute_val_out,
-    _mpi_out_flag_ int* flag
-    );
-
-
-#if MSMPI_VER >= 0x300
-
-MPI_METHOD
-MSMPI_Get_bsend_overhead();
-
-#endif
-
-
-#if MSMPI_VER >= 0x300
-
-MPI_METHOD
-MSMPI_Get_version();
-
-#else
-#  define MSMPI_Get_version() (MSMPI_VER)
-#endif
-
-typedef void
-(MPIAPI MSMPI_Request_callback)(
-    _In_ MPI_Status* status
-    );
-
-MPI_METHOD
-MSMPI_Request_set_apc(
-    _In_ MPI_Request request,
-    _In_ MSMPI_Request_callback* callback_fn,
-    _In_ MPI_Status* callback_status
-    );
-
-typedef struct _MSMPI_LOCK_QUEUE
-{
-    struct _MSMPI_LOCK_QUEUE* volatile next;
-    volatile MPI_Aint flags;
-
-} MSMPI_Lock_queue;
-
-void
-MPIAPI
-MSMPI_Queuelock_acquire(
-    _Out_ MSMPI_Lock_queue* queue
-    );
-
-void
-MPIAPI
-MSMPI_Queuelock_release(
-    _In_ MSMPI_Lock_queue* queue
-    );
-
-MPI_METHOD
-MSMPI_Waitsome_interruptible(
-    _In_range_(>=, 0) int incount,
-    _Inout_updates_opt_(incount) MPI_Request array_of_requests[],
-    _Out_ _Deref_out_range_(MPI_UNDEFINED, incount) int* outcount,
-    _Out_writes_to_opt_(incount,*outcount) int array_of_indices[],
-    _Out_writes_to_opt_(incount,*outcount) MPI_Status array_of_statuses[]
-    );
-
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif /* MPI_INCLUDED */
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License.
+ *
+ *  (C) 2001 by Argonne National Laboratory.
+ *  (C) 2015 by Microsoft Corporation.
+ *
+ *                                 MPICH COPYRIGHT
+ *
+ *  The following is a notice of limited availability of the code, and disclaimer
+ *  which must be included in the prologue of the code and in all source listings
+ *  of the code.
+ *
+ *  Copyright Notice
+ *   + 2002 University of Chicago
+ *
+ *  Permission is hereby granted to use, reproduce, prepare derivative works, and
+ *  to redistribute to others.  This software was authored by:
+ *
+ *  Mathematics and Computer Science Division
+ *  Argonne National Laboratory, Argonne IL 60439
+ *
+ *  (and)
+ *
+ *  Department of Computer Science
+ *  University of Illinois at Urbana-Champaign
+ *
+ *
+ *                                GOVERNMENT LICENSE
+ *
+ *  Portions of this material resulted from work developed under a U.S.
+ *  Government Contract and are subject to the following license: the Government
+ *  is granted for itself and others acting on its behalf a paid-up, nonexclusive,
+ *  irrevocable worldwide license in this computer software to reproduce, prepare
+ *  derivative works, and perform publicly and display publicly.
+ *
+ *                                    DISCLAIMER
+ *
+ *  This computer code material was prepared, in part, as an account of work
+ *  sponsored by an agency of the United States Government.  Neither the United
+ *  States, nor the University of Chicago, nor any of their employees, makes any
+ *  warranty express or implied, or assumes any legal liability or responsibility
+ *  for the accuracy, completeness, or usefulness of any information, apparatus,
+ *  product, or process disclosed, or represents that its use would not infringe
+ *  privately owned rights.
+ *
+ */
+
+#ifndef MPI_INCLUDED
+#define MPI_INCLUDED
+
+#include <stdint.h>
+#ifndef MSMPI_NO_SAL
+#include <sal.h>
+#endif
+
+#if defined(_MSC_VER) && _MSC_VER < 1600 
+typedef signed __int64 _MSMPI_int64_t;
+#else 
+#include <stdint.h> 
+typedef int64_t _MSMPI_int64_t;
+#endif
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+
+#ifndef MSMPI_VER
+#define MSMPI_VER 0x100
+#endif
+
+
+/*---------------------------------------------------------------------------*/
+/* SAL ANNOTATIONS                                                           */
+/*---------------------------------------------------------------------------*/
+/*
+ * Define SAL annotations if they aren't defined yet.
+ */
+#ifndef _Success_
+#define _Success_( x )
+#endif
+#ifndef _Notref_
+#define _Notref_
+#endif
+#ifndef _When_
+#define _When_( x, y )
+#endif
+#ifndef _Pre_valid_
+#define _Pre_valid_
+#endif
+#ifndef _Pre_opt_valid_
+#define _Pre_opt_valid_
+#endif
+#ifndef _Post_invalid_
+#define _Post_invalid_
+#endif
+#ifndef _In_
+#define _In_
+#endif
+#ifndef _In_z_
+#define _In_z_
+#endif
+#ifndef _In_opt_
+#define _In_opt_
+#endif
+#ifndef _In_range_
+#define _In_range_( x, y )
+#endif
+#ifndef _In_reads_
+#define _In_reads_( x )
+#endif
+#ifndef _In_reads_z_
+#define _In_reads_z_( x )
+#endif
+#ifndef _In_reads_opt_
+#define _In_reads_opt_( x )
+#endif
+#ifndef _In_reads_bytes_opt_
+#define _In_reads_bytes_opt_( x )
+#endif
+#ifndef _Out_
+#define _Out_
+#endif
+#ifndef _Out_opt_
+#define _Out_opt_
+#endif
+#ifndef _Out_writes_
+#define _Out_writes_( x )
+#endif
+#ifndef _Out_writes_z_
+#define _Out_writes_z_( x )
+#endif
+#ifndef _Out_writes_opt_
+#define _Out_writes_opt_( x )
+#endif
+#ifndef _Out_writes_to_opt_
+#define _Out_writes_to_opt_( x, y )
+#endif
+#ifndef _Out_writes_bytes_opt_
+#define _Out_writes_bytes_opt_( x )
+#endif
+#ifndef _Inout_
+#define _Inout_
+#endif
+#ifndef _Inout_opt_
+#define _Inout_opt_
+#endif
+#ifndef _Inout_updates_opt_
+#define _Inout_updates_opt_( x )
+#endif
+#ifndef _Deref_in_range_
+#define _Deref_in_range_( x, y )
+#endif
+#ifndef _Deref_out_range_
+#define _Deref_out_range_( x, y )
+#endif
+#ifndef _Pre_satisfies_
+#define _Pre_satisfies_( x )
+#endif
+#ifndef _Post_satisfies_
+#define _Post_satisfies_( x )
+#endif
+#ifndef _Post_equal_to_
+#define _Post_equal_to_( x )
+#endif
+
+#define _mpi_updates_(size) _When_(size != 0, _Inout_updates_(size))
+#define _mpi_reads_(size) _When_(size != 0, _In_reads_(size))
+#define _mpi_reads_bytes_(size) _When_(size != 0, _In_reads_bytes_(size))
+#define _mpi_writes_(size) _When_(size != 0, _Out_writes_(size))
+#define _mpi_writes_bytes_(size) _When_(size != 0, _Out_writes_bytes_(size))
+#define _mpi_writes_to_(size, count) _When_(size != 0, _Out_writes_to_(size, count))
+#define _mpi_out_flag_ _Out_ _Deref_out_range_(0, 1)
+#define _mpi_out_(param, sentinel) _Out_ _Post_satisfies_(*param == sentinel || *param >= 0)
+#define _mpi_out_range_(param, sentinel, ub) \
+    _Out_ _Post_satisfies_(*param == sentinel || (ub > 0 && *param >= 0 && *param <= ub))
+#define _mpi_position_(ub) _Inout_ _Deref_in_range_(0, ub) _Deref_out_range_(0, ub)
+#define _mpi_coll_rank_(param) _In_ _Pre_satisfies_(param == MPI_ROOT || param >= MPI_PROC_NULL)
+
+/*---------------------------------------------------------------------------*/
+/* MSMPI Calling convention                                                  */
+/*---------------------------------------------------------------------------*/
+
+#define MPIAPI __stdcall
+
+
+/*---------------------------------------------------------------------------*/
+/* MPI ERROR CLASS                                                           */
+/*---------------------------------------------------------------------------*/
+
+#define MPI_SUCCESS          0      /* Successful return code */
+
+#define MPI_ERR_BUFFER       1      /* Invalid buffer pointer */
+#define MPI_ERR_COUNT        2      /* Invalid count argument */
+#define MPI_ERR_TYPE         3      /* Invalid datatype argument */
+#define MPI_ERR_TAG          4      /* Invalid tag argument */
+#define MPI_ERR_COMM         5      /* Invalid communicator */
+#define MPI_ERR_RANK         6      /* Invalid rank */
+#define MPI_ERR_ROOT         7      /* Invalid root */
+#define MPI_ERR_GROUP        8      /* Invalid group */
+#define MPI_ERR_OP           9      /* Invalid operation */
+#define MPI_ERR_TOPOLOGY    10      /* Invalid topology */
+#define MPI_ERR_DIMS        11      /* Invalid dimension argument */
+#define MPI_ERR_ARG         12      /* Invalid argument */
+#define MPI_ERR_UNKNOWN     13      /* Unknown error */
+#define MPI_ERR_TRUNCATE    14      /* Message truncated on receive */
+#define MPI_ERR_OTHER       15      /* Other error; use Error_string */
+#define MPI_ERR_INTERN      16      /* Internal error code */
+#define MPI_ERR_IN_STATUS   17      /* Error code is in status */
+#define MPI_ERR_PENDING     18      /* Pending request */
+#define MPI_ERR_REQUEST     19      /* Invalid request (handle) */
+#define MPI_ERR_ACCESS      20      /* Premission denied */
+#define MPI_ERR_AMODE       21      /* Error related to amode passed to MPI_File_open */
+#define MPI_ERR_BAD_FILE    22      /* Invalid file name (e.g., path name too long) */
+#define MPI_ERR_CONVERSION  23      /* Error in user data conversion function */
+#define MPI_ERR_DUP_DATAREP 24      /* Data representation identifier already registered */
+#define MPI_ERR_FILE_EXISTS 25      /* File exists */
+#define MPI_ERR_FILE_IN_USE 26      /* File operation could not be completed, file in use */
+#define MPI_ERR_FILE        27      /* Invalid file handle */
+#define MPI_ERR_INFO        28      /* Invalid info argument */
+#define MPI_ERR_INFO_KEY    29      /* Key longer than MPI_MAX_INFO_KEY */
+#define MPI_ERR_INFO_VALUE  30      /* Value longer than MPI_MAX_INFO_VAL */
+#define MPI_ERR_INFO_NOKEY  31      /* Invalid key passed to MPI_Info_delete */
+#define MPI_ERR_IO          32      /* Other I/O error */
+#define MPI_ERR_NAME        33      /* Invalid service name in MPI_Lookup_name */
+#define MPI_ERR_NO_MEM      34      /* Alloc_mem could not allocate memory */
+#define MPI_ERR_NOT_SAME    35      /* Collective argument/sequence not the same on all processes */
+#define MPI_ERR_NO_SPACE    36      /* Not enough space */
+#define MPI_ERR_NO_SUCH_FILE 37     /* File does not exist */
+#define MPI_ERR_PORT        38      /* Invalid port name in MPI_comm_connect*/
+#define MPI_ERR_QUOTA       39      /* Quota exceeded */
+#define MPI_ERR_READ_ONLY   40      /* Read-only file or file system */
+#define MPI_ERR_SERVICE     41      /* Invalid service name in MPI_Unpublish_name */
+#define MPI_ERR_SPAWN       42      /* Error in spawning processes */
+#define MPI_ERR_UNSUPPORTED_DATAREP   43  /* Unsupported dararep in MPI_File_set_view */
+#define MPI_ERR_UNSUPPORTED_OPERATION 44  /* Unsupported operation on file */
+#define MPI_ERR_WIN         45      /* Invalid win argument */
+#define MPI_ERR_BASE        46      /* Invalid base passed to MPI_Free_mem */
+#define MPI_ERR_LOCKTYPE    47      /* Invalid locktype argument */
+#define MPI_ERR_KEYVAL      48      /* Invalid keyval  */
+#define MPI_ERR_RMA_CONFLICT 49     /* Conflicting accesses to window */
+#define MPI_ERR_RMA_SYNC    50      /* Wrong synchronization of RMA calls */
+#define MPI_ERR_SIZE        51      /* Invalid size argument */
+#define MPI_ERR_DISP        52      /* Invalid disp argument */
+#define MPI_ERR_ASSERT      53      /* Invalid assert argument */
+
+#define MPI_ERR_LASTCODE    0x3fffffff    /* Last valid error code for a predefined error class */
+
+#define MPICH_ERR_LAST_CLASS 53
+
+
+/*---------------------------------------------------------------------------*/
+/* MPI Basic integer types                                                   */
+/*---------------------------------------------------------------------------*/
+
+/* Address size integer */
+#ifdef _WIN64
+typedef _MSMPI_int64_t MPI_Aint;
+#else
+typedef int MPI_Aint;
+#endif
+
+/* Fortran INTEGER */
+typedef int MPI_Fint;
+
+/* File offset */
+typedef _MSMPI_int64_t MPI_Offset;
+
+//
+// MPI-3 standard defines this type that can be used to address locations
+// within either memory or files as well as express count values.
+//
+typedef _MSMPI_int64_t MPI_Count;
+
+
+/*---------------------------------------------------------------------------*/
+/* MPI_Datatype                                                              */
+/*---------------------------------------------------------------------------*/
+
+typedef int MPI_Datatype;
+#define MPI_DATATYPE_NULL           ((MPI_Datatype)0x0c000000)
+
+#define MPI_CHAR                    ((MPI_Datatype)0x4c000101)
+#define MPI_UNSIGNED_CHAR           ((MPI_Datatype)0x4c000102)
+#define MPI_SHORT                   ((MPI_Datatype)0x4c000203)
+#define MPI_UNSIGNED_SHORT          ((MPI_Datatype)0x4c000204)
+#define MPI_INT                     ((MPI_Datatype)0x4c000405)
+#define MPI_UNSIGNED                ((MPI_Datatype)0x4c000406)
+#define MPI_LONG                    ((MPI_Datatype)0x4c000407)
+#define MPI_UNSIGNED_LONG           ((MPI_Datatype)0x4c000408)
+#define MPI_LONG_LONG_INT           ((MPI_Datatype)0x4c000809)
+#define MPI_LONG_LONG               MPI_LONG_LONG_INT
+#define MPI_FLOAT                   ((MPI_Datatype)0x4c00040a)
+#define MPI_DOUBLE                  ((MPI_Datatype)0x4c00080b)
+#define MPI_LONG_DOUBLE             ((MPI_Datatype)0x4c00080c)
+#define MPI_BYTE                    ((MPI_Datatype)0x4c00010d)
+#define MPI_WCHAR                   ((MPI_Datatype)0x4c00020e)
+
+#define MPI_PACKED                  ((MPI_Datatype)0x4c00010f)
+#define MPI_LB                      ((MPI_Datatype)0x4c000010)
+#define MPI_UB                      ((MPI_Datatype)0x4c000011)
+
+#define MPI_C_COMPLEX               ((MPI_Datatype)0x4c000812)
+#define MPI_C_FLOAT_COMPLEX         ((MPI_Datatype)0x4c000813)
+#define MPI_C_DOUBLE_COMPLEX        ((MPI_Datatype)0x4c001014)
+#define MPI_C_LONG_DOUBLE_COMPLEX   ((MPI_Datatype)0x4c001015)
+
+#define MPI_2INT                    ((MPI_Datatype)0x4c000816)
+#define MPI_C_BOOL                  ((MPI_Datatype)0x4c000117)
+#define MPI_SIGNED_CHAR             ((MPI_Datatype)0x4c000118)
+#define MPI_UNSIGNED_LONG_LONG      ((MPI_Datatype)0x4c000819)
+
+/* Fortran types */
+#define MPI_CHARACTER               ((MPI_Datatype)0x4c00011a)
+#define MPI_INTEGER                 ((MPI_Datatype)0x4c00041b)
+#define MPI_REAL                    ((MPI_Datatype)0x4c00041c)
+#define MPI_LOGICAL                 ((MPI_Datatype)0x4c00041d)
+#define MPI_COMPLEX                 ((MPI_Datatype)0x4c00081e)
+#define MPI_DOUBLE_PRECISION        ((MPI_Datatype)0x4c00081f)
+#define MPI_2INTEGER                ((MPI_Datatype)0x4c000820)
+#define MPI_2REAL                   ((MPI_Datatype)0x4c000821)
+#define MPI_DOUBLE_COMPLEX          ((MPI_Datatype)0x4c001022)
+#define MPI_2DOUBLE_PRECISION       ((MPI_Datatype)0x4c001023)
+#define MPI_2COMPLEX                ((MPI_Datatype)0x4c001024)
+#define MPI_2DOUBLE_COMPLEX         ((MPI_Datatype)0x4c002025)
+
+/* Size-specific types (see MPI 2.2, 16.2.5) */
+#define MPI_REAL2                   MPI_DATATYPE_NULL
+#define MPI_REAL4                   ((MPI_Datatype)0x4c000427)
+#define MPI_COMPLEX8                ((MPI_Datatype)0x4c000828)
+#define MPI_REAL8                   ((MPI_Datatype)0x4c000829)
+#define MPI_COMPLEX16               ((MPI_Datatype)0x4c00102a)
+#define MPI_REAL16                  MPI_DATATYPE_NULL
+#define MPI_COMPLEX32               MPI_DATATYPE_NULL
+#define MPI_INTEGER1                ((MPI_Datatype)0x4c00012d)
+#define MPI_COMPLEX4                MPI_DATATYPE_NULL
+#define MPI_INTEGER2                ((MPI_Datatype)0x4c00022f)
+#define MPI_INTEGER4                ((MPI_Datatype)0x4c000430)
+#define MPI_INTEGER8                ((MPI_Datatype)0x4c000831)
+#define MPI_INTEGER16               MPI_DATATYPE_NULL
+#define MPI_INT8_T                  ((MPI_Datatype)0x4c000133)
+#define MPI_INT16_T                 ((MPI_Datatype)0x4c000234)
+#define MPI_INT32_T                 ((MPI_Datatype)0x4c000435)
+#define MPI_INT64_T                 ((MPI_Datatype)0x4c000836)
+#define MPI_UINT8_T                 ((MPI_Datatype)0x4c000137)
+#define MPI_UINT16_T                ((MPI_Datatype)0x4c000238)
+#define MPI_UINT32_T                ((MPI_Datatype)0x4c000439)
+#define MPI_UINT64_T                ((MPI_Datatype)0x4c00083a)
+
+#ifdef _WIN64
+#define MPI_AINT                    ((MPI_Datatype)0x4c00083b)
+#else
+#define MPI_AINT                    ((MPI_Datatype)0x4c00043b)
+#endif
+#define MPI_OFFSET                  ((MPI_Datatype)0x4c00083c)
+#define MPI_COUNT                   ((MPI_Datatype)0x4c00083d)
+
+/*
+ * The layouts for the types MPI_DOUBLE_INT etc. are
+ *
+ *      struct { double a; int b; }
+ */
+#define MPI_FLOAT_INT               ((MPI_Datatype)0x8c000000)
+#define MPI_DOUBLE_INT              ((MPI_Datatype)0x8c000001)
+#define MPI_LONG_INT                ((MPI_Datatype)0x8c000002)
+#define MPI_SHORT_INT               ((MPI_Datatype)0x8c000003)
+#define MPI_LONG_DOUBLE_INT         ((MPI_Datatype)0x8c000004)
+
+
+/*---------------------------------------------------------------------------*/
+/* MPI_Comm                                                                  */
+/*---------------------------------------------------------------------------*/
+
+typedef int MPI_Comm;
+#define MPI_COMM_NULL  ((MPI_Comm)0x04000000)
+
+#define MPI_COMM_WORLD ((MPI_Comm)0x44000000)
+#define MPI_COMM_SELF  ((MPI_Comm)0x44000001)
+
+/*---------------------------------------------------------------------------*/
+/* MPI_Comm Split Types                                                      */
+/*---------------------------------------------------------------------------*/
+enum
+{
+    MPI_COMM_TYPE_SHARED    = 1,
+};
+
+
+/*---------------------------------------------------------------------------*/
+/* MPI_Win                                                                   */
+/*---------------------------------------------------------------------------*/
+
+typedef int MPI_Win;
+#define MPI_WIN_NULL ((MPI_Win)0x20000000)
+
+
+/*---------------------------------------------------------------------------*/
+/* MPI_File                                                                  */
+/*---------------------------------------------------------------------------*/
+
+typedef struct ADIOI_FileD* MPI_File;
+#define MPI_FILE_NULL ((MPI_File)0)
+
+
+/*---------------------------------------------------------------------------*/
+/* MPI_Op                                                                    */
+/*---------------------------------------------------------------------------*/
+
+typedef int MPI_Op;
+#define MPI_OP_NULL ((MPI_Op)0x18000000)
+
+#define MPI_MAX     ((MPI_Op)0x58000001)
+#define MPI_MIN     ((MPI_Op)0x58000002)
+#define MPI_SUM     ((MPI_Op)0x58000003)
+#define MPI_PROD    ((MPI_Op)0x58000004)
+#define MPI_LAND    ((MPI_Op)0x58000005)
+#define MPI_BAND    ((MPI_Op)0x58000006)
+#define MPI_LOR     ((MPI_Op)0x58000007)
+#define MPI_BOR     ((MPI_Op)0x58000008)
+#define MPI_LXOR    ((MPI_Op)0x58000009)
+#define MPI_BXOR    ((MPI_Op)0x5800000a)
+#define MPI_MINLOC  ((MPI_Op)0x5800000b)
+#define MPI_MAXLOC  ((MPI_Op)0x5800000c)
+#define MPI_REPLACE ((MPI_Op)0x5800000d)
+#define MPI_NO_OP   ((MPI_Op)0x5800000e)
+
+
+/*---------------------------------------------------------------------------*/
+/* MPI_Info                                                                  */
+/*---------------------------------------------------------------------------*/
+
+typedef int MPI_Info;
+#define MPI_INFO_NULL         ((MPI_Info)0x1c000000)
+
+
+/*---------------------------------------------------------------------------*/
+/* MPI_Request                                                               */
+/*---------------------------------------------------------------------------*/
+
+typedef int MPI_Request;
+#define MPI_REQUEST_NULL ((MPI_Request)0x2c000000)
+
+
+/*---------------------------------------------------------------------------*/
+/* MPI_Group                                                                 */
+/*---------------------------------------------------------------------------*/
+
+typedef int MPI_Group;
+#define MPI_GROUP_NULL  ((MPI_Group)0x08000000)
+
+#define MPI_GROUP_EMPTY ((MPI_Group)0x48000000)
+
+
+/*---------------------------------------------------------------------------*/
+/* MPI_Errhandler                                                            */
+/*---------------------------------------------------------------------------*/
+
+typedef int MPI_Errhandler;
+#define MPI_ERRHANDLER_NULL  ((MPI_Errhandler)0x14000000)
+
+#define MPI_ERRORS_ARE_FATAL ((MPI_Errhandler)0x54000000)
+#define MPI_ERRORS_RETURN    ((MPI_Errhandler)0x54000001)
+
+
+/*---------------------------------------------------------------------------*/
+/* MPI_Message                                                               */
+/*---------------------------------------------------------------------------*/
+
+typedef int MPI_Message;
+#define MPI_MESSAGE_NULL     ((MPI_Message)0x30000000)
+#define MPI_MESSAGE_NO_PROC  ((MPI_Message)0x70000000)
+
+/*---------------------------------------------------------------------------*/
+/* MPI_Status                                                                */
+/*---------------------------------------------------------------------------*/
+
+typedef struct MPI_Status
+{
+    int internal[2];
+
+    int MPI_SOURCE;
+    int MPI_TAG;
+    int MPI_ERROR;
+
+} MPI_Status;
+
+#define MPI_STATUS_IGNORE ((MPI_Status*)(MPI_Aint)1)
+#define MPI_STATUSES_IGNORE ((MPI_Status*)(MPI_Aint)1)
+
+
+/*---------------------------------------------------------------------------*/
+/* MISC CONSTANTS                                                            */
+/*---------------------------------------------------------------------------*/
+
+/* Used in: Count, Index, Rank, Color, Toplogy, Precision, Exponent range  */
+#define MPI_UNDEFINED   (-32766)
+
+/* Used in: Rank */
+#define MPI_PROC_NULL   (-1)
+#define MPI_ANY_SOURCE  (-2)
+#define MPI_ROOT        (-3)
+
+/* Used in: Tag */
+#define MPI_ANY_TAG     (-1)
+
+/* Used for: Buffer address */
+#define MPI_BOTTOM        ((void*)0)
+#define MPI_UNWEIGHTED    ((int*)1)
+#define MPI_WEIGHTS_EMPTY ((int*)2)
+
+/*---------------------------------------------------------------------------*/
+/* Macro for function return values.                                         */
+/*---------------------------------------------------------------------------*/
+#define MPI_METHOD _Success_( return == MPI_SUCCESS ) int MPIAPI
+
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 3: Point-to-Point Communication                                   */
+/*---------------------------------------------------------------------------*/
+
+/*---------------------------------------------*/
+/* Section 3.2: Blocking Communication         */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Send(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm
+    );
+
+MPI_METHOD
+PMPI_Send(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm
+    );
+
+MPI_METHOD
+MPI_Recv(
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_Recv(
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Status* status
+    );
+
+_Pre_satisfies_(status != MPI_STATUS_IGNORE)
+MPI_METHOD
+MPI_Get_count(
+    _In_ const MPI_Status* status,
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(count, MPI_UNDEFINED) int* count
+    );
+
+_Pre_satisfies_(status != MPI_STATUS_IGNORE)
+MPI_METHOD
+PMPI_Get_count(
+    _In_ const MPI_Status* status,
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(count, MPI_UNDEFINED) int* count
+    );
+
+
+/*---------------------------------------------*/
+/* Section 3.4: Communication Modes            */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Bsend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm
+    );
+
+MPI_METHOD
+PMPI_Bsend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm
+    );
+
+MPI_METHOD
+MPI_Ssend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm
+    );
+
+MPI_METHOD
+PMPI_Ssend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm
+    );
+
+MPI_METHOD
+MPI_Rsend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm
+    );
+
+MPI_METHOD
+PMPI_Rsend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm
+    );
+
+
+/*---------------------------------------------*/
+/* Section 3.6: Buffer Allocation              */
+/*---------------------------------------------*/
+
+/* Upper bound on bsend overhead for each message */
+#define MSMPI_BSEND_OVERHEAD_V1   95
+#define MSMPI_BSEND_OVERHEAD_V2   MSMPI_BSEND_OVERHEAD_V1
+
+#if MSMPI_VER > 0x300
+#  define MPI_BSEND_OVERHEAD  MSMPI_Get_bsend_overhead()
+#else
+#  define MPI_BSEND_OVERHEAD  MSMPI_BSEND_OVERHEAD_V1
+#endif
+
+MPI_METHOD
+MPI_Buffer_attach(
+    _In_ void* buffer,
+    _In_range_(>=, 0) int size
+    );
+
+MPI_METHOD
+PMPI_Buffer_attach(
+    _In_ void* buffer,
+    _In_range_(>=, 0) int size
+    );
+
+MPI_METHOD
+MPI_Buffer_detach(
+    _Out_ void* buffer_addr,
+    _Out_ int* size
+    );
+
+MPI_METHOD
+PMPI_Buffer_detach(
+    _Out_ void* buffer_addr,
+    _Out_ int* size
+    );
+
+
+/*---------------------------------------------*/
+/* Section 3.7: Nonblocking Communication      */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Isend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Isend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_Ibsend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Ibsend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_Issend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Issend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_Irsend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Irsend(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_Irecv(
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Irecv(
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+
+/*---------------------------------------------*/
+/* Section 3.7.3: Communication Completion     */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Wait(
+    _Inout_ _Post_equal_to_(MPI_REQUEST_NULL) MPI_Request* request,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_Wait(
+    _Inout_ _Post_equal_to_(MPI_REQUEST_NULL) MPI_Request* request,
+    _Out_ MPI_Status* status
+    );
+
+_Success_(return == MPI_SUCCESS && *flag != 0)
+int
+MPIAPI
+MPI_Test(
+    _Inout_ _Post_equal_to_(MPI_REQUEST_NULL) MPI_Request* request,
+    _mpi_out_flag_ int* flag,
+    _Out_ MPI_Status* status
+    );
+
+_Success_(return == MPI_SUCCESS && *flag != 0)
+int
+MPIAPI
+PMPI_Test(
+    _Inout_ _Post_equal_to_(MPI_REQUEST_NULL) MPI_Request* request,
+    _mpi_out_flag_ int* flag,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_Request_free(
+    _Inout_ _Post_equal_to_(MPI_REQUEST_NULL) MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Request_free(
+    _Inout_ _Post_equal_to_(MPI_REQUEST_NULL) MPI_Request* request
+    );
+
+
+/*---------------------------------------------*/
+/* Section 3.7.5: Multiple Completions         */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Waitany(
+    _In_range_(>=, 0) int count,
+    _mpi_updates_(count) MPI_Request array_of_requests[],
+    _mpi_out_range_(index, MPI_UNDEFINED, (count - 1)) int* index,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_Waitany(
+    _In_range_(>=, 0) int count,
+    _mpi_updates_(count) MPI_Request array_of_requests[],
+    _mpi_out_range_(index, MPI_UNDEFINED, (count - 1)) int* index,
+    _Out_ MPI_Status* status
+    );
+
+_Success_(return == MPI_SUCCESS && *flag != 0)
+int
+MPIAPI
+MPI_Testany(
+    _In_range_(>=, 0) int count,
+    _mpi_updates_(count) MPI_Request array_of_requests[],
+    _mpi_out_range_(index, MPI_UNDEFINED, (count - 1)) int* index,
+    _mpi_out_flag_ int* flag,
+    _Out_ MPI_Status* status
+    );
+
+_Success_(return == MPI_SUCCESS && *flag != 0)
+int
+MPIAPI
+PMPI_Testany(
+    _In_range_(>=, 0) int count,
+    _mpi_updates_(count) MPI_Request array_of_requests[],
+    _mpi_out_range_(index, MPI_UNDEFINED, (count - 1)) int* index,
+    _mpi_out_flag_ int* flag,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_Waitall(
+    _In_range_(>=, 0) int count,
+    _mpi_updates_(count) MPI_Request array_of_requests[],
+    _Out_writes_opt_(count) MPI_Status array_of_statuses[]
+    );
+
+MPI_METHOD
+PMPI_Waitall(
+    _In_range_(>=, 0) int count,
+    _mpi_updates_(count) MPI_Request array_of_requests[],
+    _Out_writes_opt_(count) MPI_Status array_of_statuses[]
+    );
+
+_Success_(return == MPI_SUCCESS && *flag != 0)
+int
+MPIAPI
+MPI_Testall(
+    _In_range_(>=, 0) int count,
+    _mpi_updates_(count) MPI_Request array_of_requests[],
+    _mpi_out_flag_ int* flag,
+    _Out_writes_opt_(count) MPI_Status array_of_statuses[]
+    );
+
+_Success_(return == MPI_SUCCESS && *flag != 0)
+int
+MPIAPI
+PMPI_Testall(
+    _In_range_(>=, 0) int count,
+    _mpi_updates_(count) MPI_Request array_of_requests[],
+    _mpi_out_flag_ int* flag,
+    _Out_writes_opt_(count) MPI_Status array_of_statuses[]
+);
+
+MPI_METHOD
+MPI_Waitsome(
+    _In_range_(>=, 0) int incount,
+    _mpi_updates_(incount) MPI_Request array_of_requests[],
+    _mpi_out_range_(outcount, MPI_UNDEFINED, incount) int* outcount,
+    _mpi_writes_to_(incount,*outcount) int array_of_indices[],
+    _Out_writes_to_opt_(incount, *outcount) MPI_Status array_of_statuses[]
+    );
+
+MPI_METHOD
+PMPI_Waitsome(
+    _In_range_(>=, 0) int incount,
+    _mpi_updates_(incount) MPI_Request array_of_requests[],
+    _mpi_out_range_(outcount, MPI_UNDEFINED, incount) int* outcount,
+    _mpi_writes_to_(incount,*outcount) int array_of_indices[],
+    _Out_writes_to_opt_(incount, *outcount) MPI_Status array_of_statuses[]
+    );
+
+_Success_(return == MPI_SUCCESS && *outcount > 0)
+int
+MPIAPI
+MPI_Testsome(
+    _In_range_(>=, 0) int incount,
+    _mpi_updates_(incount) MPI_Request array_of_requests[],
+    _mpi_out_range_(outcount, MPI_UNDEFINED, incount) int* outcount,
+    _mpi_writes_to_(incount,*outcount) int array_of_indices[],
+    _Out_writes_to_opt_(incount, *outcount) MPI_Status array_of_statuses[]
+    );
+
+_Success_(return == MPI_SUCCESS && *outcount > 0)
+int
+MPIAPI
+PMPI_Testsome(
+    _In_range_(>=, 0) int incount,
+    _mpi_updates_(incount) MPI_Request array_of_requests[],
+    _mpi_out_range_(outcount, MPI_UNDEFINED, incount) int* outcount,
+    _mpi_writes_to_(incount,*outcount) int array_of_indices[],
+    _Out_writes_to_opt_(incount, *outcount) MPI_Status array_of_statuses[]
+    );
+
+
+/*---------------------------------------------*/
+/* Section 3.7.6: Test of status               */
+/*---------------------------------------------*/
+
+_Success_(return == MPI_SUCCESS && *flag != 0)
+int
+MPIAPI
+MPI_Request_get_status(
+    _In_ MPI_Request request,
+    _mpi_out_flag_ int* flag,
+    _Out_ MPI_Status* status
+    );
+
+_Success_(return == MPI_SUCCESS && *flag != 0)
+int
+MPIAPI
+PMPI_Request_get_status(
+    _In_ MPI_Request request,
+    _mpi_out_flag_ int* flag,
+    _Out_ MPI_Status* status
+    );
+
+
+/*---------------------------------------------*/
+/* Section 3.8: Probe and Cancel               */
+/*---------------------------------------------*/
+
+_Success_(return == MPI_SUCCESS && *flag != 0)
+int
+MPIAPI
+MPI_Iprobe(
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _mpi_out_flag_ int* flag,
+    _Out_ MPI_Status* status
+    );
+
+_Success_(return == MPI_SUCCESS && *flag != 0)
+int
+MPIAPI
+PMPI_Iprobe(
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _mpi_out_flag_ int* flag,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_Probe(
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_Probe(
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Status* status
+    );
+
+_Success_(return == MPI_SUCCESS && *flag != 0)
+int
+MPIAPI
+MPI_Improbe(
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _mpi_out_flag_ int* flag,
+    _Out_ MPI_Message* message,
+    _Out_ MPI_Status* status
+    );
+
+_Success_(return == MPI_SUCCESS && *flag != 0)
+int
+MPIAPI
+PMPI_Improbe(
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _mpi_out_flag_ int* flag,
+    _Out_ MPI_Message* message,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_Mprobe(
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Message* message,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_Mprobe(
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Message* message,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_Mrecv(
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Inout_ MPI_Message* message,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_Mrecv(
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Inout_ MPI_Message* message,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_Imrecv(
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Inout_ MPI_Message* message,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Imrecv(
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Inout_ MPI_Message* message,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(*request != MPI_REQUEST_NULL)
+MPI_METHOD
+MPI_Cancel(
+    _In_ MPI_Request* request
+    );
+
+_Pre_satisfies_(*request != MPI_REQUEST_NULL)
+MPI_METHOD
+PMPI_Cancel(
+    _In_ MPI_Request* request
+    );
+
+_Pre_satisfies_(status != MPI_STATUS_IGNORE)
+MPI_METHOD
+MPI_Test_cancelled(
+    _In_ const MPI_Status* status,
+    _mpi_out_flag_ int* flag
+    );
+
+_Pre_satisfies_(status != MPI_STATUS_IGNORE)
+MPI_METHOD
+PMPI_Test_cancelled(
+    _In_ const MPI_Status* status,
+    _mpi_out_flag_ int* flag
+    );
+
+
+/*---------------------------------------------*/
+/* Section 3.9: Persistent Communication       */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Send_init(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Send_init(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_Bsend_init(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Bsend_init(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_Ssend_init(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Ssend_init(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_Rsend_init(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Rsend_init(
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_Recv_init(
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Recv_init(
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int tag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(*request != MPI_REQUEST_NULL)
+MPI_METHOD
+MPI_Start(
+    _Inout_ MPI_Request* request
+    );
+
+_Pre_satisfies_(*request != MPI_REQUEST_NULL)
+MPI_METHOD
+PMPI_Start(
+    _Inout_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_Startall(
+    _In_range_(>=, 0) int count,
+    _mpi_updates_(count) MPI_Request array_of_requests[]
+    );
+
+MPI_METHOD
+PMPI_Startall(
+    _In_range_(>=, 0) int count,
+    _mpi_updates_(count) MPI_Request array_of_requests[]
+    );
+
+
+/*---------------------------------------------*/
+/* Section 3.10: Send-Recv                     */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Sendrecv(
+    _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int sendtag,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int recvtag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_Sendrecv(
+    _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int sendtag,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int recvtag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_Sendrecv_replace(
+    _Inout_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int sendtag,
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int recvtag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_Sendrecv_replace(
+    _Inout_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, MPI_PROC_NULL) int dest,
+    _In_range_(>=, 0) int sendtag,
+    _In_range_(>=, MPI_ANY_SOURCE) int source,
+    _In_range_(>=, MPI_ANY_TAG) int recvtag,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Status* status
+    );
+
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 4: Datatypes                                                      */
+/*---------------------------------------------------------------------------*/
+
+/*---------------------------------------------*/
+/* Section 4.1: Derived Datatypes              */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Type_contiguous(
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_contiguous(
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+MPI_Type_vector(
+    _In_range_(>=, 0) int count,
+    _In_range_(>=, 0) int blocklength,
+    _In_ int stride,
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_vector(
+    _In_range_(>=, 0) int count,
+    _In_range_(>=, 0) int blocklength,
+    _In_ int stride,
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+MPI_Type_create_hvector(
+    _In_range_(>=, 0) int count,
+    _In_range_(>=, 0) int blocklength,
+    _In_ MPI_Aint stride,
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_create_hvector(
+    _In_range_(>=, 0) int count,
+    _In_range_(>=, 0) int blocklength,
+    _In_ MPI_Aint stride,
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+MPI_Type_indexed(
+    _In_range_(>=, 0) int count,
+    _mpi_reads_(count) const int array_of_blocklengths[],
+    _mpi_reads_(count) const int array_of_displacements[],
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_indexed(
+    _In_range_(>=, 0) int count,
+    _mpi_reads_(count) const int array_of_blocklengths[],
+    _mpi_reads_(count) const int array_of_displacements[],
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+MPI_Type_create_hindexed(
+    _In_range_(>=, 0) int count,
+    _mpi_reads_(count) const int array_of_blocklengths[],
+    _mpi_reads_(count) const MPI_Aint array_of_displacements[],
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_create_hindexed(
+    _In_range_(>=, 0) int count,
+    _mpi_reads_(count) const int array_of_blocklengths[],
+    _mpi_reads_(count) const MPI_Aint array_of_displacements[],
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+MPI_Type_create_hindexed_block(
+    _In_range_(>=, 0) int count,
+    _In_range_(>=, 0) int blocklength,
+    _mpi_reads_(count) const MPI_Aint array_of_displacements[],
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_create_hindexed_block(
+    _In_range_(>=, 0) int count,
+    _In_range_(>=, 0) int blocklength,
+    _mpi_reads_(count) const MPI_Aint array_of_displacements[],
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+MPI_Type_create_indexed_block(
+    _In_range_(>=, 0) int count,
+    _In_range_(>=, 0) int blocklength,
+    _mpi_reads_(count) const int array_of_displacements[],
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_create_indexed_block(
+    _In_range_(>=, 0) int count,
+    _In_range_(>=, 0) int blocklength,
+    _mpi_reads_(count) const int array_of_displacements[],
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+MPI_Type_create_struct(
+    _In_range_(>=, 0) int count,
+    _mpi_reads_(count) const int array_of_blocklengths[],
+    _mpi_reads_(count) const MPI_Aint array_of_displacements[],
+    _mpi_reads_(count) const MPI_Datatype array_of_types[],
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_create_struct(
+    _In_range_(>=, 0) int count,
+    _mpi_reads_(count) const int array_of_blocklengths[],
+    _mpi_reads_(count) const MPI_Aint array_of_displacements[],
+    _mpi_reads_(count) const MPI_Datatype array_of_types[],
+    _Out_ MPI_Datatype* newtype
+    );
+
+
+#define MPI_ORDER_C         56
+#define MPI_ORDER_FORTRAN   57
+
+MPI_METHOD
+MPI_Type_create_subarray(
+    _In_range_(>=, 0) int ndims,
+    _mpi_reads_(ndims) const int array_of_sizes[],
+    _mpi_reads_(ndims) const int array_of_subsizes[],
+    _mpi_reads_(ndims) const int array_of_starts[],
+    _In_range_(MPI_ORDER_C, MPI_ORDER_FORTRAN) int order,
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_create_subarray(
+    _In_range_(>=, 0) int ndims,
+    _In_reads_opt_(ndims) const int array_of_sizes[],
+    _In_reads_opt_(ndims) const int array_of_subsizes[],
+    _In_reads_opt_(ndims) const int array_of_starts[],
+    _In_range_(MPI_ORDER_C, MPI_ORDER_FORTRAN) int order,
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+
+#define MPI_DISTRIBUTE_BLOCK         121
+#define MPI_DISTRIBUTE_CYCLIC        122
+#define MPI_DISTRIBUTE_NONE          123
+#define MPI_DISTRIBUTE_DFLT_DARG (-49767)
+
+_Pre_satisfies_(
+    order == MPI_DISTRIBUTE_DFLT_DARG ||
+    (order >= MPI_DISTRIBUTE_BLOCK && order <= MPI_DISTRIBUTE_NONE)
+    )
+MPI_METHOD
+MPI_Type_create_darray(
+    _In_range_(>=, 0) int size,
+    _In_range_(>=, 0) int rank,
+    _In_range_(>=, 0) int ndims,
+    _mpi_reads_(ndims) const int array_of_gsizes[],
+    _mpi_reads_(ndims) const int array_of_distribs[],
+    _mpi_reads_(ndims) const int array_of_dargs[],
+    _mpi_reads_(ndims) const int array_of_psizes[],
+    _In_ int order,
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+_Pre_satisfies_(
+    order == MPI_DISTRIBUTE_DFLT_DARG ||
+    (order >= MPI_DISTRIBUTE_BLOCK && order <= MPI_DISTRIBUTE_NONE)
+    )
+MPI_METHOD
+PMPI_Type_create_darray(
+    _In_range_(>=, 0) int size,
+    _In_range_(>=, 0) int rank,
+    _In_range_(>=, 0) int ndims,
+    _mpi_reads_(ndims) const int array_of_gsizes[],
+    _mpi_reads_(ndims) const int array_of_distribs[],
+    _mpi_reads_(ndims) const int array_of_dargs[],
+    _mpi_reads_(ndims) const int array_of_psizes[],
+    _In_ int order,
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+
+/*---------------------------------------------*/
+/* Section 4.1.5: Datatype Address and Size    */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Get_address(
+    _In_ const void* location,
+    _Out_ MPI_Aint* address
+    );
+
+MPI_METHOD
+PMPI_Get_address(
+    _In_ const void* location,
+    _Out_ MPI_Aint* address
+    );
+
+MPI_Aint
+MPI_Aint_add(
+    _In_ MPI_Aint base,
+    _In_ MPI_Aint disp
+    );
+
+MPI_Aint
+PMPI_Aint_add(
+    _In_ MPI_Aint base,
+    _In_ MPI_Aint disp
+    );
+
+MPI_Aint
+MPI_Aint_diff(
+    _In_ MPI_Aint base,
+    _In_ MPI_Aint disp
+    );
+
+MPI_Aint
+PMPI_Aint_diff(
+    _In_ MPI_Aint base,
+    _In_ MPI_Aint disp
+    );
+
+MPI_METHOD
+MPI_Type_size(
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(size, MPI_UNDEFINED) int* size
+    );
+
+MPI_METHOD
+PMPI_Type_size(
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(size, MPI_UNDEFINED) int* size
+    );
+
+MPI_METHOD
+MPI_Type_size_x(
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(size, MPI_UNDEFINED) MPI_Count *size
+    );
+
+MPI_METHOD
+PMPI_Type_size_x(
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(size, MPI_UNDEFINED) MPI_Count *size
+    );
+
+
+/*---------------------------------------------*/
+/* Section 4.1.7: Datatype Extent and Bounds   */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Type_get_extent(
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(lb, MPI_UNDEFINED) MPI_Aint* lb,
+    _mpi_out_(extent, MPI_UNDEFINED) MPI_Aint* extent
+    );
+
+MPI_METHOD
+PMPI_Type_get_extent(
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(lb, MPI_UNDEFINED) MPI_Aint* lb,
+    _mpi_out_(extent, MPI_UNDEFINED) MPI_Aint* extent
+    );
+
+MPI_METHOD
+MPI_Type_get_extent_x(
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(lb, MPI_UNDEFINED) MPI_Count *lb,
+    _mpi_out_(extent, MPI_UNDEFINED) MPI_Count *extent
+    );
+
+MPI_METHOD
+PMPI_Type_get_extent_x(
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(lb, MPI_UNDEFINED) MPI_Count *lb,
+    _mpi_out_(extent, MPI_UNDEFINED) MPI_Count *extent
+    );
+
+MPI_METHOD
+MPI_Type_create_resized(
+    _In_ MPI_Datatype oldtype,
+    _In_ MPI_Aint lb,
+    _In_range_(>=, 0) MPI_Aint extent,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_create_resized(
+    _In_ MPI_Datatype oldtype,
+    _In_ MPI_Aint lb,
+    _In_range_(>=, 0) MPI_Aint extent,
+    _Out_ MPI_Datatype* newtype
+    );
+
+
+/*---------------------------------------------*/
+/* Section 4.1.8: Datatype True Extent         */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Type_get_true_extent(
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(true_lb, MPI_UNDEFINED) MPI_Aint* true_lb,
+    _mpi_out_(true_extent, MPI_UNDEFINED) MPI_Aint* true_extent
+    );
+
+MPI_METHOD
+PMPI_Type_get_true_extent(
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(true_lb, MPI_UNDEFINED) MPI_Aint* true_lb,
+    _mpi_out_(true_extent, MPI_UNDEFINED) MPI_Aint* true_extent
+    );
+
+MPI_METHOD
+MPI_Type_get_true_extent_x(
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(true_lb, MPI_UNDEFINED) MPI_Count *true_lb,
+    _mpi_out_(true_extent, MPI_UNDEFINED) MPI_Count *true_extent
+    );
+
+MPI_METHOD
+PMPI_Type_get_true_extent_x(
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(true_lb, MPI_UNDEFINED) MPI_Count *true_lb,
+    _mpi_out_(true_extent, MPI_UNDEFINED) MPI_Count *true_extent
+    );
+
+
+/*---------------------------------------------*/
+/* Section 4.1.9: Datatype Commit and Free     */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Type_commit(
+    _In_ MPI_Datatype* datatype
+    );
+
+MPI_METHOD
+PMPI_Type_commit(
+    _In_ MPI_Datatype* datatype
+    );
+
+MPI_METHOD
+MPI_Type_free(
+    _Deref_out_range_(==, MPI_DATATYPE_NULL) _Inout_ MPI_Datatype* datatype
+    );
+
+MPI_METHOD
+PMPI_Type_free(
+    _Deref_out_range_(==, MPI_DATATYPE_NULL) _Inout_ MPI_Datatype* datatype
+    );
+
+
+/*---------------------------------------------*/
+/* Section 4.1.10: Datatype Duplication        */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Type_dup(
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_dup(
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+
+/*---------------------------------------------*/
+/* Section 4.1.11: Datatype and Communication  */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Get_elements(
+    _In_ const MPI_Status* status,
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(count, MPI_UNDEFINED) int* count
+    );
+
+MPI_METHOD
+PMPI_Get_elements(
+    _In_ const MPI_Status* status,
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(count, MPI_UNDEFINED) int* count
+    );
+
+MPI_METHOD
+MPI_Get_elements_x(
+    _In_ const MPI_Status* status,
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(count, MPI_UNDEFINED) MPI_Count *count
+    );
+
+MPI_METHOD
+PMPI_Get_elements_x(
+    _In_ const MPI_Status* status,
+    _In_ MPI_Datatype datatype,
+    _mpi_out_(count, MPI_UNDEFINED) MPI_Count *count
+    );
+
+
+/*---------------------------------------------*/
+/* Section 4.1.13: Decoding a Datatype         */
+/*---------------------------------------------*/
+
+/* Datatype combiners result */
+enum
+{
+    MPI_COMBINER_NAMED            = 1,
+    MPI_COMBINER_DUP              = 2,
+    MPI_COMBINER_CONTIGUOUS       = 3,
+    MPI_COMBINER_VECTOR           = 4,
+    MPI_COMBINER_HVECTOR_INTEGER  = 5,
+    MPI_COMBINER_HVECTOR          = 6,
+    MPI_COMBINER_INDEXED          = 7,
+    MPI_COMBINER_HINDEXED_INTEGER = 8,
+    MPI_COMBINER_HINDEXED         = 9,
+    MPI_COMBINER_INDEXED_BLOCK    = 10,
+    MPI_COMBINER_STRUCT_INTEGER   = 11,
+    MPI_COMBINER_STRUCT           = 12,
+    MPI_COMBINER_SUBARRAY         = 13,
+    MPI_COMBINER_DARRAY           = 14,
+    MPI_COMBINER_F90_REAL         = 15,
+    MPI_COMBINER_F90_COMPLEX      = 16,
+    MPI_COMBINER_F90_INTEGER      = 17,
+    MPI_COMBINER_RESIZED          = 18,
+    MPI_COMBINER_HINDEXED_BLOCK   = 19
+};
+
+MPI_METHOD
+MPI_Type_get_envelope(
+    _In_ MPI_Datatype datatype,
+    _Out_ _Deref_out_range_(>=, 0) int* num_integers,
+    _Out_ _Deref_out_range_(>=, 0) int* num_addresses,
+    _Out_ _Deref_out_range_(>=, 0) int* num_datatypes,
+    _Out_ _Deref_out_range_(MPI_COMBINER_NAMED, MPI_COMBINER_RESIZED) int* combiner
+    );
+
+MPI_METHOD
+PMPI_Type_get_envelope(
+    _In_ MPI_Datatype datatype,
+    _Out_ _Deref_out_range_(>=, 0) int* num_integers,
+    _Out_ _Deref_out_range_(>=, 0) int* num_addresses,
+    _Out_ _Deref_out_range_(>=, 0) int* num_datatypes,
+    _Out_ _Deref_out_range_(MPI_COMBINER_NAMED, MPI_COMBINER_RESIZED) int* combiner
+    );
+
+MPI_METHOD
+MPI_Type_get_contents(
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, 0) int max_integers,
+    _In_range_(>=, 0) int max_addresses,
+    _In_range_(>=, 0) int max_datatypes,
+    _mpi_writes_(max_integers) int array_of_integers[],
+    _mpi_writes_(max_addresses) MPI_Aint array_of_addresses[],
+    _mpi_writes_(max_datatypes) MPI_Datatype array_of_datatypes[]
+    );
+
+MPI_METHOD
+PMPI_Type_get_contents(
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, 0) int max_integers,
+    _In_range_(>=, 0) int max_addresses,
+    _In_range_(>=, 0) int max_datatypes,
+    _mpi_writes_(max_integers) int array_of_integers[],
+    _mpi_writes_(max_addresses) MPI_Aint array_of_addresses[],
+    _mpi_writes_(max_datatypes) MPI_Datatype array_of_datatypes[]
+    );
+
+
+/*---------------------------------------------*/
+/* Section 4.2: Datatype Pack and Unpack       */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Pack(
+    _In_opt_ const void* inbuf,
+    _In_range_(>=, 0) int incount,
+    _In_ MPI_Datatype datatype,
+    _mpi_writes_bytes_(outsize) void* outbuf,
+    _In_range_(>=, 0) int outsize,
+    _mpi_position_(outsize) int* position,
+    _In_ MPI_Comm comm
+    );
+
+MPI_METHOD
+PMPI_Pack(
+    _In_opt_ const void* inbuf,
+    _In_range_(>=, 0) int incount,
+    _In_ MPI_Datatype datatype,
+    _mpi_writes_bytes_(outsize) void* outbuf,
+    _In_range_(>=, 0) int outsize,
+    _mpi_position_(outsize) int* position,
+    _In_ MPI_Comm comm
+    );
+
+MPI_METHOD
+MPI_Unpack(
+    _mpi_reads_bytes_(insize) const void* inbuf,
+    _In_range_(>=, 0) int insize,
+    _mpi_position_(insize) int* position,
+    _When_(insize > 0, _Out_opt_) void* outbuf,
+    _In_range_(>=, 0) int outcount,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Comm comm
+    );
+
+MPI_METHOD
+PMPI_Unpack(
+    _mpi_reads_bytes_(insize) const void* inbuf,
+    _In_range_(>=, 0) int insize,
+    _mpi_position_(insize) int* position,
+    _When_(insize > 0, _Out_opt_) void* outbuf,
+    _In_range_(>=, 0) int outcount,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Comm comm
+    );
+
+MPI_METHOD
+MPI_Pack_size(
+    _In_range_(>=, 0) int incount,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Comm comm,
+    _mpi_out_(size, MPI_UNDEFINED) int *size
+    );
+
+MPI_METHOD
+PMPI_Pack_size(
+    _In_range_(>=, 0) int incount,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Comm comm,
+    _mpi_out_(size, MPI_UNDEFINED) int *size
+    );
+
+
+/*---------------------------------------------*/
+/* Section 4.3: Canonical Pack and Unpack      */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Pack_external(
+    _In_z_ const char* datarep,
+    _In_opt_ const void* inbuf,
+    _In_range_(>=, 0) int incount,
+    _In_ MPI_Datatype datatype,
+    _mpi_writes_bytes_(outsize) void* outbuf,
+    _In_range_(>=, 0) MPI_Aint outsize,
+    _mpi_position_(outsize) MPI_Aint* position
+    );
+
+MPI_METHOD
+PMPI_Pack_external(
+    _In_z_ const char* datarep,
+    _In_opt_ const void* inbuf,
+    _In_range_(>=, 0) int incount,
+    _In_ MPI_Datatype datatype,
+    _mpi_writes_bytes_(outsize) void* outbuf,
+    _In_range_(>=, 0) MPI_Aint outsize,
+    _mpi_position_(outsize) MPI_Aint* position
+    );
+
+MPI_METHOD
+MPI_Unpack_external(
+    _In_z_ const char* datarep,
+    _In_reads_bytes_opt_(insize) const void* inbuf,
+    _In_range_(>=, 0) MPI_Aint insize,
+    _mpi_position_(insize) MPI_Aint* position,
+    _When_(insize > 0, _Out_opt_) void* outbuf,
+    _In_range_(>=, 0) int outcount,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+PMPI_Unpack_external(
+    _In_z_ const char* datarep,
+    _In_reads_bytes_opt_(insize) const void* inbuf,
+    _In_range_(>=, 0) MPI_Aint insize,
+    _mpi_position_(insize) MPI_Aint* position,
+    _When_(insize > 0, _Out_opt_) void* outbuf,
+    _In_range_(>=, 0) int outcount,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+MPI_Pack_external_size(
+    _In_z_ const char* datarep,
+    _In_range_(>=, 0) int incount,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Aint* size
+    );
+
+MPI_METHOD
+PMPI_Pack_external_size(
+    _In_z_ const char* datarep,
+    _In_range_(>=, 0) int incount,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Aint* size
+    );
+
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 5: Collective Communication                                       */
+/*---------------------------------------------------------------------------*/
+
+#define MPI_IN_PLACE ((void*)(MPI_Aint)-1)
+
+/*---------------------------------------------*/
+/* Section 5.3: Barrier Synchronization        */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Barrier(
+    _In_ MPI_Comm comm
+    );
+
+MPI_METHOD
+PMPI_Barrier(
+    _In_ MPI_Comm comm
+    );
+
+
+/*---------------------------------------------*/
+/* Section 5.4: Broadcast                      */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Bcast(
+    _Pre_opt_valid_ void* buffer,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm
+    );
+
+MPI_METHOD
+PMPI_Bcast(
+    _Pre_opt_valid_ void* buffer,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm
+    );
+
+
+/*---------------------------------------------*/
+/* Section 5.5: Gather                         */
+/*---------------------------------------------*/
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Gather(
+    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Gather(
+    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Gatherv(
+    _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_opt_ const int recvcounts[],
+    _In_opt_ const int displs[],
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Gatherv(
+    _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_opt_ const int recvcounts[],
+    _In_opt_ const int displs[],
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm
+    );
+
+
+/*---------------------------------------------*/
+/* Section 5.6: Scatter                        */
+/*---------------------------------------------*/
+
+_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Scatter(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Scatter(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Scatterv(
+    _In_opt_ const void* sendbuf,
+    _In_opt_ const int sendcounts[],
+    _In_opt_ const int displs[],
+    _In_ MPI_Datatype sendtype,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Scatterv(
+    _In_opt_ const void* sendbuf,
+    _In_opt_ const int sendcounts[],
+    _In_opt_ const int displs[],
+    _In_ MPI_Datatype sendtype,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm
+    );
+
+
+/*---------------------------------------------*/
+/* Section 5.6: Gather-to-all                  */
+/*---------------------------------------------*/
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Allgather(
+    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Allgather(
+    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Allgatherv(
+    _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ const int displs[],
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Allgatherv(
+    _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ const int displs[],
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm
+    );
+
+
+/*---------------------------------------------*/
+/* Section 5.6: All-to-All Scatter/Gather      */
+/*---------------------------------------------*/
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Alltoall(
+    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Alltoall(
+    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Alltoallv(
+    _In_opt_ const void* sendbuf,
+    _In_opt_ const int sendcounts[],
+    _In_opt_ const int sdispls[],
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ const int rdispls[],
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Alltoallv(
+    _In_opt_ const void* sendbuf,
+    _In_opt_ const int sendcounts[],
+    _In_opt_ const int sdispls[],
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ const int rdispls[],
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Alltoallw(
+    _In_opt_ const void* sendbuf,
+    _In_opt_ const int sendcounts[],
+    _In_opt_ const int sdispls[],
+    _In_opt_ const MPI_Datatype sendtypes[],
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ const int rdispls[],
+    _In_ const MPI_Datatype recvtypes[],
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Alltoallw(
+    _In_opt_ const void* sendbuf,
+    _In_opt_ const int sendcounts[],
+    _In_opt_ const int sdispls[],
+    _In_opt_ const MPI_Datatype sendtypes[],
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ const int rdispls[],
+    _In_ const MPI_Datatype recvtypes[],
+    _In_ MPI_Comm comm
+    );
+
+
+/*---------------------------------------------*/
+/* Section 5.9: Global Reduction Operations    */
+/*---------------------------------------------*/
+
+typedef
+void
+(MPIAPI MPI_User_function)(
+    _In_opt_ void* invec,
+    _Inout_opt_ void* inoutvec,
+    _In_ int* len,
+    _In_ MPI_Datatype* datatype
+    );
+
+MPI_METHOD
+MPI_Op_commutative(
+    _In_ MPI_Op op,
+    _Out_ int* commute
+    );
+
+MPI_METHOD
+PMPI_Op_commutative(
+    _In_ MPI_Op op,
+    _Out_ int* commute
+    );
+
+MPI_METHOD
+MPI_Op_create(
+    _In_ MPI_User_function* user_fn,
+    _In_ int commute,
+    _Out_ MPI_Op* op
+    );
+
+MPI_METHOD
+PMPI_Op_create(
+    _In_ MPI_User_function* user_fn,
+    _In_ int commute,
+    _Out_ MPI_Op* op
+    );
+
+MPI_METHOD
+MPI_Op_free(
+    _Inout_ MPI_Op* op
+    );
+
+MPI_METHOD
+PMPI_Op_free(
+    _Inout_ MPI_Op* op
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Reduce(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Reduce(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Allreduce(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Allreduce(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(inbuf != MPI_IN_PLACE)
+_Pre_satisfies_(inoutbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Reduce_local(
+    _In_opt_ _In_range_(!=, inoutbuf) const void *inbuf,
+    _Inout_opt_ void *inoutbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op
+    );
+
+_Pre_satisfies_(inbuf != MPI_IN_PLACE)
+_Pre_satisfies_(inoutbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Reduce_local(
+    _In_opt_ _In_range_(!=, inoutbuf) const void *inbuf,
+    _Inout_opt_ void *inoutbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op
+    );
+
+/*---------------------------------------------*/
+/* Section 5.10: Reduce-Scatter                */
+/*---------------------------------------------*/
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Reduce_scatter_block(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=,0) int recvcount,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Reduce_scatter_block(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Reduce_scatter(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Reduce_scatter(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm
+    );
+
+
+/*---------------------------------------------*/
+/* Section 5.11: Scan                          */
+/*---------------------------------------------*/
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Scan(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Scan(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Exscan(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Exscan(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm
+    );
+
+
+//
+// Section 5.12: Nonblocking Collective Operations
+//
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Iallgather(
+    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Iallgather(
+    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Iallgatherv(
+    _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ const int displs[],
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Iallgatherv(
+    _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ const int displs[],
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Iallreduce(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Iallreduce(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Ialltoall(
+    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Ialltoall(
+    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Ialltoallv(
+    _In_opt_ const void* sendbuf,
+    _In_opt_ const int sendcounts[],
+    _In_opt_ const int sdispls[],
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ const int rdispls[],
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Ialltoallv(
+    _In_opt_ const void* sendbuf,
+    _In_opt_ const int sendcounts[],
+    _In_opt_ const int sdispls[],
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ const int rdispls[],
+    _In_ MPI_Datatype recvtype,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Ialltoallw(
+    _In_opt_ const void* sendbuf,
+    _In_opt_ const int sendcounts[],
+    _In_opt_ const int sdispls[],
+    _In_opt_ const MPI_Datatype sendtypes[],
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ const int rdispls[],
+    _In_ const MPI_Datatype recvtypes[],
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Ialltoallw(
+    _In_opt_ const void* sendbuf,
+    _In_opt_ const int sendcounts[],
+    _In_opt_ const int sdispls[],
+    _In_opt_ const MPI_Datatype sendtypes[],
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ const int rdispls[],
+    _In_ const MPI_Datatype recvtypes[],
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_Ibarrier(
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Ibarrier(
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_Ibcast(
+    _Pre_opt_valid_ void* buffer,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Ibcast(
+    _Pre_opt_valid_ void* buffer,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Iexscan(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Iexscan(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Igather(
+    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Igather(
+    _In_opt_ _When_(sendtype == recvtype, _In_range_(!=, recvbuf)) const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Igatherv(
+    _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_opt_ const int recvcounts[],
+    _In_opt_ const int displs[],
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Igatherv(
+    _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _Out_opt_ void* recvbuf,
+    _In_opt_ const int recvcounts[],
+    _In_opt_ const int displs[],
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Ireduce(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Ireduce(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Ireduce_scatter(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Ireduce_scatter(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_ const int recvcounts[],
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Iscan(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Iscan(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Ireduce_scatter_block(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=,0) int recvcount,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(recvbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Ireduce_scatter_block(
+    _In_opt_ _In_range_(!=, recvbuf) const void* sendbuf,
+    _Out_opt_ void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Iscatter(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Iscatter(
+    _In_range_(!=, recvbuf) _In_opt_ const void* sendbuf,
+    _In_range_(>=, 0) int sendcount,
+    _In_ MPI_Datatype sendtype,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
+MPI_METHOD
+MPI_Iscatterv(
+    _In_opt_ const void* sendbuf,
+    _In_opt_ const int sendcounts[],
+    _In_opt_ const int displs[],
+    _In_ MPI_Datatype sendtype,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+_Pre_satisfies_(sendbuf != MPI_IN_PLACE)
+MPI_METHOD
+PMPI_Iscatterv(
+    _In_opt_ const void* sendbuf,
+    _In_opt_ const int sendcounts[],
+    _In_opt_ const int displs[],
+    _In_ MPI_Datatype sendtype,
+    _When_(root != MPI_PROC_NULL, _Out_opt_) void* recvbuf,
+    _In_range_(>=, 0) int recvcount,
+    _In_ MPI_Datatype recvtype,
+    _mpi_coll_rank_(root) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Request* request
+    );
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 6: Groups, Contexts, Communicators, and Caching                   */
+/*---------------------------------------------------------------------------*/
+
+/*---------------------------------------------*/
+/* Section 6.3: Group Management               */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Group_size(
+    _In_ MPI_Group group,
+    _Out_ _Deref_out_range_(>, 0) int* size
+    );
+
+MPI_METHOD
+PMPI_Group_size(
+    _In_ MPI_Group group,
+    _Out_ _Deref_out_range_(>, 0) int* size
+    );
+
+MPI_METHOD
+MPI_Group_rank(
+    _In_ MPI_Group group,
+    _Out_ _Deref_out_range_(>=, MPI_UNDEFINED) int* rank
+    );
+
+MPI_METHOD
+PMPI_Group_rank(
+    _In_ MPI_Group group,
+    _Out_ _Deref_out_range_(>=, MPI_UNDEFINED) int* rank
+    );
+
+MPI_METHOD
+MPI_Group_translate_ranks(
+    _In_ MPI_Group group1,
+    _In_ int n,
+    _In_reads_opt_(n) const int ranks1[],
+    _In_ MPI_Group group2,
+    _Out_writes_opt_(n) int ranks2[]
+    );
+
+MPI_METHOD
+PMPI_Group_translate_ranks(
+    _In_ MPI_Group group1,
+    _In_ int n,
+    _In_reads_opt_(n) const int ranks1[],
+    _In_ MPI_Group group2,
+    _Out_writes_opt_(n) int ranks2[]
+    );
+
+/* Results of the compare operations */
+#define MPI_IDENT       0
+#define MPI_CONGRUENT   1
+#define MPI_SIMILAR     2
+#define MPI_UNEQUAL     3
+
+MPI_METHOD
+MPI_Group_compare(
+    _In_ MPI_Group group1,
+    _In_ MPI_Group group2,
+    _Out_ int* result
+    );
+
+MPI_METHOD
+PMPI_Group_compare(
+    _In_ MPI_Group group1,
+    _In_ MPI_Group group2,
+    _Out_ int* result
+    );
+
+MPI_METHOD
+MPI_Comm_group(
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Group* group
+    );
+
+MPI_METHOD
+PMPI_Comm_group(
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Group* group
+    );
+
+MPI_METHOD
+MPI_Group_union(
+    _In_ MPI_Group group1,
+    _In_ MPI_Group group2,
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+PMPI_Group_union(
+    _In_ MPI_Group group1,
+    _In_ MPI_Group group2,
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+MPI_Group_intersection(
+    _In_ MPI_Group group1,
+    _In_ MPI_Group group2,
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+PMPI_Group_intersection(
+   _In_  MPI_Group group1,
+    _In_ MPI_Group group2,
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+MPI_Group_difference(
+    _In_ MPI_Group group1,
+    _In_ MPI_Group group2,
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+PMPI_Group_difference(
+    _In_ MPI_Group group1,
+    _In_ MPI_Group group2,
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+MPI_Group_incl(
+    _In_ MPI_Group group,
+    _In_range_(>=, 0) int n,
+    _In_reads_opt_(n) const int ranks[],
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+PMPI_Group_incl(
+    _In_ MPI_Group group,
+    _In_range_(>=, 0) int n,
+    _In_reads_opt_(n) const int ranks[],
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+MPI_Group_excl(
+    _In_ MPI_Group group,
+    _In_range_(>=, 0) int n,
+    _In_reads_opt_(n) const int ranks[],
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+PMPI_Group_excl(
+    _In_ MPI_Group group,
+    _In_range_(>=, 0) int n,
+    _In_reads_opt_(n) const int ranks[],
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+MPI_Group_range_incl(
+    _In_ MPI_Group group,
+    _In_range_(>=, 0) int n,
+    _In_reads_opt_(n) int ranges[][3],
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+PMPI_Group_range_incl(
+    _In_ MPI_Group group,
+    _In_range_(>=, 0) int n,
+    _In_reads_opt_(n) int ranges[][3],
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+MPI_Group_range_excl(
+    _In_ MPI_Group group,
+    _In_range_(>=, 0) int n,
+    _In_reads_opt_(n) int ranges[][3],
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+PMPI_Group_range_excl(
+    _In_ MPI_Group group,
+    _In_range_(>=, 0) int n,
+    _In_reads_opt_(n) int ranges[][3],
+    _Out_ MPI_Group* newgroup
+    );
+
+MPI_METHOD
+MPI_Group_free(
+    _Inout_ MPI_Group* group
+    );
+
+MPI_METHOD
+PMPI_Group_free(
+    _Inout_ MPI_Group* group
+    );
+
+
+/*---------------------------------------------*/
+/* Section 6.4: Communicator Management        */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Comm_size(
+    _In_ MPI_Comm comm,
+    _Out_ _Deref_out_range_(>, 0) int* size
+    );
+
+MPI_METHOD
+PMPI_Comm_size(
+    _In_ MPI_Comm comm,
+    _Out_ _Deref_out_range_(>, 0) int* size
+    );
+
+MPI_METHOD
+MPI_Comm_rank(
+    _In_ MPI_Comm comm,
+    _Out_ _Deref_out_range_(>=, 0)  int* rank
+    );
+
+MPI_METHOD
+PMPI_Comm_rank(
+    _In_ MPI_Comm comm,
+    _Out_ _Deref_out_range_(>=, 0)  int* rank
+    );
+
+MPI_METHOD
+MPI_Comm_compare(
+    _In_ MPI_Comm comm1,
+    _In_ MPI_Comm comm2,
+    _Out_ int* result
+    );
+
+MPI_METHOD
+PMPI_Comm_compare(
+    _In_ MPI_Comm comm1,
+    _In_ MPI_Comm comm2,
+    _Out_ int* result
+    );
+
+MPI_METHOD
+MPI_Comm_dup(
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Comm* newcomm
+    );
+
+MPI_METHOD
+PMPI_Comm_dup(
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Comm* newcomm
+    );
+
+MPI_METHOD
+MPI_Comm_create(
+    _In_ MPI_Comm comm,
+    _In_ MPI_Group group,
+    _Out_ MPI_Comm* newcomm
+    );
+
+MPI_METHOD
+PMPI_Comm_create(
+    _In_ MPI_Comm comm,
+    _In_ MPI_Group group,
+    _Out_ MPI_Comm* newcomm
+    );
+
+MPI_METHOD
+MPI_Comm_split(
+    _In_ MPI_Comm comm,
+    _In_ int color,
+    _In_ int key,
+    _Out_ MPI_Comm* newcomm
+    );
+
+MPI_METHOD
+PMPI_Comm_split(
+    _In_ MPI_Comm comm,
+    _In_ int color,
+    _In_ int key,
+    _Out_ MPI_Comm* newcomm
+    );
+
+MPI_METHOD
+MPI_Comm_split_type(
+    _In_ MPI_Comm comm,
+    _In_ int split_type,
+    _In_ int key,
+    _In_ MPI_Info info,
+    _Out_ MPI_Comm *newcomm
+    );
+
+MPI_METHOD
+PMPI_Comm_split_type(
+    _In_ MPI_Comm comm,
+    _In_ int split_type,
+    _In_ int key,
+    _In_ MPI_Info info,
+    _Out_ MPI_Comm *newcomm
+    );
+
+MPI_METHOD
+MPI_Comm_free(
+    _Inout_ MPI_Comm* comm
+    );
+
+MPI_METHOD
+PMPI_Comm_free(
+    _Inout_ MPI_Comm* comm
+    );
+
+
+/*---------------------------------------------*/
+/* Section 6.6: Inter-Communication            */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Comm_test_inter(
+    _In_ MPI_Comm comm,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+PMPI_Comm_test_inter(
+    _In_ MPI_Comm comm,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+MPI_Comm_remote_size(
+    _In_ MPI_Comm comm,
+    _Out_ int* size
+    );
+
+MPI_METHOD
+PMPI_Comm_remote_size(
+    _In_ MPI_Comm comm,
+    _Out_ int* size
+    );
+
+MPI_METHOD
+MPI_Comm_remote_group(
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Group* group
+    );
+
+MPI_METHOD
+PMPI_Comm_remote_group(
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Group* group
+    );
+
+MPI_METHOD
+MPI_Intercomm_create(
+    _In_ MPI_Comm local_comm,
+    _In_range_(>=, 0) int local_leader,
+    _In_ MPI_Comm peer_comm,
+    _In_range_(>=, 0) int remote_leader,
+    _In_range_(>=, 0) int tag,
+    _Out_ MPI_Comm* newintercomm
+    );
+
+MPI_METHOD
+PMPI_Intercomm_create(
+    _In_ MPI_Comm local_comm,
+    _In_range_(>=, 0) int local_leader,
+    _In_ MPI_Comm peer_comm,
+    _In_range_(>=, 0) int remote_leader,
+    _In_range_(>=, 0) int tag,
+    _Out_ MPI_Comm* newintercomm
+    );
+
+MPI_METHOD
+MPI_Intercomm_merge(
+    _In_ MPI_Comm intercomm,
+    _In_ int high,
+    _Out_ MPI_Comm* newintracomm
+    );
+
+MPI_METHOD
+PMPI_Intercomm_merge(
+    _In_ MPI_Comm intercomm,
+    _In_ int high,
+    _Out_ MPI_Comm* newintracomm
+    );
+
+
+/*---------------------------------------------*/
+/* Section 6.7: Caching                        */
+/*---------------------------------------------*/
+
+#define MPI_KEYVAL_INVALID  0x24000000
+
+typedef
+int
+(MPIAPI MPI_Comm_copy_attr_function)(
+    _In_ MPI_Comm oldcomm,
+    _In_ int comm_keyval,
+    _In_opt_ void* extra_state,
+    _In_opt_ void* attribute_val_in,
+    _Out_ void* attribute_val_out,
+    _mpi_out_flag_ int* flag
+    );
+
+typedef
+int
+(MPIAPI MPI_Comm_delete_attr_function)(
+    _In_ MPI_Comm comm,
+    _In_ int comm_keyval,
+    _In_opt_ void* attribute_val,
+    _In_opt_ void* extra_state
+    );
+
+#define MPI_COMM_NULL_COPY_FN ((MPI_Comm_copy_attr_function*)0)
+#define MPI_COMM_NULL_DELETE_FN ((MPI_Comm_delete_attr_function*)0)
+#define MPI_COMM_DUP_FN ((MPI_Comm_copy_attr_function*)MPIR_Dup_fn)
+
+MPI_METHOD
+MPI_Comm_create_keyval(
+    _In_opt_ MPI_Comm_copy_attr_function* comm_copy_attr_fn,
+    _In_opt_ MPI_Comm_delete_attr_function* comm_delete_attr_fn,
+    _Out_ int* comm_keyval,
+    _In_opt_ void* extra_state
+    );
+
+MPI_METHOD
+PMPI_Comm_create_keyval(
+    _In_opt_ MPI_Comm_copy_attr_function* comm_copy_attr_fn,
+    _In_opt_ MPI_Comm_delete_attr_function* comm_delete_attr_fn,
+    _Out_ int* comm_keyval,
+    _In_opt_ void* extra_state
+    );
+
+MPI_METHOD
+MPI_Comm_free_keyval(
+    _Inout_ int* comm_keyval
+    );
+
+MPI_METHOD
+PMPI_Comm_free_keyval(
+    _Inout_ int* comm_keyval
+    );
+
+MPI_METHOD
+MPI_Comm_set_attr(
+    _In_ MPI_Comm comm,
+    _In_ int comm_keyval,
+    _In_opt_ void* attribute_val
+    );
+
+MPI_METHOD
+PMPI_Comm_set_attr(
+    _In_ MPI_Comm comm,
+    _In_ int comm_keyval,
+    _In_opt_ void* attribute_val
+    );
+
+
+/* Predefined comm attribute key values */
+/* C Versions (return pointer to value),
+   Fortran Versions (return integer value).
+
+   DO NOT CHANGE THESE.  The values encode:
+   builtin kind (0x1 in bit 30-31)
+   Keyval object (0x9 in bits 26-29)
+   for communicator (0x1 in bits 22-25)
+
+   Fortran versions of the attributes are formed by adding one to
+   the C version.
+ */
+#define MPI_TAG_UB          0x64400001
+#define MPI_HOST            0x64400003
+#define MPI_IO              0x64400005
+#define MPI_WTIME_IS_GLOBAL 0x64400007
+#define MPI_UNIVERSE_SIZE   0x64400009
+#define MPI_LASTUSEDCODE    0x6440000b
+#define MPI_APPNUM          0x6440000d
+
+MPI_METHOD
+MPI_Comm_get_attr(
+    _In_ MPI_Comm comm,
+    _In_ int comm_keyval,
+    _When_(*flag != 0, _Out_) void* attribute_val,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+PMPI_Comm_get_attr(
+    _In_ MPI_Comm comm,
+    _In_ int comm_keyval,
+    _When_(*flag != 0, _Out_) void* attribute_val,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+MPI_Comm_delete_attr(
+    _In_ MPI_Comm comm,
+    _In_ int comm_keyval
+    );
+
+MPI_METHOD
+PMPI_Comm_delete_attr(
+    _In_ MPI_Comm comm,
+    _In_ int comm_keyval
+    );
+
+
+typedef
+int
+(MPIAPI MPI_Win_copy_attr_function)(
+    _In_ MPI_Win oldwin,
+    _In_ int win_keyval,
+    _In_opt_ void* extra_state,
+    _In_opt_ void* attribute_val_in,
+    _Out_ void* attribute_val_out,
+    _mpi_out_flag_ int* flag
+    );
+
+typedef
+int
+(MPIAPI MPI_Win_delete_attr_function)(
+    _In_ MPI_Win win,
+    _In_ int win_keyval,
+    _In_opt_ void* attribute_val,
+    _In_opt_ void* extra_state
+    );
+
+#define MPI_WIN_NULL_COPY_FN ((MPI_Win_copy_attr_function*)0)
+#define MPI_WIN_NULL_DELETE_FN ((MPI_Win_delete_attr_function*)0)
+#define MPI_WIN_DUP_FN ((MPI_Win_copy_attr_function*)MPIR_Dup_fn)
+
+MPI_METHOD
+MPI_Win_create_keyval(
+    _In_opt_ MPI_Win_copy_attr_function* win_copy_attr_fn,
+    _In_opt_ MPI_Win_delete_attr_function* win_delete_attr_fn,
+    _Out_ int* win_keyval,
+    _In_opt_ void* extra_state
+    );
+
+MPI_METHOD
+PMPI_Win_create_keyval(
+    _In_opt_ MPI_Win_copy_attr_function* win_copy_attr_fn,
+    _In_opt_ MPI_Win_delete_attr_function* win_delete_attr_fn,
+    _Out_ int* win_keyval,
+    _In_opt_ void* extra_state
+    );
+
+MPI_METHOD
+MPI_Win_free_keyval(
+    _Inout_ int* win_keyval
+    );
+
+MPI_METHOD
+PMPI_Win_free_keyval(
+    _Inout_ int* win_keyval
+    );
+
+MPI_METHOD
+MPI_Win_set_attr(
+    _In_ MPI_Win win,
+    _In_ int win_keyval,
+    _In_opt_ void* attribute_val
+    );
+
+MPI_METHOD
+PMPI_Win_set_attr(
+    _In_ MPI_Win win,
+    _In_ int win_keyval,
+    _In_opt_ void* attribute_val
+    );
+
+
+/* Predefined window key value attributes */
+#define MPI_WIN_BASE              0x66000001
+#define MPI_WIN_SIZE              0x66000003
+#define MPI_WIN_DISP_UNIT         0x66000005
+#define MPI_WIN_CREATE_FLAVOR     0x66000007
+#define MPI_WIN_MODEL             0x66000009
+
+/* MPI Window Create Flavors */
+#define MPI_WIN_FLAVOR_CREATE     1
+#define MPI_WIN_FLAVOR_ALLOCATE   2
+#define MPI_WIN_FLAVOR_DYNAMIC    3
+#define MPI_WIN_FLAVOR_SHARED     4
+
+/* MPI Window Models */
+#define MPI_WIN_SEPARATE          1
+#define MPI_WIN_UNIFIED           2
+
+MPI_METHOD
+MPI_Win_get_attr(
+    _In_ MPI_Win win,
+    _In_ int win_keyval,
+    _When_(*flag != 0, _Out_) void* attribute_val,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+PMPI_Win_get_attr(
+    _In_ MPI_Win win,
+    _In_ int win_keyval,
+    _When_(*flag != 0, _Out_) void* attribute_val,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+MPI_Win_delete_attr(
+    _In_ MPI_Win win,
+    _In_ int win_keyval
+    );
+
+MPI_METHOD
+PMPI_Win_delete_attr(
+    _In_ MPI_Win win,
+    _In_ int win_keyval
+    );
+
+
+typedef
+int
+(MPIAPI MPI_Type_copy_attr_function)(
+    MPI_Datatype olddatatype,
+    int datatype_keyval,
+    _In_opt_ void* extra_state,
+    _In_opt_ void* attribute_val_in,
+    _Out_ void* attribute_val_out,
+    _mpi_out_flag_ int* flag
+    );
+
+typedef
+int
+(MPIAPI MPI_Type_delete_attr_function)(
+    MPI_Datatype datatype,
+    int datatype_keyval,
+    _In_opt_ void* attribute_val,
+    _In_opt_ void* extra_state
+    );
+
+#define MPI_TYPE_NULL_COPY_FN ((MPI_Type_copy_attr_function*)0)
+#define MPI_TYPE_NULL_DELETE_FN ((MPI_Type_delete_attr_function*)0)
+#define MPI_TYPE_DUP_FN ((MPI_Type_copy_attr_function*)MPIR_Dup_fn)
+
+MPI_METHOD
+MPI_Type_create_keyval(
+    _In_opt_ MPI_Type_copy_attr_function* type_copy_attr_fn,
+    _In_opt_ MPI_Type_delete_attr_function* type_delete_attr_fn,
+    _Out_ int* type_keyval,
+    _In_opt_ void* extra_state
+    );
+
+MPI_METHOD
+PMPI_Type_create_keyval(
+    _In_opt_ MPI_Type_copy_attr_function* type_copy_attr_fn,
+    _In_opt_ MPI_Type_delete_attr_function* type_delete_attr_fn,
+    _Out_ int* type_keyval,
+    _In_opt_ void* extra_state
+    );
+
+MPI_METHOD
+MPI_Type_free_keyval(
+    _Inout_ int* type_keyval
+    );
+
+MPI_METHOD
+PMPI_Type_free_keyval(
+    _Inout_ int* type_keyval
+    );
+
+MPI_METHOD
+MPI_Type_set_attr(
+    _In_ MPI_Datatype type,
+    _In_ int type_keyval,
+    _In_opt_ void* attribute_val
+    );
+
+MPI_METHOD
+PMPI_Type_set_attr(
+    _In_ MPI_Datatype type,
+    _In_ int type_keyval,
+    _In_opt_ void* attribute_val
+    );
+
+MPI_METHOD
+MPI_Type_get_attr(
+    _In_ MPI_Datatype type,
+    _In_ int type_keyval,
+    _When_(*flag != 0, _Out_) void* attribute_val,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+PMPI_Type_get_attr(
+    _In_ MPI_Datatype type,
+    _In_ int type_keyval,
+    _When_(*flag != 0, _Out_) void* attribute_val,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+MPI_Type_delete_attr(
+    _In_ MPI_Datatype type,
+    _In_ int type_keyval
+    );
+
+MPI_METHOD
+PMPI_Type_delete_attr(
+    _In_ MPI_Datatype type,
+    _In_ int type_keyval
+    );
+
+
+/*---------------------------------------------*/
+/* Section 6.8: Naming Objects                 */
+/*---------------------------------------------*/
+
+#define MPI_MAX_OBJECT_NAME 128
+
+MPI_METHOD
+MPI_Comm_set_name(
+    _In_ MPI_Comm comm,
+    _In_z_ const char* comm_name
+    );
+
+MPI_METHOD
+PMPI_Comm_set_name(
+    _In_ MPI_Comm comm,
+    _In_z_ const char* comm_name
+    );
+
+MPI_METHOD
+MPI_Comm_get_name(
+    _In_ MPI_Comm comm,
+    _Out_writes_z_(MPI_MAX_OBJECT_NAME) char* comm_name,
+    _Out_ int* resultlen
+    );
+
+MPI_METHOD
+PMPI_Comm_get_name(
+    _In_ MPI_Comm comm,
+    _Out_writes_z_(MPI_MAX_OBJECT_NAME) char* comm_name,
+    _Out_ int* resultlen
+    );
+
+MPI_METHOD
+MPI_Type_set_name(
+    _In_ MPI_Datatype datatype,
+    _In_z_ const char* type_name
+    );
+
+MPI_METHOD
+PMPI_Type_set_name(
+    _In_ MPI_Datatype datatype,
+    _In_z_ const char* type_name
+    );
+
+MPI_METHOD
+MPI_Type_get_name(
+    _In_ MPI_Datatype datatype,
+    _Out_writes_z_(MPI_MAX_OBJECT_NAME) char* type_name,
+    _Out_ int* resultlen
+    );
+
+MPI_METHOD
+PMPI_Type_get_name(
+    _In_ MPI_Datatype datatype,
+    _Out_writes_z_(MPI_MAX_OBJECT_NAME) char* type_name,
+    _Out_ int* resultlen
+    );
+
+MPI_METHOD
+MPI_Win_set_name(
+    _In_ MPI_Win win,
+    _In_z_ const char* win_name
+    );
+
+MPI_METHOD
+PMPI_Win_set_name(
+    _In_ MPI_Win win,
+    _In_z_ const char* win_name
+    );
+
+MPI_METHOD
+MPI_Win_get_name(
+    _In_ MPI_Win win,
+    _Out_writes_z_(MPI_MAX_OBJECT_NAME) char* win_name,
+    _Out_ int* resultlen
+    );
+
+MPI_METHOD
+PMPI_Win_get_name(
+    _In_ MPI_Win win,
+    _Out_writes_z_(MPI_MAX_OBJECT_NAME) char* win_name,
+    _Out_ int* resultlen
+    );
+
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 7: Process Topologies                                             */
+/*---------------------------------------------------------------------------*/
+
+MPI_METHOD
+MPI_Cart_create(
+    _In_ MPI_Comm comm_old,
+    _In_range_(>=, 0) int ndims,
+    _In_reads_opt_(ndims) const int dims[],
+    _In_reads_opt_(ndims) const int periods[],
+    _In_ int reorder,
+    _Out_ MPI_Comm* comm_cart
+    );
+
+MPI_METHOD
+PMPI_Cart_create(
+    _In_ MPI_Comm comm_old,
+    _In_range_(>=, 0) int ndims,
+    _In_reads_opt_(ndims) const int dims[],
+    _In_reads_opt_(ndims) const int periods[],
+    _In_ int reorder,
+    _Out_ MPI_Comm* comm_cart
+    );
+
+MPI_METHOD
+MPI_Dims_create(
+    _In_range_(>, 0) int nnodes,
+    _In_range_(>=, 0) int ndims,
+    _Inout_updates_opt_(ndims) int dims[]
+    );
+
+MPI_METHOD
+PMPI_Dims_create(
+    _In_range_(>, 0) int nnodes,
+    _In_range_(>=, 0) int ndims,
+    _Inout_updates_opt_(ndims) int dims[]
+    );
+
+MPI_METHOD
+MPI_Graph_create(
+    _In_ MPI_Comm comm_old,
+    _In_range_(>=, 0) int nnodes,
+    _In_reads_opt_(nnodes) const int index[],
+    _In_reads_opt_(nnodes) const int edges[],
+    _In_ int reorder,
+    _Out_ MPI_Comm* comm_graph
+    );
+
+MPI_METHOD
+PMPI_Graph_create(
+    _In_ MPI_Comm comm_old,
+    _In_range_(>=, 0) int nnodes,
+    _In_reads_opt_(nnodes) const int index[],
+    _In_opt_ const int edges[],
+    _In_ int reorder,
+    _Out_ MPI_Comm* comm_graph
+    );
+
+MPI_METHOD
+MPI_Dist_graph_create_adjacent(
+    _In_ MPI_Comm comm_old,
+    _In_range_(>=, 0) int indegree,
+    _In_reads_opt_(indegree) const int sources[],
+    _In_reads_opt_(indegree) const int sourceweights[],
+    _In_range_(>=, 0) int outdegree,
+    _In_reads_opt_(outdegree) const int destinations[],
+    _In_reads_opt_(outdegree) const int destweights[],
+    _In_ MPI_Info info,
+    _In_range_(0,1) int reorder,
+    _Out_ MPI_Comm* comm_dist_graph
+);
+
+MPI_METHOD
+PMPI_Dist_graph_create_adjacent(
+    _In_ MPI_Comm comm_old,
+    _In_range_(>=, 0) int indegree,
+    _In_reads_opt_(indegree) const int sources[],
+    _In_reads_opt_(indegree) const int sourceweights[],
+    _In_range_(>=, 0) int outdegree,
+    _In_reads_opt_(outdegree) const int destinations[],
+    _In_reads_opt_(outdegree) const int destweights[],
+    _In_ MPI_Info info,
+    _In_range_(0,1) int reorder,
+    _Out_ MPI_Comm* comm_dist_graph
+);
+
+MPI_METHOD
+MPI_Dist_graph_create(
+    _In_ MPI_Comm comm_old,
+    _In_range_(>=, 0) int n,
+    _In_reads_opt_(n) const int sources[],
+    _In_reads_opt_(n) const int degrees[],
+    _In_opt_ const int destinations[],
+    _In_opt_ const int weights[],
+    _In_ MPI_Info info,
+    _In_range_(0, 1) int reorder,
+    _Out_ MPI_Comm *comm_dist_graph
+    );
+
+MPI_METHOD
+PMPI_Dist_graph_create(
+    _In_ MPI_Comm comm_old,
+    _In_range_(>=, 0) int n,
+    _In_reads_opt_(n) const int sources[],
+    _In_reads_opt_(n) const int degrees[],
+    _In_opt_ const int destinations[],
+    _In_opt_ const int weights[],
+    _In_ MPI_Info info,
+    _In_range_(0, 1) int reorder,
+    _Out_ MPI_Comm *comm_dist_graph
+    );
+
+/* Topology types */
+enum
+{
+    MPI_GRAPH      = 1,
+    MPI_CART       = 2,
+    MPI_DIST_GRAPH = 3
+};
+
+MPI_METHOD
+MPI_Topo_test(
+    _In_ MPI_Comm comm,
+    _Out_ int* status
+    );
+
+MPI_METHOD
+PMPI_Topo_test(
+    _In_ MPI_Comm comm,
+    _Out_ int* status
+    );
+
+MPI_METHOD
+MPI_Graphdims_get(
+   _In_  MPI_Comm comm,
+    _Out_ int* nnodes,
+    _Out_ int* nedges
+    );
+
+MPI_METHOD
+PMPI_Graphdims_get(
+    _In_ MPI_Comm comm,
+    _Out_ int* nnodes,
+    _Out_ int* nedges
+    );
+
+MPI_METHOD
+MPI_Graph_get(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int maxindex,
+    _In_range_(>=, 0) int maxedges,
+    _Out_writes_opt_(maxindex) int index[],
+    _Out_writes_opt_(maxedges) int edges[]
+    );
+
+MPI_METHOD
+PMPI_Graph_get(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int maxindex,
+    _In_range_(>=, 0) int maxedges,
+    _Out_writes_opt_(maxindex) int index[],
+    _Out_writes_opt_(maxedges) int edges[]
+    );
+
+MPI_METHOD
+MPI_Cartdim_get(
+    _In_ MPI_Comm comm,
+    _Out_ int* ndims
+    );
+
+MPI_METHOD
+PMPI_Cartdim_get(
+    _In_ MPI_Comm comm,
+    _Out_ int* ndims
+    );
+
+MPI_METHOD
+MPI_Cart_get(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int maxdims,
+    _Out_writes_opt_(maxdims) int dims[],
+    _Out_writes_opt_(maxdims) int periods[],
+    _Out_writes_opt_(maxdims) int coords[]
+    );
+
+MPI_METHOD
+PMPI_Cart_get(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int maxdims,
+    _Out_writes_opt_(maxdims) int dims[],
+    _Out_writes_opt_(maxdims) int periods[],
+    _Out_writes_opt_(maxdims) int coords[]
+    );
+
+MPI_METHOD
+MPI_Cart_rank(
+    _In_ MPI_Comm comm,
+    _In_ const int coords[],
+    _Out_ _Deref_out_range_(>=, 0) int* rank
+    );
+
+MPI_METHOD
+PMPI_Cart_rank(
+    _In_ MPI_Comm comm,
+    _In_ const int coords[],
+    _Out_ _Deref_out_range_(>=, 0) int* rank
+    );
+
+MPI_METHOD
+MPI_Cart_coords(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int rank,
+    _In_range_(>=, 0) int maxdims,
+    _Out_writes_opt_(maxdims) int coords[]
+    );
+
+MPI_METHOD
+PMPI_Cart_coords(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int rank,
+    _In_range_(>=, 0) int maxdims,
+    _Out_writes_opt_(maxdims) int coords[]
+    );
+
+MPI_METHOD
+MPI_Graph_neighbors_count(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int rank,
+    _Out_ _Deref_out_range_(>=, 0) int* nneighbors
+    );
+
+MPI_METHOD
+PMPI_Graph_neighbors_count(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int rank,
+    _Out_ _Deref_out_range_(>=, 0) int* nneighbors
+    );
+
+MPI_METHOD
+MPI_Graph_neighbors(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int rank,
+    _In_range_(>=, 0) int maxneighbors,
+    _Out_writes_opt_(maxneighbors) int neighbors[]
+    );
+
+MPI_METHOD
+PMPI_Graph_neighbors(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int rank,
+    _In_range_(>=, 0) int maxneighbors,
+    _Out_writes_opt_(maxneighbors) int neighbors[]
+    );
+
+MPI_METHOD
+MPI_Cart_shift(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int direction,
+    _In_ int disp,
+    _Out_ _Deref_out_range_(>=, MPI_PROC_NULL) int* rank_source,
+    _Out_ _Deref_out_range_(>=, MPI_PROC_NULL)  int* rank_dest
+    );
+
+MPI_METHOD
+PMPI_Cart_shift(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int direction,
+    _In_ int disp,
+    _Out_ _Deref_out_range_(>=, MPI_PROC_NULL) int* rank_source,
+    _Out_ _Deref_out_range_(>=, MPI_PROC_NULL)  int* rank_dest
+    );
+
+MPI_METHOD
+MPI_Cart_sub(
+    _In_ MPI_Comm comm,
+    _In_ const int remain_dims[],
+    _Out_ MPI_Comm* newcomm
+    );
+
+MPI_METHOD
+PMPI_Cart_sub(
+    _In_ MPI_Comm comm,
+    _In_ const int remain_dims[],
+    _Out_ MPI_Comm* newcomm
+    );
+
+MPI_METHOD
+MPI_Cart_map(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int ndims,
+    _In_reads_opt_(ndims) const int dims[],
+    _In_reads_opt_(ndims) const int periods[],
+    _Out_ _Deref_out_range_(>=, MPI_UNDEFINED) int* newrank
+    );
+
+MPI_METHOD
+PMPI_Cart_map(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int ndims,
+    _In_reads_opt_(ndims) const int dims[],
+    _In_reads_opt_(ndims) const int periods[],
+    _Out_ _Deref_out_range_(>=, MPI_UNDEFINED) int* newrank
+    );
+
+MPI_METHOD
+MPI_Graph_map(
+    _In_ MPI_Comm comm,
+    _In_range_(>, 0) int nnodes,
+    _In_reads_opt_(nnodes) const int index[],
+    _In_opt_ const int edges[],
+    _Out_ _Deref_out_range_(>=, MPI_UNDEFINED) int* newrank
+    );
+
+MPI_METHOD
+PMPI_Graph_map(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int nnodes,
+    _In_reads_opt_(nnodes) const int index[],
+    _In_opt_ const int edges[],
+    _Out_ _Deref_out_range_(>=, MPI_UNDEFINED) int* newrank
+    );
+
+MPI_METHOD
+MPI_Dist_graph_neighbors_count(
+    _In_ MPI_Comm comm,
+    _Out_ _Deref_out_range_(>=, 0) int *indegree,
+    _Out_ _Deref_out_range_(>=, 0) int *outdegree,
+    _Out_ _Deref_out_range_(>=, 0) int *weighted
+    );
+
+MPI_METHOD
+PMPI_Dist_graph_neighbors_count(
+    _In_ MPI_Comm comm,
+    _Out_ _Deref_out_range_(>=, 0) int *indegree,
+    _Out_ _Deref_out_range_(>=, 0) int *outdegree,
+    _Out_ _Deref_out_range_(>=, 0) int *weighted
+    );
+
+MPI_METHOD
+MPI_Dist_graph_neighbors(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int maxindegree,
+    _Out_writes_opt_(maxindegree) int sources[],
+    _Out_writes_opt_(maxindegree) int sourceweights[],
+    _In_range_(>=, 0) int maxoutdegree,
+    _Out_writes_opt_(maxoutdegree) int destinations[],
+    _Out_writes_opt_(maxoutdegree) int destweights[]
+    );
+
+MPI_METHOD
+PMPI_Dist_graph_neighbors(
+    _In_ MPI_Comm comm,
+    _In_range_(>=, 0) int maxindegree,
+    _Out_writes_opt_(maxindegree) int sources[],
+    _Out_writes_opt_(maxindegree) int sourceweights[],
+    _In_range_(>=, 0) int maxoutdegree,
+    _Out_writes_opt_(maxoutdegree) int destinations[],
+    _Out_writes_opt_(maxoutdegree) int destweights[]
+    );
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 8: Environmental Management                                       */
+/*---------------------------------------------------------------------------*/
+
+/*---------------------------------------------*/
+/* Section 8.1: Implementation Information     */
+/*---------------------------------------------*/
+
+#define MPI_VERSION     2
+#define MPI_SUBVERSION  0
+
+MPI_METHOD
+MPI_Get_version(
+    _Out_ int* version,
+    _Out_ int* subversion
+    );
+
+MPI_METHOD
+PMPI_Get_version(
+    _Out_ int* version,
+    _Out_ int* subversion
+    );
+
+#define MPI_MAX_LIBRARY_VERSION_STRING  64
+
+MPI_METHOD
+MPI_Get_library_version(
+    _Out_writes_z_(MPI_MAX_LIBRARY_VERSION_STRING) char* version,
+    _Out_ int* resultlen
+);
+
+MPI_METHOD
+PMPI_Get_library_version(
+    _Out_writes_z_(MPI_MAX_LIBRARY_VERSION_STRING) char* version,
+    _Out_ int* resultlen
+);
+
+#define MPI_MAX_PROCESSOR_NAME  128
+
+MPI_METHOD
+MPI_Get_processor_name(
+    _Out_writes_z_(MPI_MAX_PROCESSOR_NAME) char* name,
+    _Out_ int* resultlen
+    );
+
+MPI_METHOD
+PMPI_Get_processor_name(
+    _Out_writes_z_(MPI_MAX_PROCESSOR_NAME) char* name,
+    _Out_ int* resultlen
+    );
+
+/*---------------------------------------------*/
+/* Section 8.2: Memory Allocation              */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Alloc_mem(
+    _In_ MPI_Aint size,
+    _In_ MPI_Info info,
+    _Out_ void* baseptr
+    );
+
+MPI_METHOD
+PMPI_Alloc_mem(
+    _In_ MPI_Aint size,
+    _In_ MPI_Info info,
+    _Out_ void* baseptr
+    );
+
+MPI_METHOD
+MPI_Free_mem(
+    _In_ _Post_invalid_ void* base
+    );
+
+MPI_METHOD
+PMPI_Free_mem(
+    _In_ _Post_invalid_ void* base
+    );
+
+
+/*---------------------------------------------*/
+/* Section 8.3: Error Handling                 */
+/*---------------------------------------------*/
+
+typedef
+void
+(MPIAPI MPI_Comm_errhandler_fn)(
+    _In_ MPI_Comm* comm,
+    _Inout_ int* errcode,
+    ...
+    );
+
+MPI_METHOD
+MPI_Comm_create_errhandler(
+    _In_ MPI_Comm_errhandler_fn* function,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+MPI_METHOD
+PMPI_Comm_create_errhandler(
+    _In_ MPI_Comm_errhandler_fn* function,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+MPI_METHOD
+MPI_Comm_set_errhandler(
+    _In_ MPI_Comm comm,
+    _In_ MPI_Errhandler errhandler
+    );
+
+MPI_METHOD
+PMPI_Comm_set_errhandler(
+    _In_ MPI_Comm comm,
+    _In_ MPI_Errhandler errhandler
+    );
+
+MPI_METHOD
+MPI_Comm_get_errhandler(
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+MPI_METHOD
+PMPI_Comm_get_errhandler(
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+
+typedef
+void
+(MPIAPI MPI_Win_errhandler_fn)(
+    _In_ MPI_Win* win,
+    _Inout_ int* errcode,
+    ...
+    );
+
+MPI_METHOD
+MPI_Win_create_errhandler(
+    _In_ MPI_Win_errhandler_fn* function,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+MPI_METHOD
+PMPI_Win_create_errhandler(
+    _In_ MPI_Win_errhandler_fn* function,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+MPI_METHOD
+MPI_Win_set_errhandler(
+    _In_ MPI_Win win,
+    _In_ MPI_Errhandler errhandler
+    );
+
+MPI_METHOD
+PMPI_Win_set_errhandler(
+    _In_ MPI_Win win,
+    _In_ MPI_Errhandler errhandler
+    );
+
+MPI_METHOD
+MPI_Win_get_errhandler(
+    _In_ MPI_Win win,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+MPI_METHOD
+PMPI_Win_get_errhandler(
+    _In_ MPI_Win win,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+
+typedef
+void
+(MPIAPI MPI_File_errhandler_fn)(
+    _In_ MPI_File* file,
+    _Inout_ int* errcode,
+    ...
+    );
+
+MPI_METHOD
+MPI_File_create_errhandler(
+    _In_ MPI_File_errhandler_fn* function,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+MPI_METHOD
+PMPI_File_create_errhandler(
+    _In_ MPI_File_errhandler_fn* function,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+MPI_METHOD
+MPI_File_set_errhandler(
+    _In_ MPI_File file,
+    _In_ MPI_Errhandler errhandler
+    );
+
+MPI_METHOD
+PMPI_File_set_errhandler(
+    _In_ MPI_File file,
+    _In_ MPI_Errhandler errhandler
+    );
+
+MPI_METHOD
+MPI_File_get_errhandler(
+    _In_ MPI_File file,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+MPI_METHOD
+PMPI_File_get_errhandler(
+    _In_ MPI_File file,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+MPI_METHOD
+MPI_Errhandler_free(
+    _Inout_ MPI_Errhandler* errhandler
+    );
+
+MPI_METHOD
+PMPI_Errhandler_free(
+    _Inout_ MPI_Errhandler* errhandler
+    );
+
+#define MPI_MAX_ERROR_STRING    512
+
+MPI_METHOD
+MPI_Error_string(
+    _In_ int errorcode,
+    _Out_writes_z_(MPI_MAX_ERROR_STRING) char* string,
+    _Out_ int* resultlen
+    );
+
+MPI_METHOD
+PMPI_Error_string(
+    _In_ int errorcode,
+    _Out_writes_z_(MPI_MAX_ERROR_STRING) char* string,
+    _Out_ int* resultlen
+    );
+
+
+/*---------------------------------------------*/
+/* Section 8.4: Error Codes and Classes        */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Error_class(
+    _In_ int errorcode,
+    _Out_ int* errorclass
+    );
+
+MPI_METHOD
+PMPI_Error_class(
+    _In_ int errorcode,
+    _Out_ int* errorclass
+    );
+
+MPI_METHOD
+MPI_Add_error_class(
+    _Out_ int* errorclass
+    );
+
+MPI_METHOD
+PMPI_Add_error_class(
+    _Out_ int* errorclass
+    );
+
+MPI_METHOD
+MPI_Add_error_code(
+    _In_ int errorclass,
+    _Out_ int* errorcode
+    );
+
+MPI_METHOD
+PMPI_Add_error_code(
+    _In_ int errorclass,
+    _Out_ int* errorcode
+    );
+
+MPI_METHOD
+MPI_Add_error_string(
+    _In_ int errorcode,
+    _In_z_ const char* string
+    );
+
+MPI_METHOD
+PMPI_Add_error_string(
+    _In_ int errorcode,
+    _In_z_ const char* string
+    );
+
+MPI_METHOD
+MPI_Comm_call_errhandler(
+    _In_ MPI_Comm comm,
+    _In_ int errorcode
+    );
+
+MPI_METHOD
+PMPI_Comm_call_errhandler(
+    _In_ MPI_Comm comm,
+    _In_ int errorcode
+    );
+
+MPI_METHOD
+MPI_Win_call_errhandler(
+    _In_ MPI_Win win,
+    _In_ int errorcode
+    );
+
+MPI_METHOD
+PMPI_Win_call_errhandler(
+    _In_ MPI_Win win,
+    _In_ int errorcode
+    );
+
+MPI_METHOD
+MPI_File_call_errhandler(
+    _In_ MPI_File file,
+    _In_ int errorcode
+    );
+
+MPI_METHOD
+PMPI_File_call_errhandler(
+    _In_ MPI_File file,
+    _In_ int errorcode
+    );
+
+
+/*---------------------------------------------*/
+/* Section 8.6: Timers and Synchronization     */
+/*---------------------------------------------*/
+
+double
+MPIAPI
+MPI_Wtime(
+    void
+    );
+
+double
+MPIAPI
+PMPI_Wtime(
+    void
+    );
+
+double
+MPIAPI
+MPI_Wtick(
+    void
+    );
+
+double
+MPIAPI
+PMPI_Wtick(
+    void
+    );
+
+
+/*---------------------------------------------*/
+/* Section 8.7: Startup                        */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Init(
+    _In_opt_ const int* argc,
+    _Notref_ _In_reads_opt_(*argc) char*** argv
+    );
+
+MPI_METHOD
+PMPI_Init(
+    _In_opt_ int* argc,
+    _Notref_ _In_reads_opt_(*argc) char*** argv
+    );
+
+MPI_METHOD
+MPI_Finalize(
+    void
+    );
+
+MPI_METHOD
+PMPI_Finalize(
+    void
+    );
+
+MPI_METHOD
+MPI_Initialized(
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+PMPI_Initialized(
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+MPI_Abort(
+    _In_ MPI_Comm comm,
+    _In_ int errorcode
+    );
+
+MPI_METHOD
+PMPI_Abort(
+    _In_ MPI_Comm comm,
+    _In_ int errorcode
+    );
+
+MPI_METHOD
+MPI_Finalized(
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+PMPI_Finalized(
+    _mpi_out_flag_ int* flag
+    );
+
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 9: The Info Object                                                */
+/*---------------------------------------------------------------------------*/
+
+#define MPI_MAX_INFO_KEY    255
+#define MPI_MAX_INFO_VAL   1024
+
+MPI_METHOD
+MPI_Info_create(
+    _Out_ MPI_Info* info
+    );
+
+MPI_METHOD
+PMPI_Info_create(
+    _Out_ MPI_Info* info
+    );
+
+MPI_METHOD
+MPI_Info_set(
+    _In_ MPI_Info info,
+    _In_z_ const char* key,
+    _In_z_ const char* value
+    );
+
+MPI_METHOD
+PMPI_Info_set(
+    _In_ MPI_Info info,
+    _In_z_ const char* key,
+    _In_z_ const char* value
+    );
+
+MPI_METHOD
+MPI_Info_delete(
+    _In_ MPI_Info info,
+    _In_z_ const char* key
+    );
+
+MPI_METHOD
+PMPI_Info_delete(
+    _In_ MPI_Info info,
+    _In_z_ const char* key
+    );
+
+MPI_METHOD
+MPI_Info_get(
+    _In_ MPI_Info info,
+    _In_z_ const char* key,
+    _In_ int valuelen,
+    _When_(*flag != 0, _Out_writes_z_(valuelen)) char* value,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+PMPI_Info_get(
+    _In_ MPI_Info info,
+    _In_z_ const char* key,
+    _In_ int valuelen,
+    _When_(*flag != 0, _Out_writes_z_(valuelen)) char* value,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+MPI_Info_get_valuelen(
+    _In_ MPI_Info info,
+    _In_z_ const char* key,
+    _Out_ _Deref_out_range_(0, MPI_MAX_INFO_VAL) int* valuelen,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+PMPI_Info_get_valuelen(
+    _In_ MPI_Info info,
+    _In_z_ const char* key,
+    _Out_ _Deref_out_range_(0, MPI_MAX_INFO_VAL) int* valuelen,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+MPI_Info_get_nkeys(
+    _In_ MPI_Info info,
+    _Out_ int* nkeys
+    );
+
+MPI_METHOD
+PMPI_Info_get_nkeys(
+    _In_ MPI_Info info,
+    _Out_ int* nkeys
+    );
+
+MPI_METHOD
+MPI_Info_get_nthkey(
+    _In_ MPI_Info info,
+    _In_range_(>=, 0) int n,
+    _Out_writes_z_(MPI_MAX_INFO_KEY) char* key
+    );
+
+MPI_METHOD
+PMPI_Info_get_nthkey(
+    _In_ MPI_Info info,
+    _In_range_(>=, 0) int n,
+    _Out_writes_z_(MPI_MAX_INFO_KEY) char* key
+    );
+
+MPI_METHOD
+MPI_Info_dup(
+    _In_ MPI_Info info,
+    _Out_ MPI_Info* newinfo
+    );
+
+MPI_METHOD
+PMPI_Info_dup(
+    _In_ MPI_Info info,
+    _Out_ MPI_Info* newinfo
+    );
+
+MPI_METHOD
+MPI_Info_free(
+    _Inout_ MPI_Info* info
+    );
+
+MPI_METHOD
+PMPI_Info_free(
+    _Inout_ MPI_Info* info
+    );
+
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 10: Process Creation and Management                               */
+/*---------------------------------------------------------------------------*/
+
+/*---------------------------------------------*/
+/* Section 10.3: Process Manager Interface     */
+/*---------------------------------------------*/
+
+#define MPI_ARGV_NULL ((char**)0)
+#define MPI_ARGVS_NULL ((char***)0)
+
+#define MPI_ERRCODES_IGNORE ((int*)0)
+
+MPI_METHOD
+MPI_Comm_spawn(
+    _In_z_ const char* command,
+    _In_ char* argv[],
+    _In_range_(>=, 0) int maxprocs,
+    _In_ MPI_Info info,
+    _In_range_(>=, 0) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Comm* intercomm,
+    _Out_writes_(maxprocs) int array_of_errcodes[]
+    );
+
+MPI_METHOD
+PMPI_Comm_spawn(
+    _In_z_ const char* command,
+    _In_ char* argv[],
+    _In_range_(>=, 0) int maxprocs,
+    _In_ MPI_Info info,
+    _In_range_(>=, 0) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Comm* intercomm,
+    _Out_writes_(maxprocs) int array_of_errcodes[]
+    );
+
+MPI_METHOD
+MPI_Comm_get_parent(
+    _Out_ MPI_Comm* parent
+    );
+
+MPI_METHOD
+PMPI_Comm_get_parent(
+    _Out_ MPI_Comm* parent
+    );
+
+MPI_METHOD
+MPI_Comm_spawn_multiple(
+    _In_range_(>, 0) int count,
+    _In_reads_z_(count) char* array_of_commands[],
+    _In_reads_z_(count) char** array_of_argv[],
+    _In_reads_(count) const int array_of_maxprocs[],
+    _In_reads_(count) const MPI_Info array_of_info[],
+    _In_range_(>=, 0) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Comm* intercomm,
+    _Out_ int array_of_errcodes[]
+    );
+
+MPI_METHOD
+PMPI_Comm_spawn_multiple(
+    _In_range_(>, 0) int count,
+    _In_reads_z_(count) char* array_of_commands[],
+    _In_reads_z_(count) char** array_of_argv[],
+    _In_reads_(count) const int array_of_maxprocs[],
+    _In_reads_(count) const MPI_Info array_of_info[],
+    _In_range_(>=, 0) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Comm* intercomm,
+    _Out_ int array_of_errcodes[]
+    );
+
+
+/*---------------------------------------------*/
+/* Section 10.4: Establishing Communication    */
+/*---------------------------------------------*/
+
+#define MPI_MAX_PORT_NAME   256
+
+MPI_METHOD
+MPI_Open_port(
+    _In_ MPI_Info info,
+    _Out_writes_z_(MPI_MAX_PORT_NAME) char* port_name
+    );
+
+MPI_METHOD
+PMPI_Open_port(
+    _In_ MPI_Info info,
+    _Out_writes_z_(MPI_MAX_PORT_NAME) char* port_name
+    );
+
+MPI_METHOD
+MPI_Close_port(
+    _In_z_ const char* port_name
+    );
+
+MPI_METHOD
+PMPI_Close_port(
+    _In_z_ const char* port_name
+    );
+
+MPI_METHOD
+MPI_Comm_accept(
+    _In_z_ const char* port_name,
+    _In_ MPI_Info info,
+    _In_range_(>=, 0) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Comm* newcomm
+    );
+
+MPI_METHOD
+PMPI_Comm_accept(
+    _In_z_ const char* port_name,
+    _In_ MPI_Info info,
+    _In_range_(>=, 0) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Comm* newcomm
+    );
+
+MPI_METHOD
+MPI_Comm_connect(
+    _In_z_ const char* port_name,
+    _In_ MPI_Info info,
+    _In_range_(>=, 0) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Comm* newcomm
+    );
+
+MPI_METHOD
+PMPI_Comm_connect(
+    _In_z_ const char* port_name,
+    _In_ MPI_Info info,
+    _In_range_(>=, 0) int root,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Comm* newcomm
+    );
+
+
+/*---------------------------------------------*/
+/* Section 10.4.4: Name Publishing             */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Publish_name(
+    _In_z_ const char* service_name,
+    _In_ MPI_Info info,
+    _In_z_ const char* port_name
+    );
+
+MPI_METHOD
+PMPI_Publish_name(
+    _In_z_ const char* service_name,
+    _In_ MPI_Info info,
+    _In_z_ const char* port_name
+    );
+
+MPI_METHOD
+MPI_Unpublish_name(
+    _In_z_ const char* service_name,
+    _In_ MPI_Info info,
+    _In_z_ const char* port_name
+    );
+
+MPI_METHOD
+PMPI_Unpublish_name(
+    _In_z_ const char* service_name,
+    _In_ MPI_Info info,
+    _In_z_ const char* port_name
+    );
+
+MPI_METHOD
+MPI_Lookup_name(
+    _In_z_ const char* service_name,
+    _In_ MPI_Info info,
+    _Out_writes_z_(MPI_MAX_PORT_NAME) char* port_name
+    );
+
+MPI_METHOD
+PMPI_Lookup_name(
+    _In_z_ const char* service_name,
+    _In_ MPI_Info info,
+    _Out_writes_z_(MPI_MAX_PORT_NAME) char* port_name
+    );
+
+
+/*---------------------------------------------*/
+/* Section 10.5: Other Functionality           */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Comm_disconnect(
+    _In_ MPI_Comm* comm
+    );
+
+MPI_METHOD
+PMPI_Comm_disconnect(
+    _In_ MPI_Comm* comm
+    );
+
+MPI_METHOD
+MPI_Comm_join(
+    _In_ int fd,
+    _Out_ MPI_Comm* intercomm
+    );
+
+MPI_METHOD
+PMPI_Comm_join(
+    _In_ int fd,
+    _Out_ MPI_Comm* intercomm
+    );
+
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 11: One-Sided Communications                                      */
+/*---------------------------------------------------------------------------*/
+
+MPI_METHOD
+MPI_Win_create(
+    _In_ void* base,
+    _In_range_(>=, 0)  MPI_Aint size,
+    _In_range_(>, 0)  int disp_unit,
+    _In_ MPI_Info info,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Win* win
+    );
+
+MPI_METHOD
+PMPI_Win_create(
+    _In_ void* base,
+    _In_range_(>=, 0)  MPI_Aint size,
+    _In_range_(>, 0)  int disp_unit,
+    _In_ MPI_Info info,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Win* win
+    );
+
+MPI_METHOD
+MPI_Win_allocate(
+    _In_range_(>= , 0) MPI_Aint size,
+    _In_range_(>, 0) int disp_unit,
+    _In_ MPI_Info info,
+    _In_ MPI_Comm comm,
+    _Out_ void *baseptr,
+    _Out_ MPI_Win *win
+    );
+
+MPI_METHOD
+PMPI_Win_allocate(
+    _In_range_(>= , 0) MPI_Aint size,
+    _In_range_(>, 0) int disp_unit,
+    _In_ MPI_Info info,
+    _In_ MPI_Comm comm,
+    _Out_ void *baseptr,
+    _Out_ MPI_Win *win
+    );
+
+MPI_METHOD
+MPI_Win_allocate_shared(
+    _In_range_(>=, 0) MPI_Aint size,
+    _In_range_(>, 0) int disp_unit,
+    _In_ MPI_Info info,
+    _In_ MPI_Comm comm,
+    _Out_ void *baseptr,
+    _Out_ MPI_Win *win
+    );
+
+MPI_METHOD
+PMPI_Win_allocate_shared(
+    _In_range_(>=, 0) MPI_Aint size,
+    _In_range_(>, 0) int disp_unit,
+    _In_ MPI_Info info,
+    _In_ MPI_Comm comm,
+    _Out_ void *baseptr,
+    _Out_ MPI_Win *win
+    );
+
+MPI_METHOD
+MPI_Win_shared_query(
+    _In_ MPI_Win win,
+    _In_range_(>=, MPI_PROC_NULL) int rank,
+    _Out_ MPI_Aint *size,
+    _Out_ int *disp_unit,
+    _Out_ void *baseptr
+    );
+
+MPI_METHOD
+PMPI_Win_shared_query(
+    _In_ MPI_Win win,
+    _In_range_(>=, MPI_PROC_NULL) int rank,
+    _Out_ MPI_Aint *size,
+    _Out_ int *disp_unit,
+    _Out_ void *baseptr
+    );
+
+MPI_METHOD
+MPI_Win_create_dynamic(
+    _In_ MPI_Info info,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Win* win
+    );
+
+MPI_METHOD
+PMPI_Win_create_dynamic(
+    _In_ MPI_Info info,
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Win* win
+    );
+
+MPI_METHOD
+MPI_Win_free(
+    _Inout_ MPI_Win* win
+    );
+
+MPI_METHOD
+PMPI_Win_free(
+    _Inout_ MPI_Win* win
+    );
+
+MPI_METHOD
+MPI_Win_get_group(
+    _In_ MPI_Win win,
+    _Out_ MPI_Group* group
+    );
+
+MPI_METHOD
+PMPI_Win_get_group(
+    _In_ MPI_Win win,
+    _Out_ MPI_Group* group
+    );
+
+MPI_METHOD
+MPI_Win_attach(
+    _In_ MPI_Win win,
+    _In_ void* base,
+    _In_range_(>=, 0)  MPI_Aint size
+    );
+
+MPI_METHOD
+PMPI_Win_attach(
+    _In_ MPI_Win win,
+    _In_ void* base,
+    _In_range_(>=, 0)  MPI_Aint size
+    );
+
+MPI_METHOD
+MPI_Win_detach(
+    _In_ MPI_Win win,
+    _In_ void* base
+    );
+
+MPI_METHOD
+PMPI_Win_detach(
+    _In_ MPI_Win win,
+    _In_ void* base
+    );
+
+MPI_METHOD
+MPI_Put(
+    _In_opt_ const void* origin_addr,
+    _In_range_(>=, 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_range_(>=, MPI_PROC_NULL) int target_rank,
+    _In_range_(>=, 0) MPI_Aint target_disp,
+    _In_range_(>=, 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Put(
+    _In_opt_ const void* origin_addr,
+    _In_range_(>=, 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_range_(>=, MPI_PROC_NULL) int target_rank,
+    _In_range_(>=, 0) MPI_Aint target_disp,
+    _In_range_(>=, 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Rput(
+    _In_opt_ const void* origin_addr,
+    _In_range_(>=, 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_range_(>=, MPI_PROC_NULL) int target_rank,
+    _In_range_(>=, 0) MPI_Aint target_disp,
+    _In_range_(>=, 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Win win,
+    _Out_ MPI_Request *request
+    );
+
+MPI_METHOD
+PMPI_Rput(
+    _In_opt_ const void* origin_addr,
+    _In_range_(>=, 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_range_(>=, MPI_PROC_NULL) int target_rank,
+    _In_range_(>=, 0) MPI_Aint target_disp,
+    _In_range_(>=, 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Win win,
+    _Out_ MPI_Request *request
+    );
+
+MPI_METHOD
+MPI_Get(
+    _In_opt_ void* origin_addr,
+    _In_range_(>=, 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_range_(>=, MPI_PROC_NULL) int target_rank,
+    _In_range_(>=, 0) MPI_Aint target_disp,
+    _In_range_(>=, 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Get(
+    _In_opt_ void* origin_addr,
+    _In_range_(>=, 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_range_(>=, MPI_PROC_NULL) int target_rank,
+    _In_range_(>=, 0) MPI_Aint target_disp,
+    _In_range_(>=, 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Rget(
+    _In_opt_ void* origin_addr,
+    _In_range_(>= , 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_range_(>= , MPI_PROC_NULL) int target_rank,
+    _In_range_(>= , 0) MPI_Aint target_disp,
+    _In_range_(>= , 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Win win,
+    _Out_ MPI_Request *request
+    );
+
+MPI_METHOD
+PMPI_Rget(
+    _In_opt_ void* origin_addr,
+    _In_range_(>= , 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_range_(>= , MPI_PROC_NULL) int target_rank,
+    _In_range_(>= , 0) MPI_Aint target_disp,
+    _In_range_(>= , 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Win win,
+    _Out_ MPI_Request *request
+    );
+
+MPI_METHOD
+MPI_Accumulate(
+    _In_opt_ const void* origin_addr,
+    _In_range_(>=, 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_range_(>=, MPI_PROC_NULL) int target_rank,
+    _In_range_(>=, 0) MPI_Aint target_disp,
+    _In_range_(>=, 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Accumulate(
+    _In_opt_ const void* origin_addr,
+    _In_range_(>=, 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_range_(>=, MPI_PROC_NULL) int target_rank,
+    _In_range_(>=, 0) MPI_Aint target_disp,
+    _In_range_(>=, 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Raccumulate(
+    _In_opt_ const void* origin_addr,
+    _In_range_(>=, 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_range_(>=, MPI_PROC_NULL) int target_rank,
+    _In_range_(>=, 0) MPI_Aint target_disp,
+    _In_range_(>=, 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Win win,
+    _Out_ MPI_Request *request
+    );
+
+MPI_METHOD
+PMPI_Raccumulate(
+    _In_opt_ const void* origin_addr,
+    _In_range_(>=, 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_range_(>=, MPI_PROC_NULL) int target_rank,
+    _In_range_(>=, 0) MPI_Aint target_disp,
+    _In_range_(>=, 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Win win,
+    _Out_ MPI_Request *request
+    );
+
+MPI_METHOD
+MPI_Get_accumulate(
+    _In_opt_ const void* origin_addr,
+    _In_range_(>= , 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_opt_ void* result_addr,
+    _In_range_(>= , 0) int result_count,
+    _In_ MPI_Datatype result_datatype,
+    _In_range_(>= , MPI_PROC_NULL) int target_rank,
+    _In_range_(>= , 0) MPI_Aint target_disp,
+    _In_range_(>= , 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Win win
+);
+
+MPI_METHOD
+PMPI_Get_accumulate(
+    _In_opt_ const void* origin_addr,
+    _In_range_(>= , 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_opt_ void* result_addr,
+    _In_range_(>= , 0) int result_count,
+    _In_ MPI_Datatype result_datatype,
+    _In_range_(>= , MPI_PROC_NULL) int target_rank,
+    _In_range_(>= , 0) MPI_Aint target_disp,
+    _In_range_(>= , 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Win win
+);
+
+MPI_METHOD
+MPI_Rget_accumulate(
+    _In_opt_ const void* origin_addr,
+    _In_range_(>= , 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_opt_ void* result_addr,
+    _In_range_(>= , 0) int result_count,
+    _In_ MPI_Datatype result_datatype,
+    _In_range_(>= , MPI_PROC_NULL) int target_rank,
+    _In_range_(>= , 0) MPI_Aint target_disp,
+    _In_range_(>= , 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Win win,
+    _Out_ MPI_Request *request
+);
+
+MPI_METHOD
+PMPI_Rget_accumulate(
+    _In_opt_ const void* origin_addr,
+    _In_range_(>= , 0) int origin_count,
+    _In_ MPI_Datatype origin_datatype,
+    _In_opt_ void* result_addr,
+    _In_range_(>= , 0) int result_count,
+    _In_ MPI_Datatype result_datatype,
+    _In_range_(>= , MPI_PROC_NULL) int target_rank,
+    _In_range_(>= , 0) MPI_Aint target_disp,
+    _In_range_(>= , 0) int target_count,
+    _In_ MPI_Datatype target_datatype,
+    _In_ MPI_Op op,
+    _In_ MPI_Win win,
+    _Out_ MPI_Request *request
+);
+
+MPI_METHOD
+MPI_Fetch_and_op(
+    _In_opt_ const void* origin_addr,
+    _When_(target_rank != MPI_PROC_NULL, _In_)
+    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
+        void* result_addr,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>= , MPI_PROC_NULL) int target_rank,
+    _In_range_(>= , 0) MPI_Aint target_disp,
+    _In_ MPI_Op op,
+    _In_ MPI_Win win
+);
+
+MPI_METHOD
+PMPI_Fetch_and_op(
+    _In_opt_ const void* origin_addr,
+    _When_(target_rank != MPI_PROC_NULL, _In_)
+    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
+        void* result_addr,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>= , MPI_PROC_NULL) int target_rank,
+    _In_range_(>= , 0) MPI_Aint target_disp,
+    _In_ MPI_Op op,
+    _In_ MPI_Win win
+);
+
+MPI_METHOD
+MPI_Compare_and_swap(
+    _When_(target_rank != MPI_PROC_NULL, _In_)
+    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
+        const void* origin_addr,
+    _When_(target_rank != MPI_PROC_NULL, _In_)
+    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
+        const void* compare_addr,
+    _When_(target_rank != MPI_PROC_NULL, _In_)
+    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
+        void* result_addr,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>= , MPI_PROC_NULL) int target_rank,
+    _In_range_(>= , 0) MPI_Aint target_disp,
+    _In_ MPI_Win win
+);
+
+MPI_METHOD
+PMPI_Compare_and_swap(
+    _When_(target_rank != MPI_PROC_NULL, _In_)
+    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
+        const void* origin_addr,
+    _When_(target_rank != MPI_PROC_NULL, _In_)
+    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
+        const void* compare_addr,
+    _When_(target_rank != MPI_PROC_NULL, _In_)
+    _When_(target_rank == MPI_PROC_NULL, _In_opt_)
+        void* result_addr,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>= , MPI_PROC_NULL) int target_rank,
+    _In_range_(>= , 0) MPI_Aint target_disp,
+    _In_ MPI_Win win
+);
+
+/* Asserts for one-sided communication */
+#define MPI_MODE_NOCHECK    1024
+#define MPI_MODE_NOSTORE    2048
+#define MPI_MODE_NOPUT      4096
+#define MPI_MODE_NOPRECEDE  8192
+#define MPI_MODE_NOSUCCEED 16384
+
+MPI_METHOD
+MPI_Win_fence(
+    _In_ int assert,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_fence(
+    _In_ int assert,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Win_start(
+    _In_ MPI_Group group,
+    _In_ int assert,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_start(
+    _In_ MPI_Group group,
+    _In_ int assert,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Win_complete(
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_complete(
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Win_post(
+    _In_ MPI_Group group,
+    _In_ int assert,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_post(
+    _In_ MPI_Group group,
+    _In_ int assert,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Win_wait(
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_wait(
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Win_test(
+    _In_ MPI_Win win,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+PMPI_Win_test(
+    _In_ MPI_Win win,
+    _mpi_out_flag_ int* flag
+    );
+
+#define MPI_LOCK_EXCLUSIVE  234
+#define MPI_LOCK_SHARED     235
+
+MPI_METHOD
+MPI_Win_lock(
+    _In_ int lock_type,
+    _In_range_(>=, MPI_PROC_NULL) int rank,
+    _In_ int assert,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_lock(
+    _In_ int lock_type,
+    _In_range_(>=, MPI_PROC_NULL) int rank,
+    _In_ int assert,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Win_lock_all(
+    _In_ int assert,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_lock_all(
+    _In_ int assert,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Win_unlock(
+    _In_range_(>=, MPI_PROC_NULL) int rank,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_unlock(
+    _In_range_(>=, MPI_PROC_NULL) int rank,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Win_unlock_all(
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_unlock_all(
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Win_flush(
+    _In_range_(>=, MPI_PROC_NULL) int rank,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_flush(
+    _In_range_(>=, MPI_PROC_NULL) int rank,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Win_flush_all(
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_flush_all(
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Win_flush_local(
+    _In_range_(>= , MPI_PROC_NULL) int rank,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_flush_local(
+    _In_range_(>= , MPI_PROC_NULL) int rank,
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Win_flush_local_all(
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_flush_local_all(
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+MPI_Win_sync(
+    _In_ MPI_Win win
+    );
+
+MPI_METHOD
+PMPI_Win_sync(
+    _In_ MPI_Win win
+    );
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 12: External Interfaces                                           */
+/*---------------------------------------------------------------------------*/
+
+/*---------------------------------------------*/
+/* Section 12.2: Generalized Requests          */
+/*---------------------------------------------*/
+
+typedef
+int
+(MPIAPI MPI_Grequest_query_function)(
+    _In_opt_ void* extra_state,
+    _Out_ MPI_Status* status
+    );
+
+typedef
+int
+(MPIAPI MPI_Grequest_free_function)(
+    _In_opt_ void* extra_state
+    );
+
+typedef
+int
+(MPIAPI MPI_Grequest_cancel_function)(
+    _In_opt_ void* extra_state,
+    _In_ int complete
+    );
+
+MPI_METHOD
+MPI_Grequest_start(
+    _In_ MPI_Grequest_query_function* query_fn,
+    _In_ MPI_Grequest_free_function* free_fn,
+    _In_ MPI_Grequest_cancel_function* cancel_fn,
+    _In_opt_ void* extra_state,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_Grequest_start(
+    _In_ MPI_Grequest_query_function* query_fn,
+    _In_ MPI_Grequest_free_function* free_fn,
+    _In_ MPI_Grequest_cancel_function* cancel_fn,
+    _In_opt_ void* extra_state,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_Grequest_complete(
+    _In_ MPI_Request request
+    );
+
+MPI_METHOD
+PMPI_Grequest_complete(
+    _In_ MPI_Request request
+    );
+
+
+/*---------------------------------------------*/
+/* Section 12.3: Information with Status       */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Status_set_elements(
+    _In_ MPI_Status* status,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, 0) int count
+    );
+
+MPI_METHOD
+PMPI_Status_set_elements(
+    _In_ MPI_Status* status,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, 0) int count
+    );
+
+MPI_METHOD
+MPI_Status_set_elements_x(
+    _In_ MPI_Status* status,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, 0) MPI_Count count
+    );
+
+MPI_METHOD
+PMPI_Status_set_elements_x(
+    _In_ MPI_Status* status,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, 0) MPI_Count count
+    );
+
+MPI_METHOD
+MPI_Status_set_cancelled(
+    _In_ MPI_Status* status,
+    _In_range_(0,1) int flag
+    );
+
+MPI_METHOD
+PMPI_Status_set_cancelled(
+    _In_ MPI_Status* status,
+    _In_range_(0,1) int flag
+    );
+
+
+/*---------------------------------------------*/
+/* Section 12.4: Threads                       */
+/*---------------------------------------------*/
+
+#define MPI_THREAD_SINGLE       0
+#define MPI_THREAD_FUNNELED     1
+#define MPI_THREAD_SERIALIZED   2
+#define MPI_THREAD_MULTIPLE     3
+
+MPI_METHOD
+MPI_Init_thread(
+    _In_opt_ const int* argc,
+    _Notref_ _In_reads_opt_(*argc) char*** argv,
+    _In_ int required,
+    _Out_ int* provided
+    );
+
+MPI_METHOD
+PMPI_Init_thread(
+    _In_opt_ int* argc,
+    _Notref_ _In_reads_opt_(*argc) char*** argv,
+    _In_ int required,
+    _Out_ int* provided
+    );
+
+MPI_METHOD
+MPI_Query_thread(
+    _Out_ int* provided
+    );
+
+MPI_METHOD
+PMPI_Query_thread(
+    _Out_ int* provided
+    );
+
+MPI_METHOD
+MPI_Is_thread_main(
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+PMPI_Is_thread_main(
+    _mpi_out_flag_ int* flag
+    );
+
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 13: I/O                                                           */
+/*---------------------------------------------------------------------------*/
+
+/*---------------------------------------------*/
+/* Section 13.2: File Manipulation             */
+/*---------------------------------------------*/
+
+#define MPI_MODE_CREATE             0x00000001
+#define MPI_MODE_RDONLY             0x00000002
+#define MPI_MODE_WRONLY             0x00000004
+#define MPI_MODE_RDWR               0x00000008
+#define MPI_MODE_DELETE_ON_CLOSE    0x00000010
+#define MPI_MODE_UNIQUE_OPEN        0x00000020
+#define MPI_MODE_EXCL               0x00000040
+#define MPI_MODE_APPEND             0x00000080
+#define MPI_MODE_SEQUENTIAL         0x00000100
+#define MSMPI_MODE_HIDDEN           0x00000200
+
+MPI_METHOD
+MPI_File_open(
+    _In_ MPI_Comm comm,
+    _In_z_ const char* filename,
+    _In_ int amode,
+    _In_ MPI_Info info,
+    _Out_ MPI_File* fh
+    );
+
+MPI_METHOD
+PMPI_File_open(
+    _In_ MPI_Comm comm,
+    _In_z_ const char* filename,
+    _In_ int amode,
+    _In_ MPI_Info info,
+    _Out_ MPI_File* fh
+    );
+
+MPI_METHOD
+MPI_File_close(
+    _In_ MPI_File* fh
+    );
+
+MPI_METHOD
+PMPI_File_close(
+    _In_ MPI_File* fh
+    );
+
+MPI_METHOD
+MPI_File_delete(
+    _In_z_ const char* filename,
+    _In_ MPI_Info info
+    );
+
+MPI_METHOD
+PMPI_File_delete(
+    _In_z_ const char* filename,
+    _In_ MPI_Info info
+    );
+
+MPI_METHOD
+MPI_File_set_size(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset size
+    );
+
+MPI_METHOD
+PMPI_File_set_size(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset size
+    );
+
+MPI_METHOD
+MPI_File_preallocate(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset size
+    );
+
+MPI_METHOD
+PMPI_File_preallocate(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset size
+    );
+
+MPI_METHOD
+MPI_File_get_size(
+    _In_ MPI_File fh,
+    _Out_ MPI_Offset* size
+    );
+
+MPI_METHOD
+PMPI_File_get_size(
+    _In_ MPI_File fh,
+    _Out_ MPI_Offset* size
+    );
+
+MPI_METHOD
+MPI_File_get_group(
+    _In_ MPI_File fh,
+    _Out_ MPI_Group* group
+    );
+
+MPI_METHOD
+PMPI_File_get_group(
+    _In_ MPI_File fh,
+    _Out_ MPI_Group* group
+    );
+
+MPI_METHOD
+MPI_File_get_amode(
+    _In_ MPI_File fh,
+    _Out_ int* amode
+    );
+
+MPI_METHOD
+PMPI_File_get_amode(
+    _In_ MPI_File fh,
+    _Out_ int* amode
+    );
+
+MPI_METHOD
+MPI_File_set_info(
+    _In_ MPI_File fh,
+    _In_ MPI_Info info
+    );
+
+MPI_METHOD
+PMPI_File_set_info(
+    _In_ MPI_File fh,
+    _In_ MPI_Info info
+    );
+
+MPI_METHOD
+MPI_File_get_info(
+    _In_ MPI_File fh,
+    _Out_ MPI_Info* info_used
+    );
+
+MPI_METHOD
+PMPI_File_get_info(
+    _In_ MPI_File fh,
+    _Out_ MPI_Info* info_used
+    );
+
+
+/*---------------------------------------------*/
+/* Section 13.3: File Views                    */
+/*---------------------------------------------*/
+
+#define MPI_DISPLACEMENT_CURRENT (-54278278)
+
+MPI_METHOD
+MPI_File_set_view(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset disp,
+    _In_ MPI_Datatype etype,
+    _In_ MPI_Datatype filetype,
+    _In_z_ const char* datarep,
+    _In_ MPI_Info info
+    );
+
+MPI_METHOD
+PMPI_File_set_view(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset disp,
+    _In_ MPI_Datatype etype,
+    _In_ MPI_Datatype filetype,
+    _In_z_ const char* datarep,
+    _In_ MPI_Info info
+    );
+
+#define MPI_MAX_DATAREP_STRING  128
+
+MPI_METHOD
+MPI_File_get_view(
+    _In_ MPI_File fh,
+    _Out_ MPI_Offset* disp,
+    _Out_ MPI_Datatype* etype,
+    _Out_ MPI_Datatype* filetype,
+    _Out_writes_z_(MPI_MAX_DATAREP_STRING) char* datarep
+    );
+
+MPI_METHOD
+PMPI_File_get_view(
+    _In_ MPI_File fh,
+    _Out_ MPI_Offset* disp,
+    _Out_ MPI_Datatype* etype,
+    _Out_ MPI_Datatype* filetype,
+    _Out_writes_z_(MPI_MAX_DATAREP_STRING) char* datarep
+    );
+
+
+/*---------------------------------------------*/
+/* Section 13.4: Data Access                   */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_File_read_at(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_read_at(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_read_at_all(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_read_at_all(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_write_at(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_write_at(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_write_at_all(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_write_at_all(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_iread_at(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_File_iread_at(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_File_iwrite_at(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_File_iwrite_at(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_File_read(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_read(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_read_all(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_read_all(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_write(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_write(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_write_all(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_write_all(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+
+MPI_METHOD
+MPI_File_iread(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_File_iread(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_File_iwrite(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_File_iwrite(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Request* request
+    );
+
+
+/* File seek whence */
+#define MPI_SEEK_SET    600
+#define MPI_SEEK_CUR    602
+#define MPI_SEEK_END    604
+
+MPI_METHOD
+MPI_File_seek(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _In_ int whence
+    );
+
+MPI_METHOD
+PMPI_File_seek(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _In_ int whence
+    );
+
+MPI_METHOD
+MPI_File_get_position(
+    _In_ MPI_File fh,
+    _Out_ MPI_Offset* offset
+    );
+
+MPI_METHOD
+PMPI_File_get_position(
+    _In_ MPI_File fh,
+    _Out_ MPI_Offset* offset
+    );
+
+MPI_METHOD
+MPI_File_get_byte_offset(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _Out_ MPI_Offset* disp
+    );
+
+MPI_METHOD
+PMPI_File_get_byte_offset(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _Out_ MPI_Offset* disp
+    );
+
+MPI_METHOD
+MPI_File_read_shared(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+     );
+
+MPI_METHOD
+PMPI_File_read_shared(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+     );
+
+MPI_METHOD
+MPI_File_write_shared(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_write_shared(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_iread_shared(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_File_iread_shared(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_File_iwrite_shared(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+PMPI_File_iwrite_shared(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Request* request
+    );
+
+MPI_METHOD
+MPI_File_read_ordered(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_read_ordered(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_write_ordered(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_write_ordered(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_seek_shared(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _In_ int whence
+    );
+
+MPI_METHOD
+PMPI_File_seek_shared(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _In_ int whence
+    );
+
+MPI_METHOD
+MPI_File_get_position_shared(
+    _In_ MPI_File fh,
+    _Out_ MPI_Offset* offset
+    );
+
+MPI_METHOD
+PMPI_File_get_position_shared(
+    _In_ MPI_File fh,
+    _Out_ MPI_Offset* offset
+    );
+
+MPI_METHOD
+MPI_File_read_at_all_begin(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+PMPI_File_read_at_all_begin(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+MPI_File_read_at_all_end(
+    _In_ MPI_File fh,
+    _Out_ void* buf,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_read_at_all_end(
+    _In_ MPI_File fh,
+    _Out_ void* buf,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_write_at_all_begin(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+PMPI_File_write_at_all_begin(
+    _In_ MPI_File fh,
+    _In_ MPI_Offset offset,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+MPI_File_write_at_all_end(
+    _In_ MPI_File fh,
+    _In_ const void* buf,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_write_at_all_end(
+    _In_ MPI_File fh,
+    _In_ const void* buf,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_read_all_begin(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+PMPI_File_read_all_begin(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+MPI_File_read_all_end(
+    _In_ MPI_File fh,
+    _Out_ void* buf,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_read_all_end(
+    _In_ MPI_File fh,
+    _Out_ void* buf,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_write_all_begin(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+PMPI_File_write_all_begin(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+MPI_File_write_all_end(
+    _In_ MPI_File fh,
+    _In_ const void* buf,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_write_all_end(
+    _In_ MPI_File fh,
+    _In_ const void* buf,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_read_ordered_begin(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+PMPI_File_read_ordered_begin(
+    _In_ MPI_File fh,
+    _Out_opt_ void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+MPI_File_read_ordered_end(
+    _In_ MPI_File fh,
+    _Out_ void* buf,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_read_ordered_end(
+    _In_ MPI_File fh,
+    _Out_ void* buf,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+MPI_File_write_ordered_begin(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+PMPI_File_write_ordered_begin(
+    _In_ MPI_File fh,
+    _In_opt_ const void* buf,
+    _In_range_(>=, 0) int count,
+    _In_ MPI_Datatype datatype
+    );
+
+MPI_METHOD
+MPI_File_write_ordered_end(
+    _In_ MPI_File fh,
+    _In_ const void* buf,
+    _Out_ MPI_Status* status
+    );
+
+MPI_METHOD
+PMPI_File_write_ordered_end(
+    _In_ MPI_File fh,
+    _In_ const void* buf,
+    _Out_ MPI_Status* status
+    );
+
+
+/*---------------------------------------------*/
+/* Section 13.5: File Interoperability         */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_File_get_type_extent(
+    _In_ MPI_File fh,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Aint* extent
+    );
+
+MPI_METHOD
+PMPI_File_get_type_extent(
+    _In_ MPI_File fh,
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Aint* extent
+    );
+
+
+typedef
+int
+(MPIAPI MPI_Datarep_conversion_function)(
+    _Inout_ void* userbuf,
+    _In_ MPI_Datatype datatype,
+    _In_range_(>=, 0) int count,
+    _Inout_ void* filebuf,
+    _In_ MPI_Offset position,
+    _In_opt_ void* extra_state
+    );
+
+typedef
+int
+(MPIAPI MPI_Datarep_extent_function)(
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Aint* file_extent,
+    _In_opt_ void* extra_state
+    );
+
+#define MPI_CONVERSION_FN_NULL ((MPI_Datarep_conversion_function*)0)
+
+MPI_METHOD
+MPI_Register_datarep(
+    _In_z_ const char* datarep,
+    _In_opt_ MPI_Datarep_conversion_function* read_conversion_fn,
+    _In_opt_ MPI_Datarep_conversion_function* write_conversion_fn,
+    _In_ MPI_Datarep_extent_function* dtype_file_extent_fn,
+    _In_opt_ void* extra_state
+    );
+
+MPI_METHOD
+PMPI_Register_datarep(
+    _In_z_ const char* datarep,
+    _In_opt_ MPI_Datarep_conversion_function* read_conversion_fn,
+    _In_opt_ MPI_Datarep_conversion_function* write_conversion_fn,
+    _In_ MPI_Datarep_extent_function* dtype_file_extent_fn,
+    _In_opt_ void* extra_state
+    );
+
+
+/*---------------------------------------------*/
+/* Section 13.6: Consistency and Semantics     */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_File_set_atomicity(
+    _In_ MPI_File fh,
+    _In_range_(0, 1) int flag
+    );
+
+MPI_METHOD
+PMPI_File_set_atomicity(
+    _In_ MPI_File fh,
+    _In_range_(0, 1) int flag
+    );
+
+MPI_METHOD
+MPI_File_get_atomicity(
+    _In_ MPI_File fh,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+PMPI_File_get_atomicity(
+    _In_ MPI_File fh,
+    _mpi_out_flag_ int* flag
+    );
+
+MPI_METHOD
+MPI_File_sync(
+    _In_ MPI_File fh
+    );
+
+MPI_METHOD
+PMPI_File_sync(
+    _In_ MPI_File fh
+    );
+
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 14: Profiling Interface                                           */
+/*---------------------------------------------------------------------------*/
+
+MPI_METHOD
+MPI_Pcontrol(
+    _In_ const int level,
+    ...
+    );
+
+MPI_METHOD
+PMPI_Pcontrol(
+    _In_ const int level,
+    ...
+    );
+
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 15: Deprecated Functions                                          */
+/*---------------------------------------------------------------------------*/
+
+#ifdef MSMPI_NO_DEPRECATE_20
+#define MSMPI_DEPRECATE_20( x )
+#else
+#define MSMPI_DEPRECATE_20( x ) __declspec(deprecated( \
+    "Deprecated in MPI 2.0, use '" #x "'.  " \
+    "To disable deprecation, define MSMPI_NO_DEPRECATE_20." ))
+#endif
+
+MSMPI_DEPRECATE_20( MPI_Type_create_hvector )
+MPI_METHOD
+MPI_Type_hvector(
+    _In_range_(>=, 0) int count,
+    _In_range_(>=, 0) int blocklength,
+    _In_ MPI_Aint stride,
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Type_create_hvector )
+MPI_METHOD
+PMPI_Type_hvector(
+    _In_range_(>=, 0) int count,
+    _In_range_(>=, 0) int blocklength,
+    _In_ MPI_Aint stride,
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MSMPI_DEPRECATE_20( MPI_Type_create_hindexed )
+MPI_METHOD
+MPI_Type_hindexed(
+    _In_range_(>=, 0) int count,
+    _In_reads_opt_(count) const int array_of_blocklengths[],
+    _In_reads_opt_(count) const MPI_Aint array_of_displacements[],
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Type_create_hindexed )
+MPI_METHOD
+PMPI_Type_hindexed(
+    _In_range_(>=, 0) int count,
+    _In_reads_opt_(count) const int array_of_blocklengths[],
+    _In_reads_opt_(count) const MPI_Aint array_of_displacements[],
+    _In_ MPI_Datatype oldtype,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MSMPI_DEPRECATE_20( MPI_Type_create_struct )
+MPI_METHOD
+MPI_Type_struct(
+    _In_range_(>=, 0) int count,
+    _In_reads_opt_(count) const int array_of_blocklengths[],
+    _In_reads_opt_(count) const MPI_Aint array_of_displacements[],
+    _In_reads_opt_(count) const MPI_Datatype array_of_types[],
+    _Out_ MPI_Datatype* newtype
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Type_create_struct )
+MPI_METHOD
+PMPI_Type_struct(
+    _In_range_(>=, 0) int count,
+    _In_reads_opt_(count) const int array_of_blocklengths[],
+    _In_reads_opt_(count) const MPI_Aint array_of_displacements[],
+    _In_reads_opt_(count) const MPI_Datatype array_of_types[],
+    _Out_ MPI_Datatype* newtype
+    );
+
+MSMPI_DEPRECATE_20( MPI_Get_address )
+MPI_METHOD
+MPI_Address(
+    _In_ void* location,
+    _Out_ MPI_Aint* address
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Get_address )
+MPI_METHOD
+PMPI_Address(
+    _In_ void* location,
+    _Out_ MPI_Aint* address
+    );
+
+MSMPI_DEPRECATE_20( MPI_Type_get_extent )
+MPI_METHOD
+MPI_Type_extent(
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Aint* extent
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Type_get_extent )
+MPI_METHOD
+PMPI_Type_extent(
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Aint* extent
+    );
+
+MSMPI_DEPRECATE_20( MPI_Type_get_extent )
+MPI_METHOD
+MPI_Type_lb(
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Aint* displacement
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Type_get_extent )
+MPI_METHOD
+PMPI_Type_lb(
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Aint* displacement
+    );
+
+MSMPI_DEPRECATE_20( MPI_Type_get_extent )
+MPI_METHOD
+MPI_Type_ub(
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Aint* displacement
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Type_get_extent )
+MPI_METHOD
+PMPI_Type_ub(
+    _In_ MPI_Datatype datatype,
+    _Out_ MPI_Aint* displacement
+    );
+
+
+typedef MPI_Comm_copy_attr_function MPI_Copy_function;
+typedef MPI_Comm_delete_attr_function MPI_Delete_function;
+
+#define MPI_NULL_COPY_FN ((MPI_Copy_function*)0)
+#define MPI_NULL_DELETE_FN ((MPI_Delete_function*)0)
+#define MPI_DUP_FN MPIR_Dup_fn
+
+
+MSMPI_DEPRECATE_20( MPI_Comm_create_keyval )
+MPI_METHOD
+MPI_Keyval_create(
+    _In_opt_ MPI_Copy_function* copy_fn,
+    _In_opt_ MPI_Delete_function* delete_fn,
+    _Out_ int* keyval,
+    _In_opt_ void* extra_state
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Comm_create_keyval )
+MPI_METHOD
+PMPI_Keyval_create(
+    _In_opt_ MPI_Copy_function* copy_fn,
+    _In_opt_ MPI_Delete_function* delete_fn,
+    _Out_ int* keyval,
+    _In_opt_ void* extra_state
+    );
+
+MSMPI_DEPRECATE_20( MPI_Comm_free_keyval )
+MPI_METHOD
+MPI_Keyval_free(
+    _Inout_ int* keyval
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Comm_free_keyval )
+MPI_METHOD
+PMPI_Keyval_free(
+    _Inout_ int* keyval
+    );
+
+MSMPI_DEPRECATE_20( MPI_Comm_set_attr )
+MPI_METHOD
+MPI_Attr_put(
+    _In_ MPI_Comm comm,
+    _In_ int keyval,
+    _In_opt_ void* attribute_val
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Comm_set_attr )
+MPI_METHOD
+PMPI_Attr_put(
+    _In_ MPI_Comm comm,
+    _In_ int keyval,
+    _In_opt_ void* attribute_val
+    );
+
+MSMPI_DEPRECATE_20( MPI_Comm_get_attr )
+MPI_METHOD
+MPI_Attr_get(
+    _In_ MPI_Comm comm,
+    _In_ int keyval,
+    _Out_ void* attribute_val,
+    _mpi_out_flag_ int* flag
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Comm_get_attr )
+MPI_METHOD
+PMPI_Attr_get(
+    _In_ MPI_Comm comm,
+    _In_ int keyval,
+    _Out_ void* attribute_val,
+    _mpi_out_flag_ int* flag
+    );
+
+MSMPI_DEPRECATE_20( MPI_Comm_delete_attr )
+MPI_METHOD
+MPI_Attr_delete(
+    _In_ MPI_Comm comm,
+    _In_ int keyval
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Comm_delete_attr )
+MPI_METHOD
+PMPI_Attr_delete(
+    _In_ MPI_Comm comm,
+    _In_ int keyval
+    );
+
+
+typedef MPI_Comm_errhandler_fn MPI_Handler_function;
+
+MSMPI_DEPRECATE_20( MPI_Comm_create_errhandler )
+MPI_METHOD
+MPI_Errhandler_create(
+    _In_ MPI_Handler_function* function,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Comm_create_errhandler )
+MPI_METHOD
+PMPI_Errhandler_create(
+    _In_ MPI_Handler_function* function,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+MSMPI_DEPRECATE_20( MPI_Comm_set_errhandler )
+MPI_METHOD
+MPI_Errhandler_set(
+    _In_ MPI_Comm comm,
+    _In_ MPI_Errhandler errhandler
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Comm_set_errhandler )
+MPI_METHOD
+PMPI_Errhandler_set(
+    _In_ MPI_Comm comm,
+    _In_ MPI_Errhandler errhandler
+    );
+
+MSMPI_DEPRECATE_20( MPI_Comm_get_errhandler )
+MPI_METHOD
+MPI_Errhandler_get(
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+MSMPI_DEPRECATE_20( PMPI_Comm_get_errhandler )
+MPI_METHOD
+PMPI_Errhandler_get(
+    _In_ MPI_Comm comm,
+    _Out_ MPI_Errhandler* errhandler
+    );
+
+
+/*---------------------------------------------------------------------------*/
+/* Chapter 16: Language Bindings                                             */
+/*---------------------------------------------------------------------------*/
+
+/*---------------------------------------------*/
+/* Section 16.2: Fortran Support               */
+/*---------------------------------------------*/
+
+MPI_METHOD
+MPI_Type_create_f90_real(
+    _In_ int p,
+    _In_ int r,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_create_f90_real(
+    _In_ int p,
+    _In_ int r,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+MPI_Type_create_f90_complex(
+    _In_ int p,
+    _In_ int r,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_create_f90_complex(
+    _In_ int p,
+    _In_ int r,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+MPI_Type_create_f90_integer(
+    _In_ int r,
+    _Out_ MPI_Datatype* newtype
+    );
+
+MPI_METHOD
+PMPI_Type_create_f90_integer(
+    _In_ int r,
+    _Out_ MPI_Datatype* newtype
+    );
+
+/* typeclasses */
+#define MPI_TYPECLASS_REAL      1
+#define MPI_TYPECLASS_INTEGER   2
+#define MPI_TYPECLASS_COMPLEX   3
+
+MPI_METHOD
+MPI_Type_match_size(
+    _In_ int typeclass,
+    _In_ int size,
+    _Out_ MPI_Datatype* datatype
+    );
+
+MPI_METHOD
+PMPI_Type_match_size(
+    _In_ int typeclass,
+    _In_ int size,
+    _Out_ MPI_Datatype* datatype
+    );
+
+
+/*---------------------------------------------*/
+/* Section 16.3: Language Interoperability     */
+/*---------------------------------------------*/
+
+#define MPI_Comm_c2f(comm)  (MPI_Fint)(comm)
+#define PMPI_Comm_c2f(comm) (MPI_Fint)(comm)
+
+#define MPI_Comm_f2c(comm)  (MPI_Comm)(comm)
+#define PMPI_Comm_f2c(comm) (MPI_Comm)(comm)
+
+
+#define MPI_Type_f2c(datatype)  (MPI_Datatype)(datatype)
+#define PMPI_Type_f2c(datatype) (MPI_Datatype)(datatype)
+
+#define MPI_Type_c2f(datatype)  (MPI_Fint)(datatype)
+#define PMPI_Type_c2f(datatype) (MPI_Fint)(datatype)
+
+
+#define MPI_Group_f2c(group)  (MPI_Group)(group)
+#define PMPI_Group_f2c(group) (MPI_Group)(group)
+
+#define MPI_Group_c2f(group)  (MPI_Fint)(group)
+#define PMPI_Group_c2f(group) (MPI_Fint)(group)
+
+
+#define MPI_Request_f2c(request)  (MPI_Request)(request)
+#define PMPI_Request_f2c(request) (MPI_Request)(request)
+
+#define MPI_Request_c2f(request)  (MPI_Fint)(request)
+#define PMPI_Request_c2f(request) (MPI_Fint)(request)
+
+
+#define MPI_Win_f2c(win)  (MPI_Win)(win)
+#define PMPI_Win_f2c(win) (MPI_Win)(win)
+
+#define MPI_Win_c2f(win)  (MPI_Fint)(win)
+#define PMPI_Win_c2f(win) (MPI_Fint)(win)
+
+
+#define MPI_Op_c2f(op)  (MPI_Fint)(op)
+#define PMPI_Op_c2f(op) (MPI_Fint)(op)
+
+#define MPI_Op_f2c(op)  (MPI_Op)(op)
+#define PMPI_Op_f2c(op) (MPI_Op)(op)
+
+
+#define MPI_Info_c2f(info)  (MPI_Fint)(info)
+#define PMPI_Info_c2f(info) (MPI_Fint)(info)
+
+#define MPI_Info_f2c(info)  (MPI_Info)(info)
+#define PMPI_Info_f2c(info) (MPI_Info)(info)
+
+
+#define MPI_Message_c2f(msg)  (MPI_Fint)(msg)
+#define PMPI_Message_c2f(msg) (MPI_Fint)(msg)
+
+#define MPI_Message_f2c(msg)  (MPI_Message)(msg)
+#define PMPI_Message_f2c(msg) (MPI_Message)(msg)
+
+
+#define MPI_Errhandler_c2f(errhandler)  (MPI_Fint)(errhandler)
+#define PMPI_Errhandler_c2f(errhandler) (MPI_Fint)(errhandler)
+
+#define MPI_Errhandler_f2c(errhandler)  (MPI_Errhandler)(errhandler)
+#define PMPI_Errhandler_f2c(errhandler) (MPI_Errhandler)(errhandler)
+
+
+MPI_File
+MPIAPI
+MPI_File_f2c(
+    _In_ MPI_Fint file
+    );
+
+MPI_File
+MPIAPI
+PMPI_File_f2c(
+    _In_ MPI_Fint file
+    );
+
+MPI_Fint
+MPIAPI
+MPI_File_c2f(
+    _In_ MPI_File file
+    );
+
+MPI_Fint
+MPIAPI
+PMPI_File_c2f(
+    _In_ MPI_File file
+    );
+
+MPI_METHOD
+MPI_Status_f2c(
+    _In_ const MPI_Fint* f_status,
+    _Out_ MPI_Status* c_status
+    );
+
+MPI_METHOD
+PMPI_Status_f2c(
+    _In_ const MPI_Fint* f_status,
+    _Out_ MPI_Status* c_status
+    );
+
+MPI_METHOD
+MPI_Status_c2f(
+    _In_ const MPI_Status* c_status,
+    _Out_ MPI_Fint* f_status
+    );
+
+MPI_METHOD
+PMPI_Status_c2f(
+    _In_ const MPI_Status* c_status,
+    _Out_ MPI_Fint* f_status
+    );
+
+
+#if !defined(_MPICH_DLL_)
+#define MPIU_DLL_SPEC __declspec(dllimport)
+#else
+#define MPIU_DLL_SPEC
+#endif
+
+extern MPIU_DLL_SPEC MPI_Fint* MPI_F_STATUS_IGNORE;
+extern MPIU_DLL_SPEC MPI_Fint* MPI_F_STATUSES_IGNORE;
+
+
+/*---------------------------------------------------------------------------*/
+/* Implementation Specific                                                   */
+/*---------------------------------------------------------------------------*/
+
+MPI_METHOD
+MPIR_Dup_fn(
+    _In_ MPI_Comm oldcomm,
+    _In_ int keyval,
+    _In_opt_ void* extra_state,
+    _In_opt_ void* attribute_val_in,
+    _Out_ void* attribute_val_out,
+    _mpi_out_flag_ int* flag
+    );
+
+
+#if MSMPI_VER >= 0x300
+
+MPI_METHOD
+MSMPI_Get_bsend_overhead();
+
+#endif
+
+
+#if MSMPI_VER >= 0x300
+
+MPI_METHOD
+MSMPI_Get_version();
+
+#else
+#  define MSMPI_Get_version() (MSMPI_VER)
+#endif
+
+typedef void
+(MPIAPI MSMPI_Request_callback)(
+    _In_ MPI_Status* status
+    );
+
+MPI_METHOD
+MSMPI_Request_set_apc(
+    _In_ MPI_Request request,
+    _In_ MSMPI_Request_callback* callback_fn,
+    _In_ MPI_Status* callback_status
+    );
+
+typedef struct _MSMPI_LOCK_QUEUE
+{
+    struct _MSMPI_LOCK_QUEUE* volatile next;
+    volatile MPI_Aint flags;
+
+} MSMPI_Lock_queue;
+
+void
+MPIAPI
+MSMPI_Queuelock_acquire(
+    _Out_ MSMPI_Lock_queue* queue
+    );
+
+void
+MPIAPI
+MSMPI_Queuelock_release(
+    _In_ MSMPI_Lock_queue* queue
+    );
+
+MPI_METHOD
+MSMPI_Waitsome_interruptible(
+    _In_range_(>=, 0) int incount,
+    _Inout_updates_opt_(incount) MPI_Request array_of_requests[],
+    _Out_ _Deref_out_range_(MPI_UNDEFINED, incount) int* outcount,
+    _Out_writes_to_opt_(incount,*outcount) int array_of_indices[],
+    _Out_writes_to_opt_(incount,*outcount) MPI_Status array_of_statuses[]
+    );
+
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif /* MPI_INCLUDED */
diff --git a/deps/msmpi-10.1.2/sdk/mpif.h b/deps/msmpi-10.1.3/sdk/mpif.h
similarity index 97%
rename from deps/msmpi-10.1.2/sdk/mpif.h
rename to deps/msmpi-10.1.3/sdk/mpif.h
index f531a15707952f7b9802fc0c70083d207d058e49..5123741009bbc99ca9c72324711990b05c9ac723 100644
--- a/deps/msmpi-10.1.2/sdk/mpif.h
+++ b/deps/msmpi-10.1.3/sdk/mpif.h
@@ -1,536 +1,536 @@
-!      /* -*- Mode: Fortran; -*- */
-!
-! Copyright (c) Microsoft Corporation. All rights reserved.
-! Licensed under the MIT License.
-!
-!      (C) 2001 by Argonne National Laboratory.
-!      (C) 2015 by Microsoft Corporation
-!
-!                                  MPICH COPYRIGHT
-!
-!   The following is a notice of limited availability of the code, and disclaimer
-!   which must be included in the prologue of the code and in all source listings
-!   of the code.
-!
-!   Copyright Notice
-!    + 2002 University of Chicago
-!
-!   Permission is hereby granted to use, reproduce, prepare derivative works, and
-!   to redistribute to others.  This software was authored by:
-!
-!   Mathematics and Computer Science Division
-!   Argonne National Laboratory, Argonne IL 60439
-!
-!   (and)
-!
-!   Department of Computer Science
-!   University of Illinois at Urbana-Champaign
-!
-!
-!                                 GOVERNMENT LICENSE
-!
-!   Portions of this material resulted from work developed under a U.S.
-!   Government Contract and are subject to the following license: the Government
-!   is granted for itself and others acting on its behalf a paid-up, nonexclusive,
-!   irrevocable worldwide license in this computer software to reproduce, prepare
-!   derivative works, and perform publicly and display publicly.
-!
-!                                     DISCLAIMER
-!
-!   This computer code material was prepared, in part, as an account of work
-!   sponsored by an agency of the United States Government.  Neither the United
-!   States, nor the University of Chicago, nor any of their employees, makes any
-!   warranty express or implied, or assumes any legal liability or responsibility
-!   for the accuracy, completeness, or usefulness of any information, apparatus,
-!   product, or process disclosed, or represents that its use would not infringe
-!   privately owned rights.
-!
-!
-       INTEGER MPI_SOURCE, MPI_TAG, MPI_ERROR
-       PARAMETER (MPI_SOURCE=3,MPI_TAG=4,MPI_ERROR=5)
-       INTEGER MPI_STATUS_SIZE
-       PARAMETER (MPI_STATUS_SIZE=5)
-       INTEGER MPI_STATUS_IGNORE(MPI_STATUS_SIZE)
-       INTEGER MPI_STATUSES_IGNORE(MPI_STATUS_SIZE,1)
-       INTEGER MPI_ERRCODES_IGNORE(1)
-       CHARACTER*1 MPI_ARGVS_NULL(1,1)
-       CHARACTER*1 MPI_ARGV_NULL(1)
-       INTEGER MPI_SUCCESS
-       PARAMETER (MPI_SUCCESS=0)
-       INTEGER MPI_ERR_OTHER
-       PARAMETER (MPI_ERR_OTHER=15)
-       INTEGER MPI_ERR_WIN
-       PARAMETER (MPI_ERR_WIN=45)
-       INTEGER MPI_ERR_FILE
-       PARAMETER (MPI_ERR_FILE=27)
-       INTEGER MPI_ERR_COUNT
-       PARAMETER (MPI_ERR_COUNT=2)
-       INTEGER MPI_ERR_SPAWN
-       PARAMETER (MPI_ERR_SPAWN=42)
-       INTEGER MPI_ERR_BASE
-       PARAMETER (MPI_ERR_BASE=46)
-       INTEGER MPI_ERR_RMA_CONFLICT
-       PARAMETER (MPI_ERR_RMA_CONFLICT=49)
-       INTEGER MPI_ERR_IN_STATUS
-       PARAMETER (MPI_ERR_IN_STATUS=17)
-       INTEGER MPI_ERR_INFO_KEY
-       PARAMETER (MPI_ERR_INFO_KEY=29)
-       INTEGER MPI_ERR_LOCKTYPE
-       PARAMETER (MPI_ERR_LOCKTYPE=47)
-       INTEGER MPI_ERR_OP
-       PARAMETER (MPI_ERR_OP=9)
-       INTEGER MPI_ERR_ARG
-       PARAMETER (MPI_ERR_ARG=12)
-       INTEGER MPI_ERR_READ_ONLY
-       PARAMETER (MPI_ERR_READ_ONLY=40)
-       INTEGER MPI_ERR_SIZE
-       PARAMETER (MPI_ERR_SIZE=51)
-       INTEGER MPI_ERR_BUFFER
-       PARAMETER (MPI_ERR_BUFFER=1)
-       INTEGER MPI_ERR_DUP_DATAREP
-       PARAMETER (MPI_ERR_DUP_DATAREP=24)
-       INTEGER MPI_ERR_UNSUPPORTED_DATAREP
-       PARAMETER (MPI_ERR_UNSUPPORTED_DATAREP=43)
-       INTEGER MPI_ERR_LASTCODE
-       PARAMETER (MPI_ERR_LASTCODE=1073741823)
-       INTEGER MPI_ERR_TRUNCATE
-       PARAMETER (MPI_ERR_TRUNCATE=14)
-       INTEGER MPI_ERR_DISP
-       PARAMETER (MPI_ERR_DISP=52)
-       INTEGER MPI_ERR_PORT
-       PARAMETER (MPI_ERR_PORT=38)
-       INTEGER MPI_ERR_INFO_NOKEY
-       PARAMETER (MPI_ERR_INFO_NOKEY=31)
-       INTEGER MPI_ERR_ASSERT
-       PARAMETER (MPI_ERR_ASSERT=53)
-       INTEGER MPI_ERR_FILE_EXISTS
-       PARAMETER (MPI_ERR_FILE_EXISTS=25)
-       INTEGER MPI_ERR_PENDING
-       PARAMETER (MPI_ERR_PENDING=18)
-       INTEGER MPI_ERR_COMM
-       PARAMETER (MPI_ERR_COMM=5)
-       INTEGER MPI_ERR_KEYVAL
-       PARAMETER (MPI_ERR_KEYVAL=48)
-       INTEGER MPI_ERR_NAME
-       PARAMETER (MPI_ERR_NAME=33)
-       INTEGER MPI_ERR_REQUEST
-       PARAMETER (MPI_ERR_REQUEST=19)
-       INTEGER MPI_ERR_GROUP
-       PARAMETER (MPI_ERR_GROUP=8)
-       INTEGER MPI_ERR_TOPOLOGY
-       PARAMETER (MPI_ERR_TOPOLOGY=10)
-       INTEGER MPI_ERR_TYPE
-       PARAMETER (MPI_ERR_TYPE=3)
-       INTEGER MPI_ERR_TAG
-       PARAMETER (MPI_ERR_TAG=4)
-       INTEGER MPI_ERR_INFO_VALUE
-       PARAMETER (MPI_ERR_INFO_VALUE=30)
-       INTEGER MPI_ERR_NOT_SAME
-       PARAMETER (MPI_ERR_NOT_SAME=35)
-       INTEGER MPI_ERR_RMA_SYNC
-       PARAMETER (MPI_ERR_RMA_SYNC=50)
-       INTEGER MPI_ERR_INFO
-       PARAMETER (MPI_ERR_INFO=28)
-       INTEGER MPI_ERR_NO_MEM
-       PARAMETER (MPI_ERR_NO_MEM=34)
-       INTEGER MPI_ERR_BAD_FILE
-       PARAMETER (MPI_ERR_BAD_FILE=22)
-       INTEGER MPI_ERR_FILE_IN_USE
-       PARAMETER (MPI_ERR_FILE_IN_USE=26)
-       INTEGER MPI_ERR_UNKNOWN
-       PARAMETER (MPI_ERR_UNKNOWN=13)
-       INTEGER MPI_ERR_UNSUPPORTED_OPERATION
-       PARAMETER (MPI_ERR_UNSUPPORTED_OPERATION=44)
-       INTEGER MPI_ERR_QUOTA
-       PARAMETER (MPI_ERR_QUOTA=39)
-       INTEGER MPI_ERR_AMODE
-       PARAMETER (MPI_ERR_AMODE=21)
-       INTEGER MPI_ERR_ROOT
-       PARAMETER (MPI_ERR_ROOT=7)
-       INTEGER MPI_ERR_RANK
-       PARAMETER (MPI_ERR_RANK=6)
-       INTEGER MPI_ERR_DIMS
-       PARAMETER (MPI_ERR_DIMS=11)
-       INTEGER MPI_ERR_NO_SUCH_FILE
-       PARAMETER (MPI_ERR_NO_SUCH_FILE=37)
-       INTEGER MPI_ERR_SERVICE
-       PARAMETER (MPI_ERR_SERVICE=41)
-       INTEGER MPI_ERR_INTERN
-       PARAMETER (MPI_ERR_INTERN=16)
-       INTEGER MPI_ERR_IO
-       PARAMETER (MPI_ERR_IO=32)
-       INTEGER MPI_ERR_ACCESS
-       PARAMETER (MPI_ERR_ACCESS=20)
-       INTEGER MPI_ERR_NO_SPACE
-       PARAMETER (MPI_ERR_NO_SPACE=36)
-       INTEGER MPI_ERR_CONVERSION
-       PARAMETER (MPI_ERR_CONVERSION=23)
-       INTEGER MPI_ERRORS_ARE_FATAL
-       PARAMETER (MPI_ERRORS_ARE_FATAL=1409286144)
-       INTEGER MPI_ERRORS_RETURN
-       PARAMETER (MPI_ERRORS_RETURN=1409286145)
-       INTEGER MPI_IDENT
-       PARAMETER (MPI_IDENT=0)
-       INTEGER MPI_CONGRUENT
-       PARAMETER (MPI_CONGRUENT=1)
-       INTEGER MPI_SIMILAR
-       PARAMETER (MPI_SIMILAR=2)
-       INTEGER MPI_UNEQUAL
-       PARAMETER (MPI_UNEQUAL=3)
-       INTEGER MPI_MAX
-       PARAMETER (MPI_MAX=1476395009)
-       INTEGER MPI_MIN
-       PARAMETER (MPI_MIN=1476395010)
-       INTEGER MPI_SUM
-       PARAMETER (MPI_SUM=1476395011)
-       INTEGER MPI_PROD
-       PARAMETER (MPI_PROD=1476395012)
-       INTEGER MPI_LAND
-       PARAMETER (MPI_LAND=1476395013)
-       INTEGER MPI_BAND
-       PARAMETER (MPI_BAND=1476395014)
-       INTEGER MPI_LOR
-       PARAMETER (MPI_LOR=1476395015)
-       INTEGER MPI_BOR
-       PARAMETER (MPI_BOR=1476395016)
-       INTEGER MPI_LXOR
-       PARAMETER (MPI_LXOR=1476395017)
-       INTEGER MPI_BXOR
-       PARAMETER (MPI_BXOR=1476395018)
-       INTEGER MPI_MINLOC
-       PARAMETER (MPI_MINLOC=1476395019)
-       INTEGER MPI_MAXLOC
-       PARAMETER (MPI_MAXLOC=1476395020)
-       INTEGER MPI_REPLACE
-       PARAMETER (MPI_REPLACE=1476395021)
-       INTEGER MPI_NO_OP
-       PARAMETER (MPI_NO_OP=1476395022)
-       INTEGER MPI_COMM_WORLD
-       PARAMETER (MPI_COMM_WORLD=1140850688)
-       INTEGER MPI_COMM_SELF
-       PARAMETER (MPI_COMM_SELF=1140850689)
-       INTEGER MPI_COMM_TYPE_SHARED
-       PARAMETER (MPI_COMM_TYPE_SHARED=1)
-       INTEGER MPI_GROUP_EMPTY
-       PARAMETER (MPI_GROUP_EMPTY=1207959552)
-       INTEGER MPI_COMM_NULL
-       PARAMETER (MPI_COMM_NULL=67108864)
-       INTEGER MPI_WIN_NULL
-       PARAMETER (MPI_WIN_NULL=536870912)
-       INTEGER MPI_FILE_NULL
-       PARAMETER (MPI_FILE_NULL=0)
-       INTEGER MPI_GROUP_NULL
-       PARAMETER (MPI_GROUP_NULL=134217728)
-       INTEGER MPI_OP_NULL
-       PARAMETER (MPI_OP_NULL=402653184)
-       INTEGER MPI_DATATYPE_NULL
-       PARAMETER (MPI_DATATYPE_NULL=z'0c000000')
-       INTEGER MPI_REQUEST_NULL
-       PARAMETER (MPI_REQUEST_NULL=738197504)
-       INTEGER MPI_ERRHANDLER_NULL
-       PARAMETER (MPI_ERRHANDLER_NULL=335544320)
-       INTEGER MPI_INFO_NULL
-       PARAMETER (MPI_INFO_NULL=469762048)
-       INTEGER MPI_MESSAGE_NULL
-       PARAMETER (MPI_MESSAGE_NULL=805306368)
-       INTEGER MPI_MESSAGE_NO_PROC
-       PARAMETER (MPI_MESSAGE_NO_PROC=1879048192)
-       INTEGER MPI_TAG_UB
-       PARAMETER (MPI_TAG_UB=1681915906)
-       INTEGER MPI_HOST
-       PARAMETER (MPI_HOST=1681915908)
-       INTEGER MPI_IO
-       PARAMETER (MPI_IO=1681915910)
-       INTEGER MPI_WTIME_IS_GLOBAL
-       PARAMETER (MPI_WTIME_IS_GLOBAL=1681915912)
-       INTEGER MPI_UNIVERSE_SIZE
-       PARAMETER (MPI_UNIVERSE_SIZE=1681915914)
-       INTEGER MPI_LASTUSEDCODE
-       PARAMETER (MPI_LASTUSEDCODE=1681915916)
-       INTEGER MPI_APPNUM
-       PARAMETER (MPI_APPNUM=1681915918)
-       INTEGER MPI_WIN_BASE
-       PARAMETER (MPI_WIN_BASE=1711276034)
-       INTEGER MPI_WIN_SIZE
-       PARAMETER (MPI_WIN_SIZE=1711276036)
-       INTEGER MPI_WIN_DISP_UNIT
-       PARAMETER (MPI_WIN_DISP_UNIT=1711276038)
-       INTEGER MPI_MAX_ERROR_STRING
-       PARAMETER (MPI_MAX_ERROR_STRING=511)
-       INTEGER MPI_MAX_PORT_NAME
-       PARAMETER (MPI_MAX_PORT_NAME=255)
-       INTEGER MPI_MAX_OBJECT_NAME
-       PARAMETER (MPI_MAX_OBJECT_NAME=127)
-       INTEGER MPI_MAX_INFO_KEY
-       PARAMETER (MPI_MAX_INFO_KEY=254)
-       INTEGER MPI_MAX_INFO_VAL
-       PARAMETER (MPI_MAX_INFO_VAL=1023)
-       INTEGER MPI_MAX_PROCESSOR_NAME
-       PARAMETER (MPI_MAX_PROCESSOR_NAME=128-1)
-       INTEGER MPI_MAX_DATAREP_STRING
-       PARAMETER (MPI_MAX_DATAREP_STRING=127)
-       INTEGER MPI_MAX_LIBRARY_VERSION_STRING
-       PARAMETER (MPI_MAX_LIBRARY_VERSION_STRING=64-1)
-       INTEGER MPI_UNDEFINED
-       PARAMETER (MPI_UNDEFINED=(-32766))
-       INTEGER MPI_KEYVAL_INVALID
-       PARAMETER (MPI_KEYVAL_INVALID=603979776)
-       INTEGER MPI_BSEND_OVERHEAD
-       PARAMETER (MPI_BSEND_OVERHEAD=(95))
-       INTEGER MPI_PROC_NULL
-       PARAMETER (MPI_PROC_NULL=-1)
-       INTEGER MPI_ANY_SOURCE
-       PARAMETER (MPI_ANY_SOURCE=-2)
-       INTEGER MPI_ANY_TAG
-       PARAMETER (MPI_ANY_TAG=-1)
-       INTEGER MPI_ROOT
-       PARAMETER (MPI_ROOT=-3)
-       INTEGER MPI_GRAPH
-       PARAMETER (MPI_GRAPH=1)
-       INTEGER MPI_CART
-       PARAMETER (MPI_CART=2)
-       INTEGER MPI_DIST_GRAPH
-       PARAMETER (MPI_DIST_GRAPH=3)
-       INTEGER MPI_VERSION
-       PARAMETER (MPI_VERSION=2)
-       INTEGER MPI_SUBVERSION
-       PARAMETER (MPI_SUBVERSION=0)
-       INTEGER MPI_LOCK_EXCLUSIVE
-       PARAMETER (MPI_LOCK_EXCLUSIVE=234)
-       INTEGER MPI_LOCK_SHARED
-       PARAMETER (MPI_LOCK_SHARED=235)
-       INTEGER MPI_CHAR
-       PARAMETER (MPI_CHAR=z'4c000101')
-       INTEGER MPI_UNSIGNED_CHAR
-       PARAMETER (MPI_UNSIGNED_CHAR=z'4c000102')
-       INTEGER MPI_SHORT
-       PARAMETER (MPI_SHORT=z'4c000203')
-       INTEGER MPI_UNSIGNED_SHORT
-       PARAMETER (MPI_UNSIGNED_SHORT=z'4c000204')
-       INTEGER MPI_INT
-       PARAMETER (MPI_INT=z'4c000405')
-       INTEGER MPI_UNSIGNED
-       PARAMETER (MPI_UNSIGNED=z'4c000406')
-       INTEGER MPI_LONG
-       PARAMETER (MPI_LONG=z'4c000407')
-       INTEGER MPI_UNSIGNED_LONG
-       PARAMETER (MPI_UNSIGNED_LONG=z'4c000408')
-       INTEGER MPI_LONG_LONG
-       PARAMETER (MPI_LONG_LONG=z'4c000809')
-       INTEGER MPI_LONG_LONG_INT
-       PARAMETER (MPI_LONG_LONG_INT=z'4c000809')
-       INTEGER MPI_FLOAT
-       PARAMETER (MPI_FLOAT=z'4c00040a')
-       INTEGER MPI_DOUBLE
-       PARAMETER (MPI_DOUBLE=z'4c00080b')
-       INTEGER MPI_LONG_DOUBLE
-       PARAMETER (MPI_LONG_DOUBLE=z'4c00080c')
-       INTEGER MPI_BYTE
-       PARAMETER (MPI_BYTE=z'4c00010d')
-       INTEGER MPI_WCHAR
-       PARAMETER (MPI_WCHAR=z'4c00020e')
-       INTEGER MPI_PACKED
-       PARAMETER (MPI_PACKED=z'4c00010f')
-       INTEGER MPI_LB
-       PARAMETER (MPI_LB=z'4c000010')
-       INTEGER MPI_UB
-       PARAMETER (MPI_UB=z'4c000011')
-       INTEGER MPI_2INT
-       PARAMETER (MPI_2INT=z'4c000816')
-       INTEGER MPI_SIGNED_CHAR
-       PARAMETER (MPI_SIGNED_CHAR=z'4c000118')
-       INTEGER MPI_UNSIGNED_LONG_LONG
-       PARAMETER (MPI_UNSIGNED_LONG_LONG=z'4c000819')
-       INTEGER MPI_CHARACTER
-       PARAMETER (MPI_CHARACTER=z'4c00011a')
-       INTEGER MPI_INTEGER
-       PARAMETER (MPI_INTEGER=z'4c00041b')
-       INTEGER MPI_REAL
-       PARAMETER (MPI_REAL=z'4c00041c')
-       INTEGER MPI_LOGICAL
-       PARAMETER (MPI_LOGICAL=z'4c00041d')
-       INTEGER MPI_COMPLEX
-       PARAMETER (MPI_COMPLEX=z'4c00081e')
-       INTEGER MPI_DOUBLE_PRECISION
-       PARAMETER (MPI_DOUBLE_PRECISION=z'4c00081f')
-       INTEGER MPI_2INTEGER
-       PARAMETER (MPI_2INTEGER=z'4c000820')
-       INTEGER MPI_2REAL
-       PARAMETER (MPI_2REAL=z'4c000821')
-       INTEGER MPI_DOUBLE_COMPLEX
-       PARAMETER (MPI_DOUBLE_COMPLEX=z'4c001022')
-       INTEGER MPI_2DOUBLE_PRECISION
-       PARAMETER (MPI_2DOUBLE_PRECISION=z'4c001023')
-       INTEGER MPI_2COMPLEX
-       PARAMETER (MPI_2COMPLEX=z'4c001024')
-       INTEGER MPI_2DOUBLE_COMPLEX
-       PARAMETER (MPI_2DOUBLE_COMPLEX=z'4c002025')
-       INTEGER MPI_REAL2
-       PARAMETER (MPI_REAL2=z'0c000000')
-       INTEGER MPI_REAL4
-       PARAMETER (MPI_REAL4=z'4c000427')
-       INTEGER MPI_COMPLEX8
-       PARAMETER (MPI_COMPLEX8=z'4c000828')
-       INTEGER MPI_REAL8
-       PARAMETER (MPI_REAL8=z'4c000829')
-       INTEGER MPI_COMPLEX16
-       PARAMETER (MPI_COMPLEX16=z'4c00102a')
-       INTEGER MPI_REAL16
-       PARAMETER (MPI_REAL16=z'0c000000')
-       INTEGER MPI_COMPLEX32
-       PARAMETER (MPI_COMPLEX32=z'0c000000')
-       INTEGER MPI_INTEGER1
-       PARAMETER (MPI_INTEGER1=z'4c00012d')
-       INTEGER MPI_COMPLEX4
-       PARAMETER (MPI_COMPLEX4=z'0c000000')
-       INTEGER MPI_INTEGER2
-       PARAMETER (MPI_INTEGER2=z'4c00022f')
-       INTEGER MPI_INTEGER4
-       PARAMETER (MPI_INTEGER4=z'4c000430')
-       INTEGER MPI_INTEGER8
-       PARAMETER (MPI_INTEGER8=z'4c000831')
-       INTEGER MPI_INTEGER16
-       PARAMETER (MPI_INTEGER16=z'0c000000')
-
-       INCLUDE 'mpifptr.h'
-
-       INTEGER MPI_OFFSET
-       PARAMETER (MPI_OFFSET=z'4c00083c')
-       INTEGER MPI_COUNT
-       PARAMETER (MPI_COUNT=z'4c00083d')
-       INTEGER MPI_FLOAT_INT
-       PARAMETER (MPI_FLOAT_INT=-1946157056)
-       INTEGER MPI_DOUBLE_INT
-       PARAMETER (MPI_DOUBLE_INT=-1946157055)
-       INTEGER MPI_LONG_INT
-       PARAMETER (MPI_LONG_INT=-1946157054)
-       INTEGER MPI_SHORT_INT
-       PARAMETER (MPI_SHORT_INT=-1946157053)
-       INTEGER MPI_LONG_DOUBLE_INT
-       PARAMETER (MPI_LONG_DOUBLE_INT=-1946157052)
-       INTEGER MPI_INTEGER_KIND
-       PARAMETER (MPI_INTEGER_KIND=4)
-       INTEGER MPI_OFFSET_KIND
-       PARAMETER (MPI_OFFSET_KIND=8)
-       INTEGER MPI_COUNT_KIND
-       PARAMETER (MPI_COUNT_KIND=8)
-       INTEGER MPI_COMBINER_NAMED
-       PARAMETER (MPI_COMBINER_NAMED=1)
-       INTEGER MPI_COMBINER_DUP
-       PARAMETER (MPI_COMBINER_DUP=2)
-       INTEGER MPI_COMBINER_CONTIGUOUS
-       PARAMETER (MPI_COMBINER_CONTIGUOUS=3)
-       INTEGER MPI_COMBINER_VECTOR
-       PARAMETER (MPI_COMBINER_VECTOR=4)
-       INTEGER MPI_COMBINER_HVECTOR_INTEGER
-       PARAMETER (MPI_COMBINER_HVECTOR_INTEGER=5)
-       INTEGER MPI_COMBINER_HVECTOR
-       PARAMETER (MPI_COMBINER_HVECTOR=6)
-       INTEGER MPI_COMBINER_INDEXED
-       PARAMETER (MPI_COMBINER_INDEXED=7)
-       INTEGER MPI_COMBINER_HINDEXED_INTEGER
-       PARAMETER (MPI_COMBINER_HINDEXED_INTEGER=8)
-       INTEGER MPI_COMBINER_HINDEXED
-       PARAMETER (MPI_COMBINER_HINDEXED=9)
-       INTEGER MPI_COMBINER_INDEXED_BLOCK
-       PARAMETER (MPI_COMBINER_INDEXED_BLOCK=10)
-       INTEGER MPI_COMBINER_STRUCT_INTEGER
-       PARAMETER (MPI_COMBINER_STRUCT_INTEGER=11)
-       INTEGER MPI_COMBINER_STRUCT
-       PARAMETER (MPI_COMBINER_STRUCT=12)
-       INTEGER MPI_COMBINER_SUBARRAY
-       PARAMETER (MPI_COMBINER_SUBARRAY=13)
-       INTEGER MPI_COMBINER_DARRAY
-       PARAMETER (MPI_COMBINER_DARRAY=14)
-       INTEGER MPI_COMBINER_F90_REAL
-       PARAMETER (MPI_COMBINER_F90_REAL=15)
-       INTEGER MPI_COMBINER_F90_COMPLEX
-       PARAMETER (MPI_COMBINER_F90_COMPLEX=16)
-       INTEGER MPI_COMBINER_F90_INTEGER
-       PARAMETER (MPI_COMBINER_F90_INTEGER=17)
-       INTEGER MPI_COMBINER_RESIZED
-       PARAMETER (MPI_COMBINER_RESIZED=18)
-       INTEGER MPI_COMBINER_HINDEXED_BLOCK
-       PARAMETER (MPI_COMBINER_HINDEXED_BLOCK=19)
-       INTEGER MPI_MODE_NOCHECK
-       PARAMETER (MPI_MODE_NOCHECK=1024)
-       INTEGER MPI_MODE_NOSTORE
-       PARAMETER (MPI_MODE_NOSTORE=2048)
-       INTEGER MPI_MODE_NOPUT
-       PARAMETER (MPI_MODE_NOPUT=4096)
-       INTEGER MPI_MODE_NOPRECEDE
-       PARAMETER (MPI_MODE_NOPRECEDE=8192)
-       INTEGER MPI_MODE_NOSUCCEED
-       PARAMETER (MPI_MODE_NOSUCCEED=16384)
-       INTEGER MPI_THREAD_SINGLE
-       PARAMETER (MPI_THREAD_SINGLE=0)
-       INTEGER MPI_THREAD_FUNNELED
-       PARAMETER (MPI_THREAD_FUNNELED=1)
-       INTEGER MPI_THREAD_SERIALIZED
-       PARAMETER (MPI_THREAD_SERIALIZED=2)
-       INTEGER MPI_THREAD_MULTIPLE
-       PARAMETER (MPI_THREAD_MULTIPLE=3)
-       INTEGER MPI_MODE_RDONLY
-       PARAMETER (MPI_MODE_RDONLY=2)
-       INTEGER MPI_MODE_RDWR
-       PARAMETER (MPI_MODE_RDWR=8)
-       INTEGER MPI_MODE_WRONLY
-       PARAMETER (MPI_MODE_WRONLY=4)
-       INTEGER MPI_MODE_DELETE_ON_CLOSE
-       PARAMETER (MPI_MODE_DELETE_ON_CLOSE=16)
-       INTEGER MPI_MODE_UNIQUE_OPEN
-       PARAMETER (MPI_MODE_UNIQUE_OPEN=32)
-       INTEGER MPI_MODE_CREATE
-       PARAMETER (MPI_MODE_CREATE=1)
-       INTEGER MPI_MODE_EXCL
-       PARAMETER (MPI_MODE_EXCL=64)
-       INTEGER MPI_MODE_APPEND
-       PARAMETER (MPI_MODE_APPEND=128)
-       INTEGER MPI_MODE_SEQUENTIAL
-       PARAMETER (MPI_MODE_SEQUENTIAL=256)
-       INTEGER MPI_SEEK_SET
-       PARAMETER (MPI_SEEK_SET=600)
-       INTEGER MPI_SEEK_CUR
-       PARAMETER (MPI_SEEK_CUR=602)
-       INTEGER MPI_SEEK_END
-       PARAMETER (MPI_SEEK_END=604)
-       INTEGER MPI_ORDER_C
-       PARAMETER (MPI_ORDER_C=56)
-       INTEGER MPI_ORDER_FORTRAN
-       PARAMETER (MPI_ORDER_FORTRAN=57)
-       INTEGER MPI_DISTRIBUTE_BLOCK
-       PARAMETER (MPI_DISTRIBUTE_BLOCK=121)
-       INTEGER MPI_DISTRIBUTE_CYCLIC
-       PARAMETER (MPI_DISTRIBUTE_CYCLIC=122)
-       INTEGER MPI_DISTRIBUTE_NONE
-       PARAMETER (MPI_DISTRIBUTE_NONE=123)
-       INTEGER MPI_DISTRIBUTE_DFLT_DARG
-       PARAMETER (MPI_DISTRIBUTE_DFLT_DARG=-49767)
-       INTEGER (KIND=8) MPI_DISPLACEMENT_CURRENT
-       PARAMETER (MPI_DISPLACEMENT_CURRENT=-54278278)
-       INTEGER MPI_BOTTOM, MPI_IN_PLACE
-       INTEGER MPI_UNWEIGHTED, MPI_WEIGHTS_EMPTY
-       EXTERNAL MPI_DUP_FN, MPI_NULL_DELETE_FN, MPI_NULL_COPY_FN
-       EXTERNAL MPI_WTIME, MPI_WTICK
-       EXTERNAL PMPI_WTIME, PMPI_WTICK
-       EXTERNAL MPI_COMM_DUP_FN, MPI_COMM_NULL_DELETE_FN
-       EXTERNAL MPI_COMM_NULL_COPY_FN
-       EXTERNAL MPI_WIN_DUP_FN, MPI_WIN_NULL_DELETE_FN
-       EXTERNAL MPI_WIN_NULL_COPY_FN
-       EXTERNAL MPI_TYPE_DUP_FN, MPI_TYPE_NULL_DELETE_FN
-       EXTERNAL MPI_TYPE_NULL_COPY_FN
-       EXTERNAL MPI_CONVERSION_FN_NULL
-       DOUBLE PRECISION MPI_WTIME, MPI_WTICK
-       DOUBLE PRECISION PMPI_WTIME, PMPI_WTICK
-
-       COMMON /MPIPRIV1/ MPI_BOTTOM, MPI_IN_PLACE, MPI_STATUS_IGNORE
-
-       COMMON /MPIPRIV2/ MPI_STATUSES_IGNORE, MPI_ERRCODES_IGNORE
-!DEC$ ATTRIBUTES DLLIMPORT :: /MPIPRIV1/, /MPIPRIV2/
-
-       COMMON /MPIFCMB5/ MPI_UNWEIGHTED
-       COMMON /MPIFCMB9/ MPI_WEIGHTS_EMPTY
-!DEC$ ATTRIBUTES DLLIMPORT :: /MPIFCMB5/, /MPIFCMB9/
-
-       COMMON /MPIPRIVC/ MPI_ARGVS_NULL, MPI_ARGV_NULL
-!DEC$ ATTRIBUTES DLLIMPORT :: /MPIPRIVC/
+!      /* -*- Mode: Fortran; -*- */
+!
+! Copyright (c) Microsoft Corporation. All rights reserved.
+! Licensed under the MIT License.
+!
+!      (C) 2001 by Argonne National Laboratory.
+!      (C) 2015 by Microsoft Corporation
+!
+!                                  MPICH COPYRIGHT
+!
+!   The following is a notice of limited availability of the code, and disclaimer
+!   which must be included in the prologue of the code and in all source listings
+!   of the code.
+!
+!   Copyright Notice
+!    + 2002 University of Chicago
+!
+!   Permission is hereby granted to use, reproduce, prepare derivative works, and
+!   to redistribute to others.  This software was authored by:
+!
+!   Mathematics and Computer Science Division
+!   Argonne National Laboratory, Argonne IL 60439
+!
+!   (and)
+!
+!   Department of Computer Science
+!   University of Illinois at Urbana-Champaign
+!
+!
+!                                 GOVERNMENT LICENSE
+!
+!   Portions of this material resulted from work developed under a U.S.
+!   Government Contract and are subject to the following license: the Government
+!   is granted for itself and others acting on its behalf a paid-up, nonexclusive,
+!   irrevocable worldwide license in this computer software to reproduce, prepare
+!   derivative works, and perform publicly and display publicly.
+!
+!                                     DISCLAIMER
+!
+!   This computer code material was prepared, in part, as an account of work
+!   sponsored by an agency of the United States Government.  Neither the United
+!   States, nor the University of Chicago, nor any of their employees, makes any
+!   warranty express or implied, or assumes any legal liability or responsibility
+!   for the accuracy, completeness, or usefulness of any information, apparatus,
+!   product, or process disclosed, or represents that its use would not infringe
+!   privately owned rights.
+!
+!
+       INTEGER MPI_SOURCE, MPI_TAG, MPI_ERROR
+       PARAMETER (MPI_SOURCE=3,MPI_TAG=4,MPI_ERROR=5)
+       INTEGER MPI_STATUS_SIZE
+       PARAMETER (MPI_STATUS_SIZE=5)
+       INTEGER MPI_STATUS_IGNORE(MPI_STATUS_SIZE)
+       INTEGER MPI_STATUSES_IGNORE(MPI_STATUS_SIZE,1)
+       INTEGER MPI_ERRCODES_IGNORE(1)
+       CHARACTER*1 MPI_ARGVS_NULL(1,1)
+       CHARACTER*1 MPI_ARGV_NULL(1)
+       INTEGER MPI_SUCCESS
+       PARAMETER (MPI_SUCCESS=0)
+       INTEGER MPI_ERR_OTHER
+       PARAMETER (MPI_ERR_OTHER=15)
+       INTEGER MPI_ERR_WIN
+       PARAMETER (MPI_ERR_WIN=45)
+       INTEGER MPI_ERR_FILE
+       PARAMETER (MPI_ERR_FILE=27)
+       INTEGER MPI_ERR_COUNT
+       PARAMETER (MPI_ERR_COUNT=2)
+       INTEGER MPI_ERR_SPAWN
+       PARAMETER (MPI_ERR_SPAWN=42)
+       INTEGER MPI_ERR_BASE
+       PARAMETER (MPI_ERR_BASE=46)
+       INTEGER MPI_ERR_RMA_CONFLICT
+       PARAMETER (MPI_ERR_RMA_CONFLICT=49)
+       INTEGER MPI_ERR_IN_STATUS
+       PARAMETER (MPI_ERR_IN_STATUS=17)
+       INTEGER MPI_ERR_INFO_KEY
+       PARAMETER (MPI_ERR_INFO_KEY=29)
+       INTEGER MPI_ERR_LOCKTYPE
+       PARAMETER (MPI_ERR_LOCKTYPE=47)
+       INTEGER MPI_ERR_OP
+       PARAMETER (MPI_ERR_OP=9)
+       INTEGER MPI_ERR_ARG
+       PARAMETER (MPI_ERR_ARG=12)
+       INTEGER MPI_ERR_READ_ONLY
+       PARAMETER (MPI_ERR_READ_ONLY=40)
+       INTEGER MPI_ERR_SIZE
+       PARAMETER (MPI_ERR_SIZE=51)
+       INTEGER MPI_ERR_BUFFER
+       PARAMETER (MPI_ERR_BUFFER=1)
+       INTEGER MPI_ERR_DUP_DATAREP
+       PARAMETER (MPI_ERR_DUP_DATAREP=24)
+       INTEGER MPI_ERR_UNSUPPORTED_DATAREP
+       PARAMETER (MPI_ERR_UNSUPPORTED_DATAREP=43)
+       INTEGER MPI_ERR_LASTCODE
+       PARAMETER (MPI_ERR_LASTCODE=1073741823)
+       INTEGER MPI_ERR_TRUNCATE
+       PARAMETER (MPI_ERR_TRUNCATE=14)
+       INTEGER MPI_ERR_DISP
+       PARAMETER (MPI_ERR_DISP=52)
+       INTEGER MPI_ERR_PORT
+       PARAMETER (MPI_ERR_PORT=38)
+       INTEGER MPI_ERR_INFO_NOKEY
+       PARAMETER (MPI_ERR_INFO_NOKEY=31)
+       INTEGER MPI_ERR_ASSERT
+       PARAMETER (MPI_ERR_ASSERT=53)
+       INTEGER MPI_ERR_FILE_EXISTS
+       PARAMETER (MPI_ERR_FILE_EXISTS=25)
+       INTEGER MPI_ERR_PENDING
+       PARAMETER (MPI_ERR_PENDING=18)
+       INTEGER MPI_ERR_COMM
+       PARAMETER (MPI_ERR_COMM=5)
+       INTEGER MPI_ERR_KEYVAL
+       PARAMETER (MPI_ERR_KEYVAL=48)
+       INTEGER MPI_ERR_NAME
+       PARAMETER (MPI_ERR_NAME=33)
+       INTEGER MPI_ERR_REQUEST
+       PARAMETER (MPI_ERR_REQUEST=19)
+       INTEGER MPI_ERR_GROUP
+       PARAMETER (MPI_ERR_GROUP=8)
+       INTEGER MPI_ERR_TOPOLOGY
+       PARAMETER (MPI_ERR_TOPOLOGY=10)
+       INTEGER MPI_ERR_TYPE
+       PARAMETER (MPI_ERR_TYPE=3)
+       INTEGER MPI_ERR_TAG
+       PARAMETER (MPI_ERR_TAG=4)
+       INTEGER MPI_ERR_INFO_VALUE
+       PARAMETER (MPI_ERR_INFO_VALUE=30)
+       INTEGER MPI_ERR_NOT_SAME
+       PARAMETER (MPI_ERR_NOT_SAME=35)
+       INTEGER MPI_ERR_RMA_SYNC
+       PARAMETER (MPI_ERR_RMA_SYNC=50)
+       INTEGER MPI_ERR_INFO
+       PARAMETER (MPI_ERR_INFO=28)
+       INTEGER MPI_ERR_NO_MEM
+       PARAMETER (MPI_ERR_NO_MEM=34)
+       INTEGER MPI_ERR_BAD_FILE
+       PARAMETER (MPI_ERR_BAD_FILE=22)
+       INTEGER MPI_ERR_FILE_IN_USE
+       PARAMETER (MPI_ERR_FILE_IN_USE=26)
+       INTEGER MPI_ERR_UNKNOWN
+       PARAMETER (MPI_ERR_UNKNOWN=13)
+       INTEGER MPI_ERR_UNSUPPORTED_OPERATION
+       PARAMETER (MPI_ERR_UNSUPPORTED_OPERATION=44)
+       INTEGER MPI_ERR_QUOTA
+       PARAMETER (MPI_ERR_QUOTA=39)
+       INTEGER MPI_ERR_AMODE
+       PARAMETER (MPI_ERR_AMODE=21)
+       INTEGER MPI_ERR_ROOT
+       PARAMETER (MPI_ERR_ROOT=7)
+       INTEGER MPI_ERR_RANK
+       PARAMETER (MPI_ERR_RANK=6)
+       INTEGER MPI_ERR_DIMS
+       PARAMETER (MPI_ERR_DIMS=11)
+       INTEGER MPI_ERR_NO_SUCH_FILE
+       PARAMETER (MPI_ERR_NO_SUCH_FILE=37)
+       INTEGER MPI_ERR_SERVICE
+       PARAMETER (MPI_ERR_SERVICE=41)
+       INTEGER MPI_ERR_INTERN
+       PARAMETER (MPI_ERR_INTERN=16)
+       INTEGER MPI_ERR_IO
+       PARAMETER (MPI_ERR_IO=32)
+       INTEGER MPI_ERR_ACCESS
+       PARAMETER (MPI_ERR_ACCESS=20)
+       INTEGER MPI_ERR_NO_SPACE
+       PARAMETER (MPI_ERR_NO_SPACE=36)
+       INTEGER MPI_ERR_CONVERSION
+       PARAMETER (MPI_ERR_CONVERSION=23)
+       INTEGER MPI_ERRORS_ARE_FATAL
+       PARAMETER (MPI_ERRORS_ARE_FATAL=1409286144)
+       INTEGER MPI_ERRORS_RETURN
+       PARAMETER (MPI_ERRORS_RETURN=1409286145)
+       INTEGER MPI_IDENT
+       PARAMETER (MPI_IDENT=0)
+       INTEGER MPI_CONGRUENT
+       PARAMETER (MPI_CONGRUENT=1)
+       INTEGER MPI_SIMILAR
+       PARAMETER (MPI_SIMILAR=2)
+       INTEGER MPI_UNEQUAL
+       PARAMETER (MPI_UNEQUAL=3)
+       INTEGER MPI_MAX
+       PARAMETER (MPI_MAX=1476395009)
+       INTEGER MPI_MIN
+       PARAMETER (MPI_MIN=1476395010)
+       INTEGER MPI_SUM
+       PARAMETER (MPI_SUM=1476395011)
+       INTEGER MPI_PROD
+       PARAMETER (MPI_PROD=1476395012)
+       INTEGER MPI_LAND
+       PARAMETER (MPI_LAND=1476395013)
+       INTEGER MPI_BAND
+       PARAMETER (MPI_BAND=1476395014)
+       INTEGER MPI_LOR
+       PARAMETER (MPI_LOR=1476395015)
+       INTEGER MPI_BOR
+       PARAMETER (MPI_BOR=1476395016)
+       INTEGER MPI_LXOR
+       PARAMETER (MPI_LXOR=1476395017)
+       INTEGER MPI_BXOR
+       PARAMETER (MPI_BXOR=1476395018)
+       INTEGER MPI_MINLOC
+       PARAMETER (MPI_MINLOC=1476395019)
+       INTEGER MPI_MAXLOC
+       PARAMETER (MPI_MAXLOC=1476395020)
+       INTEGER MPI_REPLACE
+       PARAMETER (MPI_REPLACE=1476395021)
+       INTEGER MPI_NO_OP
+       PARAMETER (MPI_NO_OP=1476395022)
+       INTEGER MPI_COMM_WORLD
+       PARAMETER (MPI_COMM_WORLD=1140850688)
+       INTEGER MPI_COMM_SELF
+       PARAMETER (MPI_COMM_SELF=1140850689)
+       INTEGER MPI_COMM_TYPE_SHARED
+       PARAMETER (MPI_COMM_TYPE_SHARED=1)
+       INTEGER MPI_GROUP_EMPTY
+       PARAMETER (MPI_GROUP_EMPTY=1207959552)
+       INTEGER MPI_COMM_NULL
+       PARAMETER (MPI_COMM_NULL=67108864)
+       INTEGER MPI_WIN_NULL
+       PARAMETER (MPI_WIN_NULL=536870912)
+       INTEGER MPI_FILE_NULL
+       PARAMETER (MPI_FILE_NULL=0)
+       INTEGER MPI_GROUP_NULL
+       PARAMETER (MPI_GROUP_NULL=134217728)
+       INTEGER MPI_OP_NULL
+       PARAMETER (MPI_OP_NULL=402653184)
+       INTEGER MPI_DATATYPE_NULL
+       PARAMETER (MPI_DATATYPE_NULL=z'0c000000')
+       INTEGER MPI_REQUEST_NULL
+       PARAMETER (MPI_REQUEST_NULL=738197504)
+       INTEGER MPI_ERRHANDLER_NULL
+       PARAMETER (MPI_ERRHANDLER_NULL=335544320)
+       INTEGER MPI_INFO_NULL
+       PARAMETER (MPI_INFO_NULL=469762048)
+       INTEGER MPI_MESSAGE_NULL
+       PARAMETER (MPI_MESSAGE_NULL=805306368)
+       INTEGER MPI_MESSAGE_NO_PROC
+       PARAMETER (MPI_MESSAGE_NO_PROC=1879048192)
+       INTEGER MPI_TAG_UB
+       PARAMETER (MPI_TAG_UB=1681915906)
+       INTEGER MPI_HOST
+       PARAMETER (MPI_HOST=1681915908)
+       INTEGER MPI_IO
+       PARAMETER (MPI_IO=1681915910)
+       INTEGER MPI_WTIME_IS_GLOBAL
+       PARAMETER (MPI_WTIME_IS_GLOBAL=1681915912)
+       INTEGER MPI_UNIVERSE_SIZE
+       PARAMETER (MPI_UNIVERSE_SIZE=1681915914)
+       INTEGER MPI_LASTUSEDCODE
+       PARAMETER (MPI_LASTUSEDCODE=1681915916)
+       INTEGER MPI_APPNUM
+       PARAMETER (MPI_APPNUM=1681915918)
+       INTEGER MPI_WIN_BASE
+       PARAMETER (MPI_WIN_BASE=1711276034)
+       INTEGER MPI_WIN_SIZE
+       PARAMETER (MPI_WIN_SIZE=1711276036)
+       INTEGER MPI_WIN_DISP_UNIT
+       PARAMETER (MPI_WIN_DISP_UNIT=1711276038)
+       INTEGER MPI_MAX_ERROR_STRING
+       PARAMETER (MPI_MAX_ERROR_STRING=511)
+       INTEGER MPI_MAX_PORT_NAME
+       PARAMETER (MPI_MAX_PORT_NAME=255)
+       INTEGER MPI_MAX_OBJECT_NAME
+       PARAMETER (MPI_MAX_OBJECT_NAME=127)
+       INTEGER MPI_MAX_INFO_KEY
+       PARAMETER (MPI_MAX_INFO_KEY=254)
+       INTEGER MPI_MAX_INFO_VAL
+       PARAMETER (MPI_MAX_INFO_VAL=1023)
+       INTEGER MPI_MAX_PROCESSOR_NAME
+       PARAMETER (MPI_MAX_PROCESSOR_NAME=128-1)
+       INTEGER MPI_MAX_DATAREP_STRING
+       PARAMETER (MPI_MAX_DATAREP_STRING=127)
+       INTEGER MPI_MAX_LIBRARY_VERSION_STRING
+       PARAMETER (MPI_MAX_LIBRARY_VERSION_STRING=64-1)
+       INTEGER MPI_UNDEFINED
+       PARAMETER (MPI_UNDEFINED=(-32766))
+       INTEGER MPI_KEYVAL_INVALID
+       PARAMETER (MPI_KEYVAL_INVALID=603979776)
+       INTEGER MPI_BSEND_OVERHEAD
+       PARAMETER (MPI_BSEND_OVERHEAD=(95))
+       INTEGER MPI_PROC_NULL
+       PARAMETER (MPI_PROC_NULL=-1)
+       INTEGER MPI_ANY_SOURCE
+       PARAMETER (MPI_ANY_SOURCE=-2)
+       INTEGER MPI_ANY_TAG
+       PARAMETER (MPI_ANY_TAG=-1)
+       INTEGER MPI_ROOT
+       PARAMETER (MPI_ROOT=-3)
+       INTEGER MPI_GRAPH
+       PARAMETER (MPI_GRAPH=1)
+       INTEGER MPI_CART
+       PARAMETER (MPI_CART=2)
+       INTEGER MPI_DIST_GRAPH
+       PARAMETER (MPI_DIST_GRAPH=3)
+       INTEGER MPI_VERSION
+       PARAMETER (MPI_VERSION=2)
+       INTEGER MPI_SUBVERSION
+       PARAMETER (MPI_SUBVERSION=0)
+       INTEGER MPI_LOCK_EXCLUSIVE
+       PARAMETER (MPI_LOCK_EXCLUSIVE=234)
+       INTEGER MPI_LOCK_SHARED
+       PARAMETER (MPI_LOCK_SHARED=235)
+       INTEGER MPI_CHAR
+       PARAMETER (MPI_CHAR=z'4c000101')
+       INTEGER MPI_UNSIGNED_CHAR
+       PARAMETER (MPI_UNSIGNED_CHAR=z'4c000102')
+       INTEGER MPI_SHORT
+       PARAMETER (MPI_SHORT=z'4c000203')
+       INTEGER MPI_UNSIGNED_SHORT
+       PARAMETER (MPI_UNSIGNED_SHORT=z'4c000204')
+       INTEGER MPI_INT
+       PARAMETER (MPI_INT=z'4c000405')
+       INTEGER MPI_UNSIGNED
+       PARAMETER (MPI_UNSIGNED=z'4c000406')
+       INTEGER MPI_LONG
+       PARAMETER (MPI_LONG=z'4c000407')
+       INTEGER MPI_UNSIGNED_LONG
+       PARAMETER (MPI_UNSIGNED_LONG=z'4c000408')
+       INTEGER MPI_LONG_LONG
+       PARAMETER (MPI_LONG_LONG=z'4c000809')
+       INTEGER MPI_LONG_LONG_INT
+       PARAMETER (MPI_LONG_LONG_INT=z'4c000809')
+       INTEGER MPI_FLOAT
+       PARAMETER (MPI_FLOAT=z'4c00040a')
+       INTEGER MPI_DOUBLE
+       PARAMETER (MPI_DOUBLE=z'4c00080b')
+       INTEGER MPI_LONG_DOUBLE
+       PARAMETER (MPI_LONG_DOUBLE=z'4c00080c')
+       INTEGER MPI_BYTE
+       PARAMETER (MPI_BYTE=z'4c00010d')
+       INTEGER MPI_WCHAR
+       PARAMETER (MPI_WCHAR=z'4c00020e')
+       INTEGER MPI_PACKED
+       PARAMETER (MPI_PACKED=z'4c00010f')
+       INTEGER MPI_LB
+       PARAMETER (MPI_LB=z'4c000010')
+       INTEGER MPI_UB
+       PARAMETER (MPI_UB=z'4c000011')
+       INTEGER MPI_2INT
+       PARAMETER (MPI_2INT=z'4c000816')
+       INTEGER MPI_SIGNED_CHAR
+       PARAMETER (MPI_SIGNED_CHAR=z'4c000118')
+       INTEGER MPI_UNSIGNED_LONG_LONG
+       PARAMETER (MPI_UNSIGNED_LONG_LONG=z'4c000819')
+       INTEGER MPI_CHARACTER
+       PARAMETER (MPI_CHARACTER=z'4c00011a')
+       INTEGER MPI_INTEGER
+       PARAMETER (MPI_INTEGER=z'4c00041b')
+       INTEGER MPI_REAL
+       PARAMETER (MPI_REAL=z'4c00041c')
+       INTEGER MPI_LOGICAL
+       PARAMETER (MPI_LOGICAL=z'4c00041d')
+       INTEGER MPI_COMPLEX
+       PARAMETER (MPI_COMPLEX=z'4c00081e')
+       INTEGER MPI_DOUBLE_PRECISION
+       PARAMETER (MPI_DOUBLE_PRECISION=z'4c00081f')
+       INTEGER MPI_2INTEGER
+       PARAMETER (MPI_2INTEGER=z'4c000820')
+       INTEGER MPI_2REAL
+       PARAMETER (MPI_2REAL=z'4c000821')
+       INTEGER MPI_DOUBLE_COMPLEX
+       PARAMETER (MPI_DOUBLE_COMPLEX=z'4c001022')
+       INTEGER MPI_2DOUBLE_PRECISION
+       PARAMETER (MPI_2DOUBLE_PRECISION=z'4c001023')
+       INTEGER MPI_2COMPLEX
+       PARAMETER (MPI_2COMPLEX=z'4c001024')
+       INTEGER MPI_2DOUBLE_COMPLEX
+       PARAMETER (MPI_2DOUBLE_COMPLEX=z'4c002025')
+       INTEGER MPI_REAL2
+       PARAMETER (MPI_REAL2=z'0c000000')
+       INTEGER MPI_REAL4
+       PARAMETER (MPI_REAL4=z'4c000427')
+       INTEGER MPI_COMPLEX8
+       PARAMETER (MPI_COMPLEX8=z'4c000828')
+       INTEGER MPI_REAL8
+       PARAMETER (MPI_REAL8=z'4c000829')
+       INTEGER MPI_COMPLEX16
+       PARAMETER (MPI_COMPLEX16=z'4c00102a')
+       INTEGER MPI_REAL16
+       PARAMETER (MPI_REAL16=z'0c000000')
+       INTEGER MPI_COMPLEX32
+       PARAMETER (MPI_COMPLEX32=z'0c000000')
+       INTEGER MPI_INTEGER1
+       PARAMETER (MPI_INTEGER1=z'4c00012d')
+       INTEGER MPI_COMPLEX4
+       PARAMETER (MPI_COMPLEX4=z'0c000000')
+       INTEGER MPI_INTEGER2
+       PARAMETER (MPI_INTEGER2=z'4c00022f')
+       INTEGER MPI_INTEGER4
+       PARAMETER (MPI_INTEGER4=z'4c000430')
+       INTEGER MPI_INTEGER8
+       PARAMETER (MPI_INTEGER8=z'4c000831')
+       INTEGER MPI_INTEGER16
+       PARAMETER (MPI_INTEGER16=z'0c000000')
+
+       INCLUDE 'mpifptr.h'
+
+       INTEGER MPI_OFFSET
+       PARAMETER (MPI_OFFSET=z'4c00083c')
+       INTEGER MPI_COUNT
+       PARAMETER (MPI_COUNT=z'4c00083d')
+       INTEGER MPI_FLOAT_INT
+       PARAMETER (MPI_FLOAT_INT=-1946157056)
+       INTEGER MPI_DOUBLE_INT
+       PARAMETER (MPI_DOUBLE_INT=-1946157055)
+       INTEGER MPI_LONG_INT
+       PARAMETER (MPI_LONG_INT=-1946157054)
+       INTEGER MPI_SHORT_INT
+       PARAMETER (MPI_SHORT_INT=-1946157053)
+       INTEGER MPI_LONG_DOUBLE_INT
+       PARAMETER (MPI_LONG_DOUBLE_INT=-1946157052)
+       INTEGER MPI_INTEGER_KIND
+       PARAMETER (MPI_INTEGER_KIND=4)
+       INTEGER MPI_OFFSET_KIND
+       PARAMETER (MPI_OFFSET_KIND=8)
+       INTEGER MPI_COUNT_KIND
+       PARAMETER (MPI_COUNT_KIND=8)
+       INTEGER MPI_COMBINER_NAMED
+       PARAMETER (MPI_COMBINER_NAMED=1)
+       INTEGER MPI_COMBINER_DUP
+       PARAMETER (MPI_COMBINER_DUP=2)
+       INTEGER MPI_COMBINER_CONTIGUOUS
+       PARAMETER (MPI_COMBINER_CONTIGUOUS=3)
+       INTEGER MPI_COMBINER_VECTOR
+       PARAMETER (MPI_COMBINER_VECTOR=4)
+       INTEGER MPI_COMBINER_HVECTOR_INTEGER
+       PARAMETER (MPI_COMBINER_HVECTOR_INTEGER=5)
+       INTEGER MPI_COMBINER_HVECTOR
+       PARAMETER (MPI_COMBINER_HVECTOR=6)
+       INTEGER MPI_COMBINER_INDEXED
+       PARAMETER (MPI_COMBINER_INDEXED=7)
+       INTEGER MPI_COMBINER_HINDEXED_INTEGER
+       PARAMETER (MPI_COMBINER_HINDEXED_INTEGER=8)
+       INTEGER MPI_COMBINER_HINDEXED
+       PARAMETER (MPI_COMBINER_HINDEXED=9)
+       INTEGER MPI_COMBINER_INDEXED_BLOCK
+       PARAMETER (MPI_COMBINER_INDEXED_BLOCK=10)
+       INTEGER MPI_COMBINER_STRUCT_INTEGER
+       PARAMETER (MPI_COMBINER_STRUCT_INTEGER=11)
+       INTEGER MPI_COMBINER_STRUCT
+       PARAMETER (MPI_COMBINER_STRUCT=12)
+       INTEGER MPI_COMBINER_SUBARRAY
+       PARAMETER (MPI_COMBINER_SUBARRAY=13)
+       INTEGER MPI_COMBINER_DARRAY
+       PARAMETER (MPI_COMBINER_DARRAY=14)
+       INTEGER MPI_COMBINER_F90_REAL
+       PARAMETER (MPI_COMBINER_F90_REAL=15)
+       INTEGER MPI_COMBINER_F90_COMPLEX
+       PARAMETER (MPI_COMBINER_F90_COMPLEX=16)
+       INTEGER MPI_COMBINER_F90_INTEGER
+       PARAMETER (MPI_COMBINER_F90_INTEGER=17)
+       INTEGER MPI_COMBINER_RESIZED
+       PARAMETER (MPI_COMBINER_RESIZED=18)
+       INTEGER MPI_COMBINER_HINDEXED_BLOCK
+       PARAMETER (MPI_COMBINER_HINDEXED_BLOCK=19)
+       INTEGER MPI_MODE_NOCHECK
+       PARAMETER (MPI_MODE_NOCHECK=1024)
+       INTEGER MPI_MODE_NOSTORE
+       PARAMETER (MPI_MODE_NOSTORE=2048)
+       INTEGER MPI_MODE_NOPUT
+       PARAMETER (MPI_MODE_NOPUT=4096)
+       INTEGER MPI_MODE_NOPRECEDE
+       PARAMETER (MPI_MODE_NOPRECEDE=8192)
+       INTEGER MPI_MODE_NOSUCCEED
+       PARAMETER (MPI_MODE_NOSUCCEED=16384)
+       INTEGER MPI_THREAD_SINGLE
+       PARAMETER (MPI_THREAD_SINGLE=0)
+       INTEGER MPI_THREAD_FUNNELED
+       PARAMETER (MPI_THREAD_FUNNELED=1)
+       INTEGER MPI_THREAD_SERIALIZED
+       PARAMETER (MPI_THREAD_SERIALIZED=2)
+       INTEGER MPI_THREAD_MULTIPLE
+       PARAMETER (MPI_THREAD_MULTIPLE=3)
+       INTEGER MPI_MODE_RDONLY
+       PARAMETER (MPI_MODE_RDONLY=2)
+       INTEGER MPI_MODE_RDWR
+       PARAMETER (MPI_MODE_RDWR=8)
+       INTEGER MPI_MODE_WRONLY
+       PARAMETER (MPI_MODE_WRONLY=4)
+       INTEGER MPI_MODE_DELETE_ON_CLOSE
+       PARAMETER (MPI_MODE_DELETE_ON_CLOSE=16)
+       INTEGER MPI_MODE_UNIQUE_OPEN
+       PARAMETER (MPI_MODE_UNIQUE_OPEN=32)
+       INTEGER MPI_MODE_CREATE
+       PARAMETER (MPI_MODE_CREATE=1)
+       INTEGER MPI_MODE_EXCL
+       PARAMETER (MPI_MODE_EXCL=64)
+       INTEGER MPI_MODE_APPEND
+       PARAMETER (MPI_MODE_APPEND=128)
+       INTEGER MPI_MODE_SEQUENTIAL
+       PARAMETER (MPI_MODE_SEQUENTIAL=256)
+       INTEGER MPI_SEEK_SET
+       PARAMETER (MPI_SEEK_SET=600)
+       INTEGER MPI_SEEK_CUR
+       PARAMETER (MPI_SEEK_CUR=602)
+       INTEGER MPI_SEEK_END
+       PARAMETER (MPI_SEEK_END=604)
+       INTEGER MPI_ORDER_C
+       PARAMETER (MPI_ORDER_C=56)
+       INTEGER MPI_ORDER_FORTRAN
+       PARAMETER (MPI_ORDER_FORTRAN=57)
+       INTEGER MPI_DISTRIBUTE_BLOCK
+       PARAMETER (MPI_DISTRIBUTE_BLOCK=121)
+       INTEGER MPI_DISTRIBUTE_CYCLIC
+       PARAMETER (MPI_DISTRIBUTE_CYCLIC=122)
+       INTEGER MPI_DISTRIBUTE_NONE
+       PARAMETER (MPI_DISTRIBUTE_NONE=123)
+       INTEGER MPI_DISTRIBUTE_DFLT_DARG
+       PARAMETER (MPI_DISTRIBUTE_DFLT_DARG=-49767)
+       INTEGER (KIND=8) MPI_DISPLACEMENT_CURRENT
+       PARAMETER (MPI_DISPLACEMENT_CURRENT=-54278278)
+       INTEGER MPI_BOTTOM, MPI_IN_PLACE
+       INTEGER MPI_UNWEIGHTED, MPI_WEIGHTS_EMPTY
+       EXTERNAL MPI_DUP_FN, MPI_NULL_DELETE_FN, MPI_NULL_COPY_FN
+       EXTERNAL MPI_WTIME, MPI_WTICK
+       EXTERNAL PMPI_WTIME, PMPI_WTICK
+       EXTERNAL MPI_COMM_DUP_FN, MPI_COMM_NULL_DELETE_FN
+       EXTERNAL MPI_COMM_NULL_COPY_FN
+       EXTERNAL MPI_WIN_DUP_FN, MPI_WIN_NULL_DELETE_FN
+       EXTERNAL MPI_WIN_NULL_COPY_FN
+       EXTERNAL MPI_TYPE_DUP_FN, MPI_TYPE_NULL_DELETE_FN
+       EXTERNAL MPI_TYPE_NULL_COPY_FN
+       EXTERNAL MPI_CONVERSION_FN_NULL
+       DOUBLE PRECISION MPI_WTIME, MPI_WTICK
+       DOUBLE PRECISION PMPI_WTIME, PMPI_WTICK
+
+       COMMON /MPIPRIV1/ MPI_BOTTOM, MPI_IN_PLACE, MPI_STATUS_IGNORE
+
+       COMMON /MPIPRIV2/ MPI_STATUSES_IGNORE, MPI_ERRCODES_IGNORE
+!DEC$ ATTRIBUTES DLLIMPORT :: /MPIPRIV1/, /MPIPRIV2/
+
+       COMMON /MPIFCMB5/ MPI_UNWEIGHTED
+       COMMON /MPIFCMB9/ MPI_WEIGHTS_EMPTY
+!DEC$ ATTRIBUTES DLLIMPORT :: /MPIFCMB5/, /MPIFCMB9/
+
+       COMMON /MPIPRIVC/ MPI_ARGVS_NULL, MPI_ARGV_NULL
+!DEC$ ATTRIBUTES DLLIMPORT :: /MPIPRIVC/
diff --git a/deps/msmpi-10.1.2/sdk/mpifptr.h.i686 b/deps/msmpi-10.1.3/sdk/mpifptr.h.i686
similarity index 96%
rename from deps/msmpi-10.1.2/sdk/mpifptr.h.i686
rename to deps/msmpi-10.1.3/sdk/mpifptr.h.i686
index 1028a1d3920ee7a97e20bf33da1ed8cde6ab1eb3..761c1e9008b136a7347fdb8c305671b091f72d33 100644
--- a/deps/msmpi-10.1.2/sdk/mpifptr.h.i686
+++ b/deps/msmpi-10.1.3/sdk/mpifptr.h.i686
@@ -1,9 +1,9 @@
-! -*- Mode: F77; F90; -*-
-!
-! Copyright(c) Microsoft Corporation.All rights reserved.
-! Licensed under the MIT License. 
-!
-       INTEGER MPI_AINT
-       PARAMETER (MPI_AINT=z'4c00043b')
-       INTEGER MPI_ADDRESS_KIND
-       PARAMETER(MPI_ADDRESS_KIND = 4)
+! -*- Mode: F77; F90; -*-
+!
+! Copyright(c) Microsoft Corporation.All rights reserved.
+! Licensed under the MIT License. 
+!
+       INTEGER MPI_AINT
+       PARAMETER (MPI_AINT=z'4c00043b')
+       INTEGER MPI_ADDRESS_KIND
+       PARAMETER(MPI_ADDRESS_KIND = 4)
diff --git a/deps/msmpi-10.1.2/sdk/mpifptr.h.x86_64 b/deps/msmpi-10.1.3/sdk/mpifptr.h.x86_64
similarity index 96%
rename from deps/msmpi-10.1.2/sdk/mpifptr.h.x86_64
rename to deps/msmpi-10.1.3/sdk/mpifptr.h.x86_64
index 1d4a2888e1c049e6f486bc68fc60830d73bedf02..41fa995afa97eb73088d4030845ac74d758306c0 100644
--- a/deps/msmpi-10.1.2/sdk/mpifptr.h.x86_64
+++ b/deps/msmpi-10.1.3/sdk/mpifptr.h.x86_64
@@ -1,9 +1,9 @@
-! -*- Mode: F77; F90; -*-
-!
-! Copyright(c) Microsoft Corporation.All rights reserved.
-! Licensed under the MIT License.
-!
-       INTEGER MPI_AINT
-       PARAMETER (MPI_AINT=z'4c00083b')
-       INTEGER MPI_ADDRESS_KIND
-       PARAMETER(MPI_ADDRESS_KIND = 8)
+! -*- Mode: F77; F90; -*-
+!
+! Copyright(c) Microsoft Corporation.All rights reserved.
+! Licensed under the MIT License.
+!
+       INTEGER MPI_AINT
+       PARAMETER (MPI_AINT=z'4c00083b')
+       INTEGER MPI_ADDRESS_KIND
+       PARAMETER(MPI_ADDRESS_KIND = 8)
diff --git a/deps/msmpi-10.1.2/sdk/msmpi.def.i686 b/deps/msmpi-10.1.3/sdk/msmpi.def.i686
similarity index 95%
rename from deps/msmpi-10.1.2/sdk/msmpi.def.i686
rename to deps/msmpi-10.1.3/sdk/msmpi.def.i686
index eb1acb5220ac1f0b901fc695151a080de4b05c06..efb0fba86a1b0259423e04a2cb7a6215183f0c02 100644
--- a/deps/msmpi-10.1.2/sdk/msmpi.def.i686
+++ b/deps/msmpi-10.1.3/sdk/msmpi.def.i686
@@ -1,3657 +1,3657 @@
-;
-; Definition file of msmpi.dll
-; Automatic generated by gendef
-; written by Kai Tietz 2008
-;
-LIBRARY "msmpi.dll"
-EXPORTS
-MPIR_Sendq_head DATA
-MSMPI_Get_pm_interface@8
-MSMPI_pm_query_interface@8
-mqs_image_has_queues@8
-mqs_process_has_queues@8
-MPIFCMB5 DATA
-MPIFCMB9 DATA
-MPIPRIV1 DATA
-MPIPRIV2 DATA
-MPIPRIVC DATA
-MPIR_All_communicators DATA
-MPIR_Comm_errhandler_set_proxy@8
-MPIR_Dup_fn@24
-MPIR_Error@8
-MPIR_File_errhandler_set_proxy@8
-MPIR_Free@4
-MPIR_Grequest_set_proxy@16
-MPIR_Keyval_set_proxy@12
-MPIR_Malloc@4
-MPIR_Op_set_proxy@8
-MPIR_Win_errhandler_set_proxy@8
-MPIR_debug_gate DATA
-MPIR_dll_name DATA
-MPI_ABORT
-MPI_ACCUMULATE
-MPI_ADDRESS
-MPI_ADD_ERROR_CLASS
-MPI_ADD_ERROR_CODE
-MPI_ADD_ERROR_STRING
-MPI_AINT_ADD
-MPI_AINT_DIFF
-MPI_ALLGATHER
-MPI_ALLGATHERV
-MPI_ALLOC_MEM
-MPI_ALLREDUCE
-MPI_ALLTOALL
-MPI_ALLTOALLV
-MPI_ALLTOALLW
-MPI_ATTR_DELETE
-MPI_ATTR_GET
-MPI_ATTR_PUT
-MPI_Abort@8
-MPI_Accumulate@36
-MPI_Add_error_class@4
-MPI_Add_error_code@8
-MPI_Add_error_string@8
-MPI_Address@8
-MPI_Aint_add@8
-MPI_Aint_diff@8
-MPI_Allgather@28
-MPI_Allgatherv@32
-MPI_Alloc_mem@12
-MPI_Allreduce@24
-MPI_Alltoall@28
-MPI_Alltoallv@36
-MPI_Alltoallw@36
-MPI_Attr_delete@8
-MPI_Attr_get@16
-MPI_Attr_put@12
-MPI_BARRIER
-MPI_BCAST
-MPI_BSEND
-MPI_BSEND_INIT
-MPI_BUFFER_ATTACH
-MPI_BUFFER_DETACH
-MPI_Barrier@4
-MPI_Bcast@20
-MPI_Bsend@24
-MPI_Bsend_init@28
-MPI_Buffer_attach@8
-MPI_Buffer_detach@8
-MPI_CANCEL
-MPI_CARTDIM_GET
-MPI_CART_COORDS
-MPI_CART_CREATE
-MPI_CART_GET
-MPI_CART_MAP
-MPI_CART_RANK
-MPI_CART_SHIFT
-MPI_CART_SUB
-MPI_CLOSE_PORT
-MPI_COMM_ACCEPT
-MPI_COMM_CALL_ERRHANDLER
-MPI_COMM_COMPARE
-MPI_COMM_CONNECT
-MPI_COMM_CREATE
-MPI_COMM_CREATE_ERRHANDLER
-MPI_COMM_CREATE_KEYVAL
-MPI_COMM_DELETE_ATTR
-MPI_COMM_DISCONNECT
-MPI_COMM_DUP
-MPI_COMM_DUP_FN
-MPI_COMM_FREE
-MPI_COMM_FREE_KEYVAL
-MPI_COMM_GET_ATTR
-MPI_COMM_GET_ERRHANDLER
-MPI_COMM_GET_NAME
-MPI_COMM_GET_PARENT
-MPI_COMM_GROUP
-MPI_COMM_JOIN
-MPI_COMM_NULL_COPY_FN
-MPI_COMM_NULL_DELETE_FN
-MPI_COMM_RANK
-MPI_COMM_REMOTE_GROUP
-MPI_COMM_REMOTE_SIZE
-MPI_COMM_SET_ATTR
-MPI_COMM_SET_ERRHANDLER
-MPI_COMM_SET_NAME
-MPI_COMM_SIZE
-MPI_COMM_SPAWN
-MPI_COMM_SPAWN_MULTIPLE
-MPI_COMM_SPLIT
-MPI_COMM_SPLIT_TYPE
-MPI_COMM_TEST_INTER
-MPI_COMPARE_AND_SWAP
-MPI_CONVERSION_FN_NULL
-MPI_Cancel@4
-MPI_Cart_coords@16
-MPI_Cart_create@24
-MPI_Cart_get@20
-MPI_Cart_map@20
-MPI_Cart_rank@12
-MPI_Cart_shift@20
-MPI_Cart_sub@12
-MPI_Cartdim_get@8
-MPI_Close_port@4
-MPI_Comm_accept@20
-MPI_Comm_call_errhandler@8
-MPI_Comm_compare@12
-MPI_Comm_connect@20
-MPI_Comm_create@12
-MPI_Comm_create_errhandler@8
-MPI_Comm_create_keyval@16
-MPI_Comm_delete_attr@8
-MPI_Comm_disconnect@4
-MPI_Comm_dup@8
-MPI_Comm_free@4
-MPI_Comm_free_keyval@4
-MPI_Comm_get_attr@16
-MPI_Comm_get_errhandler@8
-MPI_Comm_get_name@12
-MPI_Comm_get_parent@4
-MPI_Comm_group@8
-MPI_Comm_join@8
-MPI_Comm_rank@8
-MPI_Comm_remote_group@8
-MPI_Comm_remote_size@8
-MPI_Comm_set_attr@12
-MPI_Comm_set_errhandler@8
-MPI_Comm_set_name@8
-MPI_Comm_size@8
-MPI_Comm_spawn@32
-MPI_Comm_spawn_multiple@36
-MPI_Comm_split@16
-MPI_Comm_split_type@20
-MPI_Comm_test_inter@8
-MPI_Compare_and_swap@28
-MPI_DIMS_CREATE
-MPI_DIST_GRAPH_CREATE
-MPI_DIST_GRAPH_CREATE_ADJACENT
-MPI_DIST_GRAPH_NEIGHBORS
-MPI_DIST_GRAPH_NEIGHBORS_COUNT
-MPI_DUP_FN
-MPI_Dims_create@12
-MPI_Dist_graph_create@36
-MPI_Dist_graph_create_adjacent@40
-MPI_Dist_graph_neighbors@28
-MPI_Dist_graph_neighbors_count@16
-MPI_ERRHANDLER_CREATE
-MPI_ERRHANDLER_FREE
-MPI_ERRHANDLER_GET
-MPI_ERRHANDLER_SET
-MPI_ERROR_CLASS
-MPI_ERROR_STRING
-MPI_EXSCAN
-MPI_Errhandler_create@8
-MPI_Errhandler_free@4
-MPI_Errhandler_get@8
-MPI_Errhandler_set@8
-MPI_Error_class@8
-MPI_Error_string@12
-MPI_Exscan@24
-MPI_FETCH_AND_OP
-MPI_FILE_CALL_ERRHANDLER
-MPI_FILE_CLOSE
-MPI_FILE_CREATE_ERRHANDLER
-MPI_FILE_DELETE
-MPI_FILE_GET_AMODE
-MPI_FILE_GET_ATOMICITY
-MPI_FILE_GET_BYTE_OFFSET
-MPI_FILE_GET_ERRHANDLER
-MPI_FILE_GET_GROUP
-MPI_FILE_GET_INFO
-MPI_FILE_GET_POSITION
-MPI_FILE_GET_POSITION_SHARED
-MPI_FILE_GET_SIZE
-MPI_FILE_GET_TYPE_EXTENT
-MPI_FILE_GET_VIEW
-MPI_FILE_IREAD
-MPI_FILE_IREAD_AT
-MPI_FILE_IREAD_SHARED
-MPI_FILE_IWRITE
-MPI_FILE_IWRITE_AT
-MPI_FILE_IWRITE_SHARED
-MPI_FILE_OPEN
-MPI_FILE_PREALLOCATE
-MPI_FILE_READ
-MPI_FILE_READ_ALL
-MPI_FILE_READ_ALL_BEGIN
-MPI_FILE_READ_ALL_END
-MPI_FILE_READ_AT
-MPI_FILE_READ_AT_ALL
-MPI_FILE_READ_AT_ALL_BEGIN
-MPI_FILE_READ_AT_ALL_END
-MPI_FILE_READ_ORDERED
-MPI_FILE_READ_ORDERED_BEGIN
-MPI_FILE_READ_ORDERED_END
-MPI_FILE_READ_SHARED
-MPI_FILE_SEEK
-MPI_FILE_SEEK_SHARED
-MPI_FILE_SET_ATOMICITY
-MPI_FILE_SET_ERRHANDLER
-MPI_FILE_SET_INFO
-MPI_FILE_SET_SIZE
-MPI_FILE_SET_VIEW
-MPI_FILE_SYNC
-MPI_FILE_WRITE
-MPI_FILE_WRITE_ALL
-MPI_FILE_WRITE_ALL_BEGIN
-MPI_FILE_WRITE_ALL_END
-MPI_FILE_WRITE_AT
-MPI_FILE_WRITE_AT_ALL
-MPI_FILE_WRITE_AT_ALL_BEGIN
-MPI_FILE_WRITE_AT_ALL_END
-MPI_FILE_WRITE_ORDERED
-MPI_FILE_WRITE_ORDERED_BEGIN
-MPI_FILE_WRITE_ORDERED_END
-MPI_FILE_WRITE_SHARED
-MPI_FINALIZE
-MPI_FINALIZED
-MPI_FREE_MEM
-MPI_F_STATUSES_IGNORE DATA
-MPI_F_STATUS_IGNORE DATA
-MPI_Fetch_and_op@28
-MPI_File_c2f@4
-MPI_File_call_errhandler@8
-MPI_File_close@4
-MPI_File_create_errhandler@8
-MPI_File_delete@8
-MPI_File_f2c@4
-MPI_File_get_amode@8
-MPI_File_get_atomicity@8
-MPI_File_get_byte_offset@16
-MPI_File_get_errhandler@8
-MPI_File_get_group@8
-MPI_File_get_info@8
-MPI_File_get_position@8
-MPI_File_get_position_shared@8
-MPI_File_get_size@8
-MPI_File_get_type_extent@12
-MPI_File_get_view@20
-MPI_File_iread@20
-MPI_File_iread_at@28
-MPI_File_iread_shared@20
-MPI_File_iwrite@20
-MPI_File_iwrite_at@28
-MPI_File_iwrite_shared@20
-MPI_File_open@20
-MPI_File_preallocate@12
-MPI_File_read@20
-MPI_File_read_all@20
-MPI_File_read_all_begin@16
-MPI_File_read_all_end@12
-MPI_File_read_at@28
-MPI_File_read_at_all@28
-MPI_File_read_at_all_begin@24
-MPI_File_read_at_all_end@12
-MPI_File_read_ordered@20
-MPI_File_read_ordered_begin@16
-MPI_File_read_ordered_end@12
-MPI_File_read_shared@20
-MPI_File_seek@16
-MPI_File_seek_shared@16
-MPI_File_set_atomicity@8
-MPI_File_set_errhandler@8
-MPI_File_set_info@8
-MPI_File_set_size@12
-MPI_File_set_view@28
-MPI_File_sync@4
-MPI_File_write@20
-MPI_File_write_all@20
-MPI_File_write_all_begin@16
-MPI_File_write_all_end@12
-MPI_File_write_at@28
-MPI_File_write_at_all@28
-MPI_File_write_at_all_begin@24
-MPI_File_write_at_all_end@12
-MPI_File_write_ordered@20
-MPI_File_write_ordered_begin@16
-MPI_File_write_ordered_end@12
-MPI_File_write_shared@20
-MPI_Finalize
-MPI_Finalized@4
-MPI_Free_mem@4
-MPI_GATHER
-MPI_GATHERV
-MPI_GET
-MPI_GET_ACCUMULATE
-MPI_GET_ADDRESS
-MPI_GET_COUNT
-MPI_GET_ELEMENTS
-MPI_GET_ELEMENTS_X
-MPI_GET_LIBRARY_VERSION
-MPI_GET_PROCESSOR_NAME
-MPI_GET_VERSION
-MPI_GRAPHDIMS_GET
-MPI_GRAPH_CREATE
-MPI_GRAPH_GET
-MPI_GRAPH_MAP
-MPI_GRAPH_NEIGHBORS
-MPI_GRAPH_NEIGHBORS_COUNT
-MPI_GREQUEST_COMPLETE
-MPI_GREQUEST_START
-MPI_GROUP_COMPARE
-MPI_GROUP_DIFFERENCE
-MPI_GROUP_EXCL
-MPI_GROUP_FREE
-MPI_GROUP_INCL
-MPI_GROUP_INTERSECTION
-MPI_GROUP_RANGE_EXCL
-MPI_GROUP_RANGE_INCL
-MPI_GROUP_RANK
-MPI_GROUP_SIZE
-MPI_GROUP_TRANSLATE_RANKS
-MPI_GROUP_UNION
-MPI_Gather@32
-MPI_Gatherv@36
-MPI_Get@32
-MPI_Get_accumulate@48
-MPI_Get_address@8
-MPI_Get_count@12
-MPI_Get_elements@12
-MPI_Get_elements_x@12
-MPI_Get_library_version@8
-MPI_Get_processor_name@8
-MPI_Get_version@8
-MPI_Graph_create@24
-MPI_Graph_get@20
-MPI_Graph_map@20
-MPI_Graph_neighbors@16
-MPI_Graph_neighbors_count@12
-MPI_Graphdims_get@12
-MPI_Grequest_complete@4
-MPI_Grequest_start@20
-MPI_Group_compare@12
-MPI_Group_difference@12
-MPI_Group_excl@16
-MPI_Group_free@4
-MPI_Group_incl@16
-MPI_Group_intersection@12
-MPI_Group_range_excl@16
-MPI_Group_range_incl@16
-MPI_Group_rank@8
-MPI_Group_size@8
-MPI_Group_translate_ranks@20
-MPI_Group_union@12
-MPI_IALLGATHER
-MPI_IALLGATHERV
-MPI_IALLREDUCE
-MPI_IALLTOALL
-MPI_IALLTOALLV
-MPI_IALLTOALLW
-MPI_IBARRIER
-MPI_IBCAST
-MPI_IBSEND
-MPI_IEXSCAN
-MPI_IGATHER
-MPI_IGATHERV
-MPI_IMPROBE
-MPI_IMRECV
-MPI_INFO_CREATE
-MPI_INFO_DELETE
-MPI_INFO_DUP
-MPI_INFO_FREE
-MPI_INFO_GET
-MPI_INFO_GET_NKEYS
-MPI_INFO_GET_NTHKEY
-MPI_INFO_GET_VALUELEN
-MPI_INFO_SET
-MPI_INIT
-MPI_INITIALIZED
-MPI_INIT_THREAD
-MPI_INTERCOMM_CREATE
-MPI_INTERCOMM_MERGE
-MPI_IPROBE
-MPI_IRECV
-MPI_IREDUCE
-MPI_IREDUCE_SCATTER
-MPI_IREDUCE_SCATTER_BLOCK
-MPI_IRSEND
-MPI_ISCAN
-MPI_ISCATTER
-MPI_ISCATTERV
-MPI_ISEND
-MPI_ISSEND
-MPI_IS_THREAD_MAIN
-MPI_Iallgather@32
-MPI_Iallgatherv@36
-MPI_Iallreduce@28
-MPI_Ialltoall@32
-MPI_Ialltoallv@40
-MPI_Ialltoallw@40
-MPI_Ibarrier@8
-MPI_Ibcast@24
-MPI_Ibsend@28
-MPI_Iexscan@28
-MPI_Igather@36
-MPI_Igatherv@40
-MPI_Improbe@24
-MPI_Imrecv@20
-MPI_Info_create@4
-MPI_Info_delete@8
-MPI_Info_dup@8
-MPI_Info_free@4
-MPI_Info_get@20
-MPI_Info_get_nkeys@8
-MPI_Info_get_nthkey@12
-MPI_Info_get_valuelen@16
-MPI_Info_set@12
-MPI_Init@8
-MPI_Init_thread@16
-MPI_Initialized@4
-MPI_Intercomm_create@24
-MPI_Intercomm_merge@12
-MPI_Iprobe@20
-MPI_Irecv@28
-MPI_Ireduce@32
-MPI_Ireduce_scatter@28
-MPI_Ireduce_scatter_block@28
-MPI_Irsend@28
-MPI_Is_thread_main@4
-MPI_Iscan@28
-MPI_Iscatter@36
-MPI_Iscatterv@40
-MPI_Isend@28
-MPI_Issend@28
-MPI_KEYVAL_CREATE
-MPI_KEYVAL_FREE
-MPI_Keyval_create@16
-MPI_Keyval_free@4
-MPI_LOOKUP_NAME
-MPI_Lookup_name@12
-MPI_MPROBE
-MPI_MRECV
-MPI_Mprobe@20
-MPI_Mrecv@20
-MPI_NULL_COPY_FN
-MPI_NULL_DELETE_FN
-MPI_OPEN_PORT
-MPI_OP_COMMUTATIVE
-MPI_OP_CREATE
-MPI_OP_FREE
-MPI_Op_commutative@8
-MPI_Op_create@12
-MPI_Op_free@4
-MPI_Open_port@8
-MPI_PACK
-MPI_PACK_EXTERNAL
-MPI_PACK_EXTERNAL_SIZE
-MPI_PACK_SIZE
-MPI_PCONTROL
-MPI_PROBE
-MPI_PUBLISH_NAME
-MPI_PUT
-MPI_Pack@28
-MPI_Pack_external@28
-MPI_Pack_external_size@16
-MPI_Pack_size@16
-MPI_Pcontrol
-MPI_Probe@16
-MPI_Publish_name@12
-MPI_Put@32
-MPI_QUERY_THREAD
-MPI_Query_thread@4
-MPI_RACCUMULATE
-MPI_RECV
-MPI_RECV_INIT
-MPI_REDUCE
-MPI_REDUCE_LOCAL
-MPI_REDUCE_SCATTER
-MPI_REDUCE_SCATTER_block
-MPI_REGISTER_DATAREP
-MPI_REQUEST_FREE
-MPI_REQUEST_GET_STATUS
-MPI_RGET
-MPI_RGET_ACCUMULATE
-MPI_RPUT
-MPI_RSEND
-MPI_RSEND_INIT
-MPI_Raccumulate@40
-MPI_Recv@28
-MPI_Recv_init@28
-MPI_Reduce@28
-MPI_Reduce_local@20
-MPI_Reduce_scatter@24
-MPI_Reduce_scatter_block@24
-MPI_Register_datarep@20
-MPI_Request_free@4
-MPI_Request_get_status@12
-MPI_Rget@36
-MPI_Rget_accumulate@52
-MPI_Rput@36
-MPI_Rsend@24
-MPI_Rsend_init@28
-MPI_SCAN
-MPI_SCATTER
-MPI_SCATTERV
-MPI_SEND
-MPI_SENDRECV
-MPI_SENDRECV_REPLACE
-MPI_SEND_INIT
-MPI_SSEND
-MPI_SSEND_INIT
-MPI_START
-MPI_STARTALL
-MPI_STATUS_C2F
-MPI_STATUS_F2C
-MPI_STATUS_SET_CANCELLED
-MPI_STATUS_SET_ELEMENTS
-MPI_STATUS_SET_ELEMENTS_X
-MPI_Scan@24
-MPI_Scatter@32
-MPI_Scatterv@36
-MPI_Send@24
-MPI_Send_init@28
-MPI_Sendrecv@48
-MPI_Sendrecv_replace@36
-MPI_Ssend@24
-MPI_Ssend_init@28
-MPI_Start@4
-MPI_Startall@8
-MPI_Status_c2f@8
-MPI_Status_f2c@8
-MPI_Status_set_cancelled@8
-MPI_Status_set_elements@12
-MPI_Status_set_elements_x@16
-MPI_TEST
-MPI_TESTALL
-MPI_TESTANY
-MPI_TESTSOME
-MPI_TEST_CANCELLED
-MPI_TOPO_TEST
-MPI_TYPE_COMMIT
-MPI_TYPE_CONTIGUOUS
-MPI_TYPE_CREATE_DARRAY
-MPI_TYPE_CREATE_F90_COMPLEX
-MPI_TYPE_CREATE_F90_INTEGER
-MPI_TYPE_CREATE_F90_REAL
-MPI_TYPE_CREATE_HINDEXED
-MPI_TYPE_CREATE_HINDEXED_BLOCK
-MPI_TYPE_CREATE_HVECTOR
-MPI_TYPE_CREATE_INDEXED_BLOCK
-MPI_TYPE_CREATE_KEYVAL
-MPI_TYPE_CREATE_RESIZED
-MPI_TYPE_CREATE_STRUCT
-MPI_TYPE_CREATE_SUBARRAY
-MPI_TYPE_DELETE_ATTR
-MPI_TYPE_DUP
-MPI_TYPE_DUP_FN
-MPI_TYPE_EXTENT
-MPI_TYPE_FREE
-MPI_TYPE_FREE_KEYVAL
-MPI_TYPE_GET_ATTR
-MPI_TYPE_GET_CONTENTS
-MPI_TYPE_GET_ENVELOPE
-MPI_TYPE_GET_EXTENT
-MPI_TYPE_GET_EXTENT_X
-MPI_TYPE_GET_NAME
-MPI_TYPE_GET_TRUE_EXTENT
-MPI_TYPE_GET_TRUE_EXTENT_X
-MPI_TYPE_HINDEXED
-MPI_TYPE_HVECTOR
-MPI_TYPE_INDEXED
-MPI_TYPE_LB
-MPI_TYPE_MATCH_SIZE
-MPI_TYPE_NULL_COPY_FN
-MPI_TYPE_NULL_DELETE_FN
-MPI_TYPE_SET_ATTR
-MPI_TYPE_SET_NAME
-MPI_TYPE_SIZE
-MPI_TYPE_SIZE_X
-MPI_TYPE_STRUCT
-MPI_TYPE_UB
-MPI_TYPE_VECTOR
-MPI_Test@12
-MPI_Test_cancelled@8
-MPI_Testall@16
-MPI_Testany@20
-MPI_Testsome@20
-MPI_Topo_test@8
-MPI_Type_commit@4
-MPI_Type_contiguous@12
-MPI_Type_create_darray@40
-MPI_Type_create_f90_complex@12
-MPI_Type_create_f90_integer@8
-MPI_Type_create_f90_real@12
-MPI_Type_create_hindexed@20
-MPI_Type_create_hindexed_block@20
-MPI_Type_create_hvector@20
-MPI_Type_create_indexed_block@20
-MPI_Type_create_keyval@16
-MPI_Type_create_resized@16
-MPI_Type_create_struct@20
-MPI_Type_create_subarray@28
-MPI_Type_delete_attr@8
-MPI_Type_dup@8
-MPI_Type_extent@8
-MPI_Type_free@4
-MPI_Type_free_keyval@4
-MPI_Type_get_attr@16
-MPI_Type_get_contents@28
-MPI_Type_get_envelope@20
-MPI_Type_get_extent@12
-MPI_Type_get_extent_x@12
-MPI_Type_get_name@12
-MPI_Type_get_true_extent@12
-MPI_Type_get_true_extent_x@12
-MPI_Type_hindexed@20
-MPI_Type_hvector@20
-MPI_Type_indexed@20
-MPI_Type_lb@8
-MPI_Type_match_size@12
-MPI_Type_set_attr@12
-MPI_Type_set_name@8
-MPI_Type_size@8
-MPI_Type_size_x@8
-MPI_Type_struct@20
-MPI_Type_ub@8
-MPI_Type_vector@20
-MPI_UNPACK
-MPI_UNPACK_EXTERNAL
-MPI_UNPUBLISH_NAME
-MPI_Unpack@28
-MPI_Unpack_external@28
-MPI_Unpublish_name@12
-MPI_WAIT
-MPI_WAITALL
-MPI_WAITANY
-MPI_WAITSOME
-MPI_WIN_ALLOCATE
-MPI_WIN_ALLOCATE_SHARED
-MPI_WIN_ATTACH
-MPI_WIN_CALL_ERRHANDLER
-MPI_WIN_COMPLETE
-MPI_WIN_CREATE
-MPI_WIN_CREATE_DYNAMIC
-MPI_WIN_CREATE_ERRHANDLER
-MPI_WIN_CREATE_KEYVAL
-MPI_WIN_DELETE_ATTR
-MPI_WIN_DETACH
-MPI_WIN_DUP_FN
-MPI_WIN_FENCE
-MPI_WIN_FLUSH
-MPI_WIN_FLUSH_ALL
-MPI_WIN_FLUSH_LOCAL
-MPI_WIN_FLUSH_LOCAL_ALL
-MPI_WIN_FREE
-MPI_WIN_FREE_KEYVAL
-MPI_WIN_GET_ATTR
-MPI_WIN_GET_ERRHANDLER
-MPI_WIN_GET_GROUP
-MPI_WIN_GET_NAME
-MPI_WIN_LOCK
-MPI_WIN_LOCK_ALL
-MPI_WIN_NULL_COPY_FN
-MPI_WIN_NULL_DELETE_FN
-MPI_WIN_POST
-MPI_WIN_SET_ATTR
-MPI_WIN_SET_ERRHANDLER
-MPI_WIN_SET_NAME
-MPI_WIN_SHARED_QUERY
-MPI_WIN_START
-MPI_WIN_SYNC
-MPI_WIN_TEST
-MPI_WIN_UNLOCK
-MPI_WIN_UNLOCK_ALL
-MPI_WIN_WAIT
-MPI_WTICK
-MPI_WTIME
-MPI_Wait@8
-MPI_Waitall@12
-MPI_Waitany@16
-MPI_Waitsome@20
-MPI_Win_allocate@24
-MPI_Win_allocate_shared@24
-MPI_Win_attach@12
-MPI_Win_call_errhandler@8
-MPI_Win_complete@4
-MPI_Win_create@24
-MPI_Win_create_dynamic@12
-MPI_Win_create_errhandler@8
-MPI_Win_create_keyval@16
-MPI_Win_delete_attr@8
-MPI_Win_detach@8
-MPI_Win_fence@8
-MPI_Win_flush@8
-MPI_Win_flush_all@4
-MPI_Win_flush_local@8
-MPI_Win_flush_local_all@4
-MPI_Win_free@4
-MPI_Win_free_keyval@4
-MPI_Win_get_attr@16
-MPI_Win_get_errhandler@8
-MPI_Win_get_group@8
-MPI_Win_get_name@12
-MPI_Win_lock@16
-MPI_Win_lock_all@8
-MPI_Win_post@12
-MPI_Win_set_attr@12
-MPI_Win_set_errhandler@8
-MPI_Win_set_name@8
-MPI_Win_shared_query@20
-MPI_Win_start@12
-MPI_Win_sync@4
-MPI_Win_test@8
-MPI_Win_unlock@8
-MPI_Win_unlock_all@4
-MPI_Win_wait@4
-MPI_Wtick
-MPI_Wtime
-MSMPI_GET_BSEND_OVERHEAD
-MSMPI_GET_VERSION
-MSMPI_Get_bsend_overhead
-MSMPI_Get_version
-MSMPI_Queuelock_acquire@4
-MSMPI_Queuelock_release@4
-MSMPI_Request_set_apc@12
-MSMPI_Waitsome_interruptible@20
-PMPI_ABORT
-PMPI_ACCUMULATE
-PMPI_ADDRESS
-PMPI_ADD_ERROR_CLASS
-PMPI_ADD_ERROR_CODE
-PMPI_ADD_ERROR_STRING
-PMPI_AINT_ADD
-PMPI_AINT_DIFF
-PMPI_ALLGATHER
-PMPI_ALLGATHERV
-PMPI_ALLOC_MEM
-PMPI_ALLREDUCE
-PMPI_ALLTOALL
-PMPI_ALLTOALLV
-PMPI_ALLTOALLW
-PMPI_ATTR_DELETE
-PMPI_ATTR_GET
-PMPI_ATTR_PUT
-PMPI_Abort@8
-PMPI_Accumulate@36
-PMPI_Add_error_class@4
-PMPI_Add_error_code@8
-PMPI_Add_error_string@8
-PMPI_Address@8
-PMPI_Aint_add@8
-PMPI_Aint_diff@8
-PMPI_Allgather@28
-PMPI_Allgatherv@32
-PMPI_Alloc_mem@12
-PMPI_Allreduce@24
-PMPI_Alltoall@28
-PMPI_Alltoallv@36
-PMPI_Alltoallw@36
-PMPI_Attr_delete@8
-PMPI_Attr_get@16
-PMPI_Attr_put@12
-PMPI_BARRIER
-PMPI_BCAST
-PMPI_BSEND
-PMPI_BSEND_INIT
-PMPI_BUFFER_ATTACH
-PMPI_BUFFER_DETACH
-PMPI_Barrier@4
-PMPI_Bcast@20
-PMPI_Bsend@24
-PMPI_Bsend_init@28
-PMPI_Buffer_attach@8
-PMPI_Buffer_detach@8
-PMPI_CANCEL
-PMPI_CARTDIM_GET
-PMPI_CART_COORDS
-PMPI_CART_CREATE
-PMPI_CART_GET
-PMPI_CART_MAP
-PMPI_CART_RANK
-PMPI_CART_SHIFT
-PMPI_CART_SUB
-PMPI_CLOSE_PORT
-PMPI_COMM_ACCEPT
-PMPI_COMM_CALL_ERRHANDLER
-PMPI_COMM_COMPARE
-PMPI_COMM_CONNECT
-PMPI_COMM_CREATE
-PMPI_COMM_CREATE_ERRHANDLER
-PMPI_COMM_CREATE_KEYVAL
-PMPI_COMM_DELETE_ATTR
-PMPI_COMM_DISCONNECT
-PMPI_COMM_DUP
-PMPI_COMM_DUP_FN
-PMPI_COMM_FREE
-PMPI_COMM_FREE_KEYVAL
-PMPI_COMM_GET_ATTR
-PMPI_COMM_GET_ERRHANDLER
-PMPI_COMM_GET_NAME
-PMPI_COMM_GET_PARENT
-PMPI_COMM_GROUP
-PMPI_COMM_JOIN
-PMPI_COMM_NULL_COPY_FN
-PMPI_COMM_NULL_DELETE_FN
-PMPI_COMM_RANK
-PMPI_COMM_REMOTE_GROUP
-PMPI_COMM_REMOTE_SIZE
-PMPI_COMM_SET_ATTR
-PMPI_COMM_SET_ERRHANDLER
-PMPI_COMM_SET_NAME
-PMPI_COMM_SIZE
-PMPI_COMM_SPAWN
-PMPI_COMM_SPAWN_MULTIPLE
-PMPI_COMM_SPLIT
-PMPI_COMM_SPLIT_TYPE
-PMPI_COMM_TEST_INTER
-PMPI_COMPARE_AND_SWAP
-PMPI_CONVERSION_FN_NULL
-PMPI_Cancel@4
-PMPI_Cart_coords@16
-PMPI_Cart_create@24
-PMPI_Cart_get@20
-PMPI_Cart_map@20
-PMPI_Cart_rank@12
-PMPI_Cart_shift@20
-PMPI_Cart_sub@12
-PMPI_Cartdim_get@8
-PMPI_Close_port@4
-PMPI_Comm_accept@20
-PMPI_Comm_call_errhandler@8
-PMPI_Comm_compare@12
-PMPI_Comm_connect@20
-PMPI_Comm_create@12
-PMPI_Comm_create_errhandler@8
-PMPI_Comm_create_keyval@16
-PMPI_Comm_delete_attr@8
-PMPI_Comm_disconnect@4
-PMPI_Comm_dup@8
-PMPI_Comm_free@4
-PMPI_Comm_free_keyval@4
-PMPI_Comm_get_attr@16
-PMPI_Comm_get_errhandler@8
-PMPI_Comm_get_name@12
-PMPI_Comm_get_parent@4
-PMPI_Comm_group@8
-PMPI_Comm_join@8
-PMPI_Comm_rank@8
-PMPI_Comm_remote_group@8
-PMPI_Comm_remote_size@8
-PMPI_Comm_set_attr@12
-PMPI_Comm_set_errhandler@8
-PMPI_Comm_set_name@8
-PMPI_Comm_size@8
-PMPI_Comm_spawn@32
-PMPI_Comm_spawn_multiple@36
-PMPI_Comm_split@16
-PMPI_Comm_split_type@20
-PMPI_Comm_test_inter@8
-PMPI_Compare_and_swap@28
-PMPI_DIMS_CREATE
-PMPI_DIST_GRAPH_CREATE
-PMPI_DIST_GRAPH_CREATE_ADJACENT
-PMPI_DIST_GRAPH_NEIGHBORS
-PMPI_DIST_GRAPH_NEIGHBORS_COUNT
-PMPI_DUP_FN
-PMPI_Dims_create@12
-PMPI_Dist_graph_create@36
-PMPI_Dist_graph_create_adjacent@40
-PMPI_Dist_graph_neighbors@28
-PMPI_Dist_graph_neighbors_count@16
-PMPI_ERRHANDLER_CREATE
-PMPI_ERRHANDLER_FREE
-PMPI_ERRHANDLER_GET
-PMPI_ERRHANDLER_SET
-PMPI_ERROR_CLASS
-PMPI_ERROR_STRING
-PMPI_EXSCAN
-PMPI_Errhandler_create@8
-PMPI_Errhandler_free@4
-PMPI_Errhandler_get@8
-PMPI_Errhandler_set@8
-PMPI_Error_class@8
-PMPI_Error_string@12
-PMPI_Exscan@24
-PMPI_FETCH_AND_OP
-PMPI_FILE_CALL_ERRHANDLER
-PMPI_FILE_CLOSE
-PMPI_FILE_CREATE_ERRHANDLER
-PMPI_FILE_DELETE
-PMPI_FILE_GET_AMODE
-PMPI_FILE_GET_ATOMICITY
-PMPI_FILE_GET_BYTE_OFFSET
-PMPI_FILE_GET_ERRHANDLER
-PMPI_FILE_GET_GROUP
-PMPI_FILE_GET_INFO
-PMPI_FILE_GET_POSITION
-PMPI_FILE_GET_POSITION_SHARED
-PMPI_FILE_GET_SIZE
-PMPI_FILE_GET_TYPE_EXTENT
-PMPI_FILE_GET_VIEW
-PMPI_FILE_IREAD
-PMPI_FILE_IREAD_AT
-PMPI_FILE_IREAD_SHARED
-PMPI_FILE_IWRITE
-PMPI_FILE_IWRITE_AT
-PMPI_FILE_IWRITE_SHARED
-PMPI_FILE_OPEN
-PMPI_FILE_PREALLOCATE
-PMPI_FILE_READ
-PMPI_FILE_READ_ALL
-PMPI_FILE_READ_ALL_BEGIN
-PMPI_FILE_READ_ALL_END
-PMPI_FILE_READ_AT
-PMPI_FILE_READ_AT_ALL
-PMPI_FILE_READ_AT_ALL_BEGIN
-PMPI_FILE_READ_AT_ALL_END
-PMPI_FILE_READ_ORDERED
-PMPI_FILE_READ_ORDERED_BEGIN
-PMPI_FILE_READ_ORDERED_END
-PMPI_FILE_READ_SHARED
-PMPI_FILE_SEEK
-PMPI_FILE_SEEK_SHARED
-PMPI_FILE_SET_ATOMICITY
-PMPI_FILE_SET_ERRHANDLER
-PMPI_FILE_SET_INFO
-PMPI_FILE_SET_SIZE
-PMPI_FILE_SET_VIEW
-PMPI_FILE_SYNC
-PMPI_FILE_WRITE
-PMPI_FILE_WRITE_ALL
-PMPI_FILE_WRITE_ALL_BEGIN
-PMPI_FILE_WRITE_ALL_END
-PMPI_FILE_WRITE_AT
-PMPI_FILE_WRITE_AT_ALL
-PMPI_FILE_WRITE_AT_ALL_BEGIN
-PMPI_FILE_WRITE_AT_ALL_END
-PMPI_FILE_WRITE_ORDERED
-PMPI_FILE_WRITE_ORDERED_BEGIN
-PMPI_FILE_WRITE_ORDERED_END
-PMPI_FILE_WRITE_SHARED
-PMPI_FINALIZE
-PMPI_FINALIZED
-PMPI_FREE_MEM
-PMPI_Fetch_and_op@28
-PMPI_File_c2f@4
-PMPI_File_call_errhandler@8
-PMPI_File_close@4
-PMPI_File_create_errhandler@8
-PMPI_File_delete@8
-PMPI_File_f2c@4
-PMPI_File_get_amode@8
-PMPI_File_get_atomicity@8
-PMPI_File_get_byte_offset@16
-PMPI_File_get_errhandler@8
-PMPI_File_get_group@8
-PMPI_File_get_info@8
-PMPI_File_get_position@8
-PMPI_File_get_position_shared@8
-PMPI_File_get_size@8
-PMPI_File_get_type_extent@12
-PMPI_File_get_view@20
-PMPI_File_iread@20
-PMPI_File_iread_at@28
-PMPI_File_iread_shared@20
-PMPI_File_iwrite@20
-PMPI_File_iwrite_at@28
-PMPI_File_iwrite_shared@20
-PMPI_File_open@20
-PMPI_File_preallocate@12
-PMPI_File_read@20
-PMPI_File_read_all@20
-PMPI_File_read_all_begin@16
-PMPI_File_read_all_end@12
-PMPI_File_read_at@28
-PMPI_File_read_at_all@28
-PMPI_File_read_at_all_begin@24
-PMPI_File_read_at_all_end@12
-PMPI_File_read_ordered@20
-PMPI_File_read_ordered_begin@16
-PMPI_File_read_ordered_end@12
-PMPI_File_read_shared@20
-PMPI_File_seek@16
-PMPI_File_seek_shared@16
-PMPI_File_set_atomicity@8
-PMPI_File_set_errhandler@8
-PMPI_File_set_info@8
-PMPI_File_set_size@12
-PMPI_File_set_view@28
-PMPI_File_sync@4
-PMPI_File_write@20
-PMPI_File_write_all@20
-PMPI_File_write_all_begin@16
-PMPI_File_write_all_end@12
-PMPI_File_write_at@28
-PMPI_File_write_at_all@28
-PMPI_File_write_at_all_begin@24
-PMPI_File_write_at_all_end@12
-PMPI_File_write_ordered@20
-PMPI_File_write_ordered_begin@16
-PMPI_File_write_ordered_end@12
-PMPI_File_write_shared@20
-PMPI_Finalize
-PMPI_Finalized@4
-PMPI_Free_mem@4
-PMPI_GATHER
-PMPI_GATHERV
-PMPI_GET
-PMPI_GET_ACCUMULATE
-PMPI_GET_ADDRESS
-PMPI_GET_COUNT
-PMPI_GET_ELEMENTS
-PMPI_GET_ELEMENTS_X
-PMPI_GET_LIBRARY_VERSION
-PMPI_GET_PROCESSOR_NAME
-PMPI_GET_VERSION
-PMPI_GRAPHDIMS_GET
-PMPI_GRAPH_CREATE
-PMPI_GRAPH_GET
-PMPI_GRAPH_MAP
-PMPI_GRAPH_NEIGHBORS
-PMPI_GRAPH_NEIGHBORS_COUNT
-PMPI_GREQUEST_COMPLETE
-PMPI_GREQUEST_START
-PMPI_GROUP_COMPARE
-PMPI_GROUP_DIFFERENCE
-PMPI_GROUP_EXCL
-PMPI_GROUP_FREE
-PMPI_GROUP_INCL
-PMPI_GROUP_INTERSECTION
-PMPI_GROUP_RANGE_EXCL
-PMPI_GROUP_RANGE_INCL
-PMPI_GROUP_RANK
-PMPI_GROUP_SIZE
-PMPI_GROUP_TRANSLATE_RANKS
-PMPI_GROUP_UNION
-PMPI_Gather@32
-PMPI_Gatherv@36
-PMPI_Get@32
-PMPI_Get_accumulate@48
-PMPI_Get_address@8
-PMPI_Get_count@12
-PMPI_Get_elements@12
-PMPI_Get_elements_x@12
-PMPI_Get_library_version@8
-PMPI_Get_processor_name@8
-PMPI_Get_version@8
-PMPI_Graph_create@24
-PMPI_Graph_get@20
-PMPI_Graph_map@20
-PMPI_Graph_neighbors@16
-PMPI_Graph_neighbors_count@12
-PMPI_Graphdims_get@12
-PMPI_Grequest_complete@4
-PMPI_Grequest_start@20
-PMPI_Group_compare@12
-PMPI_Group_difference@12
-PMPI_Group_excl@16
-PMPI_Group_free@4
-PMPI_Group_incl@16
-PMPI_Group_intersection@12
-PMPI_Group_range_excl@16
-PMPI_Group_range_incl@16
-PMPI_Group_rank@8
-PMPI_Group_size@8
-PMPI_Group_translate_ranks@20
-PMPI_Group_union@12
-PMPI_IALLGATHER
-PMPI_IALLGATHERV
-PMPI_IALLREDUCE
-PMPI_IALLTOALL
-PMPI_IALLTOALLV
-PMPI_IALLTOALLW
-PMPI_IBARRIER
-PMPI_IBCAST
-PMPI_IBSEND
-PMPI_IEXSCAN
-PMPI_IGATHER
-PMPI_IGATHERV
-PMPI_IMPROBE
-PMPI_IMRECV
-PMPI_INFO_CREATE
-PMPI_INFO_DELETE
-PMPI_INFO_DUP
-PMPI_INFO_FREE
-PMPI_INFO_GET
-PMPI_INFO_GET_NKEYS
-PMPI_INFO_GET_NTHKEY
-PMPI_INFO_GET_VALUELEN
-PMPI_INFO_SET
-PMPI_INIT
-PMPI_INITIALIZED
-PMPI_INIT_THREAD
-PMPI_INTERCOMM_CREATE
-PMPI_INTERCOMM_MERGE
-PMPI_IPROBE
-PMPI_IRECV
-PMPI_IREDUCE
-PMPI_IREDUCE_SCATTER
-PMPI_IREDUCE_SCATTER_BLOCK
-PMPI_IRSEND
-PMPI_ISCAN
-PMPI_ISCATTER
-PMPI_ISCATTERV
-PMPI_ISEND
-PMPI_ISSEND
-PMPI_IS_THREAD_MAIN
-PMPI_Iallgather@32
-PMPI_Iallgatherv@36
-PMPI_Iallreduce@28
-PMPI_Ialltoall@32
-PMPI_Ialltoallv@40
-PMPI_Ialltoallw@40
-PMPI_Ibarrier@8
-PMPI_Ibcast@24
-PMPI_Ibsend@28
-PMPI_Iexscan@28
-PMPI_Igather@36
-PMPI_Igatherv@40
-PMPI_Improbe@24
-PMPI_Imrecv@20
-PMPI_Info_create@4
-PMPI_Info_delete@8
-PMPI_Info_dup@8
-PMPI_Info_free@4
-PMPI_Info_get@20
-PMPI_Info_get_nkeys@8
-PMPI_Info_get_nthkey@12
-PMPI_Info_get_valuelen@16
-PMPI_Info_set@12
-PMPI_Init@8
-PMPI_Init_thread@16
-PMPI_Initialized@4
-PMPI_Intercomm_create@24
-PMPI_Intercomm_merge@12
-PMPI_Iprobe@20
-PMPI_Irecv@28
-PMPI_Ireduce@32
-PMPI_Ireduce_scatter@28
-PMPI_Ireduce_scatter_block@28
-PMPI_Irsend@28
-PMPI_Is_thread_main@4
-PMPI_Iscan@28
-PMPI_Iscatter@36
-PMPI_Iscatterv@40
-PMPI_Isend@28
-PMPI_Issend@28
-PMPI_KEYVAL_CREATE
-PMPI_KEYVAL_FREE
-PMPI_Keyval_create@16
-PMPI_Keyval_free@4
-PMPI_LOOKUP_NAME
-PMPI_Lookup_name@12
-PMPI_MPROBE
-PMPI_MRECV
-PMPI_Mprobe@20
-PMPI_Mrecv@20
-PMPI_NULL_COPY_FN
-PMPI_NULL_DELETE_FN
-PMPI_OPEN_PORT
-PMPI_OP_COMMUTATIVE
-PMPI_OP_CREATE
-PMPI_OP_FREE
-PMPI_Op_commutative@8
-PMPI_Op_create@12
-PMPI_Op_free@4
-PMPI_Open_port@8
-PMPI_PACK
-PMPI_PACK_EXTERNAL
-PMPI_PACK_EXTERNAL_SIZE
-PMPI_PACK_SIZE
-PMPI_PCONTROL
-PMPI_PROBE
-PMPI_PUBLISH_NAME
-PMPI_PUT
-PMPI_Pack@28
-PMPI_Pack_external@28
-PMPI_Pack_external_size@16
-PMPI_Pack_size@16
-PMPI_Pcontrol
-PMPI_Probe@16
-PMPI_Publish_name@12
-PMPI_Put@32
-PMPI_QUERY_THREAD
-PMPI_Query_thread@4
-PMPI_RACCUMULATE
-PMPI_RECV
-PMPI_RECV_INIT
-PMPI_REDUCE
-PMPI_REDUCE_LOCAL
-PMPI_REDUCE_SCATTER
-PMPI_REDUCE_SCATTER_block
-PMPI_REGISTER_DATAREP
-PMPI_REQUEST_FREE
-PMPI_REQUEST_GET_STATUS
-PMPI_RGET
-PMPI_RGET_ACCUMULATE
-PMPI_RPUT
-PMPI_RSEND
-PMPI_RSEND_INIT
-PMPI_Raccumulate@40
-PMPI_Recv@28
-PMPI_Recv_init@28
-PMPI_Reduce@28
-PMPI_Reduce_local@20
-PMPI_Reduce_scatter@24
-PMPI_Reduce_scatter_block@24
-PMPI_Register_datarep@20
-PMPI_Request_free@4
-PMPI_Request_get_status@12
-PMPI_Rget@36
-PMPI_Rget_accumulate@52
-PMPI_Rput@36
-PMPI_Rsend@24
-PMPI_Rsend_init@28
-PMPI_SCAN
-PMPI_SCATTER
-PMPI_SCATTERV
-PMPI_SEND
-PMPI_SENDRECV
-PMPI_SENDRECV_REPLACE
-PMPI_SEND_INIT
-PMPI_SSEND
-PMPI_SSEND_INIT
-PMPI_START
-PMPI_STARTALL
-PMPI_STATUS_C2F
-PMPI_STATUS_F2C
-PMPI_STATUS_SET_CANCELLED
-PMPI_STATUS_SET_ELEMENTS
-PMPI_STATUS_SET_ELEMENTS_X
-PMPI_Scan@24
-PMPI_Scatter@32
-PMPI_Scatterv@36
-PMPI_Send@24
-PMPI_Send_init@28
-PMPI_Sendrecv@48
-PMPI_Sendrecv_replace@36
-PMPI_Ssend@24
-PMPI_Ssend_init@28
-PMPI_Start@4
-PMPI_Startall@8
-PMPI_Status_c2f@8
-PMPI_Status_f2c@8
-PMPI_Status_set_cancelled@8
-PMPI_Status_set_elements@12
-PMPI_Status_set_elements_x@16
-PMPI_TEST
-PMPI_TESTALL
-PMPI_TESTANY
-PMPI_TESTSOME
-PMPI_TEST_CANCELLED
-PMPI_TOPO_TEST
-PMPI_TYPE_COMMIT
-PMPI_TYPE_CONTIGUOUS
-PMPI_TYPE_CREATE_DARRAY
-PMPI_TYPE_CREATE_F90_COMPLEX
-PMPI_TYPE_CREATE_F90_INTEGER
-PMPI_TYPE_CREATE_F90_REAL
-PMPI_TYPE_CREATE_HINDEXED
-PMPI_TYPE_CREATE_HINDEXED_BLOCK
-PMPI_TYPE_CREATE_HVECTOR
-PMPI_TYPE_CREATE_INDEXED_BLOCK
-PMPI_TYPE_CREATE_KEYVAL
-PMPI_TYPE_CREATE_RESIZED
-PMPI_TYPE_CREATE_STRUCT
-PMPI_TYPE_CREATE_SUBARRAY
-PMPI_TYPE_DELETE_ATTR
-PMPI_TYPE_DUP
-PMPI_TYPE_DUP_FN
-PMPI_TYPE_EXTENT
-PMPI_TYPE_FREE
-PMPI_TYPE_FREE_KEYVAL
-PMPI_TYPE_GET_ATTR
-PMPI_TYPE_GET_CONTENTS
-PMPI_TYPE_GET_ENVELOPE
-PMPI_TYPE_GET_EXTENT
-PMPI_TYPE_GET_EXTENT_X
-PMPI_TYPE_GET_NAME
-PMPI_TYPE_GET_TRUE_EXTENT
-PMPI_TYPE_GET_TRUE_EXTENT_X
-PMPI_TYPE_HINDEXED
-PMPI_TYPE_HVECTOR
-PMPI_TYPE_INDEXED
-PMPI_TYPE_LB
-PMPI_TYPE_MATCH_SIZE
-PMPI_TYPE_NULL_COPY_FN
-PMPI_TYPE_NULL_DELETE_FN
-PMPI_TYPE_SET_ATTR
-PMPI_TYPE_SET_NAME
-PMPI_TYPE_SIZE
-PMPI_TYPE_SIZE_X
-PMPI_TYPE_STRUCT
-PMPI_TYPE_UB
-PMPI_TYPE_VECTOR
-PMPI_Test@12
-PMPI_Test_cancelled@8
-PMPI_Testall@16
-PMPI_Testany@20
-PMPI_Testsome@20
-PMPI_Topo_test@8
-PMPI_Type_commit@4
-PMPI_Type_contiguous@12
-PMPI_Type_create_darray@40
-PMPI_Type_create_f90_complex@12
-PMPI_Type_create_f90_integer@8
-PMPI_Type_create_f90_real@12
-PMPI_Type_create_hindexed@20
-PMPI_Type_create_hindexed_block@20
-PMPI_Type_create_hvector@20
-PMPI_Type_create_indexed_block@20
-PMPI_Type_create_keyval@16
-PMPI_Type_create_resized@16
-PMPI_Type_create_struct@20
-PMPI_Type_create_subarray@28
-PMPI_Type_delete_attr@8
-PMPI_Type_dup@8
-PMPI_Type_extent@8
-PMPI_Type_free@4
-PMPI_Type_free_keyval@4
-PMPI_Type_get_attr@16
-PMPI_Type_get_contents@28
-PMPI_Type_get_envelope@20
-PMPI_Type_get_extent@12
-PMPI_Type_get_extent_x@12
-PMPI_Type_get_name@12
-PMPI_Type_get_true_extent@12
-PMPI_Type_get_true_extent_x@12
-PMPI_Type_hindexed@20
-PMPI_Type_hvector@20
-PMPI_Type_indexed@20
-PMPI_Type_lb@8
-PMPI_Type_match_size@12
-PMPI_Type_set_attr@12
-PMPI_Type_set_name@8
-PMPI_Type_size@8
-PMPI_Type_size_x@8
-PMPI_Type_struct@20
-PMPI_Type_ub@8
-PMPI_Type_vector@20
-PMPI_UNPACK
-PMPI_UNPACK_EXTERNAL
-PMPI_UNPUBLISH_NAME
-PMPI_Unpack@28
-PMPI_Unpack_external@28
-PMPI_Unpublish_name@12
-PMPI_WAIT
-PMPI_WAITALL
-PMPI_WAITANY
-PMPI_WAITSOME
-PMPI_WIN_ALLOCATE
-PMPI_WIN_ALLOCATE_SHARED
-PMPI_WIN_ATTACH
-PMPI_WIN_CALL_ERRHANDLER
-PMPI_WIN_COMPLETE
-PMPI_WIN_CREATE
-PMPI_WIN_CREATE_DYNAMIC
-PMPI_WIN_CREATE_ERRHANDLER
-PMPI_WIN_CREATE_KEYVAL
-PMPI_WIN_DELETE_ATTR
-PMPI_WIN_DETACH
-PMPI_WIN_DUP_FN
-PMPI_WIN_FENCE
-PMPI_WIN_FLUSH
-PMPI_WIN_FLUSH_ALL
-PMPI_WIN_FLUSH_LOCAL
-PMPI_WIN_FLUSH_LOCAL_ALL
-PMPI_WIN_FREE
-PMPI_WIN_FREE_KEYVAL
-PMPI_WIN_GET_ATTR
-PMPI_WIN_GET_ERRHANDLER
-PMPI_WIN_GET_GROUP
-PMPI_WIN_GET_NAME
-PMPI_WIN_LOCK
-PMPI_WIN_LOCK_ALL
-PMPI_WIN_NULL_COPY_FN
-PMPI_WIN_NULL_DELETE_FN
-PMPI_WIN_POST
-PMPI_WIN_SET_ATTR
-PMPI_WIN_SET_ERRHANDLER
-PMPI_WIN_SET_NAME
-PMPI_WIN_SHARED_QUERY
-PMPI_WIN_START
-PMPI_WIN_SYNC
-PMPI_WIN_TEST
-PMPI_WIN_UNLOCK
-PMPI_WIN_UNLOCK_ALL
-PMPI_WIN_WAIT
-PMPI_WTICK
-PMPI_WTIME
-PMPI_Wait@8
-PMPI_Waitall@12
-PMPI_Waitany@16
-PMPI_Waitsome@20
-PMPI_Win_allocate@24
-PMPI_Win_allocate_shared@24
-PMPI_Win_attach@12
-PMPI_Win_call_errhandler@8
-PMPI_Win_complete@4
-PMPI_Win_create@24
-PMPI_Win_create_dynamic@12
-PMPI_Win_create_errhandler@8
-PMPI_Win_create_keyval@16
-PMPI_Win_delete_attr@8
-PMPI_Win_detach@8
-PMPI_Win_fence@8
-PMPI_Win_flush@8
-PMPI_Win_flush_all@4
-PMPI_Win_flush_local@8
-PMPI_Win_flush_local_all@4
-PMPI_Win_free@4
-PMPI_Win_free_keyval@4
-PMPI_Win_get_attr@16
-PMPI_Win_get_errhandler@8
-PMPI_Win_get_group@8
-PMPI_Win_get_name@12
-PMPI_Win_lock@16
-PMPI_Win_lock_all@8
-PMPI_Win_post@12
-PMPI_Win_set_attr@12
-PMPI_Win_set_errhandler@8
-PMPI_Win_set_name@8
-PMPI_Win_shared_query@20
-PMPI_Win_start@12
-PMPI_Win_sync@4
-PMPI_Win_test@8
-PMPI_Win_unlock@8
-PMPI_Win_unlock_all@4
-PMPI_Win_wait@4
-PMPI_Wtick
-PMPI_Wtime
-PMSMPI_GET_BSEND_OVERHEAD
-PMSMPI_GET_VERSION
-PMSMPI_Get_bsend_overhead
-PMSMPI_Get_version
-_mpifcmb5 DATA
-_mpifcmb5_ DATA
-_mpifcmb9 DATA
-_mpifcmb9_ DATA
-_mpipriv1 DATA
-_mpipriv1_ DATA
-_mpipriv2 DATA
-_mpipriv2_ DATA
-_mpiprivc DATA
-_mpiprivc_ DATA
-mpi_abort
-mpi_abort_
-mpi_abort__
-mpi_accumulate
-mpi_accumulate_
-mpi_accumulate__
-mpi_add_error_class
-mpi_add_error_class_
-mpi_add_error_class__
-mpi_add_error_code
-mpi_add_error_code_
-mpi_add_error_code__
-mpi_add_error_string
-mpi_add_error_string_
-mpi_add_error_string__
-mpi_address
-mpi_address_
-mpi_address__
-mpi_aint_add
-mpi_aint_add_
-mpi_aint_add__
-mpi_aint_diff
-mpi_aint_diff_
-mpi_aint_diff__
-mpi_allgather
-mpi_allgather_
-mpi_allgather__
-mpi_allgatherv
-mpi_allgatherv_
-mpi_allgatherv__
-mpi_alloc_mem
-mpi_alloc_mem_
-mpi_alloc_mem__
-mpi_allreduce
-mpi_allreduce_
-mpi_allreduce__
-mpi_alltoall
-mpi_alltoall_
-mpi_alltoall__
-mpi_alltoallv
-mpi_alltoallv_
-mpi_alltoallv__
-mpi_alltoallw
-mpi_alltoallw_
-mpi_alltoallw__
-mpi_attr_delete
-mpi_attr_delete_
-mpi_attr_delete__
-mpi_attr_get
-mpi_attr_get_
-mpi_attr_get__
-mpi_attr_put
-mpi_attr_put_
-mpi_attr_put__
-mpi_barrier
-mpi_barrier_
-mpi_barrier__
-mpi_bcast
-mpi_bcast_
-mpi_bcast__
-mpi_bsend
-mpi_bsend_
-mpi_bsend__
-mpi_bsend_init
-mpi_bsend_init_
-mpi_bsend_init__
-mpi_buffer_attach
-mpi_buffer_attach_
-mpi_buffer_attach__
-mpi_buffer_detach
-mpi_buffer_detach_
-mpi_buffer_detach__
-mpi_cancel
-mpi_cancel_
-mpi_cancel__
-mpi_cart_coords
-mpi_cart_coords_
-mpi_cart_coords__
-mpi_cart_create
-mpi_cart_create_
-mpi_cart_create__
-mpi_cart_get
-mpi_cart_get_
-mpi_cart_get__
-mpi_cart_map
-mpi_cart_map_
-mpi_cart_map__
-mpi_cart_rank
-mpi_cart_rank_
-mpi_cart_rank__
-mpi_cart_shift
-mpi_cart_shift_
-mpi_cart_shift__
-mpi_cart_sub
-mpi_cart_sub_
-mpi_cart_sub__
-mpi_cartdim_get
-mpi_cartdim_get_
-mpi_cartdim_get__
-mpi_close_port
-mpi_close_port_
-mpi_close_port__
-mpi_comm_accept
-mpi_comm_accept_
-mpi_comm_accept__
-mpi_comm_call_errhandler
-mpi_comm_call_errhandler_
-mpi_comm_call_errhandler__
-mpi_comm_compare
-mpi_comm_compare_
-mpi_comm_compare__
-mpi_comm_connect
-mpi_comm_connect_
-mpi_comm_connect__
-mpi_comm_create
-mpi_comm_create_
-mpi_comm_create__
-mpi_comm_create_errhandler
-mpi_comm_create_errhandler_
-mpi_comm_create_errhandler__
-mpi_comm_create_keyval
-mpi_comm_create_keyval_
-mpi_comm_create_keyval__
-mpi_comm_delete_attr
-mpi_comm_delete_attr_
-mpi_comm_delete_attr__
-mpi_comm_disconnect
-mpi_comm_disconnect_
-mpi_comm_disconnect__
-mpi_comm_dup
-mpi_comm_dup_
-mpi_comm_dup__
-mpi_comm_dup_fn
-mpi_comm_dup_fn_
-mpi_comm_dup_fn__
-mpi_comm_free
-mpi_comm_free_
-mpi_comm_free__
-mpi_comm_free_keyval
-mpi_comm_free_keyval_
-mpi_comm_free_keyval__
-mpi_comm_get_attr
-mpi_comm_get_attr_
-mpi_comm_get_attr__
-mpi_comm_get_errhandler
-mpi_comm_get_errhandler_
-mpi_comm_get_errhandler__
-mpi_comm_get_name
-mpi_comm_get_name_
-mpi_comm_get_name__
-mpi_comm_get_parent
-mpi_comm_get_parent_
-mpi_comm_get_parent__
-mpi_comm_group
-mpi_comm_group_
-mpi_comm_group__
-mpi_comm_join
-mpi_comm_join_
-mpi_comm_join__
-mpi_comm_null_copy_fn
-mpi_comm_null_copy_fn_
-mpi_comm_null_copy_fn__
-mpi_comm_null_delete_fn
-mpi_comm_null_delete_fn_
-mpi_comm_null_delete_fn__
-mpi_comm_rank
-mpi_comm_rank_
-mpi_comm_rank__
-mpi_comm_remote_group
-mpi_comm_remote_group_
-mpi_comm_remote_group__
-mpi_comm_remote_size
-mpi_comm_remote_size_
-mpi_comm_remote_size__
-mpi_comm_set_attr
-mpi_comm_set_attr_
-mpi_comm_set_attr__
-mpi_comm_set_errhandler
-mpi_comm_set_errhandler_
-mpi_comm_set_errhandler__
-mpi_comm_set_name
-mpi_comm_set_name_
-mpi_comm_set_name__
-mpi_comm_size
-mpi_comm_size_
-mpi_comm_size__
-mpi_comm_spawn
-mpi_comm_spawn_
-mpi_comm_spawn__
-mpi_comm_spawn_multiple
-mpi_comm_spawn_multiple_
-mpi_comm_spawn_multiple__
-mpi_comm_split
-mpi_comm_split_
-mpi_comm_split__
-mpi_comm_split_type
-mpi_comm_split_type_
-mpi_comm_split_type__
-mpi_comm_test_inter
-mpi_comm_test_inter_
-mpi_comm_test_inter__
-mpi_compare_and_swap
-mpi_compare_and_swap_
-mpi_compare_and_swap__
-mpi_conversion_fn_null
-mpi_conversion_fn_null_
-mpi_conversion_fn_null__
-mpi_dims_create
-mpi_dims_create_
-mpi_dims_create__
-mpi_dist_graph_create
-mpi_dist_graph_create_
-mpi_dist_graph_create__
-mpi_dist_graph_create_adjacent
-mpi_dist_graph_create_adjacent_
-mpi_dist_graph_create_adjacent__
-mpi_dist_graph_neighbors
-mpi_dist_graph_neighbors_
-mpi_dist_graph_neighbors__
-mpi_dist_graph_neighbors_count
-mpi_dist_graph_neighbors_count_
-mpi_dist_graph_neighbors_count__
-mpi_dup_fn
-mpi_dup_fn_
-mpi_dup_fn__
-mpi_errhandler_create
-mpi_errhandler_create_
-mpi_errhandler_create__
-mpi_errhandler_free
-mpi_errhandler_free_
-mpi_errhandler_free__
-mpi_errhandler_get
-mpi_errhandler_get_
-mpi_errhandler_get__
-mpi_errhandler_set
-mpi_errhandler_set_
-mpi_errhandler_set__
-mpi_error_class
-mpi_error_class_
-mpi_error_class__
-mpi_error_string
-mpi_error_string_
-mpi_error_string__
-mpi_exscan
-mpi_exscan_
-mpi_exscan__
-mpi_fetch_and_op
-mpi_fetch_and_op_
-mpi_fetch_and_op__
-mpi_file_call_errhandler
-mpi_file_call_errhandler_
-mpi_file_call_errhandler__
-mpi_file_close
-mpi_file_close_
-mpi_file_close__
-mpi_file_create_errhandler
-mpi_file_create_errhandler_
-mpi_file_create_errhandler__
-mpi_file_delete
-mpi_file_delete_
-mpi_file_delete__
-mpi_file_get_amode
-mpi_file_get_amode_
-mpi_file_get_amode__
-mpi_file_get_atomicity
-mpi_file_get_atomicity_
-mpi_file_get_atomicity__
-mpi_file_get_byte_offset
-mpi_file_get_byte_offset_
-mpi_file_get_byte_offset__
-mpi_file_get_errhandler
-mpi_file_get_errhandler_
-mpi_file_get_errhandler__
-mpi_file_get_group
-mpi_file_get_group_
-mpi_file_get_group__
-mpi_file_get_info
-mpi_file_get_info_
-mpi_file_get_info__
-mpi_file_get_position
-mpi_file_get_position_
-mpi_file_get_position__
-mpi_file_get_position_shared
-mpi_file_get_position_shared_
-mpi_file_get_position_shared__
-mpi_file_get_size
-mpi_file_get_size_
-mpi_file_get_size__
-mpi_file_get_type_extent
-mpi_file_get_type_extent_
-mpi_file_get_type_extent__
-mpi_file_get_view
-mpi_file_get_view_
-mpi_file_get_view__
-mpi_file_iread
-mpi_file_iread_
-mpi_file_iread__
-mpi_file_iread_at
-mpi_file_iread_at_
-mpi_file_iread_at__
-mpi_file_iread_shared
-mpi_file_iread_shared_
-mpi_file_iread_shared__
-mpi_file_iwrite
-mpi_file_iwrite_
-mpi_file_iwrite__
-mpi_file_iwrite_at
-mpi_file_iwrite_at_
-mpi_file_iwrite_at__
-mpi_file_iwrite_shared
-mpi_file_iwrite_shared_
-mpi_file_iwrite_shared__
-mpi_file_open
-mpi_file_open_
-mpi_file_open__
-mpi_file_preallocate
-mpi_file_preallocate_
-mpi_file_preallocate__
-mpi_file_read
-mpi_file_read_
-mpi_file_read__
-mpi_file_read_all
-mpi_file_read_all_
-mpi_file_read_all__
-mpi_file_read_all_begin
-mpi_file_read_all_begin_
-mpi_file_read_all_begin__
-mpi_file_read_all_end
-mpi_file_read_all_end_
-mpi_file_read_all_end__
-mpi_file_read_at
-mpi_file_read_at_
-mpi_file_read_at__
-mpi_file_read_at_all
-mpi_file_read_at_all_
-mpi_file_read_at_all__
-mpi_file_read_at_all_begin
-mpi_file_read_at_all_begin_
-mpi_file_read_at_all_begin__
-mpi_file_read_at_all_end
-mpi_file_read_at_all_end_
-mpi_file_read_at_all_end__
-mpi_file_read_ordered
-mpi_file_read_ordered_
-mpi_file_read_ordered__
-mpi_file_read_ordered_begin
-mpi_file_read_ordered_begin_
-mpi_file_read_ordered_begin__
-mpi_file_read_ordered_end
-mpi_file_read_ordered_end_
-mpi_file_read_ordered_end__
-mpi_file_read_shared
-mpi_file_read_shared_
-mpi_file_read_shared__
-mpi_file_seek
-mpi_file_seek_
-mpi_file_seek__
-mpi_file_seek_shared
-mpi_file_seek_shared_
-mpi_file_seek_shared__
-mpi_file_set_atomicity
-mpi_file_set_atomicity_
-mpi_file_set_atomicity__
-mpi_file_set_errhandler
-mpi_file_set_errhandler_
-mpi_file_set_errhandler__
-mpi_file_set_info
-mpi_file_set_info_
-mpi_file_set_info__
-mpi_file_set_size
-mpi_file_set_size_
-mpi_file_set_size__
-mpi_file_set_view
-mpi_file_set_view_
-mpi_file_set_view__
-mpi_file_sync
-mpi_file_sync_
-mpi_file_sync__
-mpi_file_write
-mpi_file_write_
-mpi_file_write__
-mpi_file_write_all
-mpi_file_write_all_
-mpi_file_write_all__
-mpi_file_write_all_begin
-mpi_file_write_all_begin_
-mpi_file_write_all_begin__
-mpi_file_write_all_end
-mpi_file_write_all_end_
-mpi_file_write_all_end__
-mpi_file_write_at
-mpi_file_write_at_
-mpi_file_write_at__
-mpi_file_write_at_all
-mpi_file_write_at_all_
-mpi_file_write_at_all__
-mpi_file_write_at_all_begin
-mpi_file_write_at_all_begin_
-mpi_file_write_at_all_begin__
-mpi_file_write_at_all_end
-mpi_file_write_at_all_end_
-mpi_file_write_at_all_end__
-mpi_file_write_ordered
-mpi_file_write_ordered_
-mpi_file_write_ordered__
-mpi_file_write_ordered_begin
-mpi_file_write_ordered_begin_
-mpi_file_write_ordered_begin__
-mpi_file_write_ordered_end
-mpi_file_write_ordered_end_
-mpi_file_write_ordered_end__
-mpi_file_write_shared
-mpi_file_write_shared_
-mpi_file_write_shared__
-mpi_finalize
-mpi_finalize_
-mpi_finalize__
-mpi_finalized
-mpi_finalized_
-mpi_finalized__
-mpi_free_mem
-mpi_free_mem_
-mpi_free_mem__
-mpi_gather
-mpi_gather_
-mpi_gather__
-mpi_gatherv
-mpi_gatherv_
-mpi_gatherv__
-mpi_get
-mpi_get_
-mpi_get__
-mpi_get_accumulate
-mpi_get_accumulate_
-mpi_get_accumulate__
-mpi_get_address
-mpi_get_address_
-mpi_get_address__
-mpi_get_count
-mpi_get_count_
-mpi_get_count__
-mpi_get_elements
-mpi_get_elements_
-mpi_get_elements__
-mpi_get_elements_x
-mpi_get_elements_x_
-mpi_get_elements_x__
-mpi_get_library_version
-mpi_get_library_version_
-mpi_get_library_version__
-mpi_get_processor_name
-mpi_get_processor_name_
-mpi_get_processor_name__
-mpi_get_version
-mpi_get_version_
-mpi_get_version__
-mpi_graph_create
-mpi_graph_create_
-mpi_graph_create__
-mpi_graph_get
-mpi_graph_get_
-mpi_graph_get__
-mpi_graph_map
-mpi_graph_map_
-mpi_graph_map__
-mpi_graph_neighbors
-mpi_graph_neighbors_
-mpi_graph_neighbors__
-mpi_graph_neighbors_count
-mpi_graph_neighbors_count_
-mpi_graph_neighbors_count__
-mpi_graphdims_get
-mpi_graphdims_get_
-mpi_graphdims_get__
-mpi_grequest_complete
-mpi_grequest_complete_
-mpi_grequest_complete__
-mpi_grequest_start
-mpi_grequest_start_
-mpi_grequest_start__
-mpi_group_compare
-mpi_group_compare_
-mpi_group_compare__
-mpi_group_difference
-mpi_group_difference_
-mpi_group_difference__
-mpi_group_excl
-mpi_group_excl_
-mpi_group_excl__
-mpi_group_free
-mpi_group_free_
-mpi_group_free__
-mpi_group_incl
-mpi_group_incl_
-mpi_group_incl__
-mpi_group_intersection
-mpi_group_intersection_
-mpi_group_intersection__
-mpi_group_range_excl
-mpi_group_range_excl_
-mpi_group_range_excl__
-mpi_group_range_incl
-mpi_group_range_incl_
-mpi_group_range_incl__
-mpi_group_rank
-mpi_group_rank_
-mpi_group_rank__
-mpi_group_size
-mpi_group_size_
-mpi_group_size__
-mpi_group_translate_ranks
-mpi_group_translate_ranks_
-mpi_group_translate_ranks__
-mpi_group_union
-mpi_group_union_
-mpi_group_union__
-mpi_iallgather
-mpi_iallgather_
-mpi_iallgather__
-mpi_iallgatherv
-mpi_iallgatherv_
-mpi_iallgatherv__
-mpi_iallreduce
-mpi_iallreduce_
-mpi_iallreduce__
-mpi_ialltoall
-mpi_ialltoall_
-mpi_ialltoall__
-mpi_ialltoallv
-mpi_ialltoallv_
-mpi_ialltoallv__
-mpi_ialltoallw
-mpi_ialltoallw_
-mpi_ialltoallw__
-mpi_ibarrier
-mpi_ibarrier_
-mpi_ibarrier__
-mpi_ibcast
-mpi_ibcast_
-mpi_ibcast__
-mpi_ibsend
-mpi_ibsend_
-mpi_ibsend__
-mpi_iexscan
-mpi_iexscan_
-mpi_iexscan__
-mpi_igather
-mpi_igather_
-mpi_igather__
-mpi_igatherv
-mpi_igatherv_
-mpi_igatherv__
-mpi_improbe
-mpi_improbe_
-mpi_improbe__
-mpi_imrecv
-mpi_imrecv_
-mpi_imrecv__
-mpi_info_create
-mpi_info_create_
-mpi_info_create__
-mpi_info_delete
-mpi_info_delete_
-mpi_info_delete__
-mpi_info_dup
-mpi_info_dup_
-mpi_info_dup__
-mpi_info_free
-mpi_info_free_
-mpi_info_free__
-mpi_info_get
-mpi_info_get_
-mpi_info_get__
-mpi_info_get_nkeys
-mpi_info_get_nkeys_
-mpi_info_get_nkeys__
-mpi_info_get_nthkey
-mpi_info_get_nthkey_
-mpi_info_get_nthkey__
-mpi_info_get_valuelen
-mpi_info_get_valuelen_
-mpi_info_get_valuelen__
-mpi_info_set
-mpi_info_set_
-mpi_info_set__
-mpi_init
-mpi_init_
-mpi_init__
-mpi_init_thread
-mpi_init_thread_
-mpi_init_thread__
-mpi_initialized
-mpi_initialized_
-mpi_initialized__
-mpi_intercomm_create
-mpi_intercomm_create_
-mpi_intercomm_create__
-mpi_intercomm_merge
-mpi_intercomm_merge_
-mpi_intercomm_merge__
-mpi_iprobe
-mpi_iprobe_
-mpi_iprobe__
-mpi_irecv
-mpi_irecv_
-mpi_irecv__
-mpi_ireduce
-mpi_ireduce_
-mpi_ireduce__
-mpi_ireduce_scatter
-mpi_ireduce_scatter_
-mpi_ireduce_scatter__
-mpi_ireduce_scatter_block
-mpi_ireduce_scatter_block_
-mpi_ireduce_scatter_block__
-mpi_irsend
-mpi_irsend_
-mpi_irsend__
-mpi_is_thread_main
-mpi_is_thread_main_
-mpi_is_thread_main__
-mpi_iscan
-mpi_iscan_
-mpi_iscan__
-mpi_iscatter
-mpi_iscatter_
-mpi_iscatter__
-mpi_iscatterv
-mpi_iscatterv_
-mpi_iscatterv__
-mpi_isend
-mpi_isend_
-mpi_isend__
-mpi_issend
-mpi_issend_
-mpi_issend__
-mpi_keyval_create
-mpi_keyval_create_
-mpi_keyval_create__
-mpi_keyval_free
-mpi_keyval_free_
-mpi_keyval_free__
-mpi_lookup_name
-mpi_lookup_name_
-mpi_lookup_name__
-mpi_mprobe
-mpi_mprobe_
-mpi_mprobe__
-mpi_mrecv
-mpi_mrecv_
-mpi_mrecv__
-mpi_null_copy_fn
-mpi_null_copy_fn_
-mpi_null_copy_fn__
-mpi_null_delete_fn
-mpi_null_delete_fn_
-mpi_null_delete_fn__
-mpi_op_commutative
-mpi_op_commutative_
-mpi_op_commutative__
-mpi_op_create
-mpi_op_create_
-mpi_op_create__
-mpi_op_free
-mpi_op_free_
-mpi_op_free__
-mpi_open_port
-mpi_open_port_
-mpi_open_port__
-mpi_pack
-mpi_pack_
-mpi_pack__
-mpi_pack_external
-mpi_pack_external_
-mpi_pack_external__
-mpi_pack_external_size
-mpi_pack_external_size_
-mpi_pack_external_size__
-mpi_pack_size
-mpi_pack_size_
-mpi_pack_size__
-mpi_pcontrol
-mpi_pcontrol_
-mpi_pcontrol__
-mpi_probe
-mpi_probe_
-mpi_probe__
-mpi_publish_name
-mpi_publish_name_
-mpi_publish_name__
-mpi_put
-mpi_put_
-mpi_put__
-mpi_query_thread
-mpi_query_thread_
-mpi_query_thread__
-mpi_raccumulate
-mpi_raccumulate_
-mpi_raccumulate__
-mpi_recv
-mpi_recv_
-mpi_recv__
-mpi_recv_init
-mpi_recv_init_
-mpi_recv_init__
-mpi_reduce
-mpi_reduce_
-mpi_reduce__
-mpi_reduce_local
-mpi_reduce_local_
-mpi_reduce_local__
-mpi_reduce_scatter
-mpi_reduce_scatter_
-mpi_reduce_scatter__
-mpi_reduce_scatter_block
-mpi_reduce_scatter_block_
-mpi_reduce_scatter_block__
-mpi_register_datarep
-mpi_register_datarep_
-mpi_register_datarep__
-mpi_request_free
-mpi_request_free_
-mpi_request_free__
-mpi_request_get_status
-mpi_request_get_status_
-mpi_request_get_status__
-mpi_rget
-mpi_rget_
-mpi_rget__
-mpi_rget_accumulate
-mpi_rget_accumulate_
-mpi_rget_accumulate__
-mpi_rput
-mpi_rput_
-mpi_rput__
-mpi_rsend
-mpi_rsend_
-mpi_rsend__
-mpi_rsend_init
-mpi_rsend_init_
-mpi_rsend_init__
-mpi_scan
-mpi_scan_
-mpi_scan__
-mpi_scatter
-mpi_scatter_
-mpi_scatter__
-mpi_scatterv
-mpi_scatterv_
-mpi_scatterv__
-mpi_send
-mpi_send_
-mpi_send__
-mpi_send_init
-mpi_send_init_
-mpi_send_init__
-mpi_sendrecv
-mpi_sendrecv_
-mpi_sendrecv__
-mpi_sendrecv_replace
-mpi_sendrecv_replace_
-mpi_sendrecv_replace__
-mpi_ssend
-mpi_ssend_
-mpi_ssend__
-mpi_ssend_init
-mpi_ssend_init_
-mpi_ssend_init__
-mpi_start
-mpi_start_
-mpi_start__
-mpi_startall
-mpi_startall_
-mpi_startall__
-mpi_status_c2f
-mpi_status_c2f_
-mpi_status_c2f__
-mpi_status_f2c
-mpi_status_f2c_
-mpi_status_f2c__
-mpi_status_set_cancelled
-mpi_status_set_cancelled_
-mpi_status_set_cancelled__
-mpi_status_set_elements
-mpi_status_set_elements_
-mpi_status_set_elements__
-mpi_status_set_elements_x
-mpi_status_set_elements_x_
-mpi_status_set_elements_x__
-mpi_test
-mpi_test_
-mpi_test__
-mpi_test_cancelled
-mpi_test_cancelled_
-mpi_test_cancelled__
-mpi_testall
-mpi_testall_
-mpi_testall__
-mpi_testany
-mpi_testany_
-mpi_testany__
-mpi_testsome
-mpi_testsome_
-mpi_testsome__
-mpi_topo_test
-mpi_topo_test_
-mpi_topo_test__
-mpi_type_commit
-mpi_type_commit_
-mpi_type_commit__
-mpi_type_contiguous
-mpi_type_contiguous_
-mpi_type_contiguous__
-mpi_type_create_darray
-mpi_type_create_darray_
-mpi_type_create_darray__
-mpi_type_create_f90_complex
-mpi_type_create_f90_complex_
-mpi_type_create_f90_complex__
-mpi_type_create_f90_integer
-mpi_type_create_f90_integer_
-mpi_type_create_f90_integer__
-mpi_type_create_f90_real
-mpi_type_create_f90_real_
-mpi_type_create_f90_real__
-mpi_type_create_hindexed
-mpi_type_create_hindexed_
-mpi_type_create_hindexed__
-mpi_type_create_hindexed_block
-mpi_type_create_hindexed_block_
-mpi_type_create_hindexed_block__
-mpi_type_create_hvector
-mpi_type_create_hvector_
-mpi_type_create_hvector__
-mpi_type_create_indexed_block
-mpi_type_create_indexed_block_
-mpi_type_create_indexed_block__
-mpi_type_create_keyval
-mpi_type_create_keyval_
-mpi_type_create_keyval__
-mpi_type_create_resized
-mpi_type_create_resized_
-mpi_type_create_resized__
-mpi_type_create_struct
-mpi_type_create_struct_
-mpi_type_create_struct__
-mpi_type_create_subarray
-mpi_type_create_subarray_
-mpi_type_create_subarray__
-mpi_type_delete_attr
-mpi_type_delete_attr_
-mpi_type_delete_attr__
-mpi_type_dup
-mpi_type_dup_
-mpi_type_dup__
-mpi_type_dup_fn
-mpi_type_dup_fn_
-mpi_type_dup_fn__
-mpi_type_extent
-mpi_type_extent_
-mpi_type_extent__
-mpi_type_free
-mpi_type_free_
-mpi_type_free__
-mpi_type_free_keyval
-mpi_type_free_keyval_
-mpi_type_free_keyval__
-mpi_type_get_attr
-mpi_type_get_attr_
-mpi_type_get_attr__
-mpi_type_get_contents
-mpi_type_get_contents_
-mpi_type_get_contents__
-mpi_type_get_envelope
-mpi_type_get_envelope_
-mpi_type_get_envelope__
-mpi_type_get_extent
-mpi_type_get_extent_
-mpi_type_get_extent__
-mpi_type_get_extent_x
-mpi_type_get_extent_x_
-mpi_type_get_extent_x__
-mpi_type_get_name
-mpi_type_get_name_
-mpi_type_get_name__
-mpi_type_get_true_extent
-mpi_type_get_true_extent_
-mpi_type_get_true_extent__
-mpi_type_get_true_extent_x
-mpi_type_get_true_extent_x_
-mpi_type_get_true_extent_x__
-mpi_type_hindexed
-mpi_type_hindexed_
-mpi_type_hindexed__
-mpi_type_hvector
-mpi_type_hvector_
-mpi_type_hvector__
-mpi_type_indexed
-mpi_type_indexed_
-mpi_type_indexed__
-mpi_type_lb
-mpi_type_lb_
-mpi_type_lb__
-mpi_type_match_size
-mpi_type_match_size_
-mpi_type_match_size__
-mpi_type_null_copy_fn
-mpi_type_null_copy_fn_
-mpi_type_null_copy_fn__
-mpi_type_null_delete_fn
-mpi_type_null_delete_fn_
-mpi_type_null_delete_fn__
-mpi_type_set_attr
-mpi_type_set_attr_
-mpi_type_set_attr__
-mpi_type_set_name
-mpi_type_set_name_
-mpi_type_set_name__
-mpi_type_size
-mpi_type_size_
-mpi_type_size__
-mpi_type_size_x
-mpi_type_size_x_
-mpi_type_size_x__
-mpi_type_struct
-mpi_type_struct_
-mpi_type_struct__
-mpi_type_ub
-mpi_type_ub_
-mpi_type_ub__
-mpi_type_vector
-mpi_type_vector_
-mpi_type_vector__
-mpi_unpack
-mpi_unpack_
-mpi_unpack__
-mpi_unpack_external
-mpi_unpack_external_
-mpi_unpack_external__
-mpi_unpublish_name
-mpi_unpublish_name_
-mpi_unpublish_name__
-mpi_wait
-mpi_wait_
-mpi_wait__
-mpi_waitall
-mpi_waitall_
-mpi_waitall__
-mpi_waitany
-mpi_waitany_
-mpi_waitany__
-mpi_waitsome
-mpi_waitsome_
-mpi_waitsome__
-mpi_win_allocate
-mpi_win_allocate_
-mpi_win_allocate__
-mpi_win_allocate_shared
-mpi_win_allocate_shared_
-mpi_win_allocate_shared__
-mpi_win_attach
-mpi_win_attach_
-mpi_win_attach__
-mpi_win_call_errhandler
-mpi_win_call_errhandler_
-mpi_win_call_errhandler__
-mpi_win_complete
-mpi_win_complete_
-mpi_win_complete__
-mpi_win_create
-mpi_win_create_
-mpi_win_create__
-mpi_win_create_dynamic
-mpi_win_create_dynamic_
-mpi_win_create_dynamic__
-mpi_win_create_errhandler
-mpi_win_create_errhandler_
-mpi_win_create_errhandler__
-mpi_win_create_keyval
-mpi_win_create_keyval_
-mpi_win_create_keyval__
-mpi_win_delete_attr
-mpi_win_delete_attr_
-mpi_win_delete_attr__
-mpi_win_detach
-mpi_win_detach_
-mpi_win_detach__
-mpi_win_dup_fn
-mpi_win_dup_fn_
-mpi_win_dup_fn__
-mpi_win_fence
-mpi_win_fence_
-mpi_win_fence__
-mpi_win_flush
-mpi_win_flush_
-mpi_win_flush__
-mpi_win_flush_all
-mpi_win_flush_all_
-mpi_win_flush_all__
-mpi_win_flush_local
-mpi_win_flush_local_
-mpi_win_flush_local__
-mpi_win_flush_local_all
-mpi_win_flush_local_all_
-mpi_win_flush_local_all__
-mpi_win_free
-mpi_win_free_
-mpi_win_free__
-mpi_win_free_keyval
-mpi_win_free_keyval_
-mpi_win_free_keyval__
-mpi_win_get_attr
-mpi_win_get_attr_
-mpi_win_get_attr__
-mpi_win_get_errhandler
-mpi_win_get_errhandler_
-mpi_win_get_errhandler__
-mpi_win_get_group
-mpi_win_get_group_
-mpi_win_get_group__
-mpi_win_get_name
-mpi_win_get_name_
-mpi_win_get_name__
-mpi_win_lock
-mpi_win_lock_
-mpi_win_lock__
-mpi_win_lock_all
-mpi_win_lock_all_
-mpi_win_lock_all__
-mpi_win_null_copy_fn
-mpi_win_null_copy_fn_
-mpi_win_null_copy_fn__
-mpi_win_null_delete_fn
-mpi_win_null_delete_fn_
-mpi_win_null_delete_fn__
-mpi_win_post
-mpi_win_post_
-mpi_win_post__
-mpi_win_set_attr
-mpi_win_set_attr_
-mpi_win_set_attr__
-mpi_win_set_errhandler
-mpi_win_set_errhandler_
-mpi_win_set_errhandler__
-mpi_win_set_name
-mpi_win_set_name_
-mpi_win_set_name__
-mpi_win_shared_query
-mpi_win_shared_query_
-mpi_win_shared_query__
-mpi_win_start
-mpi_win_start_
-mpi_win_start__
-mpi_win_sync
-mpi_win_sync_
-mpi_win_sync__
-mpi_win_test
-mpi_win_test_
-mpi_win_test__
-mpi_win_unlock
-mpi_win_unlock_
-mpi_win_unlock__
-mpi_win_unlock_all
-mpi_win_unlock_all_
-mpi_win_unlock_all__
-mpi_win_wait
-mpi_win_wait_
-mpi_win_wait__
-mpi_wtick
-mpi_wtick_
-mpi_wtick__
-mpi_wtime
-mpi_wtime_
-mpi_wtime__
-mpifcmb5 DATA
-mpifcmb5_ DATA
-mpifcmb9 DATA
-mpifcmb9_ DATA
-mpipriv1 DATA
-mpipriv1_ DATA
-mpipriv2 DATA
-mpipriv2_ DATA
-mpiprivc DATA
-mpiprivc_ DATA
-mqs_get_communicator@8
-mqs_next_communicator@4
-mqs_next_operation@8
-mqs_setup_basic_callbacks@4
-mqs_setup_communicator_iterator@4
-mqs_setup_image@8
-mqs_setup_operation_iterator@8
-mqs_setup_process@8
-mqs_update_communicator_list@4
-mqs_version_compatibility
-msmpi_get_bsend_overhead
-msmpi_get_bsend_overhead_
-msmpi_get_bsend_overhead__
-msmpi_get_version
-msmpi_get_version_
-msmpi_get_version__
-pmpi_abort
-pmpi_abort_
-pmpi_abort__
-pmpi_accumulate
-pmpi_accumulate_
-pmpi_accumulate__
-pmpi_add_error_class
-pmpi_add_error_class_
-pmpi_add_error_class__
-pmpi_add_error_code
-pmpi_add_error_code_
-pmpi_add_error_code__
-pmpi_add_error_string
-pmpi_add_error_string_
-pmpi_add_error_string__
-pmpi_address
-pmpi_address_
-pmpi_address__
-pmpi_aint_add
-pmpi_aint_add_
-pmpi_aint_add__
-pmpi_aint_diff
-pmpi_aint_diff_
-pmpi_aint_diff__
-pmpi_allgather
-pmpi_allgather_
-pmpi_allgather__
-pmpi_allgatherv
-pmpi_allgatherv_
-pmpi_allgatherv__
-pmpi_alloc_mem
-pmpi_alloc_mem_
-pmpi_alloc_mem__
-pmpi_allreduce
-pmpi_allreduce_
-pmpi_allreduce__
-pmpi_alltoall
-pmpi_alltoall_
-pmpi_alltoall__
-pmpi_alltoallv
-pmpi_alltoallv_
-pmpi_alltoallv__
-pmpi_alltoallw
-pmpi_alltoallw_
-pmpi_alltoallw__
-pmpi_attr_delete
-pmpi_attr_delete_
-pmpi_attr_delete__
-pmpi_attr_get
-pmpi_attr_get_
-pmpi_attr_get__
-pmpi_attr_put
-pmpi_attr_put_
-pmpi_attr_put__
-pmpi_barrier
-pmpi_barrier_
-pmpi_barrier__
-pmpi_bcast
-pmpi_bcast_
-pmpi_bcast__
-pmpi_bsend
-pmpi_bsend_
-pmpi_bsend__
-pmpi_bsend_init
-pmpi_bsend_init_
-pmpi_bsend_init__
-pmpi_buffer_attach
-pmpi_buffer_attach_
-pmpi_buffer_attach__
-pmpi_buffer_detach
-pmpi_buffer_detach_
-pmpi_buffer_detach__
-pmpi_cancel
-pmpi_cancel_
-pmpi_cancel__
-pmpi_cart_coords
-pmpi_cart_coords_
-pmpi_cart_coords__
-pmpi_cart_create
-pmpi_cart_create_
-pmpi_cart_create__
-pmpi_cart_get
-pmpi_cart_get_
-pmpi_cart_get__
-pmpi_cart_map
-pmpi_cart_map_
-pmpi_cart_map__
-pmpi_cart_rank
-pmpi_cart_rank_
-pmpi_cart_rank__
-pmpi_cart_shift
-pmpi_cart_shift_
-pmpi_cart_shift__
-pmpi_cart_sub
-pmpi_cart_sub_
-pmpi_cart_sub__
-pmpi_cartdim_get
-pmpi_cartdim_get_
-pmpi_cartdim_get__
-pmpi_close_port
-pmpi_close_port_
-pmpi_close_port__
-pmpi_comm_accept
-pmpi_comm_accept_
-pmpi_comm_accept__
-pmpi_comm_call_errhandler
-pmpi_comm_call_errhandler_
-pmpi_comm_call_errhandler__
-pmpi_comm_compare
-pmpi_comm_compare_
-pmpi_comm_compare__
-pmpi_comm_connect
-pmpi_comm_connect_
-pmpi_comm_connect__
-pmpi_comm_create
-pmpi_comm_create_
-pmpi_comm_create__
-pmpi_comm_create_errhandler
-pmpi_comm_create_errhandler_
-pmpi_comm_create_errhandler__
-pmpi_comm_create_keyval
-pmpi_comm_create_keyval_
-pmpi_comm_create_keyval__
-pmpi_comm_delete_attr
-pmpi_comm_delete_attr_
-pmpi_comm_delete_attr__
-pmpi_comm_disconnect
-pmpi_comm_disconnect_
-pmpi_comm_disconnect__
-pmpi_comm_dup
-pmpi_comm_dup_
-pmpi_comm_dup__
-pmpi_comm_dup_fn
-pmpi_comm_dup_fn_
-pmpi_comm_dup_fn__
-pmpi_comm_free
-pmpi_comm_free_
-pmpi_comm_free__
-pmpi_comm_free_keyval
-pmpi_comm_free_keyval_
-pmpi_comm_free_keyval__
-pmpi_comm_get_attr
-pmpi_comm_get_attr_
-pmpi_comm_get_attr__
-pmpi_comm_get_errhandler
-pmpi_comm_get_errhandler_
-pmpi_comm_get_errhandler__
-pmpi_comm_get_name
-pmpi_comm_get_name_
-pmpi_comm_get_name__
-pmpi_comm_get_parent
-pmpi_comm_get_parent_
-pmpi_comm_get_parent__
-pmpi_comm_group
-pmpi_comm_group_
-pmpi_comm_group__
-pmpi_comm_join
-pmpi_comm_join_
-pmpi_comm_join__
-pmpi_comm_null_copy_fn
-pmpi_comm_null_copy_fn_
-pmpi_comm_null_copy_fn__
-pmpi_comm_null_delete_fn
-pmpi_comm_null_delete_fn_
-pmpi_comm_null_delete_fn__
-pmpi_comm_rank
-pmpi_comm_rank_
-pmpi_comm_rank__
-pmpi_comm_remote_group
-pmpi_comm_remote_group_
-pmpi_comm_remote_group__
-pmpi_comm_remote_size
-pmpi_comm_remote_size_
-pmpi_comm_remote_size__
-pmpi_comm_set_attr
-pmpi_comm_set_attr_
-pmpi_comm_set_attr__
-pmpi_comm_set_errhandler
-pmpi_comm_set_errhandler_
-pmpi_comm_set_errhandler__
-pmpi_comm_set_name
-pmpi_comm_set_name_
-pmpi_comm_set_name__
-pmpi_comm_size
-pmpi_comm_size_
-pmpi_comm_size__
-pmpi_comm_spawn
-pmpi_comm_spawn_
-pmpi_comm_spawn__
-pmpi_comm_spawn_multiple
-pmpi_comm_spawn_multiple_
-pmpi_comm_spawn_multiple__
-pmpi_comm_split
-pmpi_comm_split_
-pmpi_comm_split__
-pmpi_comm_split_type
-pmpi_comm_split_type_
-pmpi_comm_split_type__
-pmpi_comm_test_inter
-pmpi_comm_test_inter_
-pmpi_comm_test_inter__
-pmpi_compare_and_swap
-pmpi_compare_and_swap_
-pmpi_compare_and_swap__
-pmpi_conversion_fn_null
-pmpi_conversion_fn_null_
-pmpi_conversion_fn_null__
-pmpi_dims_create
-pmpi_dims_create_
-pmpi_dims_create__
-pmpi_dist_graph_create
-pmpi_dist_graph_create_
-pmpi_dist_graph_create__
-pmpi_dist_graph_create_adjacent
-pmpi_dist_graph_create_adjacent_
-pmpi_dist_graph_create_adjacent__
-pmpi_dist_graph_neighbors
-pmpi_dist_graph_neighbors_
-pmpi_dist_graph_neighbors__
-pmpi_dist_graph_neighbors_count
-pmpi_dist_graph_neighbors_count_
-pmpi_dist_graph_neighbors_count__
-pmpi_dup_fn
-pmpi_dup_fn_
-pmpi_dup_fn__
-pmpi_errhandler_create
-pmpi_errhandler_create_
-pmpi_errhandler_create__
-pmpi_errhandler_free
-pmpi_errhandler_free_
-pmpi_errhandler_free__
-pmpi_errhandler_get
-pmpi_errhandler_get_
-pmpi_errhandler_get__
-pmpi_errhandler_set
-pmpi_errhandler_set_
-pmpi_errhandler_set__
-pmpi_error_class
-pmpi_error_class_
-pmpi_error_class__
-pmpi_error_string
-pmpi_error_string_
-pmpi_error_string__
-pmpi_exscan
-pmpi_exscan_
-pmpi_exscan__
-pmpi_fetch_and_op
-pmpi_fetch_and_op_
-pmpi_fetch_and_op__
-pmpi_file_call_errhandler
-pmpi_file_call_errhandler_
-pmpi_file_call_errhandler__
-pmpi_file_close
-pmpi_file_close_
-pmpi_file_close__
-pmpi_file_create_errhandler
-pmpi_file_create_errhandler_
-pmpi_file_create_errhandler__
-pmpi_file_delete
-pmpi_file_delete_
-pmpi_file_delete__
-pmpi_file_get_amode
-pmpi_file_get_amode_
-pmpi_file_get_amode__
-pmpi_file_get_atomicity
-pmpi_file_get_atomicity_
-pmpi_file_get_atomicity__
-pmpi_file_get_byte_offset
-pmpi_file_get_byte_offset_
-pmpi_file_get_byte_offset__
-pmpi_file_get_errhandler
-pmpi_file_get_errhandler_
-pmpi_file_get_errhandler__
-pmpi_file_get_group
-pmpi_file_get_group_
-pmpi_file_get_group__
-pmpi_file_get_info
-pmpi_file_get_info_
-pmpi_file_get_info__
-pmpi_file_get_position
-pmpi_file_get_position_
-pmpi_file_get_position__
-pmpi_file_get_position_shared
-pmpi_file_get_position_shared_
-pmpi_file_get_position_shared__
-pmpi_file_get_size
-pmpi_file_get_size_
-pmpi_file_get_size__
-pmpi_file_get_type_extent
-pmpi_file_get_type_extent_
-pmpi_file_get_type_extent__
-pmpi_file_get_view
-pmpi_file_get_view_
-pmpi_file_get_view__
-pmpi_file_iread
-pmpi_file_iread_
-pmpi_file_iread__
-pmpi_file_iread_at
-pmpi_file_iread_at_
-pmpi_file_iread_at__
-pmpi_file_iread_shared
-pmpi_file_iread_shared_
-pmpi_file_iread_shared__
-pmpi_file_iwrite
-pmpi_file_iwrite_
-pmpi_file_iwrite__
-pmpi_file_iwrite_at
-pmpi_file_iwrite_at_
-pmpi_file_iwrite_at__
-pmpi_file_iwrite_shared
-pmpi_file_iwrite_shared_
-pmpi_file_iwrite_shared__
-pmpi_file_open
-pmpi_file_open_
-pmpi_file_open__
-pmpi_file_preallocate
-pmpi_file_preallocate_
-pmpi_file_preallocate__
-pmpi_file_read
-pmpi_file_read_
-pmpi_file_read__
-pmpi_file_read_all
-pmpi_file_read_all_
-pmpi_file_read_all__
-pmpi_file_read_all_begin
-pmpi_file_read_all_begin_
-pmpi_file_read_all_begin__
-pmpi_file_read_all_end
-pmpi_file_read_all_end_
-pmpi_file_read_all_end__
-pmpi_file_read_at
-pmpi_file_read_at_
-pmpi_file_read_at__
-pmpi_file_read_at_all
-pmpi_file_read_at_all_
-pmpi_file_read_at_all__
-pmpi_file_read_at_all_begin
-pmpi_file_read_at_all_begin_
-pmpi_file_read_at_all_begin__
-pmpi_file_read_at_all_end
-pmpi_file_read_at_all_end_
-pmpi_file_read_at_all_end__
-pmpi_file_read_ordered
-pmpi_file_read_ordered_
-pmpi_file_read_ordered__
-pmpi_file_read_ordered_begin
-pmpi_file_read_ordered_begin_
-pmpi_file_read_ordered_begin__
-pmpi_file_read_ordered_end
-pmpi_file_read_ordered_end_
-pmpi_file_read_ordered_end__
-pmpi_file_read_shared
-pmpi_file_read_shared_
-pmpi_file_read_shared__
-pmpi_file_seek
-pmpi_file_seek_
-pmpi_file_seek__
-pmpi_file_seek_shared
-pmpi_file_seek_shared_
-pmpi_file_seek_shared__
-pmpi_file_set_atomicity
-pmpi_file_set_atomicity_
-pmpi_file_set_atomicity__
-pmpi_file_set_errhandler
-pmpi_file_set_errhandler_
-pmpi_file_set_errhandler__
-pmpi_file_set_info
-pmpi_file_set_info_
-pmpi_file_set_info__
-pmpi_file_set_size
-pmpi_file_set_size_
-pmpi_file_set_size__
-pmpi_file_set_view
-pmpi_file_set_view_
-pmpi_file_set_view__
-pmpi_file_sync
-pmpi_file_sync_
-pmpi_file_sync__
-pmpi_file_write
-pmpi_file_write_
-pmpi_file_write__
-pmpi_file_write_all
-pmpi_file_write_all_
-pmpi_file_write_all__
-pmpi_file_write_all_begin
-pmpi_file_write_all_begin_
-pmpi_file_write_all_begin__
-pmpi_file_write_all_end
-pmpi_file_write_all_end_
-pmpi_file_write_all_end__
-pmpi_file_write_at
-pmpi_file_write_at_
-pmpi_file_write_at__
-pmpi_file_write_at_all
-pmpi_file_write_at_all_
-pmpi_file_write_at_all__
-pmpi_file_write_at_all_begin
-pmpi_file_write_at_all_begin_
-pmpi_file_write_at_all_begin__
-pmpi_file_write_at_all_end
-pmpi_file_write_at_all_end_
-pmpi_file_write_at_all_end__
-pmpi_file_write_ordered
-pmpi_file_write_ordered_
-pmpi_file_write_ordered__
-pmpi_file_write_ordered_begin
-pmpi_file_write_ordered_begin_
-pmpi_file_write_ordered_begin__
-pmpi_file_write_ordered_end
-pmpi_file_write_ordered_end_
-pmpi_file_write_ordered_end__
-pmpi_file_write_shared
-pmpi_file_write_shared_
-pmpi_file_write_shared__
-pmpi_finalize
-pmpi_finalize_
-pmpi_finalize__
-pmpi_finalized
-pmpi_finalized_
-pmpi_finalized__
-pmpi_free_mem
-pmpi_free_mem_
-pmpi_free_mem__
-pmpi_gather
-pmpi_gather_
-pmpi_gather__
-pmpi_gatherv
-pmpi_gatherv_
-pmpi_gatherv__
-pmpi_get
-pmpi_get_
-pmpi_get__
-pmpi_get_accumulate
-pmpi_get_accumulate_
-pmpi_get_accumulate__
-pmpi_get_address
-pmpi_get_address_
-pmpi_get_address__
-pmpi_get_count
-pmpi_get_count_
-pmpi_get_count__
-pmpi_get_elements
-pmpi_get_elements_
-pmpi_get_elements__
-pmpi_get_elements_x
-pmpi_get_elements_x_
-pmpi_get_elements_x__
-pmpi_get_library_version
-pmpi_get_library_version_
-pmpi_get_library_version__
-pmpi_get_processor_name
-pmpi_get_processor_name_
-pmpi_get_processor_name__
-pmpi_get_version
-pmpi_get_version_
-pmpi_get_version__
-pmpi_graph_create
-pmpi_graph_create_
-pmpi_graph_create__
-pmpi_graph_get
-pmpi_graph_get_
-pmpi_graph_get__
-pmpi_graph_map
-pmpi_graph_map_
-pmpi_graph_map__
-pmpi_graph_neighbors
-pmpi_graph_neighbors_
-pmpi_graph_neighbors__
-pmpi_graph_neighbors_count
-pmpi_graph_neighbors_count_
-pmpi_graph_neighbors_count__
-pmpi_graphdims_get
-pmpi_graphdims_get_
-pmpi_graphdims_get__
-pmpi_grequest_complete
-pmpi_grequest_complete_
-pmpi_grequest_complete__
-pmpi_grequest_start
-pmpi_grequest_start_
-pmpi_grequest_start__
-pmpi_group_compare
-pmpi_group_compare_
-pmpi_group_compare__
-pmpi_group_difference
-pmpi_group_difference_
-pmpi_group_difference__
-pmpi_group_excl
-pmpi_group_excl_
-pmpi_group_excl__
-pmpi_group_free
-pmpi_group_free_
-pmpi_group_free__
-pmpi_group_incl
-pmpi_group_incl_
-pmpi_group_incl__
-pmpi_group_intersection
-pmpi_group_intersection_
-pmpi_group_intersection__
-pmpi_group_range_excl
-pmpi_group_range_excl_
-pmpi_group_range_excl__
-pmpi_group_range_incl
-pmpi_group_range_incl_
-pmpi_group_range_incl__
-pmpi_group_rank
-pmpi_group_rank_
-pmpi_group_rank__
-pmpi_group_size
-pmpi_group_size_
-pmpi_group_size__
-pmpi_group_translate_ranks
-pmpi_group_translate_ranks_
-pmpi_group_translate_ranks__
-pmpi_group_union
-pmpi_group_union_
-pmpi_group_union__
-pmpi_iallgather
-pmpi_iallgather_
-pmpi_iallgather__
-pmpi_iallgatherv
-pmpi_iallgatherv_
-pmpi_iallgatherv__
-pmpi_iallreduce
-pmpi_iallreduce_
-pmpi_iallreduce__
-pmpi_ialltoall
-pmpi_ialltoall_
-pmpi_ialltoall__
-pmpi_ialltoallv
-pmpi_ialltoallv_
-pmpi_ialltoallv__
-pmpi_ialltoallw
-pmpi_ialltoallw_
-pmpi_ialltoallw__
-pmpi_ibarrier
-pmpi_ibarrier_
-pmpi_ibarrier__
-pmpi_ibcast
-pmpi_ibcast_
-pmpi_ibcast__
-pmpi_ibsend
-pmpi_ibsend_
-pmpi_ibsend__
-pmpi_iexscan
-pmpi_iexscan_
-pmpi_iexscan__
-pmpi_igather
-pmpi_igather_
-pmpi_igather__
-pmpi_igatherv
-pmpi_igatherv_
-pmpi_igatherv__
-pmpi_improbe
-pmpi_improbe_
-pmpi_improbe__
-pmpi_imrecv
-pmpi_imrecv_
-pmpi_imrecv__
-pmpi_info_create
-pmpi_info_create_
-pmpi_info_create__
-pmpi_info_delete
-pmpi_info_delete_
-pmpi_info_delete__
-pmpi_info_dup
-pmpi_info_dup_
-pmpi_info_dup__
-pmpi_info_free
-pmpi_info_free_
-pmpi_info_free__
-pmpi_info_get
-pmpi_info_get_
-pmpi_info_get__
-pmpi_info_get_nkeys
-pmpi_info_get_nkeys_
-pmpi_info_get_nkeys__
-pmpi_info_get_nthkey
-pmpi_info_get_nthkey_
-pmpi_info_get_nthkey__
-pmpi_info_get_valuelen
-pmpi_info_get_valuelen_
-pmpi_info_get_valuelen__
-pmpi_info_set
-pmpi_info_set_
-pmpi_info_set__
-pmpi_init
-pmpi_init_
-pmpi_init__
-pmpi_init_thread
-pmpi_init_thread_
-pmpi_init_thread__
-pmpi_initialized
-pmpi_initialized_
-pmpi_initialized__
-pmpi_intercomm_create
-pmpi_intercomm_create_
-pmpi_intercomm_create__
-pmpi_intercomm_merge
-pmpi_intercomm_merge_
-pmpi_intercomm_merge__
-pmpi_iprobe
-pmpi_iprobe_
-pmpi_iprobe__
-pmpi_irecv
-pmpi_irecv_
-pmpi_irecv__
-pmpi_ireduce
-pmpi_ireduce_
-pmpi_ireduce__
-pmpi_ireduce_scatter
-pmpi_ireduce_scatter_
-pmpi_ireduce_scatter__
-pmpi_ireduce_scatter_block
-pmpi_ireduce_scatter_block_
-pmpi_ireduce_scatter_block__
-pmpi_irsend
-pmpi_irsend_
-pmpi_irsend__
-pmpi_is_thread_main
-pmpi_is_thread_main_
-pmpi_is_thread_main__
-pmpi_iscan
-pmpi_iscan_
-pmpi_iscan__
-pmpi_iscatter
-pmpi_iscatter_
-pmpi_iscatter__
-pmpi_iscatterv
-pmpi_iscatterv_
-pmpi_iscatterv__
-pmpi_isend
-pmpi_isend_
-pmpi_isend__
-pmpi_issend
-pmpi_issend_
-pmpi_issend__
-pmpi_keyval_create
-pmpi_keyval_create_
-pmpi_keyval_create__
-pmpi_keyval_free
-pmpi_keyval_free_
-pmpi_keyval_free__
-pmpi_lookup_name
-pmpi_lookup_name_
-pmpi_lookup_name__
-pmpi_mprobe
-pmpi_mprobe_
-pmpi_mprobe__
-pmpi_mrecv
-pmpi_mrecv_
-pmpi_mrecv__
-pmpi_null_copy_fn
-pmpi_null_copy_fn_
-pmpi_null_copy_fn__
-pmpi_null_delete_fn
-pmpi_null_delete_fn_
-pmpi_null_delete_fn__
-pmpi_op_commutative
-pmpi_op_commutative_
-pmpi_op_commutative__
-pmpi_op_create
-pmpi_op_create_
-pmpi_op_create__
-pmpi_op_free
-pmpi_op_free_
-pmpi_op_free__
-pmpi_open_port
-pmpi_open_port_
-pmpi_open_port__
-pmpi_pack
-pmpi_pack_
-pmpi_pack__
-pmpi_pack_external
-pmpi_pack_external_
-pmpi_pack_external__
-pmpi_pack_external_size
-pmpi_pack_external_size_
-pmpi_pack_external_size__
-pmpi_pack_size
-pmpi_pack_size_
-pmpi_pack_size__
-pmpi_pcontrol
-pmpi_pcontrol_
-pmpi_pcontrol__
-pmpi_probe
-pmpi_probe_
-pmpi_probe__
-pmpi_publish_name
-pmpi_publish_name_
-pmpi_publish_name__
-pmpi_put
-pmpi_put_
-pmpi_put__
-pmpi_query_thread
-pmpi_query_thread_
-pmpi_query_thread__
-pmpi_raccumulate
-pmpi_raccumulate_
-pmpi_raccumulate__
-pmpi_recv
-pmpi_recv_
-pmpi_recv__
-pmpi_recv_init
-pmpi_recv_init_
-pmpi_recv_init__
-pmpi_reduce
-pmpi_reduce_
-pmpi_reduce__
-pmpi_reduce_local
-pmpi_reduce_local_
-pmpi_reduce_local__
-pmpi_reduce_scatter
-pmpi_reduce_scatter_
-pmpi_reduce_scatter__
-pmpi_reduce_scatter_block
-pmpi_reduce_scatter_block_
-pmpi_reduce_scatter_block__
-pmpi_register_datarep
-pmpi_register_datarep_
-pmpi_register_datarep__
-pmpi_request_free
-pmpi_request_free_
-pmpi_request_free__
-pmpi_request_get_status
-pmpi_request_get_status_
-pmpi_request_get_status__
-pmpi_rget
-pmpi_rget_
-pmpi_rget__
-pmpi_rget_accumulate
-pmpi_rget_accumulate_
-pmpi_rget_accumulate__
-pmpi_rput
-pmpi_rput_
-pmpi_rput__
-pmpi_rsend
-pmpi_rsend_
-pmpi_rsend__
-pmpi_rsend_init
-pmpi_rsend_init_
-pmpi_rsend_init__
-pmpi_scan
-pmpi_scan_
-pmpi_scan__
-pmpi_scatter
-pmpi_scatter_
-pmpi_scatter__
-pmpi_scatterv
-pmpi_scatterv_
-pmpi_scatterv__
-pmpi_send
-pmpi_send_
-pmpi_send__
-pmpi_send_init
-pmpi_send_init_
-pmpi_send_init__
-pmpi_sendrecv
-pmpi_sendrecv_
-pmpi_sendrecv__
-pmpi_sendrecv_replace
-pmpi_sendrecv_replace_
-pmpi_sendrecv_replace__
-pmpi_ssend
-pmpi_ssend_
-pmpi_ssend__
-pmpi_ssend_init
-pmpi_ssend_init_
-pmpi_ssend_init__
-pmpi_start
-pmpi_start_
-pmpi_start__
-pmpi_startall
-pmpi_startall_
-pmpi_startall__
-pmpi_status_c2f
-pmpi_status_c2f_
-pmpi_status_c2f__
-pmpi_status_f2c
-pmpi_status_f2c_
-pmpi_status_f2c__
-pmpi_status_set_cancelled
-pmpi_status_set_cancelled_
-pmpi_status_set_cancelled__
-pmpi_status_set_elements
-pmpi_status_set_elements_
-pmpi_status_set_elements__
-pmpi_status_set_elements_x
-pmpi_status_set_elements_x_
-pmpi_status_set_elements_x__
-pmpi_test
-pmpi_test_
-pmpi_test__
-pmpi_test_cancelled
-pmpi_test_cancelled_
-pmpi_test_cancelled__
-pmpi_testall
-pmpi_testall_
-pmpi_testall__
-pmpi_testany
-pmpi_testany_
-pmpi_testany__
-pmpi_testsome
-pmpi_testsome_
-pmpi_testsome__
-pmpi_topo_test
-pmpi_topo_test_
-pmpi_topo_test__
-pmpi_type_commit
-pmpi_type_commit_
-pmpi_type_commit__
-pmpi_type_contiguous
-pmpi_type_contiguous_
-pmpi_type_contiguous__
-pmpi_type_create_darray
-pmpi_type_create_darray_
-pmpi_type_create_darray__
-pmpi_type_create_f90_complex_
-pmpi_type_create_f90_complex__
-pmpi_type_create_f90_integer_
-pmpi_type_create_f90_integer__
-pmpi_type_create_f90_real_
-pmpi_type_create_f90_real__
-pmpi_type_create_hindexed
-pmpi_type_create_hindexed_
-pmpi_type_create_hindexed__
-pmpi_type_create_hindexed_block
-pmpi_type_create_hindexed_block_
-pmpi_type_create_hindexed_block__
-pmpi_type_create_hvector
-pmpi_type_create_hvector_
-pmpi_type_create_hvector__
-pmpi_type_create_indexed_block
-pmpi_type_create_indexed_block_
-pmpi_type_create_indexed_block__
-pmpi_type_create_keyval
-pmpi_type_create_keyval_
-pmpi_type_create_keyval__
-pmpi_type_create_resized
-pmpi_type_create_resized_
-pmpi_type_create_resized__
-pmpi_type_create_struct
-pmpi_type_create_struct_
-pmpi_type_create_struct__
-pmpi_type_create_subarray
-pmpi_type_create_subarray_
-pmpi_type_create_subarray__
-pmpi_type_delete_attr
-pmpi_type_delete_attr_
-pmpi_type_delete_attr__
-pmpi_type_dup
-pmpi_type_dup_
-pmpi_type_dup__
-pmpi_type_dup_fn
-pmpi_type_dup_fn_
-pmpi_type_dup_fn__
-pmpi_type_extent
-pmpi_type_extent_
-pmpi_type_extent__
-pmpi_type_free
-pmpi_type_free_
-pmpi_type_free__
-pmpi_type_free_keyval
-pmpi_type_free_keyval_
-pmpi_type_free_keyval__
-pmpi_type_get_attr
-pmpi_type_get_attr_
-pmpi_type_get_attr__
-pmpi_type_get_contents
-pmpi_type_get_contents_
-pmpi_type_get_contents__
-pmpi_type_get_envelope
-pmpi_type_get_envelope_
-pmpi_type_get_envelope__
-pmpi_type_get_extent
-pmpi_type_get_extent_
-pmpi_type_get_extent__
-pmpi_type_get_extent_x
-pmpi_type_get_extent_x_
-pmpi_type_get_extent_x__
-pmpi_type_get_name
-pmpi_type_get_name_
-pmpi_type_get_name__
-pmpi_type_get_true_extent
-pmpi_type_get_true_extent_
-pmpi_type_get_true_extent__
-pmpi_type_get_true_extent_x
-pmpi_type_get_true_extent_x_
-pmpi_type_get_true_extent_x__
-pmpi_type_hindexed
-pmpi_type_hindexed_
-pmpi_type_hindexed__
-pmpi_type_hvector
-pmpi_type_hvector_
-pmpi_type_hvector__
-pmpi_type_indexed
-pmpi_type_indexed_
-pmpi_type_indexed__
-pmpi_type_lb
-pmpi_type_lb_
-pmpi_type_lb__
-pmpi_type_match_size
-pmpi_type_match_size_
-pmpi_type_match_size__
-pmpi_type_null_copy_fn
-pmpi_type_null_copy_fn_
-pmpi_type_null_copy_fn__
-pmpi_type_null_delete_fn
-pmpi_type_null_delete_fn_
-pmpi_type_null_delete_fn__
-pmpi_type_set_attr
-pmpi_type_set_attr_
-pmpi_type_set_attr__
-pmpi_type_set_name
-pmpi_type_set_name_
-pmpi_type_set_name__
-pmpi_type_size
-pmpi_type_size_
-pmpi_type_size__
-pmpi_type_size_x
-pmpi_type_size_x_
-pmpi_type_size_x__
-pmpi_type_struct
-pmpi_type_struct_
-pmpi_type_struct__
-pmpi_type_ub
-pmpi_type_ub_
-pmpi_type_ub__
-pmpi_type_vector
-pmpi_type_vector_
-pmpi_type_vector__
-pmpi_unpack
-pmpi_unpack_
-pmpi_unpack__
-pmpi_unpack_external
-pmpi_unpack_external_
-pmpi_unpack_external__
-pmpi_unpublish_name
-pmpi_unpublish_name_
-pmpi_unpublish_name__
-pmpi_wait
-pmpi_wait_
-pmpi_wait__
-pmpi_waitall
-pmpi_waitall_
-pmpi_waitall__
-pmpi_waitany
-pmpi_waitany_
-pmpi_waitany__
-pmpi_waitsome
-pmpi_waitsome_
-pmpi_waitsome__
-pmpi_win_allocate
-pmpi_win_allocate_
-pmpi_win_allocate__
-pmpi_win_allocate_shared
-pmpi_win_allocate_shared_
-pmpi_win_allocate_shared__
-pmpi_win_attach
-pmpi_win_attach_
-pmpi_win_attach__
-pmpi_win_call_errhandler
-pmpi_win_call_errhandler_
-pmpi_win_call_errhandler__
-pmpi_win_complete
-pmpi_win_complete_
-pmpi_win_complete__
-pmpi_win_create
-pmpi_win_create_
-pmpi_win_create__
-pmpi_win_create_dynamic
-pmpi_win_create_dynamic_
-pmpi_win_create_dynamic__
-pmpi_win_create_errhandler
-pmpi_win_create_errhandler_
-pmpi_win_create_errhandler__
-pmpi_win_create_keyval
-pmpi_win_create_keyval_
-pmpi_win_create_keyval__
-pmpi_win_delete_attr
-pmpi_win_delete_attr_
-pmpi_win_delete_attr__
-pmpi_win_detach
-pmpi_win_detach_
-pmpi_win_detach__
-pmpi_win_dup_fn
-pmpi_win_dup_fn_
-pmpi_win_dup_fn__
-pmpi_win_fence
-pmpi_win_fence_
-pmpi_win_fence__
-pmpi_win_flush
-pmpi_win_flush_
-pmpi_win_flush__
-pmpi_win_flush_all
-pmpi_win_flush_all_
-pmpi_win_flush_all__
-pmpi_win_flush_local
-pmpi_win_flush_local_
-pmpi_win_flush_local__
-pmpi_win_flush_local_all
-pmpi_win_flush_local_all_
-pmpi_win_flush_local_all__
-pmpi_win_free
-pmpi_win_free_
-pmpi_win_free__
-pmpi_win_free_keyval
-pmpi_win_free_keyval_
-pmpi_win_free_keyval__
-pmpi_win_get_attr
-pmpi_win_get_attr_
-pmpi_win_get_attr__
-pmpi_win_get_errhandler
-pmpi_win_get_errhandler_
-pmpi_win_get_errhandler__
-pmpi_win_get_group
-pmpi_win_get_group_
-pmpi_win_get_group__
-pmpi_win_get_name
-pmpi_win_get_name_
-pmpi_win_get_name__
-pmpi_win_lock
-pmpi_win_lock_
-pmpi_win_lock__
-pmpi_win_lock_all
-pmpi_win_lock_all_
-pmpi_win_lock_all__
-pmpi_win_null_copy_fn
-pmpi_win_null_copy_fn_
-pmpi_win_null_copy_fn__
-pmpi_win_null_delete_fn
-pmpi_win_null_delete_fn_
-pmpi_win_null_delete_fn__
-pmpi_win_post
-pmpi_win_post_
-pmpi_win_post__
-pmpi_win_set_attr
-pmpi_win_set_attr_
-pmpi_win_set_attr__
-pmpi_win_set_errhandler
-pmpi_win_set_errhandler_
-pmpi_win_set_errhandler__
-pmpi_win_set_name
-pmpi_win_set_name_
-pmpi_win_set_name__
-pmpi_win_shared_query
-pmpi_win_shared_query_
-pmpi_win_shared_query__
-pmpi_win_start
-pmpi_win_start_
-pmpi_win_start__
-pmpi_win_sync
-pmpi_win_sync_
-pmpi_win_sync__
-pmpi_win_test
-pmpi_win_test_
-pmpi_win_test__
-pmpi_win_unlock
-pmpi_win_unlock_
-pmpi_win_unlock__
-pmpi_win_unlock_all
-pmpi_win_unlock_all_
-pmpi_win_unlock_all__
-pmpi_win_wait
-pmpi_win_wait_
-pmpi_win_wait__
-pmpi_wtick
-pmpi_wtick_
-pmpi_wtick__
-pmpi_wtime
-pmpi_wtime_
-pmpi_wtime__
-pmsmpi_get_bsend_overhead
-pmsmpi_get_bsend_overhead_
-pmsmpi_get_bsend_overhead__
-pmsmpi_get_version
-pmsmpi_get_version_
-pmsmpi_get_version__
-recvq_posted DATA
-recvq_unexpected DATA
-MPI_Finalize@0=MPI_Finalize
-MPI_Pcontrol@0=MPI_Pcontrol
-MPI_REDUCE_SCATTER_block@0=MPI_REDUCE_SCATTER_block
-MPI_Wtick@0=MPI_Wtick
-MPI_Wtime@0=MPI_Wtime
-MSMPI_Get_bsend_overhead@0=MSMPI_Get_bsend_overhead
-MSMPI_Get_version@0=MSMPI_Get_version
-PMPI_Finalize@0=PMPI_Finalize
-PMPI_Pcontrol@0=PMPI_Pcontrol
-PMPI_REDUCE_SCATTER_block@0=PMPI_REDUCE_SCATTER_block
-PMPI_Wtick@0=PMPI_Wtick
-PMPI_Wtime@0=PMPI_Wtime
-PMSMPI_Get_bsend_overhead@0=PMSMPI_Get_bsend_overhead
-PMSMPI_Get_version@0=PMSMPI_Get_version
+;
+; Definition file of msmpi.dll
+; Automatic generated by gendef
+; written by Kai Tietz 2008
+;
+LIBRARY "msmpi.dll"
+EXPORTS
+MPIR_Sendq_head DATA
+MSMPI_Get_pm_interface@8
+MSMPI_pm_query_interface@8
+mqs_image_has_queues@8
+mqs_process_has_queues@8
+MPIFCMB5 DATA
+MPIFCMB9 DATA
+MPIPRIV1 DATA
+MPIPRIV2 DATA
+MPIPRIVC DATA
+MPIR_All_communicators DATA
+MPIR_Comm_errhandler_set_proxy@8
+MPIR_Dup_fn@24
+MPIR_Error@8
+MPIR_File_errhandler_set_proxy@8
+MPIR_Free@4
+MPIR_Grequest_set_proxy@16
+MPIR_Keyval_set_proxy@12
+MPIR_Malloc@4
+MPIR_Op_set_proxy@8
+MPIR_Win_errhandler_set_proxy@8
+MPIR_debug_gate DATA
+MPIR_dll_name DATA
+MPI_ABORT
+MPI_ACCUMULATE
+MPI_ADDRESS
+MPI_ADD_ERROR_CLASS
+MPI_ADD_ERROR_CODE
+MPI_ADD_ERROR_STRING
+MPI_AINT_ADD
+MPI_AINT_DIFF
+MPI_ALLGATHER
+MPI_ALLGATHERV
+MPI_ALLOC_MEM
+MPI_ALLREDUCE
+MPI_ALLTOALL
+MPI_ALLTOALLV
+MPI_ALLTOALLW
+MPI_ATTR_DELETE
+MPI_ATTR_GET
+MPI_ATTR_PUT
+MPI_Abort@8
+MPI_Accumulate@36
+MPI_Add_error_class@4
+MPI_Add_error_code@8
+MPI_Add_error_string@8
+MPI_Address@8
+MPI_Aint_add@8
+MPI_Aint_diff@8
+MPI_Allgather@28
+MPI_Allgatherv@32
+MPI_Alloc_mem@12
+MPI_Allreduce@24
+MPI_Alltoall@28
+MPI_Alltoallv@36
+MPI_Alltoallw@36
+MPI_Attr_delete@8
+MPI_Attr_get@16
+MPI_Attr_put@12
+MPI_BARRIER
+MPI_BCAST
+MPI_BSEND
+MPI_BSEND_INIT
+MPI_BUFFER_ATTACH
+MPI_BUFFER_DETACH
+MPI_Barrier@4
+MPI_Bcast@20
+MPI_Bsend@24
+MPI_Bsend_init@28
+MPI_Buffer_attach@8
+MPI_Buffer_detach@8
+MPI_CANCEL
+MPI_CARTDIM_GET
+MPI_CART_COORDS
+MPI_CART_CREATE
+MPI_CART_GET
+MPI_CART_MAP
+MPI_CART_RANK
+MPI_CART_SHIFT
+MPI_CART_SUB
+MPI_CLOSE_PORT
+MPI_COMM_ACCEPT
+MPI_COMM_CALL_ERRHANDLER
+MPI_COMM_COMPARE
+MPI_COMM_CONNECT
+MPI_COMM_CREATE
+MPI_COMM_CREATE_ERRHANDLER
+MPI_COMM_CREATE_KEYVAL
+MPI_COMM_DELETE_ATTR
+MPI_COMM_DISCONNECT
+MPI_COMM_DUP
+MPI_COMM_DUP_FN
+MPI_COMM_FREE
+MPI_COMM_FREE_KEYVAL
+MPI_COMM_GET_ATTR
+MPI_COMM_GET_ERRHANDLER
+MPI_COMM_GET_NAME
+MPI_COMM_GET_PARENT
+MPI_COMM_GROUP
+MPI_COMM_JOIN
+MPI_COMM_NULL_COPY_FN
+MPI_COMM_NULL_DELETE_FN
+MPI_COMM_RANK
+MPI_COMM_REMOTE_GROUP
+MPI_COMM_REMOTE_SIZE
+MPI_COMM_SET_ATTR
+MPI_COMM_SET_ERRHANDLER
+MPI_COMM_SET_NAME
+MPI_COMM_SIZE
+MPI_COMM_SPAWN
+MPI_COMM_SPAWN_MULTIPLE
+MPI_COMM_SPLIT
+MPI_COMM_SPLIT_TYPE
+MPI_COMM_TEST_INTER
+MPI_COMPARE_AND_SWAP
+MPI_CONVERSION_FN_NULL
+MPI_Cancel@4
+MPI_Cart_coords@16
+MPI_Cart_create@24
+MPI_Cart_get@20
+MPI_Cart_map@20
+MPI_Cart_rank@12
+MPI_Cart_shift@20
+MPI_Cart_sub@12
+MPI_Cartdim_get@8
+MPI_Close_port@4
+MPI_Comm_accept@20
+MPI_Comm_call_errhandler@8
+MPI_Comm_compare@12
+MPI_Comm_connect@20
+MPI_Comm_create@12
+MPI_Comm_create_errhandler@8
+MPI_Comm_create_keyval@16
+MPI_Comm_delete_attr@8
+MPI_Comm_disconnect@4
+MPI_Comm_dup@8
+MPI_Comm_free@4
+MPI_Comm_free_keyval@4
+MPI_Comm_get_attr@16
+MPI_Comm_get_errhandler@8
+MPI_Comm_get_name@12
+MPI_Comm_get_parent@4
+MPI_Comm_group@8
+MPI_Comm_join@8
+MPI_Comm_rank@8
+MPI_Comm_remote_group@8
+MPI_Comm_remote_size@8
+MPI_Comm_set_attr@12
+MPI_Comm_set_errhandler@8
+MPI_Comm_set_name@8
+MPI_Comm_size@8
+MPI_Comm_spawn@32
+MPI_Comm_spawn_multiple@36
+MPI_Comm_split@16
+MPI_Comm_split_type@20
+MPI_Comm_test_inter@8
+MPI_Compare_and_swap@28
+MPI_DIMS_CREATE
+MPI_DIST_GRAPH_CREATE
+MPI_DIST_GRAPH_CREATE_ADJACENT
+MPI_DIST_GRAPH_NEIGHBORS
+MPI_DIST_GRAPH_NEIGHBORS_COUNT
+MPI_DUP_FN
+MPI_Dims_create@12
+MPI_Dist_graph_create@36
+MPI_Dist_graph_create_adjacent@40
+MPI_Dist_graph_neighbors@28
+MPI_Dist_graph_neighbors_count@16
+MPI_ERRHANDLER_CREATE
+MPI_ERRHANDLER_FREE
+MPI_ERRHANDLER_GET
+MPI_ERRHANDLER_SET
+MPI_ERROR_CLASS
+MPI_ERROR_STRING
+MPI_EXSCAN
+MPI_Errhandler_create@8
+MPI_Errhandler_free@4
+MPI_Errhandler_get@8
+MPI_Errhandler_set@8
+MPI_Error_class@8
+MPI_Error_string@12
+MPI_Exscan@24
+MPI_FETCH_AND_OP
+MPI_FILE_CALL_ERRHANDLER
+MPI_FILE_CLOSE
+MPI_FILE_CREATE_ERRHANDLER
+MPI_FILE_DELETE
+MPI_FILE_GET_AMODE
+MPI_FILE_GET_ATOMICITY
+MPI_FILE_GET_BYTE_OFFSET
+MPI_FILE_GET_ERRHANDLER
+MPI_FILE_GET_GROUP
+MPI_FILE_GET_INFO
+MPI_FILE_GET_POSITION
+MPI_FILE_GET_POSITION_SHARED
+MPI_FILE_GET_SIZE
+MPI_FILE_GET_TYPE_EXTENT
+MPI_FILE_GET_VIEW
+MPI_FILE_IREAD
+MPI_FILE_IREAD_AT
+MPI_FILE_IREAD_SHARED
+MPI_FILE_IWRITE
+MPI_FILE_IWRITE_AT
+MPI_FILE_IWRITE_SHARED
+MPI_FILE_OPEN
+MPI_FILE_PREALLOCATE
+MPI_FILE_READ
+MPI_FILE_READ_ALL
+MPI_FILE_READ_ALL_BEGIN
+MPI_FILE_READ_ALL_END
+MPI_FILE_READ_AT
+MPI_FILE_READ_AT_ALL
+MPI_FILE_READ_AT_ALL_BEGIN
+MPI_FILE_READ_AT_ALL_END
+MPI_FILE_READ_ORDERED
+MPI_FILE_READ_ORDERED_BEGIN
+MPI_FILE_READ_ORDERED_END
+MPI_FILE_READ_SHARED
+MPI_FILE_SEEK
+MPI_FILE_SEEK_SHARED
+MPI_FILE_SET_ATOMICITY
+MPI_FILE_SET_ERRHANDLER
+MPI_FILE_SET_INFO
+MPI_FILE_SET_SIZE
+MPI_FILE_SET_VIEW
+MPI_FILE_SYNC
+MPI_FILE_WRITE
+MPI_FILE_WRITE_ALL
+MPI_FILE_WRITE_ALL_BEGIN
+MPI_FILE_WRITE_ALL_END
+MPI_FILE_WRITE_AT
+MPI_FILE_WRITE_AT_ALL
+MPI_FILE_WRITE_AT_ALL_BEGIN
+MPI_FILE_WRITE_AT_ALL_END
+MPI_FILE_WRITE_ORDERED
+MPI_FILE_WRITE_ORDERED_BEGIN
+MPI_FILE_WRITE_ORDERED_END
+MPI_FILE_WRITE_SHARED
+MPI_FINALIZE
+MPI_FINALIZED
+MPI_FREE_MEM
+MPI_F_STATUSES_IGNORE DATA
+MPI_F_STATUS_IGNORE DATA
+MPI_Fetch_and_op@28
+MPI_File_c2f@4
+MPI_File_call_errhandler@8
+MPI_File_close@4
+MPI_File_create_errhandler@8
+MPI_File_delete@8
+MPI_File_f2c@4
+MPI_File_get_amode@8
+MPI_File_get_atomicity@8
+MPI_File_get_byte_offset@16
+MPI_File_get_errhandler@8
+MPI_File_get_group@8
+MPI_File_get_info@8
+MPI_File_get_position@8
+MPI_File_get_position_shared@8
+MPI_File_get_size@8
+MPI_File_get_type_extent@12
+MPI_File_get_view@20
+MPI_File_iread@20
+MPI_File_iread_at@28
+MPI_File_iread_shared@20
+MPI_File_iwrite@20
+MPI_File_iwrite_at@28
+MPI_File_iwrite_shared@20
+MPI_File_open@20
+MPI_File_preallocate@12
+MPI_File_read@20
+MPI_File_read_all@20
+MPI_File_read_all_begin@16
+MPI_File_read_all_end@12
+MPI_File_read_at@28
+MPI_File_read_at_all@28
+MPI_File_read_at_all_begin@24
+MPI_File_read_at_all_end@12
+MPI_File_read_ordered@20
+MPI_File_read_ordered_begin@16
+MPI_File_read_ordered_end@12
+MPI_File_read_shared@20
+MPI_File_seek@16
+MPI_File_seek_shared@16
+MPI_File_set_atomicity@8
+MPI_File_set_errhandler@8
+MPI_File_set_info@8
+MPI_File_set_size@12
+MPI_File_set_view@28
+MPI_File_sync@4
+MPI_File_write@20
+MPI_File_write_all@20
+MPI_File_write_all_begin@16
+MPI_File_write_all_end@12
+MPI_File_write_at@28
+MPI_File_write_at_all@28
+MPI_File_write_at_all_begin@24
+MPI_File_write_at_all_end@12
+MPI_File_write_ordered@20
+MPI_File_write_ordered_begin@16
+MPI_File_write_ordered_end@12
+MPI_File_write_shared@20
+MPI_Finalize
+MPI_Finalized@4
+MPI_Free_mem@4
+MPI_GATHER
+MPI_GATHERV
+MPI_GET
+MPI_GET_ACCUMULATE
+MPI_GET_ADDRESS
+MPI_GET_COUNT
+MPI_GET_ELEMENTS
+MPI_GET_ELEMENTS_X
+MPI_GET_LIBRARY_VERSION
+MPI_GET_PROCESSOR_NAME
+MPI_GET_VERSION
+MPI_GRAPHDIMS_GET
+MPI_GRAPH_CREATE
+MPI_GRAPH_GET
+MPI_GRAPH_MAP
+MPI_GRAPH_NEIGHBORS
+MPI_GRAPH_NEIGHBORS_COUNT
+MPI_GREQUEST_COMPLETE
+MPI_GREQUEST_START
+MPI_GROUP_COMPARE
+MPI_GROUP_DIFFERENCE
+MPI_GROUP_EXCL
+MPI_GROUP_FREE
+MPI_GROUP_INCL
+MPI_GROUP_INTERSECTION
+MPI_GROUP_RANGE_EXCL
+MPI_GROUP_RANGE_INCL
+MPI_GROUP_RANK
+MPI_GROUP_SIZE
+MPI_GROUP_TRANSLATE_RANKS
+MPI_GROUP_UNION
+MPI_Gather@32
+MPI_Gatherv@36
+MPI_Get@32
+MPI_Get_accumulate@48
+MPI_Get_address@8
+MPI_Get_count@12
+MPI_Get_elements@12
+MPI_Get_elements_x@12
+MPI_Get_library_version@8
+MPI_Get_processor_name@8
+MPI_Get_version@8
+MPI_Graph_create@24
+MPI_Graph_get@20
+MPI_Graph_map@20
+MPI_Graph_neighbors@16
+MPI_Graph_neighbors_count@12
+MPI_Graphdims_get@12
+MPI_Grequest_complete@4
+MPI_Grequest_start@20
+MPI_Group_compare@12
+MPI_Group_difference@12
+MPI_Group_excl@16
+MPI_Group_free@4
+MPI_Group_incl@16
+MPI_Group_intersection@12
+MPI_Group_range_excl@16
+MPI_Group_range_incl@16
+MPI_Group_rank@8
+MPI_Group_size@8
+MPI_Group_translate_ranks@20
+MPI_Group_union@12
+MPI_IALLGATHER
+MPI_IALLGATHERV
+MPI_IALLREDUCE
+MPI_IALLTOALL
+MPI_IALLTOALLV
+MPI_IALLTOALLW
+MPI_IBARRIER
+MPI_IBCAST
+MPI_IBSEND
+MPI_IEXSCAN
+MPI_IGATHER
+MPI_IGATHERV
+MPI_IMPROBE
+MPI_IMRECV
+MPI_INFO_CREATE
+MPI_INFO_DELETE
+MPI_INFO_DUP
+MPI_INFO_FREE
+MPI_INFO_GET
+MPI_INFO_GET_NKEYS
+MPI_INFO_GET_NTHKEY
+MPI_INFO_GET_VALUELEN
+MPI_INFO_SET
+MPI_INIT
+MPI_INITIALIZED
+MPI_INIT_THREAD
+MPI_INTERCOMM_CREATE
+MPI_INTERCOMM_MERGE
+MPI_IPROBE
+MPI_IRECV
+MPI_IREDUCE
+MPI_IREDUCE_SCATTER
+MPI_IREDUCE_SCATTER_BLOCK
+MPI_IRSEND
+MPI_ISCAN
+MPI_ISCATTER
+MPI_ISCATTERV
+MPI_ISEND
+MPI_ISSEND
+MPI_IS_THREAD_MAIN
+MPI_Iallgather@32
+MPI_Iallgatherv@36
+MPI_Iallreduce@28
+MPI_Ialltoall@32
+MPI_Ialltoallv@40
+MPI_Ialltoallw@40
+MPI_Ibarrier@8
+MPI_Ibcast@24
+MPI_Ibsend@28
+MPI_Iexscan@28
+MPI_Igather@36
+MPI_Igatherv@40
+MPI_Improbe@24
+MPI_Imrecv@20
+MPI_Info_create@4
+MPI_Info_delete@8
+MPI_Info_dup@8
+MPI_Info_free@4
+MPI_Info_get@20
+MPI_Info_get_nkeys@8
+MPI_Info_get_nthkey@12
+MPI_Info_get_valuelen@16
+MPI_Info_set@12
+MPI_Init@8
+MPI_Init_thread@16
+MPI_Initialized@4
+MPI_Intercomm_create@24
+MPI_Intercomm_merge@12
+MPI_Iprobe@20
+MPI_Irecv@28
+MPI_Ireduce@32
+MPI_Ireduce_scatter@28
+MPI_Ireduce_scatter_block@28
+MPI_Irsend@28
+MPI_Is_thread_main@4
+MPI_Iscan@28
+MPI_Iscatter@36
+MPI_Iscatterv@40
+MPI_Isend@28
+MPI_Issend@28
+MPI_KEYVAL_CREATE
+MPI_KEYVAL_FREE
+MPI_Keyval_create@16
+MPI_Keyval_free@4
+MPI_LOOKUP_NAME
+MPI_Lookup_name@12
+MPI_MPROBE
+MPI_MRECV
+MPI_Mprobe@20
+MPI_Mrecv@20
+MPI_NULL_COPY_FN
+MPI_NULL_DELETE_FN
+MPI_OPEN_PORT
+MPI_OP_COMMUTATIVE
+MPI_OP_CREATE
+MPI_OP_FREE
+MPI_Op_commutative@8
+MPI_Op_create@12
+MPI_Op_free@4
+MPI_Open_port@8
+MPI_PACK
+MPI_PACK_EXTERNAL
+MPI_PACK_EXTERNAL_SIZE
+MPI_PACK_SIZE
+MPI_PCONTROL
+MPI_PROBE
+MPI_PUBLISH_NAME
+MPI_PUT
+MPI_Pack@28
+MPI_Pack_external@28
+MPI_Pack_external_size@16
+MPI_Pack_size@16
+MPI_Pcontrol
+MPI_Probe@16
+MPI_Publish_name@12
+MPI_Put@32
+MPI_QUERY_THREAD
+MPI_Query_thread@4
+MPI_RACCUMULATE
+MPI_RECV
+MPI_RECV_INIT
+MPI_REDUCE
+MPI_REDUCE_LOCAL
+MPI_REDUCE_SCATTER
+MPI_REDUCE_SCATTER_block
+MPI_REGISTER_DATAREP
+MPI_REQUEST_FREE
+MPI_REQUEST_GET_STATUS
+MPI_RGET
+MPI_RGET_ACCUMULATE
+MPI_RPUT
+MPI_RSEND
+MPI_RSEND_INIT
+MPI_Raccumulate@40
+MPI_Recv@28
+MPI_Recv_init@28
+MPI_Reduce@28
+MPI_Reduce_local@20
+MPI_Reduce_scatter@24
+MPI_Reduce_scatter_block@24
+MPI_Register_datarep@20
+MPI_Request_free@4
+MPI_Request_get_status@12
+MPI_Rget@36
+MPI_Rget_accumulate@52
+MPI_Rput@36
+MPI_Rsend@24
+MPI_Rsend_init@28
+MPI_SCAN
+MPI_SCATTER
+MPI_SCATTERV
+MPI_SEND
+MPI_SENDRECV
+MPI_SENDRECV_REPLACE
+MPI_SEND_INIT
+MPI_SSEND
+MPI_SSEND_INIT
+MPI_START
+MPI_STARTALL
+MPI_STATUS_C2F
+MPI_STATUS_F2C
+MPI_STATUS_SET_CANCELLED
+MPI_STATUS_SET_ELEMENTS
+MPI_STATUS_SET_ELEMENTS_X
+MPI_Scan@24
+MPI_Scatter@32
+MPI_Scatterv@36
+MPI_Send@24
+MPI_Send_init@28
+MPI_Sendrecv@48
+MPI_Sendrecv_replace@36
+MPI_Ssend@24
+MPI_Ssend_init@28
+MPI_Start@4
+MPI_Startall@8
+MPI_Status_c2f@8
+MPI_Status_f2c@8
+MPI_Status_set_cancelled@8
+MPI_Status_set_elements@12
+MPI_Status_set_elements_x@16
+MPI_TEST
+MPI_TESTALL
+MPI_TESTANY
+MPI_TESTSOME
+MPI_TEST_CANCELLED
+MPI_TOPO_TEST
+MPI_TYPE_COMMIT
+MPI_TYPE_CONTIGUOUS
+MPI_TYPE_CREATE_DARRAY
+MPI_TYPE_CREATE_F90_COMPLEX
+MPI_TYPE_CREATE_F90_INTEGER
+MPI_TYPE_CREATE_F90_REAL
+MPI_TYPE_CREATE_HINDEXED
+MPI_TYPE_CREATE_HINDEXED_BLOCK
+MPI_TYPE_CREATE_HVECTOR
+MPI_TYPE_CREATE_INDEXED_BLOCK
+MPI_TYPE_CREATE_KEYVAL
+MPI_TYPE_CREATE_RESIZED
+MPI_TYPE_CREATE_STRUCT
+MPI_TYPE_CREATE_SUBARRAY
+MPI_TYPE_DELETE_ATTR
+MPI_TYPE_DUP
+MPI_TYPE_DUP_FN
+MPI_TYPE_EXTENT
+MPI_TYPE_FREE
+MPI_TYPE_FREE_KEYVAL
+MPI_TYPE_GET_ATTR
+MPI_TYPE_GET_CONTENTS
+MPI_TYPE_GET_ENVELOPE
+MPI_TYPE_GET_EXTENT
+MPI_TYPE_GET_EXTENT_X
+MPI_TYPE_GET_NAME
+MPI_TYPE_GET_TRUE_EXTENT
+MPI_TYPE_GET_TRUE_EXTENT_X
+MPI_TYPE_HINDEXED
+MPI_TYPE_HVECTOR
+MPI_TYPE_INDEXED
+MPI_TYPE_LB
+MPI_TYPE_MATCH_SIZE
+MPI_TYPE_NULL_COPY_FN
+MPI_TYPE_NULL_DELETE_FN
+MPI_TYPE_SET_ATTR
+MPI_TYPE_SET_NAME
+MPI_TYPE_SIZE
+MPI_TYPE_SIZE_X
+MPI_TYPE_STRUCT
+MPI_TYPE_UB
+MPI_TYPE_VECTOR
+MPI_Test@12
+MPI_Test_cancelled@8
+MPI_Testall@16
+MPI_Testany@20
+MPI_Testsome@20
+MPI_Topo_test@8
+MPI_Type_commit@4
+MPI_Type_contiguous@12
+MPI_Type_create_darray@40
+MPI_Type_create_f90_complex@12
+MPI_Type_create_f90_integer@8
+MPI_Type_create_f90_real@12
+MPI_Type_create_hindexed@20
+MPI_Type_create_hindexed_block@20
+MPI_Type_create_hvector@20
+MPI_Type_create_indexed_block@20
+MPI_Type_create_keyval@16
+MPI_Type_create_resized@16
+MPI_Type_create_struct@20
+MPI_Type_create_subarray@28
+MPI_Type_delete_attr@8
+MPI_Type_dup@8
+MPI_Type_extent@8
+MPI_Type_free@4
+MPI_Type_free_keyval@4
+MPI_Type_get_attr@16
+MPI_Type_get_contents@28
+MPI_Type_get_envelope@20
+MPI_Type_get_extent@12
+MPI_Type_get_extent_x@12
+MPI_Type_get_name@12
+MPI_Type_get_true_extent@12
+MPI_Type_get_true_extent_x@12
+MPI_Type_hindexed@20
+MPI_Type_hvector@20
+MPI_Type_indexed@20
+MPI_Type_lb@8
+MPI_Type_match_size@12
+MPI_Type_set_attr@12
+MPI_Type_set_name@8
+MPI_Type_size@8
+MPI_Type_size_x@8
+MPI_Type_struct@20
+MPI_Type_ub@8
+MPI_Type_vector@20
+MPI_UNPACK
+MPI_UNPACK_EXTERNAL
+MPI_UNPUBLISH_NAME
+MPI_Unpack@28
+MPI_Unpack_external@28
+MPI_Unpublish_name@12
+MPI_WAIT
+MPI_WAITALL
+MPI_WAITANY
+MPI_WAITSOME
+MPI_WIN_ALLOCATE
+MPI_WIN_ALLOCATE_SHARED
+MPI_WIN_ATTACH
+MPI_WIN_CALL_ERRHANDLER
+MPI_WIN_COMPLETE
+MPI_WIN_CREATE
+MPI_WIN_CREATE_DYNAMIC
+MPI_WIN_CREATE_ERRHANDLER
+MPI_WIN_CREATE_KEYVAL
+MPI_WIN_DELETE_ATTR
+MPI_WIN_DETACH
+MPI_WIN_DUP_FN
+MPI_WIN_FENCE
+MPI_WIN_FLUSH
+MPI_WIN_FLUSH_ALL
+MPI_WIN_FLUSH_LOCAL
+MPI_WIN_FLUSH_LOCAL_ALL
+MPI_WIN_FREE
+MPI_WIN_FREE_KEYVAL
+MPI_WIN_GET_ATTR
+MPI_WIN_GET_ERRHANDLER
+MPI_WIN_GET_GROUP
+MPI_WIN_GET_NAME
+MPI_WIN_LOCK
+MPI_WIN_LOCK_ALL
+MPI_WIN_NULL_COPY_FN
+MPI_WIN_NULL_DELETE_FN
+MPI_WIN_POST
+MPI_WIN_SET_ATTR
+MPI_WIN_SET_ERRHANDLER
+MPI_WIN_SET_NAME
+MPI_WIN_SHARED_QUERY
+MPI_WIN_START
+MPI_WIN_SYNC
+MPI_WIN_TEST
+MPI_WIN_UNLOCK
+MPI_WIN_UNLOCK_ALL
+MPI_WIN_WAIT
+MPI_WTICK
+MPI_WTIME
+MPI_Wait@8
+MPI_Waitall@12
+MPI_Waitany@16
+MPI_Waitsome@20
+MPI_Win_allocate@24
+MPI_Win_allocate_shared@24
+MPI_Win_attach@12
+MPI_Win_call_errhandler@8
+MPI_Win_complete@4
+MPI_Win_create@24
+MPI_Win_create_dynamic@12
+MPI_Win_create_errhandler@8
+MPI_Win_create_keyval@16
+MPI_Win_delete_attr@8
+MPI_Win_detach@8
+MPI_Win_fence@8
+MPI_Win_flush@8
+MPI_Win_flush_all@4
+MPI_Win_flush_local@8
+MPI_Win_flush_local_all@4
+MPI_Win_free@4
+MPI_Win_free_keyval@4
+MPI_Win_get_attr@16
+MPI_Win_get_errhandler@8
+MPI_Win_get_group@8
+MPI_Win_get_name@12
+MPI_Win_lock@16
+MPI_Win_lock_all@8
+MPI_Win_post@12
+MPI_Win_set_attr@12
+MPI_Win_set_errhandler@8
+MPI_Win_set_name@8
+MPI_Win_shared_query@20
+MPI_Win_start@12
+MPI_Win_sync@4
+MPI_Win_test@8
+MPI_Win_unlock@8
+MPI_Win_unlock_all@4
+MPI_Win_wait@4
+MPI_Wtick
+MPI_Wtime
+MSMPI_GET_BSEND_OVERHEAD
+MSMPI_GET_VERSION
+MSMPI_Get_bsend_overhead
+MSMPI_Get_version
+MSMPI_Queuelock_acquire@4
+MSMPI_Queuelock_release@4
+MSMPI_Request_set_apc@12
+MSMPI_Waitsome_interruptible@20
+PMPI_ABORT
+PMPI_ACCUMULATE
+PMPI_ADDRESS
+PMPI_ADD_ERROR_CLASS
+PMPI_ADD_ERROR_CODE
+PMPI_ADD_ERROR_STRING
+PMPI_AINT_ADD
+PMPI_AINT_DIFF
+PMPI_ALLGATHER
+PMPI_ALLGATHERV
+PMPI_ALLOC_MEM
+PMPI_ALLREDUCE
+PMPI_ALLTOALL
+PMPI_ALLTOALLV
+PMPI_ALLTOALLW
+PMPI_ATTR_DELETE
+PMPI_ATTR_GET
+PMPI_ATTR_PUT
+PMPI_Abort@8
+PMPI_Accumulate@36
+PMPI_Add_error_class@4
+PMPI_Add_error_code@8
+PMPI_Add_error_string@8
+PMPI_Address@8
+PMPI_Aint_add@8
+PMPI_Aint_diff@8
+PMPI_Allgather@28
+PMPI_Allgatherv@32
+PMPI_Alloc_mem@12
+PMPI_Allreduce@24
+PMPI_Alltoall@28
+PMPI_Alltoallv@36
+PMPI_Alltoallw@36
+PMPI_Attr_delete@8
+PMPI_Attr_get@16
+PMPI_Attr_put@12
+PMPI_BARRIER
+PMPI_BCAST
+PMPI_BSEND
+PMPI_BSEND_INIT
+PMPI_BUFFER_ATTACH
+PMPI_BUFFER_DETACH
+PMPI_Barrier@4
+PMPI_Bcast@20
+PMPI_Bsend@24
+PMPI_Bsend_init@28
+PMPI_Buffer_attach@8
+PMPI_Buffer_detach@8
+PMPI_CANCEL
+PMPI_CARTDIM_GET
+PMPI_CART_COORDS
+PMPI_CART_CREATE
+PMPI_CART_GET
+PMPI_CART_MAP
+PMPI_CART_RANK
+PMPI_CART_SHIFT
+PMPI_CART_SUB
+PMPI_CLOSE_PORT
+PMPI_COMM_ACCEPT
+PMPI_COMM_CALL_ERRHANDLER
+PMPI_COMM_COMPARE
+PMPI_COMM_CONNECT
+PMPI_COMM_CREATE
+PMPI_COMM_CREATE_ERRHANDLER
+PMPI_COMM_CREATE_KEYVAL
+PMPI_COMM_DELETE_ATTR
+PMPI_COMM_DISCONNECT
+PMPI_COMM_DUP
+PMPI_COMM_DUP_FN
+PMPI_COMM_FREE
+PMPI_COMM_FREE_KEYVAL
+PMPI_COMM_GET_ATTR
+PMPI_COMM_GET_ERRHANDLER
+PMPI_COMM_GET_NAME
+PMPI_COMM_GET_PARENT
+PMPI_COMM_GROUP
+PMPI_COMM_JOIN
+PMPI_COMM_NULL_COPY_FN
+PMPI_COMM_NULL_DELETE_FN
+PMPI_COMM_RANK
+PMPI_COMM_REMOTE_GROUP
+PMPI_COMM_REMOTE_SIZE
+PMPI_COMM_SET_ATTR
+PMPI_COMM_SET_ERRHANDLER
+PMPI_COMM_SET_NAME
+PMPI_COMM_SIZE
+PMPI_COMM_SPAWN
+PMPI_COMM_SPAWN_MULTIPLE
+PMPI_COMM_SPLIT
+PMPI_COMM_SPLIT_TYPE
+PMPI_COMM_TEST_INTER
+PMPI_COMPARE_AND_SWAP
+PMPI_CONVERSION_FN_NULL
+PMPI_Cancel@4
+PMPI_Cart_coords@16
+PMPI_Cart_create@24
+PMPI_Cart_get@20
+PMPI_Cart_map@20
+PMPI_Cart_rank@12
+PMPI_Cart_shift@20
+PMPI_Cart_sub@12
+PMPI_Cartdim_get@8
+PMPI_Close_port@4
+PMPI_Comm_accept@20
+PMPI_Comm_call_errhandler@8
+PMPI_Comm_compare@12
+PMPI_Comm_connect@20
+PMPI_Comm_create@12
+PMPI_Comm_create_errhandler@8
+PMPI_Comm_create_keyval@16
+PMPI_Comm_delete_attr@8
+PMPI_Comm_disconnect@4
+PMPI_Comm_dup@8
+PMPI_Comm_free@4
+PMPI_Comm_free_keyval@4
+PMPI_Comm_get_attr@16
+PMPI_Comm_get_errhandler@8
+PMPI_Comm_get_name@12
+PMPI_Comm_get_parent@4
+PMPI_Comm_group@8
+PMPI_Comm_join@8
+PMPI_Comm_rank@8
+PMPI_Comm_remote_group@8
+PMPI_Comm_remote_size@8
+PMPI_Comm_set_attr@12
+PMPI_Comm_set_errhandler@8
+PMPI_Comm_set_name@8
+PMPI_Comm_size@8
+PMPI_Comm_spawn@32
+PMPI_Comm_spawn_multiple@36
+PMPI_Comm_split@16
+PMPI_Comm_split_type@20
+PMPI_Comm_test_inter@8
+PMPI_Compare_and_swap@28
+PMPI_DIMS_CREATE
+PMPI_DIST_GRAPH_CREATE
+PMPI_DIST_GRAPH_CREATE_ADJACENT
+PMPI_DIST_GRAPH_NEIGHBORS
+PMPI_DIST_GRAPH_NEIGHBORS_COUNT
+PMPI_DUP_FN
+PMPI_Dims_create@12
+PMPI_Dist_graph_create@36
+PMPI_Dist_graph_create_adjacent@40
+PMPI_Dist_graph_neighbors@28
+PMPI_Dist_graph_neighbors_count@16
+PMPI_ERRHANDLER_CREATE
+PMPI_ERRHANDLER_FREE
+PMPI_ERRHANDLER_GET
+PMPI_ERRHANDLER_SET
+PMPI_ERROR_CLASS
+PMPI_ERROR_STRING
+PMPI_EXSCAN
+PMPI_Errhandler_create@8
+PMPI_Errhandler_free@4
+PMPI_Errhandler_get@8
+PMPI_Errhandler_set@8
+PMPI_Error_class@8
+PMPI_Error_string@12
+PMPI_Exscan@24
+PMPI_FETCH_AND_OP
+PMPI_FILE_CALL_ERRHANDLER
+PMPI_FILE_CLOSE
+PMPI_FILE_CREATE_ERRHANDLER
+PMPI_FILE_DELETE
+PMPI_FILE_GET_AMODE
+PMPI_FILE_GET_ATOMICITY
+PMPI_FILE_GET_BYTE_OFFSET
+PMPI_FILE_GET_ERRHANDLER
+PMPI_FILE_GET_GROUP
+PMPI_FILE_GET_INFO
+PMPI_FILE_GET_POSITION
+PMPI_FILE_GET_POSITION_SHARED
+PMPI_FILE_GET_SIZE
+PMPI_FILE_GET_TYPE_EXTENT
+PMPI_FILE_GET_VIEW
+PMPI_FILE_IREAD
+PMPI_FILE_IREAD_AT
+PMPI_FILE_IREAD_SHARED
+PMPI_FILE_IWRITE
+PMPI_FILE_IWRITE_AT
+PMPI_FILE_IWRITE_SHARED
+PMPI_FILE_OPEN
+PMPI_FILE_PREALLOCATE
+PMPI_FILE_READ
+PMPI_FILE_READ_ALL
+PMPI_FILE_READ_ALL_BEGIN
+PMPI_FILE_READ_ALL_END
+PMPI_FILE_READ_AT
+PMPI_FILE_READ_AT_ALL
+PMPI_FILE_READ_AT_ALL_BEGIN
+PMPI_FILE_READ_AT_ALL_END
+PMPI_FILE_READ_ORDERED
+PMPI_FILE_READ_ORDERED_BEGIN
+PMPI_FILE_READ_ORDERED_END
+PMPI_FILE_READ_SHARED
+PMPI_FILE_SEEK
+PMPI_FILE_SEEK_SHARED
+PMPI_FILE_SET_ATOMICITY
+PMPI_FILE_SET_ERRHANDLER
+PMPI_FILE_SET_INFO
+PMPI_FILE_SET_SIZE
+PMPI_FILE_SET_VIEW
+PMPI_FILE_SYNC
+PMPI_FILE_WRITE
+PMPI_FILE_WRITE_ALL
+PMPI_FILE_WRITE_ALL_BEGIN
+PMPI_FILE_WRITE_ALL_END
+PMPI_FILE_WRITE_AT
+PMPI_FILE_WRITE_AT_ALL
+PMPI_FILE_WRITE_AT_ALL_BEGIN
+PMPI_FILE_WRITE_AT_ALL_END
+PMPI_FILE_WRITE_ORDERED
+PMPI_FILE_WRITE_ORDERED_BEGIN
+PMPI_FILE_WRITE_ORDERED_END
+PMPI_FILE_WRITE_SHARED
+PMPI_FINALIZE
+PMPI_FINALIZED
+PMPI_FREE_MEM
+PMPI_Fetch_and_op@28
+PMPI_File_c2f@4
+PMPI_File_call_errhandler@8
+PMPI_File_close@4
+PMPI_File_create_errhandler@8
+PMPI_File_delete@8
+PMPI_File_f2c@4
+PMPI_File_get_amode@8
+PMPI_File_get_atomicity@8
+PMPI_File_get_byte_offset@16
+PMPI_File_get_errhandler@8
+PMPI_File_get_group@8
+PMPI_File_get_info@8
+PMPI_File_get_position@8
+PMPI_File_get_position_shared@8
+PMPI_File_get_size@8
+PMPI_File_get_type_extent@12
+PMPI_File_get_view@20
+PMPI_File_iread@20
+PMPI_File_iread_at@28
+PMPI_File_iread_shared@20
+PMPI_File_iwrite@20
+PMPI_File_iwrite_at@28
+PMPI_File_iwrite_shared@20
+PMPI_File_open@20
+PMPI_File_preallocate@12
+PMPI_File_read@20
+PMPI_File_read_all@20
+PMPI_File_read_all_begin@16
+PMPI_File_read_all_end@12
+PMPI_File_read_at@28
+PMPI_File_read_at_all@28
+PMPI_File_read_at_all_begin@24
+PMPI_File_read_at_all_end@12
+PMPI_File_read_ordered@20
+PMPI_File_read_ordered_begin@16
+PMPI_File_read_ordered_end@12
+PMPI_File_read_shared@20
+PMPI_File_seek@16
+PMPI_File_seek_shared@16
+PMPI_File_set_atomicity@8
+PMPI_File_set_errhandler@8
+PMPI_File_set_info@8
+PMPI_File_set_size@12
+PMPI_File_set_view@28
+PMPI_File_sync@4
+PMPI_File_write@20
+PMPI_File_write_all@20
+PMPI_File_write_all_begin@16
+PMPI_File_write_all_end@12
+PMPI_File_write_at@28
+PMPI_File_write_at_all@28
+PMPI_File_write_at_all_begin@24
+PMPI_File_write_at_all_end@12
+PMPI_File_write_ordered@20
+PMPI_File_write_ordered_begin@16
+PMPI_File_write_ordered_end@12
+PMPI_File_write_shared@20
+PMPI_Finalize
+PMPI_Finalized@4
+PMPI_Free_mem@4
+PMPI_GATHER
+PMPI_GATHERV
+PMPI_GET
+PMPI_GET_ACCUMULATE
+PMPI_GET_ADDRESS
+PMPI_GET_COUNT
+PMPI_GET_ELEMENTS
+PMPI_GET_ELEMENTS_X
+PMPI_GET_LIBRARY_VERSION
+PMPI_GET_PROCESSOR_NAME
+PMPI_GET_VERSION
+PMPI_GRAPHDIMS_GET
+PMPI_GRAPH_CREATE
+PMPI_GRAPH_GET
+PMPI_GRAPH_MAP
+PMPI_GRAPH_NEIGHBORS
+PMPI_GRAPH_NEIGHBORS_COUNT
+PMPI_GREQUEST_COMPLETE
+PMPI_GREQUEST_START
+PMPI_GROUP_COMPARE
+PMPI_GROUP_DIFFERENCE
+PMPI_GROUP_EXCL
+PMPI_GROUP_FREE
+PMPI_GROUP_INCL
+PMPI_GROUP_INTERSECTION
+PMPI_GROUP_RANGE_EXCL
+PMPI_GROUP_RANGE_INCL
+PMPI_GROUP_RANK
+PMPI_GROUP_SIZE
+PMPI_GROUP_TRANSLATE_RANKS
+PMPI_GROUP_UNION
+PMPI_Gather@32
+PMPI_Gatherv@36
+PMPI_Get@32
+PMPI_Get_accumulate@48
+PMPI_Get_address@8
+PMPI_Get_count@12
+PMPI_Get_elements@12
+PMPI_Get_elements_x@12
+PMPI_Get_library_version@8
+PMPI_Get_processor_name@8
+PMPI_Get_version@8
+PMPI_Graph_create@24
+PMPI_Graph_get@20
+PMPI_Graph_map@20
+PMPI_Graph_neighbors@16
+PMPI_Graph_neighbors_count@12
+PMPI_Graphdims_get@12
+PMPI_Grequest_complete@4
+PMPI_Grequest_start@20
+PMPI_Group_compare@12
+PMPI_Group_difference@12
+PMPI_Group_excl@16
+PMPI_Group_free@4
+PMPI_Group_incl@16
+PMPI_Group_intersection@12
+PMPI_Group_range_excl@16
+PMPI_Group_range_incl@16
+PMPI_Group_rank@8
+PMPI_Group_size@8
+PMPI_Group_translate_ranks@20
+PMPI_Group_union@12
+PMPI_IALLGATHER
+PMPI_IALLGATHERV
+PMPI_IALLREDUCE
+PMPI_IALLTOALL
+PMPI_IALLTOALLV
+PMPI_IALLTOALLW
+PMPI_IBARRIER
+PMPI_IBCAST
+PMPI_IBSEND
+PMPI_IEXSCAN
+PMPI_IGATHER
+PMPI_IGATHERV
+PMPI_IMPROBE
+PMPI_IMRECV
+PMPI_INFO_CREATE
+PMPI_INFO_DELETE
+PMPI_INFO_DUP
+PMPI_INFO_FREE
+PMPI_INFO_GET
+PMPI_INFO_GET_NKEYS
+PMPI_INFO_GET_NTHKEY
+PMPI_INFO_GET_VALUELEN
+PMPI_INFO_SET
+PMPI_INIT
+PMPI_INITIALIZED
+PMPI_INIT_THREAD
+PMPI_INTERCOMM_CREATE
+PMPI_INTERCOMM_MERGE
+PMPI_IPROBE
+PMPI_IRECV
+PMPI_IREDUCE
+PMPI_IREDUCE_SCATTER
+PMPI_IREDUCE_SCATTER_BLOCK
+PMPI_IRSEND
+PMPI_ISCAN
+PMPI_ISCATTER
+PMPI_ISCATTERV
+PMPI_ISEND
+PMPI_ISSEND
+PMPI_IS_THREAD_MAIN
+PMPI_Iallgather@32
+PMPI_Iallgatherv@36
+PMPI_Iallreduce@28
+PMPI_Ialltoall@32
+PMPI_Ialltoallv@40
+PMPI_Ialltoallw@40
+PMPI_Ibarrier@8
+PMPI_Ibcast@24
+PMPI_Ibsend@28
+PMPI_Iexscan@28
+PMPI_Igather@36
+PMPI_Igatherv@40
+PMPI_Improbe@24
+PMPI_Imrecv@20
+PMPI_Info_create@4
+PMPI_Info_delete@8
+PMPI_Info_dup@8
+PMPI_Info_free@4
+PMPI_Info_get@20
+PMPI_Info_get_nkeys@8
+PMPI_Info_get_nthkey@12
+PMPI_Info_get_valuelen@16
+PMPI_Info_set@12
+PMPI_Init@8
+PMPI_Init_thread@16
+PMPI_Initialized@4
+PMPI_Intercomm_create@24
+PMPI_Intercomm_merge@12
+PMPI_Iprobe@20
+PMPI_Irecv@28
+PMPI_Ireduce@32
+PMPI_Ireduce_scatter@28
+PMPI_Ireduce_scatter_block@28
+PMPI_Irsend@28
+PMPI_Is_thread_main@4
+PMPI_Iscan@28
+PMPI_Iscatter@36
+PMPI_Iscatterv@40
+PMPI_Isend@28
+PMPI_Issend@28
+PMPI_KEYVAL_CREATE
+PMPI_KEYVAL_FREE
+PMPI_Keyval_create@16
+PMPI_Keyval_free@4
+PMPI_LOOKUP_NAME
+PMPI_Lookup_name@12
+PMPI_MPROBE
+PMPI_MRECV
+PMPI_Mprobe@20
+PMPI_Mrecv@20
+PMPI_NULL_COPY_FN
+PMPI_NULL_DELETE_FN
+PMPI_OPEN_PORT
+PMPI_OP_COMMUTATIVE
+PMPI_OP_CREATE
+PMPI_OP_FREE
+PMPI_Op_commutative@8
+PMPI_Op_create@12
+PMPI_Op_free@4
+PMPI_Open_port@8
+PMPI_PACK
+PMPI_PACK_EXTERNAL
+PMPI_PACK_EXTERNAL_SIZE
+PMPI_PACK_SIZE
+PMPI_PCONTROL
+PMPI_PROBE
+PMPI_PUBLISH_NAME
+PMPI_PUT
+PMPI_Pack@28
+PMPI_Pack_external@28
+PMPI_Pack_external_size@16
+PMPI_Pack_size@16
+PMPI_Pcontrol
+PMPI_Probe@16
+PMPI_Publish_name@12
+PMPI_Put@32
+PMPI_QUERY_THREAD
+PMPI_Query_thread@4
+PMPI_RACCUMULATE
+PMPI_RECV
+PMPI_RECV_INIT
+PMPI_REDUCE
+PMPI_REDUCE_LOCAL
+PMPI_REDUCE_SCATTER
+PMPI_REDUCE_SCATTER_block
+PMPI_REGISTER_DATAREP
+PMPI_REQUEST_FREE
+PMPI_REQUEST_GET_STATUS
+PMPI_RGET
+PMPI_RGET_ACCUMULATE
+PMPI_RPUT
+PMPI_RSEND
+PMPI_RSEND_INIT
+PMPI_Raccumulate@40
+PMPI_Recv@28
+PMPI_Recv_init@28
+PMPI_Reduce@28
+PMPI_Reduce_local@20
+PMPI_Reduce_scatter@24
+PMPI_Reduce_scatter_block@24
+PMPI_Register_datarep@20
+PMPI_Request_free@4
+PMPI_Request_get_status@12
+PMPI_Rget@36
+PMPI_Rget_accumulate@52
+PMPI_Rput@36
+PMPI_Rsend@24
+PMPI_Rsend_init@28
+PMPI_SCAN
+PMPI_SCATTER
+PMPI_SCATTERV
+PMPI_SEND
+PMPI_SENDRECV
+PMPI_SENDRECV_REPLACE
+PMPI_SEND_INIT
+PMPI_SSEND
+PMPI_SSEND_INIT
+PMPI_START
+PMPI_STARTALL
+PMPI_STATUS_C2F
+PMPI_STATUS_F2C
+PMPI_STATUS_SET_CANCELLED
+PMPI_STATUS_SET_ELEMENTS
+PMPI_STATUS_SET_ELEMENTS_X
+PMPI_Scan@24
+PMPI_Scatter@32
+PMPI_Scatterv@36
+PMPI_Send@24
+PMPI_Send_init@28
+PMPI_Sendrecv@48
+PMPI_Sendrecv_replace@36
+PMPI_Ssend@24
+PMPI_Ssend_init@28
+PMPI_Start@4
+PMPI_Startall@8
+PMPI_Status_c2f@8
+PMPI_Status_f2c@8
+PMPI_Status_set_cancelled@8
+PMPI_Status_set_elements@12
+PMPI_Status_set_elements_x@16
+PMPI_TEST
+PMPI_TESTALL
+PMPI_TESTANY
+PMPI_TESTSOME
+PMPI_TEST_CANCELLED
+PMPI_TOPO_TEST
+PMPI_TYPE_COMMIT
+PMPI_TYPE_CONTIGUOUS
+PMPI_TYPE_CREATE_DARRAY
+PMPI_TYPE_CREATE_F90_COMPLEX
+PMPI_TYPE_CREATE_F90_INTEGER
+PMPI_TYPE_CREATE_F90_REAL
+PMPI_TYPE_CREATE_HINDEXED
+PMPI_TYPE_CREATE_HINDEXED_BLOCK
+PMPI_TYPE_CREATE_HVECTOR
+PMPI_TYPE_CREATE_INDEXED_BLOCK
+PMPI_TYPE_CREATE_KEYVAL
+PMPI_TYPE_CREATE_RESIZED
+PMPI_TYPE_CREATE_STRUCT
+PMPI_TYPE_CREATE_SUBARRAY
+PMPI_TYPE_DELETE_ATTR
+PMPI_TYPE_DUP
+PMPI_TYPE_DUP_FN
+PMPI_TYPE_EXTENT
+PMPI_TYPE_FREE
+PMPI_TYPE_FREE_KEYVAL
+PMPI_TYPE_GET_ATTR
+PMPI_TYPE_GET_CONTENTS
+PMPI_TYPE_GET_ENVELOPE
+PMPI_TYPE_GET_EXTENT
+PMPI_TYPE_GET_EXTENT_X
+PMPI_TYPE_GET_NAME
+PMPI_TYPE_GET_TRUE_EXTENT
+PMPI_TYPE_GET_TRUE_EXTENT_X
+PMPI_TYPE_HINDEXED
+PMPI_TYPE_HVECTOR
+PMPI_TYPE_INDEXED
+PMPI_TYPE_LB
+PMPI_TYPE_MATCH_SIZE
+PMPI_TYPE_NULL_COPY_FN
+PMPI_TYPE_NULL_DELETE_FN
+PMPI_TYPE_SET_ATTR
+PMPI_TYPE_SET_NAME
+PMPI_TYPE_SIZE
+PMPI_TYPE_SIZE_X
+PMPI_TYPE_STRUCT
+PMPI_TYPE_UB
+PMPI_TYPE_VECTOR
+PMPI_Test@12
+PMPI_Test_cancelled@8
+PMPI_Testall@16
+PMPI_Testany@20
+PMPI_Testsome@20
+PMPI_Topo_test@8
+PMPI_Type_commit@4
+PMPI_Type_contiguous@12
+PMPI_Type_create_darray@40
+PMPI_Type_create_f90_complex@12
+PMPI_Type_create_f90_integer@8
+PMPI_Type_create_f90_real@12
+PMPI_Type_create_hindexed@20
+PMPI_Type_create_hindexed_block@20
+PMPI_Type_create_hvector@20
+PMPI_Type_create_indexed_block@20
+PMPI_Type_create_keyval@16
+PMPI_Type_create_resized@16
+PMPI_Type_create_struct@20
+PMPI_Type_create_subarray@28
+PMPI_Type_delete_attr@8
+PMPI_Type_dup@8
+PMPI_Type_extent@8
+PMPI_Type_free@4
+PMPI_Type_free_keyval@4
+PMPI_Type_get_attr@16
+PMPI_Type_get_contents@28
+PMPI_Type_get_envelope@20
+PMPI_Type_get_extent@12
+PMPI_Type_get_extent_x@12
+PMPI_Type_get_name@12
+PMPI_Type_get_true_extent@12
+PMPI_Type_get_true_extent_x@12
+PMPI_Type_hindexed@20
+PMPI_Type_hvector@20
+PMPI_Type_indexed@20
+PMPI_Type_lb@8
+PMPI_Type_match_size@12
+PMPI_Type_set_attr@12
+PMPI_Type_set_name@8
+PMPI_Type_size@8
+PMPI_Type_size_x@8
+PMPI_Type_struct@20
+PMPI_Type_ub@8
+PMPI_Type_vector@20
+PMPI_UNPACK
+PMPI_UNPACK_EXTERNAL
+PMPI_UNPUBLISH_NAME
+PMPI_Unpack@28
+PMPI_Unpack_external@28
+PMPI_Unpublish_name@12
+PMPI_WAIT
+PMPI_WAITALL
+PMPI_WAITANY
+PMPI_WAITSOME
+PMPI_WIN_ALLOCATE
+PMPI_WIN_ALLOCATE_SHARED
+PMPI_WIN_ATTACH
+PMPI_WIN_CALL_ERRHANDLER
+PMPI_WIN_COMPLETE
+PMPI_WIN_CREATE
+PMPI_WIN_CREATE_DYNAMIC
+PMPI_WIN_CREATE_ERRHANDLER
+PMPI_WIN_CREATE_KEYVAL
+PMPI_WIN_DELETE_ATTR
+PMPI_WIN_DETACH
+PMPI_WIN_DUP_FN
+PMPI_WIN_FENCE
+PMPI_WIN_FLUSH
+PMPI_WIN_FLUSH_ALL
+PMPI_WIN_FLUSH_LOCAL
+PMPI_WIN_FLUSH_LOCAL_ALL
+PMPI_WIN_FREE
+PMPI_WIN_FREE_KEYVAL
+PMPI_WIN_GET_ATTR
+PMPI_WIN_GET_ERRHANDLER
+PMPI_WIN_GET_GROUP
+PMPI_WIN_GET_NAME
+PMPI_WIN_LOCK
+PMPI_WIN_LOCK_ALL
+PMPI_WIN_NULL_COPY_FN
+PMPI_WIN_NULL_DELETE_FN
+PMPI_WIN_POST
+PMPI_WIN_SET_ATTR
+PMPI_WIN_SET_ERRHANDLER
+PMPI_WIN_SET_NAME
+PMPI_WIN_SHARED_QUERY
+PMPI_WIN_START
+PMPI_WIN_SYNC
+PMPI_WIN_TEST
+PMPI_WIN_UNLOCK
+PMPI_WIN_UNLOCK_ALL
+PMPI_WIN_WAIT
+PMPI_WTICK
+PMPI_WTIME
+PMPI_Wait@8
+PMPI_Waitall@12
+PMPI_Waitany@16
+PMPI_Waitsome@20
+PMPI_Win_allocate@24
+PMPI_Win_allocate_shared@24
+PMPI_Win_attach@12
+PMPI_Win_call_errhandler@8
+PMPI_Win_complete@4
+PMPI_Win_create@24
+PMPI_Win_create_dynamic@12
+PMPI_Win_create_errhandler@8
+PMPI_Win_create_keyval@16
+PMPI_Win_delete_attr@8
+PMPI_Win_detach@8
+PMPI_Win_fence@8
+PMPI_Win_flush@8
+PMPI_Win_flush_all@4
+PMPI_Win_flush_local@8
+PMPI_Win_flush_local_all@4
+PMPI_Win_free@4
+PMPI_Win_free_keyval@4
+PMPI_Win_get_attr@16
+PMPI_Win_get_errhandler@8
+PMPI_Win_get_group@8
+PMPI_Win_get_name@12
+PMPI_Win_lock@16
+PMPI_Win_lock_all@8
+PMPI_Win_post@12
+PMPI_Win_set_attr@12
+PMPI_Win_set_errhandler@8
+PMPI_Win_set_name@8
+PMPI_Win_shared_query@20
+PMPI_Win_start@12
+PMPI_Win_sync@4
+PMPI_Win_test@8
+PMPI_Win_unlock@8
+PMPI_Win_unlock_all@4
+PMPI_Win_wait@4
+PMPI_Wtick
+PMPI_Wtime
+PMSMPI_GET_BSEND_OVERHEAD
+PMSMPI_GET_VERSION
+PMSMPI_Get_bsend_overhead
+PMSMPI_Get_version
+_mpifcmb5 DATA
+_mpifcmb5_ DATA
+_mpifcmb9 DATA
+_mpifcmb9_ DATA
+_mpipriv1 DATA
+_mpipriv1_ DATA
+_mpipriv2 DATA
+_mpipriv2_ DATA
+_mpiprivc DATA
+_mpiprivc_ DATA
+mpi_abort
+mpi_abort_
+mpi_abort__
+mpi_accumulate
+mpi_accumulate_
+mpi_accumulate__
+mpi_add_error_class
+mpi_add_error_class_
+mpi_add_error_class__
+mpi_add_error_code
+mpi_add_error_code_
+mpi_add_error_code__
+mpi_add_error_string
+mpi_add_error_string_
+mpi_add_error_string__
+mpi_address
+mpi_address_
+mpi_address__
+mpi_aint_add
+mpi_aint_add_
+mpi_aint_add__
+mpi_aint_diff
+mpi_aint_diff_
+mpi_aint_diff__
+mpi_allgather
+mpi_allgather_
+mpi_allgather__
+mpi_allgatherv
+mpi_allgatherv_
+mpi_allgatherv__
+mpi_alloc_mem
+mpi_alloc_mem_
+mpi_alloc_mem__
+mpi_allreduce
+mpi_allreduce_
+mpi_allreduce__
+mpi_alltoall
+mpi_alltoall_
+mpi_alltoall__
+mpi_alltoallv
+mpi_alltoallv_
+mpi_alltoallv__
+mpi_alltoallw
+mpi_alltoallw_
+mpi_alltoallw__
+mpi_attr_delete
+mpi_attr_delete_
+mpi_attr_delete__
+mpi_attr_get
+mpi_attr_get_
+mpi_attr_get__
+mpi_attr_put
+mpi_attr_put_
+mpi_attr_put__
+mpi_barrier
+mpi_barrier_
+mpi_barrier__
+mpi_bcast
+mpi_bcast_
+mpi_bcast__
+mpi_bsend
+mpi_bsend_
+mpi_bsend__
+mpi_bsend_init
+mpi_bsend_init_
+mpi_bsend_init__
+mpi_buffer_attach
+mpi_buffer_attach_
+mpi_buffer_attach__
+mpi_buffer_detach
+mpi_buffer_detach_
+mpi_buffer_detach__
+mpi_cancel
+mpi_cancel_
+mpi_cancel__
+mpi_cart_coords
+mpi_cart_coords_
+mpi_cart_coords__
+mpi_cart_create
+mpi_cart_create_
+mpi_cart_create__
+mpi_cart_get
+mpi_cart_get_
+mpi_cart_get__
+mpi_cart_map
+mpi_cart_map_
+mpi_cart_map__
+mpi_cart_rank
+mpi_cart_rank_
+mpi_cart_rank__
+mpi_cart_shift
+mpi_cart_shift_
+mpi_cart_shift__
+mpi_cart_sub
+mpi_cart_sub_
+mpi_cart_sub__
+mpi_cartdim_get
+mpi_cartdim_get_
+mpi_cartdim_get__
+mpi_close_port
+mpi_close_port_
+mpi_close_port__
+mpi_comm_accept
+mpi_comm_accept_
+mpi_comm_accept__
+mpi_comm_call_errhandler
+mpi_comm_call_errhandler_
+mpi_comm_call_errhandler__
+mpi_comm_compare
+mpi_comm_compare_
+mpi_comm_compare__
+mpi_comm_connect
+mpi_comm_connect_
+mpi_comm_connect__
+mpi_comm_create
+mpi_comm_create_
+mpi_comm_create__
+mpi_comm_create_errhandler
+mpi_comm_create_errhandler_
+mpi_comm_create_errhandler__
+mpi_comm_create_keyval
+mpi_comm_create_keyval_
+mpi_comm_create_keyval__
+mpi_comm_delete_attr
+mpi_comm_delete_attr_
+mpi_comm_delete_attr__
+mpi_comm_disconnect
+mpi_comm_disconnect_
+mpi_comm_disconnect__
+mpi_comm_dup
+mpi_comm_dup_
+mpi_comm_dup__
+mpi_comm_dup_fn
+mpi_comm_dup_fn_
+mpi_comm_dup_fn__
+mpi_comm_free
+mpi_comm_free_
+mpi_comm_free__
+mpi_comm_free_keyval
+mpi_comm_free_keyval_
+mpi_comm_free_keyval__
+mpi_comm_get_attr
+mpi_comm_get_attr_
+mpi_comm_get_attr__
+mpi_comm_get_errhandler
+mpi_comm_get_errhandler_
+mpi_comm_get_errhandler__
+mpi_comm_get_name
+mpi_comm_get_name_
+mpi_comm_get_name__
+mpi_comm_get_parent
+mpi_comm_get_parent_
+mpi_comm_get_parent__
+mpi_comm_group
+mpi_comm_group_
+mpi_comm_group__
+mpi_comm_join
+mpi_comm_join_
+mpi_comm_join__
+mpi_comm_null_copy_fn
+mpi_comm_null_copy_fn_
+mpi_comm_null_copy_fn__
+mpi_comm_null_delete_fn
+mpi_comm_null_delete_fn_
+mpi_comm_null_delete_fn__
+mpi_comm_rank
+mpi_comm_rank_
+mpi_comm_rank__
+mpi_comm_remote_group
+mpi_comm_remote_group_
+mpi_comm_remote_group__
+mpi_comm_remote_size
+mpi_comm_remote_size_
+mpi_comm_remote_size__
+mpi_comm_set_attr
+mpi_comm_set_attr_
+mpi_comm_set_attr__
+mpi_comm_set_errhandler
+mpi_comm_set_errhandler_
+mpi_comm_set_errhandler__
+mpi_comm_set_name
+mpi_comm_set_name_
+mpi_comm_set_name__
+mpi_comm_size
+mpi_comm_size_
+mpi_comm_size__
+mpi_comm_spawn
+mpi_comm_spawn_
+mpi_comm_spawn__
+mpi_comm_spawn_multiple
+mpi_comm_spawn_multiple_
+mpi_comm_spawn_multiple__
+mpi_comm_split
+mpi_comm_split_
+mpi_comm_split__
+mpi_comm_split_type
+mpi_comm_split_type_
+mpi_comm_split_type__
+mpi_comm_test_inter
+mpi_comm_test_inter_
+mpi_comm_test_inter__
+mpi_compare_and_swap
+mpi_compare_and_swap_
+mpi_compare_and_swap__
+mpi_conversion_fn_null
+mpi_conversion_fn_null_
+mpi_conversion_fn_null__
+mpi_dims_create
+mpi_dims_create_
+mpi_dims_create__
+mpi_dist_graph_create
+mpi_dist_graph_create_
+mpi_dist_graph_create__
+mpi_dist_graph_create_adjacent
+mpi_dist_graph_create_adjacent_
+mpi_dist_graph_create_adjacent__
+mpi_dist_graph_neighbors
+mpi_dist_graph_neighbors_
+mpi_dist_graph_neighbors__
+mpi_dist_graph_neighbors_count
+mpi_dist_graph_neighbors_count_
+mpi_dist_graph_neighbors_count__
+mpi_dup_fn
+mpi_dup_fn_
+mpi_dup_fn__
+mpi_errhandler_create
+mpi_errhandler_create_
+mpi_errhandler_create__
+mpi_errhandler_free
+mpi_errhandler_free_
+mpi_errhandler_free__
+mpi_errhandler_get
+mpi_errhandler_get_
+mpi_errhandler_get__
+mpi_errhandler_set
+mpi_errhandler_set_
+mpi_errhandler_set__
+mpi_error_class
+mpi_error_class_
+mpi_error_class__
+mpi_error_string
+mpi_error_string_
+mpi_error_string__
+mpi_exscan
+mpi_exscan_
+mpi_exscan__
+mpi_fetch_and_op
+mpi_fetch_and_op_
+mpi_fetch_and_op__
+mpi_file_call_errhandler
+mpi_file_call_errhandler_
+mpi_file_call_errhandler__
+mpi_file_close
+mpi_file_close_
+mpi_file_close__
+mpi_file_create_errhandler
+mpi_file_create_errhandler_
+mpi_file_create_errhandler__
+mpi_file_delete
+mpi_file_delete_
+mpi_file_delete__
+mpi_file_get_amode
+mpi_file_get_amode_
+mpi_file_get_amode__
+mpi_file_get_atomicity
+mpi_file_get_atomicity_
+mpi_file_get_atomicity__
+mpi_file_get_byte_offset
+mpi_file_get_byte_offset_
+mpi_file_get_byte_offset__
+mpi_file_get_errhandler
+mpi_file_get_errhandler_
+mpi_file_get_errhandler__
+mpi_file_get_group
+mpi_file_get_group_
+mpi_file_get_group__
+mpi_file_get_info
+mpi_file_get_info_
+mpi_file_get_info__
+mpi_file_get_position
+mpi_file_get_position_
+mpi_file_get_position__
+mpi_file_get_position_shared
+mpi_file_get_position_shared_
+mpi_file_get_position_shared__
+mpi_file_get_size
+mpi_file_get_size_
+mpi_file_get_size__
+mpi_file_get_type_extent
+mpi_file_get_type_extent_
+mpi_file_get_type_extent__
+mpi_file_get_view
+mpi_file_get_view_
+mpi_file_get_view__
+mpi_file_iread
+mpi_file_iread_
+mpi_file_iread__
+mpi_file_iread_at
+mpi_file_iread_at_
+mpi_file_iread_at__
+mpi_file_iread_shared
+mpi_file_iread_shared_
+mpi_file_iread_shared__
+mpi_file_iwrite
+mpi_file_iwrite_
+mpi_file_iwrite__
+mpi_file_iwrite_at
+mpi_file_iwrite_at_
+mpi_file_iwrite_at__
+mpi_file_iwrite_shared
+mpi_file_iwrite_shared_
+mpi_file_iwrite_shared__
+mpi_file_open
+mpi_file_open_
+mpi_file_open__
+mpi_file_preallocate
+mpi_file_preallocate_
+mpi_file_preallocate__
+mpi_file_read
+mpi_file_read_
+mpi_file_read__
+mpi_file_read_all
+mpi_file_read_all_
+mpi_file_read_all__
+mpi_file_read_all_begin
+mpi_file_read_all_begin_
+mpi_file_read_all_begin__
+mpi_file_read_all_end
+mpi_file_read_all_end_
+mpi_file_read_all_end__
+mpi_file_read_at
+mpi_file_read_at_
+mpi_file_read_at__
+mpi_file_read_at_all
+mpi_file_read_at_all_
+mpi_file_read_at_all__
+mpi_file_read_at_all_begin
+mpi_file_read_at_all_begin_
+mpi_file_read_at_all_begin__
+mpi_file_read_at_all_end
+mpi_file_read_at_all_end_
+mpi_file_read_at_all_end__
+mpi_file_read_ordered
+mpi_file_read_ordered_
+mpi_file_read_ordered__
+mpi_file_read_ordered_begin
+mpi_file_read_ordered_begin_
+mpi_file_read_ordered_begin__
+mpi_file_read_ordered_end
+mpi_file_read_ordered_end_
+mpi_file_read_ordered_end__
+mpi_file_read_shared
+mpi_file_read_shared_
+mpi_file_read_shared__
+mpi_file_seek
+mpi_file_seek_
+mpi_file_seek__
+mpi_file_seek_shared
+mpi_file_seek_shared_
+mpi_file_seek_shared__
+mpi_file_set_atomicity
+mpi_file_set_atomicity_
+mpi_file_set_atomicity__
+mpi_file_set_errhandler
+mpi_file_set_errhandler_
+mpi_file_set_errhandler__
+mpi_file_set_info
+mpi_file_set_info_
+mpi_file_set_info__
+mpi_file_set_size
+mpi_file_set_size_
+mpi_file_set_size__
+mpi_file_set_view
+mpi_file_set_view_
+mpi_file_set_view__
+mpi_file_sync
+mpi_file_sync_
+mpi_file_sync__
+mpi_file_write
+mpi_file_write_
+mpi_file_write__
+mpi_file_write_all
+mpi_file_write_all_
+mpi_file_write_all__
+mpi_file_write_all_begin
+mpi_file_write_all_begin_
+mpi_file_write_all_begin__
+mpi_file_write_all_end
+mpi_file_write_all_end_
+mpi_file_write_all_end__
+mpi_file_write_at
+mpi_file_write_at_
+mpi_file_write_at__
+mpi_file_write_at_all
+mpi_file_write_at_all_
+mpi_file_write_at_all__
+mpi_file_write_at_all_begin
+mpi_file_write_at_all_begin_
+mpi_file_write_at_all_begin__
+mpi_file_write_at_all_end
+mpi_file_write_at_all_end_
+mpi_file_write_at_all_end__
+mpi_file_write_ordered
+mpi_file_write_ordered_
+mpi_file_write_ordered__
+mpi_file_write_ordered_begin
+mpi_file_write_ordered_begin_
+mpi_file_write_ordered_begin__
+mpi_file_write_ordered_end
+mpi_file_write_ordered_end_
+mpi_file_write_ordered_end__
+mpi_file_write_shared
+mpi_file_write_shared_
+mpi_file_write_shared__
+mpi_finalize
+mpi_finalize_
+mpi_finalize__
+mpi_finalized
+mpi_finalized_
+mpi_finalized__
+mpi_free_mem
+mpi_free_mem_
+mpi_free_mem__
+mpi_gather
+mpi_gather_
+mpi_gather__
+mpi_gatherv
+mpi_gatherv_
+mpi_gatherv__
+mpi_get
+mpi_get_
+mpi_get__
+mpi_get_accumulate
+mpi_get_accumulate_
+mpi_get_accumulate__
+mpi_get_address
+mpi_get_address_
+mpi_get_address__
+mpi_get_count
+mpi_get_count_
+mpi_get_count__
+mpi_get_elements
+mpi_get_elements_
+mpi_get_elements__
+mpi_get_elements_x
+mpi_get_elements_x_
+mpi_get_elements_x__
+mpi_get_library_version
+mpi_get_library_version_
+mpi_get_library_version__
+mpi_get_processor_name
+mpi_get_processor_name_
+mpi_get_processor_name__
+mpi_get_version
+mpi_get_version_
+mpi_get_version__
+mpi_graph_create
+mpi_graph_create_
+mpi_graph_create__
+mpi_graph_get
+mpi_graph_get_
+mpi_graph_get__
+mpi_graph_map
+mpi_graph_map_
+mpi_graph_map__
+mpi_graph_neighbors
+mpi_graph_neighbors_
+mpi_graph_neighbors__
+mpi_graph_neighbors_count
+mpi_graph_neighbors_count_
+mpi_graph_neighbors_count__
+mpi_graphdims_get
+mpi_graphdims_get_
+mpi_graphdims_get__
+mpi_grequest_complete
+mpi_grequest_complete_
+mpi_grequest_complete__
+mpi_grequest_start
+mpi_grequest_start_
+mpi_grequest_start__
+mpi_group_compare
+mpi_group_compare_
+mpi_group_compare__
+mpi_group_difference
+mpi_group_difference_
+mpi_group_difference__
+mpi_group_excl
+mpi_group_excl_
+mpi_group_excl__
+mpi_group_free
+mpi_group_free_
+mpi_group_free__
+mpi_group_incl
+mpi_group_incl_
+mpi_group_incl__
+mpi_group_intersection
+mpi_group_intersection_
+mpi_group_intersection__
+mpi_group_range_excl
+mpi_group_range_excl_
+mpi_group_range_excl__
+mpi_group_range_incl
+mpi_group_range_incl_
+mpi_group_range_incl__
+mpi_group_rank
+mpi_group_rank_
+mpi_group_rank__
+mpi_group_size
+mpi_group_size_
+mpi_group_size__
+mpi_group_translate_ranks
+mpi_group_translate_ranks_
+mpi_group_translate_ranks__
+mpi_group_union
+mpi_group_union_
+mpi_group_union__
+mpi_iallgather
+mpi_iallgather_
+mpi_iallgather__
+mpi_iallgatherv
+mpi_iallgatherv_
+mpi_iallgatherv__
+mpi_iallreduce
+mpi_iallreduce_
+mpi_iallreduce__
+mpi_ialltoall
+mpi_ialltoall_
+mpi_ialltoall__
+mpi_ialltoallv
+mpi_ialltoallv_
+mpi_ialltoallv__
+mpi_ialltoallw
+mpi_ialltoallw_
+mpi_ialltoallw__
+mpi_ibarrier
+mpi_ibarrier_
+mpi_ibarrier__
+mpi_ibcast
+mpi_ibcast_
+mpi_ibcast__
+mpi_ibsend
+mpi_ibsend_
+mpi_ibsend__
+mpi_iexscan
+mpi_iexscan_
+mpi_iexscan__
+mpi_igather
+mpi_igather_
+mpi_igather__
+mpi_igatherv
+mpi_igatherv_
+mpi_igatherv__
+mpi_improbe
+mpi_improbe_
+mpi_improbe__
+mpi_imrecv
+mpi_imrecv_
+mpi_imrecv__
+mpi_info_create
+mpi_info_create_
+mpi_info_create__
+mpi_info_delete
+mpi_info_delete_
+mpi_info_delete__
+mpi_info_dup
+mpi_info_dup_
+mpi_info_dup__
+mpi_info_free
+mpi_info_free_
+mpi_info_free__
+mpi_info_get
+mpi_info_get_
+mpi_info_get__
+mpi_info_get_nkeys
+mpi_info_get_nkeys_
+mpi_info_get_nkeys__
+mpi_info_get_nthkey
+mpi_info_get_nthkey_
+mpi_info_get_nthkey__
+mpi_info_get_valuelen
+mpi_info_get_valuelen_
+mpi_info_get_valuelen__
+mpi_info_set
+mpi_info_set_
+mpi_info_set__
+mpi_init
+mpi_init_
+mpi_init__
+mpi_init_thread
+mpi_init_thread_
+mpi_init_thread__
+mpi_initialized
+mpi_initialized_
+mpi_initialized__
+mpi_intercomm_create
+mpi_intercomm_create_
+mpi_intercomm_create__
+mpi_intercomm_merge
+mpi_intercomm_merge_
+mpi_intercomm_merge__
+mpi_iprobe
+mpi_iprobe_
+mpi_iprobe__
+mpi_irecv
+mpi_irecv_
+mpi_irecv__
+mpi_ireduce
+mpi_ireduce_
+mpi_ireduce__
+mpi_ireduce_scatter
+mpi_ireduce_scatter_
+mpi_ireduce_scatter__
+mpi_ireduce_scatter_block
+mpi_ireduce_scatter_block_
+mpi_ireduce_scatter_block__
+mpi_irsend
+mpi_irsend_
+mpi_irsend__
+mpi_is_thread_main
+mpi_is_thread_main_
+mpi_is_thread_main__
+mpi_iscan
+mpi_iscan_
+mpi_iscan__
+mpi_iscatter
+mpi_iscatter_
+mpi_iscatter__
+mpi_iscatterv
+mpi_iscatterv_
+mpi_iscatterv__
+mpi_isend
+mpi_isend_
+mpi_isend__
+mpi_issend
+mpi_issend_
+mpi_issend__
+mpi_keyval_create
+mpi_keyval_create_
+mpi_keyval_create__
+mpi_keyval_free
+mpi_keyval_free_
+mpi_keyval_free__
+mpi_lookup_name
+mpi_lookup_name_
+mpi_lookup_name__
+mpi_mprobe
+mpi_mprobe_
+mpi_mprobe__
+mpi_mrecv
+mpi_mrecv_
+mpi_mrecv__
+mpi_null_copy_fn
+mpi_null_copy_fn_
+mpi_null_copy_fn__
+mpi_null_delete_fn
+mpi_null_delete_fn_
+mpi_null_delete_fn__
+mpi_op_commutative
+mpi_op_commutative_
+mpi_op_commutative__
+mpi_op_create
+mpi_op_create_
+mpi_op_create__
+mpi_op_free
+mpi_op_free_
+mpi_op_free__
+mpi_open_port
+mpi_open_port_
+mpi_open_port__
+mpi_pack
+mpi_pack_
+mpi_pack__
+mpi_pack_external
+mpi_pack_external_
+mpi_pack_external__
+mpi_pack_external_size
+mpi_pack_external_size_
+mpi_pack_external_size__
+mpi_pack_size
+mpi_pack_size_
+mpi_pack_size__
+mpi_pcontrol
+mpi_pcontrol_
+mpi_pcontrol__
+mpi_probe
+mpi_probe_
+mpi_probe__
+mpi_publish_name
+mpi_publish_name_
+mpi_publish_name__
+mpi_put
+mpi_put_
+mpi_put__
+mpi_query_thread
+mpi_query_thread_
+mpi_query_thread__
+mpi_raccumulate
+mpi_raccumulate_
+mpi_raccumulate__
+mpi_recv
+mpi_recv_
+mpi_recv__
+mpi_recv_init
+mpi_recv_init_
+mpi_recv_init__
+mpi_reduce
+mpi_reduce_
+mpi_reduce__
+mpi_reduce_local
+mpi_reduce_local_
+mpi_reduce_local__
+mpi_reduce_scatter
+mpi_reduce_scatter_
+mpi_reduce_scatter__
+mpi_reduce_scatter_block
+mpi_reduce_scatter_block_
+mpi_reduce_scatter_block__
+mpi_register_datarep
+mpi_register_datarep_
+mpi_register_datarep__
+mpi_request_free
+mpi_request_free_
+mpi_request_free__
+mpi_request_get_status
+mpi_request_get_status_
+mpi_request_get_status__
+mpi_rget
+mpi_rget_
+mpi_rget__
+mpi_rget_accumulate
+mpi_rget_accumulate_
+mpi_rget_accumulate__
+mpi_rput
+mpi_rput_
+mpi_rput__
+mpi_rsend
+mpi_rsend_
+mpi_rsend__
+mpi_rsend_init
+mpi_rsend_init_
+mpi_rsend_init__
+mpi_scan
+mpi_scan_
+mpi_scan__
+mpi_scatter
+mpi_scatter_
+mpi_scatter__
+mpi_scatterv
+mpi_scatterv_
+mpi_scatterv__
+mpi_send
+mpi_send_
+mpi_send__
+mpi_send_init
+mpi_send_init_
+mpi_send_init__
+mpi_sendrecv
+mpi_sendrecv_
+mpi_sendrecv__
+mpi_sendrecv_replace
+mpi_sendrecv_replace_
+mpi_sendrecv_replace__
+mpi_ssend
+mpi_ssend_
+mpi_ssend__
+mpi_ssend_init
+mpi_ssend_init_
+mpi_ssend_init__
+mpi_start
+mpi_start_
+mpi_start__
+mpi_startall
+mpi_startall_
+mpi_startall__
+mpi_status_c2f
+mpi_status_c2f_
+mpi_status_c2f__
+mpi_status_f2c
+mpi_status_f2c_
+mpi_status_f2c__
+mpi_status_set_cancelled
+mpi_status_set_cancelled_
+mpi_status_set_cancelled__
+mpi_status_set_elements
+mpi_status_set_elements_
+mpi_status_set_elements__
+mpi_status_set_elements_x
+mpi_status_set_elements_x_
+mpi_status_set_elements_x__
+mpi_test
+mpi_test_
+mpi_test__
+mpi_test_cancelled
+mpi_test_cancelled_
+mpi_test_cancelled__
+mpi_testall
+mpi_testall_
+mpi_testall__
+mpi_testany
+mpi_testany_
+mpi_testany__
+mpi_testsome
+mpi_testsome_
+mpi_testsome__
+mpi_topo_test
+mpi_topo_test_
+mpi_topo_test__
+mpi_type_commit
+mpi_type_commit_
+mpi_type_commit__
+mpi_type_contiguous
+mpi_type_contiguous_
+mpi_type_contiguous__
+mpi_type_create_darray
+mpi_type_create_darray_
+mpi_type_create_darray__
+mpi_type_create_f90_complex
+mpi_type_create_f90_complex_
+mpi_type_create_f90_complex__
+mpi_type_create_f90_integer
+mpi_type_create_f90_integer_
+mpi_type_create_f90_integer__
+mpi_type_create_f90_real
+mpi_type_create_f90_real_
+mpi_type_create_f90_real__
+mpi_type_create_hindexed
+mpi_type_create_hindexed_
+mpi_type_create_hindexed__
+mpi_type_create_hindexed_block
+mpi_type_create_hindexed_block_
+mpi_type_create_hindexed_block__
+mpi_type_create_hvector
+mpi_type_create_hvector_
+mpi_type_create_hvector__
+mpi_type_create_indexed_block
+mpi_type_create_indexed_block_
+mpi_type_create_indexed_block__
+mpi_type_create_keyval
+mpi_type_create_keyval_
+mpi_type_create_keyval__
+mpi_type_create_resized
+mpi_type_create_resized_
+mpi_type_create_resized__
+mpi_type_create_struct
+mpi_type_create_struct_
+mpi_type_create_struct__
+mpi_type_create_subarray
+mpi_type_create_subarray_
+mpi_type_create_subarray__
+mpi_type_delete_attr
+mpi_type_delete_attr_
+mpi_type_delete_attr__
+mpi_type_dup
+mpi_type_dup_
+mpi_type_dup__
+mpi_type_dup_fn
+mpi_type_dup_fn_
+mpi_type_dup_fn__
+mpi_type_extent
+mpi_type_extent_
+mpi_type_extent__
+mpi_type_free
+mpi_type_free_
+mpi_type_free__
+mpi_type_free_keyval
+mpi_type_free_keyval_
+mpi_type_free_keyval__
+mpi_type_get_attr
+mpi_type_get_attr_
+mpi_type_get_attr__
+mpi_type_get_contents
+mpi_type_get_contents_
+mpi_type_get_contents__
+mpi_type_get_envelope
+mpi_type_get_envelope_
+mpi_type_get_envelope__
+mpi_type_get_extent
+mpi_type_get_extent_
+mpi_type_get_extent__
+mpi_type_get_extent_x
+mpi_type_get_extent_x_
+mpi_type_get_extent_x__
+mpi_type_get_name
+mpi_type_get_name_
+mpi_type_get_name__
+mpi_type_get_true_extent
+mpi_type_get_true_extent_
+mpi_type_get_true_extent__
+mpi_type_get_true_extent_x
+mpi_type_get_true_extent_x_
+mpi_type_get_true_extent_x__
+mpi_type_hindexed
+mpi_type_hindexed_
+mpi_type_hindexed__
+mpi_type_hvector
+mpi_type_hvector_
+mpi_type_hvector__
+mpi_type_indexed
+mpi_type_indexed_
+mpi_type_indexed__
+mpi_type_lb
+mpi_type_lb_
+mpi_type_lb__
+mpi_type_match_size
+mpi_type_match_size_
+mpi_type_match_size__
+mpi_type_null_copy_fn
+mpi_type_null_copy_fn_
+mpi_type_null_copy_fn__
+mpi_type_null_delete_fn
+mpi_type_null_delete_fn_
+mpi_type_null_delete_fn__
+mpi_type_set_attr
+mpi_type_set_attr_
+mpi_type_set_attr__
+mpi_type_set_name
+mpi_type_set_name_
+mpi_type_set_name__
+mpi_type_size
+mpi_type_size_
+mpi_type_size__
+mpi_type_size_x
+mpi_type_size_x_
+mpi_type_size_x__
+mpi_type_struct
+mpi_type_struct_
+mpi_type_struct__
+mpi_type_ub
+mpi_type_ub_
+mpi_type_ub__
+mpi_type_vector
+mpi_type_vector_
+mpi_type_vector__
+mpi_unpack
+mpi_unpack_
+mpi_unpack__
+mpi_unpack_external
+mpi_unpack_external_
+mpi_unpack_external__
+mpi_unpublish_name
+mpi_unpublish_name_
+mpi_unpublish_name__
+mpi_wait
+mpi_wait_
+mpi_wait__
+mpi_waitall
+mpi_waitall_
+mpi_waitall__
+mpi_waitany
+mpi_waitany_
+mpi_waitany__
+mpi_waitsome
+mpi_waitsome_
+mpi_waitsome__
+mpi_win_allocate
+mpi_win_allocate_
+mpi_win_allocate__
+mpi_win_allocate_shared
+mpi_win_allocate_shared_
+mpi_win_allocate_shared__
+mpi_win_attach
+mpi_win_attach_
+mpi_win_attach__
+mpi_win_call_errhandler
+mpi_win_call_errhandler_
+mpi_win_call_errhandler__
+mpi_win_complete
+mpi_win_complete_
+mpi_win_complete__
+mpi_win_create
+mpi_win_create_
+mpi_win_create__
+mpi_win_create_dynamic
+mpi_win_create_dynamic_
+mpi_win_create_dynamic__
+mpi_win_create_errhandler
+mpi_win_create_errhandler_
+mpi_win_create_errhandler__
+mpi_win_create_keyval
+mpi_win_create_keyval_
+mpi_win_create_keyval__
+mpi_win_delete_attr
+mpi_win_delete_attr_
+mpi_win_delete_attr__
+mpi_win_detach
+mpi_win_detach_
+mpi_win_detach__
+mpi_win_dup_fn
+mpi_win_dup_fn_
+mpi_win_dup_fn__
+mpi_win_fence
+mpi_win_fence_
+mpi_win_fence__
+mpi_win_flush
+mpi_win_flush_
+mpi_win_flush__
+mpi_win_flush_all
+mpi_win_flush_all_
+mpi_win_flush_all__
+mpi_win_flush_local
+mpi_win_flush_local_
+mpi_win_flush_local__
+mpi_win_flush_local_all
+mpi_win_flush_local_all_
+mpi_win_flush_local_all__
+mpi_win_free
+mpi_win_free_
+mpi_win_free__
+mpi_win_free_keyval
+mpi_win_free_keyval_
+mpi_win_free_keyval__
+mpi_win_get_attr
+mpi_win_get_attr_
+mpi_win_get_attr__
+mpi_win_get_errhandler
+mpi_win_get_errhandler_
+mpi_win_get_errhandler__
+mpi_win_get_group
+mpi_win_get_group_
+mpi_win_get_group__
+mpi_win_get_name
+mpi_win_get_name_
+mpi_win_get_name__
+mpi_win_lock
+mpi_win_lock_
+mpi_win_lock__
+mpi_win_lock_all
+mpi_win_lock_all_
+mpi_win_lock_all__
+mpi_win_null_copy_fn
+mpi_win_null_copy_fn_
+mpi_win_null_copy_fn__
+mpi_win_null_delete_fn
+mpi_win_null_delete_fn_
+mpi_win_null_delete_fn__
+mpi_win_post
+mpi_win_post_
+mpi_win_post__
+mpi_win_set_attr
+mpi_win_set_attr_
+mpi_win_set_attr__
+mpi_win_set_errhandler
+mpi_win_set_errhandler_
+mpi_win_set_errhandler__
+mpi_win_set_name
+mpi_win_set_name_
+mpi_win_set_name__
+mpi_win_shared_query
+mpi_win_shared_query_
+mpi_win_shared_query__
+mpi_win_start
+mpi_win_start_
+mpi_win_start__
+mpi_win_sync
+mpi_win_sync_
+mpi_win_sync__
+mpi_win_test
+mpi_win_test_
+mpi_win_test__
+mpi_win_unlock
+mpi_win_unlock_
+mpi_win_unlock__
+mpi_win_unlock_all
+mpi_win_unlock_all_
+mpi_win_unlock_all__
+mpi_win_wait
+mpi_win_wait_
+mpi_win_wait__
+mpi_wtick
+mpi_wtick_
+mpi_wtick__
+mpi_wtime
+mpi_wtime_
+mpi_wtime__
+mpifcmb5 DATA
+mpifcmb5_ DATA
+mpifcmb9 DATA
+mpifcmb9_ DATA
+mpipriv1 DATA
+mpipriv1_ DATA
+mpipriv2 DATA
+mpipriv2_ DATA
+mpiprivc DATA
+mpiprivc_ DATA
+mqs_get_communicator@8
+mqs_next_communicator@4
+mqs_next_operation@8
+mqs_setup_basic_callbacks@4
+mqs_setup_communicator_iterator@4
+mqs_setup_image@8
+mqs_setup_operation_iterator@8
+mqs_setup_process@8
+mqs_update_communicator_list@4
+mqs_version_compatibility
+msmpi_get_bsend_overhead
+msmpi_get_bsend_overhead_
+msmpi_get_bsend_overhead__
+msmpi_get_version
+msmpi_get_version_
+msmpi_get_version__
+pmpi_abort
+pmpi_abort_
+pmpi_abort__
+pmpi_accumulate
+pmpi_accumulate_
+pmpi_accumulate__
+pmpi_add_error_class
+pmpi_add_error_class_
+pmpi_add_error_class__
+pmpi_add_error_code
+pmpi_add_error_code_
+pmpi_add_error_code__
+pmpi_add_error_string
+pmpi_add_error_string_
+pmpi_add_error_string__
+pmpi_address
+pmpi_address_
+pmpi_address__
+pmpi_aint_add
+pmpi_aint_add_
+pmpi_aint_add__
+pmpi_aint_diff
+pmpi_aint_diff_
+pmpi_aint_diff__
+pmpi_allgather
+pmpi_allgather_
+pmpi_allgather__
+pmpi_allgatherv
+pmpi_allgatherv_
+pmpi_allgatherv__
+pmpi_alloc_mem
+pmpi_alloc_mem_
+pmpi_alloc_mem__
+pmpi_allreduce
+pmpi_allreduce_
+pmpi_allreduce__
+pmpi_alltoall
+pmpi_alltoall_
+pmpi_alltoall__
+pmpi_alltoallv
+pmpi_alltoallv_
+pmpi_alltoallv__
+pmpi_alltoallw
+pmpi_alltoallw_
+pmpi_alltoallw__
+pmpi_attr_delete
+pmpi_attr_delete_
+pmpi_attr_delete__
+pmpi_attr_get
+pmpi_attr_get_
+pmpi_attr_get__
+pmpi_attr_put
+pmpi_attr_put_
+pmpi_attr_put__
+pmpi_barrier
+pmpi_barrier_
+pmpi_barrier__
+pmpi_bcast
+pmpi_bcast_
+pmpi_bcast__
+pmpi_bsend
+pmpi_bsend_
+pmpi_bsend__
+pmpi_bsend_init
+pmpi_bsend_init_
+pmpi_bsend_init__
+pmpi_buffer_attach
+pmpi_buffer_attach_
+pmpi_buffer_attach__
+pmpi_buffer_detach
+pmpi_buffer_detach_
+pmpi_buffer_detach__
+pmpi_cancel
+pmpi_cancel_
+pmpi_cancel__
+pmpi_cart_coords
+pmpi_cart_coords_
+pmpi_cart_coords__
+pmpi_cart_create
+pmpi_cart_create_
+pmpi_cart_create__
+pmpi_cart_get
+pmpi_cart_get_
+pmpi_cart_get__
+pmpi_cart_map
+pmpi_cart_map_
+pmpi_cart_map__
+pmpi_cart_rank
+pmpi_cart_rank_
+pmpi_cart_rank__
+pmpi_cart_shift
+pmpi_cart_shift_
+pmpi_cart_shift__
+pmpi_cart_sub
+pmpi_cart_sub_
+pmpi_cart_sub__
+pmpi_cartdim_get
+pmpi_cartdim_get_
+pmpi_cartdim_get__
+pmpi_close_port
+pmpi_close_port_
+pmpi_close_port__
+pmpi_comm_accept
+pmpi_comm_accept_
+pmpi_comm_accept__
+pmpi_comm_call_errhandler
+pmpi_comm_call_errhandler_
+pmpi_comm_call_errhandler__
+pmpi_comm_compare
+pmpi_comm_compare_
+pmpi_comm_compare__
+pmpi_comm_connect
+pmpi_comm_connect_
+pmpi_comm_connect__
+pmpi_comm_create
+pmpi_comm_create_
+pmpi_comm_create__
+pmpi_comm_create_errhandler
+pmpi_comm_create_errhandler_
+pmpi_comm_create_errhandler__
+pmpi_comm_create_keyval
+pmpi_comm_create_keyval_
+pmpi_comm_create_keyval__
+pmpi_comm_delete_attr
+pmpi_comm_delete_attr_
+pmpi_comm_delete_attr__
+pmpi_comm_disconnect
+pmpi_comm_disconnect_
+pmpi_comm_disconnect__
+pmpi_comm_dup
+pmpi_comm_dup_
+pmpi_comm_dup__
+pmpi_comm_dup_fn
+pmpi_comm_dup_fn_
+pmpi_comm_dup_fn__
+pmpi_comm_free
+pmpi_comm_free_
+pmpi_comm_free__
+pmpi_comm_free_keyval
+pmpi_comm_free_keyval_
+pmpi_comm_free_keyval__
+pmpi_comm_get_attr
+pmpi_comm_get_attr_
+pmpi_comm_get_attr__
+pmpi_comm_get_errhandler
+pmpi_comm_get_errhandler_
+pmpi_comm_get_errhandler__
+pmpi_comm_get_name
+pmpi_comm_get_name_
+pmpi_comm_get_name__
+pmpi_comm_get_parent
+pmpi_comm_get_parent_
+pmpi_comm_get_parent__
+pmpi_comm_group
+pmpi_comm_group_
+pmpi_comm_group__
+pmpi_comm_join
+pmpi_comm_join_
+pmpi_comm_join__
+pmpi_comm_null_copy_fn
+pmpi_comm_null_copy_fn_
+pmpi_comm_null_copy_fn__
+pmpi_comm_null_delete_fn
+pmpi_comm_null_delete_fn_
+pmpi_comm_null_delete_fn__
+pmpi_comm_rank
+pmpi_comm_rank_
+pmpi_comm_rank__
+pmpi_comm_remote_group
+pmpi_comm_remote_group_
+pmpi_comm_remote_group__
+pmpi_comm_remote_size
+pmpi_comm_remote_size_
+pmpi_comm_remote_size__
+pmpi_comm_set_attr
+pmpi_comm_set_attr_
+pmpi_comm_set_attr__
+pmpi_comm_set_errhandler
+pmpi_comm_set_errhandler_
+pmpi_comm_set_errhandler__
+pmpi_comm_set_name
+pmpi_comm_set_name_
+pmpi_comm_set_name__
+pmpi_comm_size
+pmpi_comm_size_
+pmpi_comm_size__
+pmpi_comm_spawn
+pmpi_comm_spawn_
+pmpi_comm_spawn__
+pmpi_comm_spawn_multiple
+pmpi_comm_spawn_multiple_
+pmpi_comm_spawn_multiple__
+pmpi_comm_split
+pmpi_comm_split_
+pmpi_comm_split__
+pmpi_comm_split_type
+pmpi_comm_split_type_
+pmpi_comm_split_type__
+pmpi_comm_test_inter
+pmpi_comm_test_inter_
+pmpi_comm_test_inter__
+pmpi_compare_and_swap
+pmpi_compare_and_swap_
+pmpi_compare_and_swap__
+pmpi_conversion_fn_null
+pmpi_conversion_fn_null_
+pmpi_conversion_fn_null__
+pmpi_dims_create
+pmpi_dims_create_
+pmpi_dims_create__
+pmpi_dist_graph_create
+pmpi_dist_graph_create_
+pmpi_dist_graph_create__
+pmpi_dist_graph_create_adjacent
+pmpi_dist_graph_create_adjacent_
+pmpi_dist_graph_create_adjacent__
+pmpi_dist_graph_neighbors
+pmpi_dist_graph_neighbors_
+pmpi_dist_graph_neighbors__
+pmpi_dist_graph_neighbors_count
+pmpi_dist_graph_neighbors_count_
+pmpi_dist_graph_neighbors_count__
+pmpi_dup_fn
+pmpi_dup_fn_
+pmpi_dup_fn__
+pmpi_errhandler_create
+pmpi_errhandler_create_
+pmpi_errhandler_create__
+pmpi_errhandler_free
+pmpi_errhandler_free_
+pmpi_errhandler_free__
+pmpi_errhandler_get
+pmpi_errhandler_get_
+pmpi_errhandler_get__
+pmpi_errhandler_set
+pmpi_errhandler_set_
+pmpi_errhandler_set__
+pmpi_error_class
+pmpi_error_class_
+pmpi_error_class__
+pmpi_error_string
+pmpi_error_string_
+pmpi_error_string__
+pmpi_exscan
+pmpi_exscan_
+pmpi_exscan__
+pmpi_fetch_and_op
+pmpi_fetch_and_op_
+pmpi_fetch_and_op__
+pmpi_file_call_errhandler
+pmpi_file_call_errhandler_
+pmpi_file_call_errhandler__
+pmpi_file_close
+pmpi_file_close_
+pmpi_file_close__
+pmpi_file_create_errhandler
+pmpi_file_create_errhandler_
+pmpi_file_create_errhandler__
+pmpi_file_delete
+pmpi_file_delete_
+pmpi_file_delete__
+pmpi_file_get_amode
+pmpi_file_get_amode_
+pmpi_file_get_amode__
+pmpi_file_get_atomicity
+pmpi_file_get_atomicity_
+pmpi_file_get_atomicity__
+pmpi_file_get_byte_offset
+pmpi_file_get_byte_offset_
+pmpi_file_get_byte_offset__
+pmpi_file_get_errhandler
+pmpi_file_get_errhandler_
+pmpi_file_get_errhandler__
+pmpi_file_get_group
+pmpi_file_get_group_
+pmpi_file_get_group__
+pmpi_file_get_info
+pmpi_file_get_info_
+pmpi_file_get_info__
+pmpi_file_get_position
+pmpi_file_get_position_
+pmpi_file_get_position__
+pmpi_file_get_position_shared
+pmpi_file_get_position_shared_
+pmpi_file_get_position_shared__
+pmpi_file_get_size
+pmpi_file_get_size_
+pmpi_file_get_size__
+pmpi_file_get_type_extent
+pmpi_file_get_type_extent_
+pmpi_file_get_type_extent__
+pmpi_file_get_view
+pmpi_file_get_view_
+pmpi_file_get_view__
+pmpi_file_iread
+pmpi_file_iread_
+pmpi_file_iread__
+pmpi_file_iread_at
+pmpi_file_iread_at_
+pmpi_file_iread_at__
+pmpi_file_iread_shared
+pmpi_file_iread_shared_
+pmpi_file_iread_shared__
+pmpi_file_iwrite
+pmpi_file_iwrite_
+pmpi_file_iwrite__
+pmpi_file_iwrite_at
+pmpi_file_iwrite_at_
+pmpi_file_iwrite_at__
+pmpi_file_iwrite_shared
+pmpi_file_iwrite_shared_
+pmpi_file_iwrite_shared__
+pmpi_file_open
+pmpi_file_open_
+pmpi_file_open__
+pmpi_file_preallocate
+pmpi_file_preallocate_
+pmpi_file_preallocate__
+pmpi_file_read
+pmpi_file_read_
+pmpi_file_read__
+pmpi_file_read_all
+pmpi_file_read_all_
+pmpi_file_read_all__
+pmpi_file_read_all_begin
+pmpi_file_read_all_begin_
+pmpi_file_read_all_begin__
+pmpi_file_read_all_end
+pmpi_file_read_all_end_
+pmpi_file_read_all_end__
+pmpi_file_read_at
+pmpi_file_read_at_
+pmpi_file_read_at__
+pmpi_file_read_at_all
+pmpi_file_read_at_all_
+pmpi_file_read_at_all__
+pmpi_file_read_at_all_begin
+pmpi_file_read_at_all_begin_
+pmpi_file_read_at_all_begin__
+pmpi_file_read_at_all_end
+pmpi_file_read_at_all_end_
+pmpi_file_read_at_all_end__
+pmpi_file_read_ordered
+pmpi_file_read_ordered_
+pmpi_file_read_ordered__
+pmpi_file_read_ordered_begin
+pmpi_file_read_ordered_begin_
+pmpi_file_read_ordered_begin__
+pmpi_file_read_ordered_end
+pmpi_file_read_ordered_end_
+pmpi_file_read_ordered_end__
+pmpi_file_read_shared
+pmpi_file_read_shared_
+pmpi_file_read_shared__
+pmpi_file_seek
+pmpi_file_seek_
+pmpi_file_seek__
+pmpi_file_seek_shared
+pmpi_file_seek_shared_
+pmpi_file_seek_shared__
+pmpi_file_set_atomicity
+pmpi_file_set_atomicity_
+pmpi_file_set_atomicity__
+pmpi_file_set_errhandler
+pmpi_file_set_errhandler_
+pmpi_file_set_errhandler__
+pmpi_file_set_info
+pmpi_file_set_info_
+pmpi_file_set_info__
+pmpi_file_set_size
+pmpi_file_set_size_
+pmpi_file_set_size__
+pmpi_file_set_view
+pmpi_file_set_view_
+pmpi_file_set_view__
+pmpi_file_sync
+pmpi_file_sync_
+pmpi_file_sync__
+pmpi_file_write
+pmpi_file_write_
+pmpi_file_write__
+pmpi_file_write_all
+pmpi_file_write_all_
+pmpi_file_write_all__
+pmpi_file_write_all_begin
+pmpi_file_write_all_begin_
+pmpi_file_write_all_begin__
+pmpi_file_write_all_end
+pmpi_file_write_all_end_
+pmpi_file_write_all_end__
+pmpi_file_write_at
+pmpi_file_write_at_
+pmpi_file_write_at__
+pmpi_file_write_at_all
+pmpi_file_write_at_all_
+pmpi_file_write_at_all__
+pmpi_file_write_at_all_begin
+pmpi_file_write_at_all_begin_
+pmpi_file_write_at_all_begin__
+pmpi_file_write_at_all_end
+pmpi_file_write_at_all_end_
+pmpi_file_write_at_all_end__
+pmpi_file_write_ordered
+pmpi_file_write_ordered_
+pmpi_file_write_ordered__
+pmpi_file_write_ordered_begin
+pmpi_file_write_ordered_begin_
+pmpi_file_write_ordered_begin__
+pmpi_file_write_ordered_end
+pmpi_file_write_ordered_end_
+pmpi_file_write_ordered_end__
+pmpi_file_write_shared
+pmpi_file_write_shared_
+pmpi_file_write_shared__
+pmpi_finalize
+pmpi_finalize_
+pmpi_finalize__
+pmpi_finalized
+pmpi_finalized_
+pmpi_finalized__
+pmpi_free_mem
+pmpi_free_mem_
+pmpi_free_mem__
+pmpi_gather
+pmpi_gather_
+pmpi_gather__
+pmpi_gatherv
+pmpi_gatherv_
+pmpi_gatherv__
+pmpi_get
+pmpi_get_
+pmpi_get__
+pmpi_get_accumulate
+pmpi_get_accumulate_
+pmpi_get_accumulate__
+pmpi_get_address
+pmpi_get_address_
+pmpi_get_address__
+pmpi_get_count
+pmpi_get_count_
+pmpi_get_count__
+pmpi_get_elements
+pmpi_get_elements_
+pmpi_get_elements__
+pmpi_get_elements_x
+pmpi_get_elements_x_
+pmpi_get_elements_x__
+pmpi_get_library_version
+pmpi_get_library_version_
+pmpi_get_library_version__
+pmpi_get_processor_name
+pmpi_get_processor_name_
+pmpi_get_processor_name__
+pmpi_get_version
+pmpi_get_version_
+pmpi_get_version__
+pmpi_graph_create
+pmpi_graph_create_
+pmpi_graph_create__
+pmpi_graph_get
+pmpi_graph_get_
+pmpi_graph_get__
+pmpi_graph_map
+pmpi_graph_map_
+pmpi_graph_map__
+pmpi_graph_neighbors
+pmpi_graph_neighbors_
+pmpi_graph_neighbors__
+pmpi_graph_neighbors_count
+pmpi_graph_neighbors_count_
+pmpi_graph_neighbors_count__
+pmpi_graphdims_get
+pmpi_graphdims_get_
+pmpi_graphdims_get__
+pmpi_grequest_complete
+pmpi_grequest_complete_
+pmpi_grequest_complete__
+pmpi_grequest_start
+pmpi_grequest_start_
+pmpi_grequest_start__
+pmpi_group_compare
+pmpi_group_compare_
+pmpi_group_compare__
+pmpi_group_difference
+pmpi_group_difference_
+pmpi_group_difference__
+pmpi_group_excl
+pmpi_group_excl_
+pmpi_group_excl__
+pmpi_group_free
+pmpi_group_free_
+pmpi_group_free__
+pmpi_group_incl
+pmpi_group_incl_
+pmpi_group_incl__
+pmpi_group_intersection
+pmpi_group_intersection_
+pmpi_group_intersection__
+pmpi_group_range_excl
+pmpi_group_range_excl_
+pmpi_group_range_excl__
+pmpi_group_range_incl
+pmpi_group_range_incl_
+pmpi_group_range_incl__
+pmpi_group_rank
+pmpi_group_rank_
+pmpi_group_rank__
+pmpi_group_size
+pmpi_group_size_
+pmpi_group_size__
+pmpi_group_translate_ranks
+pmpi_group_translate_ranks_
+pmpi_group_translate_ranks__
+pmpi_group_union
+pmpi_group_union_
+pmpi_group_union__
+pmpi_iallgather
+pmpi_iallgather_
+pmpi_iallgather__
+pmpi_iallgatherv
+pmpi_iallgatherv_
+pmpi_iallgatherv__
+pmpi_iallreduce
+pmpi_iallreduce_
+pmpi_iallreduce__
+pmpi_ialltoall
+pmpi_ialltoall_
+pmpi_ialltoall__
+pmpi_ialltoallv
+pmpi_ialltoallv_
+pmpi_ialltoallv__
+pmpi_ialltoallw
+pmpi_ialltoallw_
+pmpi_ialltoallw__
+pmpi_ibarrier
+pmpi_ibarrier_
+pmpi_ibarrier__
+pmpi_ibcast
+pmpi_ibcast_
+pmpi_ibcast__
+pmpi_ibsend
+pmpi_ibsend_
+pmpi_ibsend__
+pmpi_iexscan
+pmpi_iexscan_
+pmpi_iexscan__
+pmpi_igather
+pmpi_igather_
+pmpi_igather__
+pmpi_igatherv
+pmpi_igatherv_
+pmpi_igatherv__
+pmpi_improbe
+pmpi_improbe_
+pmpi_improbe__
+pmpi_imrecv
+pmpi_imrecv_
+pmpi_imrecv__
+pmpi_info_create
+pmpi_info_create_
+pmpi_info_create__
+pmpi_info_delete
+pmpi_info_delete_
+pmpi_info_delete__
+pmpi_info_dup
+pmpi_info_dup_
+pmpi_info_dup__
+pmpi_info_free
+pmpi_info_free_
+pmpi_info_free__
+pmpi_info_get
+pmpi_info_get_
+pmpi_info_get__
+pmpi_info_get_nkeys
+pmpi_info_get_nkeys_
+pmpi_info_get_nkeys__
+pmpi_info_get_nthkey
+pmpi_info_get_nthkey_
+pmpi_info_get_nthkey__
+pmpi_info_get_valuelen
+pmpi_info_get_valuelen_
+pmpi_info_get_valuelen__
+pmpi_info_set
+pmpi_info_set_
+pmpi_info_set__
+pmpi_init
+pmpi_init_
+pmpi_init__
+pmpi_init_thread
+pmpi_init_thread_
+pmpi_init_thread__
+pmpi_initialized
+pmpi_initialized_
+pmpi_initialized__
+pmpi_intercomm_create
+pmpi_intercomm_create_
+pmpi_intercomm_create__
+pmpi_intercomm_merge
+pmpi_intercomm_merge_
+pmpi_intercomm_merge__
+pmpi_iprobe
+pmpi_iprobe_
+pmpi_iprobe__
+pmpi_irecv
+pmpi_irecv_
+pmpi_irecv__
+pmpi_ireduce
+pmpi_ireduce_
+pmpi_ireduce__
+pmpi_ireduce_scatter
+pmpi_ireduce_scatter_
+pmpi_ireduce_scatter__
+pmpi_ireduce_scatter_block
+pmpi_ireduce_scatter_block_
+pmpi_ireduce_scatter_block__
+pmpi_irsend
+pmpi_irsend_
+pmpi_irsend__
+pmpi_is_thread_main
+pmpi_is_thread_main_
+pmpi_is_thread_main__
+pmpi_iscan
+pmpi_iscan_
+pmpi_iscan__
+pmpi_iscatter
+pmpi_iscatter_
+pmpi_iscatter__
+pmpi_iscatterv
+pmpi_iscatterv_
+pmpi_iscatterv__
+pmpi_isend
+pmpi_isend_
+pmpi_isend__
+pmpi_issend
+pmpi_issend_
+pmpi_issend__
+pmpi_keyval_create
+pmpi_keyval_create_
+pmpi_keyval_create__
+pmpi_keyval_free
+pmpi_keyval_free_
+pmpi_keyval_free__
+pmpi_lookup_name
+pmpi_lookup_name_
+pmpi_lookup_name__
+pmpi_mprobe
+pmpi_mprobe_
+pmpi_mprobe__
+pmpi_mrecv
+pmpi_mrecv_
+pmpi_mrecv__
+pmpi_null_copy_fn
+pmpi_null_copy_fn_
+pmpi_null_copy_fn__
+pmpi_null_delete_fn
+pmpi_null_delete_fn_
+pmpi_null_delete_fn__
+pmpi_op_commutative
+pmpi_op_commutative_
+pmpi_op_commutative__
+pmpi_op_create
+pmpi_op_create_
+pmpi_op_create__
+pmpi_op_free
+pmpi_op_free_
+pmpi_op_free__
+pmpi_open_port
+pmpi_open_port_
+pmpi_open_port__
+pmpi_pack
+pmpi_pack_
+pmpi_pack__
+pmpi_pack_external
+pmpi_pack_external_
+pmpi_pack_external__
+pmpi_pack_external_size
+pmpi_pack_external_size_
+pmpi_pack_external_size__
+pmpi_pack_size
+pmpi_pack_size_
+pmpi_pack_size__
+pmpi_pcontrol
+pmpi_pcontrol_
+pmpi_pcontrol__
+pmpi_probe
+pmpi_probe_
+pmpi_probe__
+pmpi_publish_name
+pmpi_publish_name_
+pmpi_publish_name__
+pmpi_put
+pmpi_put_
+pmpi_put__
+pmpi_query_thread
+pmpi_query_thread_
+pmpi_query_thread__
+pmpi_raccumulate
+pmpi_raccumulate_
+pmpi_raccumulate__
+pmpi_recv
+pmpi_recv_
+pmpi_recv__
+pmpi_recv_init
+pmpi_recv_init_
+pmpi_recv_init__
+pmpi_reduce
+pmpi_reduce_
+pmpi_reduce__
+pmpi_reduce_local
+pmpi_reduce_local_
+pmpi_reduce_local__
+pmpi_reduce_scatter
+pmpi_reduce_scatter_
+pmpi_reduce_scatter__
+pmpi_reduce_scatter_block
+pmpi_reduce_scatter_block_
+pmpi_reduce_scatter_block__
+pmpi_register_datarep
+pmpi_register_datarep_
+pmpi_register_datarep__
+pmpi_request_free
+pmpi_request_free_
+pmpi_request_free__
+pmpi_request_get_status
+pmpi_request_get_status_
+pmpi_request_get_status__
+pmpi_rget
+pmpi_rget_
+pmpi_rget__
+pmpi_rget_accumulate
+pmpi_rget_accumulate_
+pmpi_rget_accumulate__
+pmpi_rput
+pmpi_rput_
+pmpi_rput__
+pmpi_rsend
+pmpi_rsend_
+pmpi_rsend__
+pmpi_rsend_init
+pmpi_rsend_init_
+pmpi_rsend_init__
+pmpi_scan
+pmpi_scan_
+pmpi_scan__
+pmpi_scatter
+pmpi_scatter_
+pmpi_scatter__
+pmpi_scatterv
+pmpi_scatterv_
+pmpi_scatterv__
+pmpi_send
+pmpi_send_
+pmpi_send__
+pmpi_send_init
+pmpi_send_init_
+pmpi_send_init__
+pmpi_sendrecv
+pmpi_sendrecv_
+pmpi_sendrecv__
+pmpi_sendrecv_replace
+pmpi_sendrecv_replace_
+pmpi_sendrecv_replace__
+pmpi_ssend
+pmpi_ssend_
+pmpi_ssend__
+pmpi_ssend_init
+pmpi_ssend_init_
+pmpi_ssend_init__
+pmpi_start
+pmpi_start_
+pmpi_start__
+pmpi_startall
+pmpi_startall_
+pmpi_startall__
+pmpi_status_c2f
+pmpi_status_c2f_
+pmpi_status_c2f__
+pmpi_status_f2c
+pmpi_status_f2c_
+pmpi_status_f2c__
+pmpi_status_set_cancelled
+pmpi_status_set_cancelled_
+pmpi_status_set_cancelled__
+pmpi_status_set_elements
+pmpi_status_set_elements_
+pmpi_status_set_elements__
+pmpi_status_set_elements_x
+pmpi_status_set_elements_x_
+pmpi_status_set_elements_x__
+pmpi_test
+pmpi_test_
+pmpi_test__
+pmpi_test_cancelled
+pmpi_test_cancelled_
+pmpi_test_cancelled__
+pmpi_testall
+pmpi_testall_
+pmpi_testall__
+pmpi_testany
+pmpi_testany_
+pmpi_testany__
+pmpi_testsome
+pmpi_testsome_
+pmpi_testsome__
+pmpi_topo_test
+pmpi_topo_test_
+pmpi_topo_test__
+pmpi_type_commit
+pmpi_type_commit_
+pmpi_type_commit__
+pmpi_type_contiguous
+pmpi_type_contiguous_
+pmpi_type_contiguous__
+pmpi_type_create_darray
+pmpi_type_create_darray_
+pmpi_type_create_darray__
+pmpi_type_create_f90_complex_
+pmpi_type_create_f90_complex__
+pmpi_type_create_f90_integer_
+pmpi_type_create_f90_integer__
+pmpi_type_create_f90_real_
+pmpi_type_create_f90_real__
+pmpi_type_create_hindexed
+pmpi_type_create_hindexed_
+pmpi_type_create_hindexed__
+pmpi_type_create_hindexed_block
+pmpi_type_create_hindexed_block_
+pmpi_type_create_hindexed_block__
+pmpi_type_create_hvector
+pmpi_type_create_hvector_
+pmpi_type_create_hvector__
+pmpi_type_create_indexed_block
+pmpi_type_create_indexed_block_
+pmpi_type_create_indexed_block__
+pmpi_type_create_keyval
+pmpi_type_create_keyval_
+pmpi_type_create_keyval__
+pmpi_type_create_resized
+pmpi_type_create_resized_
+pmpi_type_create_resized__
+pmpi_type_create_struct
+pmpi_type_create_struct_
+pmpi_type_create_struct__
+pmpi_type_create_subarray
+pmpi_type_create_subarray_
+pmpi_type_create_subarray__
+pmpi_type_delete_attr
+pmpi_type_delete_attr_
+pmpi_type_delete_attr__
+pmpi_type_dup
+pmpi_type_dup_
+pmpi_type_dup__
+pmpi_type_dup_fn
+pmpi_type_dup_fn_
+pmpi_type_dup_fn__
+pmpi_type_extent
+pmpi_type_extent_
+pmpi_type_extent__
+pmpi_type_free
+pmpi_type_free_
+pmpi_type_free__
+pmpi_type_free_keyval
+pmpi_type_free_keyval_
+pmpi_type_free_keyval__
+pmpi_type_get_attr
+pmpi_type_get_attr_
+pmpi_type_get_attr__
+pmpi_type_get_contents
+pmpi_type_get_contents_
+pmpi_type_get_contents__
+pmpi_type_get_envelope
+pmpi_type_get_envelope_
+pmpi_type_get_envelope__
+pmpi_type_get_extent
+pmpi_type_get_extent_
+pmpi_type_get_extent__
+pmpi_type_get_extent_x
+pmpi_type_get_extent_x_
+pmpi_type_get_extent_x__
+pmpi_type_get_name
+pmpi_type_get_name_
+pmpi_type_get_name__
+pmpi_type_get_true_extent
+pmpi_type_get_true_extent_
+pmpi_type_get_true_extent__
+pmpi_type_get_true_extent_x
+pmpi_type_get_true_extent_x_
+pmpi_type_get_true_extent_x__
+pmpi_type_hindexed
+pmpi_type_hindexed_
+pmpi_type_hindexed__
+pmpi_type_hvector
+pmpi_type_hvector_
+pmpi_type_hvector__
+pmpi_type_indexed
+pmpi_type_indexed_
+pmpi_type_indexed__
+pmpi_type_lb
+pmpi_type_lb_
+pmpi_type_lb__
+pmpi_type_match_size
+pmpi_type_match_size_
+pmpi_type_match_size__
+pmpi_type_null_copy_fn
+pmpi_type_null_copy_fn_
+pmpi_type_null_copy_fn__
+pmpi_type_null_delete_fn
+pmpi_type_null_delete_fn_
+pmpi_type_null_delete_fn__
+pmpi_type_set_attr
+pmpi_type_set_attr_
+pmpi_type_set_attr__
+pmpi_type_set_name
+pmpi_type_set_name_
+pmpi_type_set_name__
+pmpi_type_size
+pmpi_type_size_
+pmpi_type_size__
+pmpi_type_size_x
+pmpi_type_size_x_
+pmpi_type_size_x__
+pmpi_type_struct
+pmpi_type_struct_
+pmpi_type_struct__
+pmpi_type_ub
+pmpi_type_ub_
+pmpi_type_ub__
+pmpi_type_vector
+pmpi_type_vector_
+pmpi_type_vector__
+pmpi_unpack
+pmpi_unpack_
+pmpi_unpack__
+pmpi_unpack_external
+pmpi_unpack_external_
+pmpi_unpack_external__
+pmpi_unpublish_name
+pmpi_unpublish_name_
+pmpi_unpublish_name__
+pmpi_wait
+pmpi_wait_
+pmpi_wait__
+pmpi_waitall
+pmpi_waitall_
+pmpi_waitall__
+pmpi_waitany
+pmpi_waitany_
+pmpi_waitany__
+pmpi_waitsome
+pmpi_waitsome_
+pmpi_waitsome__
+pmpi_win_allocate
+pmpi_win_allocate_
+pmpi_win_allocate__
+pmpi_win_allocate_shared
+pmpi_win_allocate_shared_
+pmpi_win_allocate_shared__
+pmpi_win_attach
+pmpi_win_attach_
+pmpi_win_attach__
+pmpi_win_call_errhandler
+pmpi_win_call_errhandler_
+pmpi_win_call_errhandler__
+pmpi_win_complete
+pmpi_win_complete_
+pmpi_win_complete__
+pmpi_win_create
+pmpi_win_create_
+pmpi_win_create__
+pmpi_win_create_dynamic
+pmpi_win_create_dynamic_
+pmpi_win_create_dynamic__
+pmpi_win_create_errhandler
+pmpi_win_create_errhandler_
+pmpi_win_create_errhandler__
+pmpi_win_create_keyval
+pmpi_win_create_keyval_
+pmpi_win_create_keyval__
+pmpi_win_delete_attr
+pmpi_win_delete_attr_
+pmpi_win_delete_attr__
+pmpi_win_detach
+pmpi_win_detach_
+pmpi_win_detach__
+pmpi_win_dup_fn
+pmpi_win_dup_fn_
+pmpi_win_dup_fn__
+pmpi_win_fence
+pmpi_win_fence_
+pmpi_win_fence__
+pmpi_win_flush
+pmpi_win_flush_
+pmpi_win_flush__
+pmpi_win_flush_all
+pmpi_win_flush_all_
+pmpi_win_flush_all__
+pmpi_win_flush_local
+pmpi_win_flush_local_
+pmpi_win_flush_local__
+pmpi_win_flush_local_all
+pmpi_win_flush_local_all_
+pmpi_win_flush_local_all__
+pmpi_win_free
+pmpi_win_free_
+pmpi_win_free__
+pmpi_win_free_keyval
+pmpi_win_free_keyval_
+pmpi_win_free_keyval__
+pmpi_win_get_attr
+pmpi_win_get_attr_
+pmpi_win_get_attr__
+pmpi_win_get_errhandler
+pmpi_win_get_errhandler_
+pmpi_win_get_errhandler__
+pmpi_win_get_group
+pmpi_win_get_group_
+pmpi_win_get_group__
+pmpi_win_get_name
+pmpi_win_get_name_
+pmpi_win_get_name__
+pmpi_win_lock
+pmpi_win_lock_
+pmpi_win_lock__
+pmpi_win_lock_all
+pmpi_win_lock_all_
+pmpi_win_lock_all__
+pmpi_win_null_copy_fn
+pmpi_win_null_copy_fn_
+pmpi_win_null_copy_fn__
+pmpi_win_null_delete_fn
+pmpi_win_null_delete_fn_
+pmpi_win_null_delete_fn__
+pmpi_win_post
+pmpi_win_post_
+pmpi_win_post__
+pmpi_win_set_attr
+pmpi_win_set_attr_
+pmpi_win_set_attr__
+pmpi_win_set_errhandler
+pmpi_win_set_errhandler_
+pmpi_win_set_errhandler__
+pmpi_win_set_name
+pmpi_win_set_name_
+pmpi_win_set_name__
+pmpi_win_shared_query
+pmpi_win_shared_query_
+pmpi_win_shared_query__
+pmpi_win_start
+pmpi_win_start_
+pmpi_win_start__
+pmpi_win_sync
+pmpi_win_sync_
+pmpi_win_sync__
+pmpi_win_test
+pmpi_win_test_
+pmpi_win_test__
+pmpi_win_unlock
+pmpi_win_unlock_
+pmpi_win_unlock__
+pmpi_win_unlock_all
+pmpi_win_unlock_all_
+pmpi_win_unlock_all__
+pmpi_win_wait
+pmpi_win_wait_
+pmpi_win_wait__
+pmpi_wtick
+pmpi_wtick_
+pmpi_wtick__
+pmpi_wtime
+pmpi_wtime_
+pmpi_wtime__
+pmsmpi_get_bsend_overhead
+pmsmpi_get_bsend_overhead_
+pmsmpi_get_bsend_overhead__
+pmsmpi_get_version
+pmsmpi_get_version_
+pmsmpi_get_version__
+recvq_posted DATA
+recvq_unexpected DATA
+MPI_Finalize@0=MPI_Finalize
+MPI_Pcontrol@0=MPI_Pcontrol
+MPI_REDUCE_SCATTER_block@0=MPI_REDUCE_SCATTER_block
+MPI_Wtick@0=MPI_Wtick
+MPI_Wtime@0=MPI_Wtime
+MSMPI_Get_bsend_overhead@0=MSMPI_Get_bsend_overhead
+MSMPI_Get_version@0=MSMPI_Get_version
+PMPI_Finalize@0=PMPI_Finalize
+PMPI_Pcontrol@0=PMPI_Pcontrol
+PMPI_REDUCE_SCATTER_block@0=PMPI_REDUCE_SCATTER_block
+PMPI_Wtick@0=PMPI_Wtick
+PMPI_Wtime@0=PMPI_Wtime
+PMSMPI_Get_bsend_overhead@0=PMSMPI_Get_bsend_overhead
+PMSMPI_Get_version@0=PMSMPI_Get_version
diff --git a/deps/msmpi-10.1.2/sdk/msmpi.def.x86_64 b/deps/msmpi-10.1.3/sdk/msmpi.def.x86_64
similarity index 94%
rename from deps/msmpi-10.1.2/sdk/msmpi.def.x86_64
rename to deps/msmpi-10.1.3/sdk/msmpi.def.x86_64
index b53a38bcfc79dbf8cec2512fe41a6386b1872229..099f5ccc78222155afeca47fcb6e0078920fe9c6 100644
--- a/deps/msmpi-10.1.2/sdk/msmpi.def.x86_64
+++ b/deps/msmpi-10.1.3/sdk/msmpi.def.x86_64
@@ -1,3648 +1,3648 @@
-;
-; Definition file of msmpi.dll
-; Automatic generated by gendef
-; written by Kai Tietz 2008
-;
-LIBRARY "msmpi.dll"
-EXPORTS
-MPIR_Sendq_head DATA
-MSMPI_Get_pm_interface
-MSMPI_pm_query_interface
-mqs_image_has_queues
-mqs_process_has_queues
-MPIFCMB5 DATA
-MPIFCMB9 DATA
-MPIPRIV1 DATA
-MPIPRIV2 DATA
-MPIPRIVC DATA
-MPIR_All_communicators DATA
-MPIR_Comm_errhandler_set_proxy
-MPIR_Dup_fn
-MPIR_Error
-MPIR_File_errhandler_set_proxy
-MPIR_Free
-MPIR_Grequest_set_proxy
-MPIR_Keyval_set_proxy
-MPIR_Malloc
-MPIR_Op_set_proxy
-MPIR_Win_errhandler_set_proxy
-MPIR_debug_gate DATA
-MPIR_dll_name DATA
-MPI_ABORT
-MPI_ACCUMULATE
-MPI_ADDRESS
-MPI_ADD_ERROR_CLASS
-MPI_ADD_ERROR_CODE
-MPI_ADD_ERROR_STRING
-MPI_AINT_ADD
-MPI_AINT_DIFF
-MPI_ALLGATHER
-MPI_ALLGATHERV
-MPI_ALLOC_MEM
-MPI_ALLREDUCE
-MPI_ALLTOALL
-MPI_ALLTOALLV
-MPI_ALLTOALLW
-MPI_ATTR_DELETE
-MPI_ATTR_GET
-MPI_ATTR_PUT
-MPI_Abort
-MPI_Accumulate
-MPI_Add_error_class
-MPI_Add_error_code
-MPI_Add_error_string
-MPI_Address
-MPI_Aint_add
-MPI_Aint_diff
-MPI_Allgather
-MPI_Allgatherv
-MPI_Alloc_mem
-MPI_Allreduce
-MPI_Alltoall
-MPI_Alltoallv
-MPI_Alltoallw
-MPI_Attr_delete
-MPI_Attr_get
-MPI_Attr_put
-MPI_BARRIER
-MPI_BCAST
-MPI_BSEND
-MPI_BSEND_INIT
-MPI_BUFFER_ATTACH
-MPI_BUFFER_DETACH
-MPI_Barrier
-MPI_Bcast
-MPI_Bsend
-MPI_Bsend_init
-MPI_Buffer_attach
-MPI_Buffer_detach
-MPI_CANCEL
-MPI_CARTDIM_GET
-MPI_CART_COORDS
-MPI_CART_CREATE
-MPI_CART_GET
-MPI_CART_MAP
-MPI_CART_RANK
-MPI_CART_SHIFT
-MPI_CART_SUB
-MPI_CLOSE_PORT
-MPI_COMM_ACCEPT
-MPI_COMM_CALL_ERRHANDLER
-MPI_COMM_COMPARE
-MPI_COMM_CONNECT
-MPI_COMM_CREATE
-MPI_COMM_CREATE_ERRHANDLER
-MPI_COMM_CREATE_KEYVAL
-MPI_COMM_DELETE_ATTR
-MPI_COMM_DISCONNECT
-MPI_COMM_DUP
-MPI_COMM_DUP_FN
-MPI_COMM_FREE
-MPI_COMM_FREE_KEYVAL
-MPI_COMM_GET_ATTR
-MPI_COMM_GET_ERRHANDLER
-MPI_COMM_GET_NAME
-MPI_COMM_GET_PARENT
-MPI_COMM_GROUP
-MPI_COMM_JOIN
-MPI_COMM_NULL_COPY_FN
-MPI_COMM_NULL_DELETE_FN
-MPI_COMM_RANK
-MPI_COMM_REMOTE_GROUP
-MPI_COMM_REMOTE_SIZE
-MPI_COMM_SET_ATTR
-MPI_COMM_SET_ERRHANDLER
-MPI_COMM_SET_NAME
-MPI_COMM_SIZE
-MPI_COMM_SPAWN
-MPI_COMM_SPAWN_MULTIPLE
-MPI_COMM_SPLIT
-MPI_COMM_SPLIT_TYPE
-MPI_COMM_TEST_INTER
-MPI_COMPARE_AND_SWAP
-MPI_CONVERSION_FN_NULL
-MPI_Cancel
-MPI_Cart_coords
-MPI_Cart_create
-MPI_Cart_get
-MPI_Cart_map
-MPI_Cart_rank
-MPI_Cart_shift
-MPI_Cart_sub
-MPI_Cartdim_get
-MPI_Close_port
-MPI_Comm_accept
-MPI_Comm_call_errhandler
-MPI_Comm_compare
-MPI_Comm_connect
-MPI_Comm_create
-MPI_Comm_create_errhandler
-MPI_Comm_create_keyval
-MPI_Comm_delete_attr
-MPI_Comm_disconnect
-MPI_Comm_dup
-MPI_Comm_free
-MPI_Comm_free_keyval
-MPI_Comm_get_attr
-MPI_Comm_get_errhandler
-MPI_Comm_get_name
-MPI_Comm_get_parent
-MPI_Comm_group
-MPI_Comm_join
-MPI_Comm_rank
-MPI_Comm_remote_group
-MPI_Comm_remote_size
-MPI_Comm_set_attr
-MPI_Comm_set_errhandler
-MPI_Comm_set_name
-MPI_Comm_size
-MPI_Comm_spawn
-MPI_Comm_spawn_multiple
-MPI_Comm_split
-MPI_Comm_split_type
-MPI_Comm_test_inter
-MPI_Compare_and_swap
-MPI_DIMS_CREATE
-MPI_DIST_GRAPH_CREATE
-MPI_DIST_GRAPH_CREATE_ADJACENT
-MPI_DIST_GRAPH_NEIGHBORS
-MPI_DIST_GRAPH_NEIGHBORS_COUNT
-MPI_DUP_FN
-MPI_Dims_create
-MPI_Dist_graph_create
-MPI_Dist_graph_create_adjacent
-MPI_Dist_graph_neighbors
-MPI_Dist_graph_neighbors_count
-MPI_ERRHANDLER_CREATE
-MPI_ERRHANDLER_FREE
-MPI_ERRHANDLER_GET
-MPI_ERRHANDLER_SET
-MPI_ERROR_CLASS
-MPI_ERROR_STRING
-MPI_EXSCAN
-MPI_Errhandler_create
-MPI_Errhandler_free
-MPI_Errhandler_get
-MPI_Errhandler_set
-MPI_Error_class
-MPI_Error_string
-MPI_Exscan
-MPI_FETCH_AND_OP
-MPI_FILE_CALL_ERRHANDLER
-MPI_FILE_CLOSE
-MPI_FILE_CREATE_ERRHANDLER
-MPI_FILE_DELETE
-MPI_FILE_GET_AMODE
-MPI_FILE_GET_ATOMICITY
-MPI_FILE_GET_BYTE_OFFSET
-MPI_FILE_GET_ERRHANDLER
-MPI_FILE_GET_GROUP
-MPI_FILE_GET_INFO
-MPI_FILE_GET_POSITION
-MPI_FILE_GET_POSITION_SHARED
-MPI_FILE_GET_SIZE
-MPI_FILE_GET_TYPE_EXTENT
-MPI_FILE_GET_VIEW
-MPI_FILE_IREAD
-MPI_FILE_IREAD_AT
-MPI_FILE_IREAD_SHARED
-MPI_FILE_IWRITE
-MPI_FILE_IWRITE_AT
-MPI_FILE_IWRITE_SHARED
-MPI_FILE_OPEN
-MPI_FILE_PREALLOCATE
-MPI_FILE_READ
-MPI_FILE_READ_ALL
-MPI_FILE_READ_ALL_BEGIN
-MPI_FILE_READ_ALL_END
-MPI_FILE_READ_AT
-MPI_FILE_READ_AT_ALL
-MPI_FILE_READ_AT_ALL_BEGIN
-MPI_FILE_READ_AT_ALL_END
-MPI_FILE_READ_ORDERED
-MPI_FILE_READ_ORDERED_BEGIN
-MPI_FILE_READ_ORDERED_END
-MPI_FILE_READ_SHARED
-MPI_FILE_SEEK
-MPI_FILE_SEEK_SHARED
-MPI_FILE_SET_ATOMICITY
-MPI_FILE_SET_ERRHANDLER
-MPI_FILE_SET_INFO
-MPI_FILE_SET_SIZE
-MPI_FILE_SET_VIEW
-MPI_FILE_SYNC
-MPI_FILE_WRITE
-MPI_FILE_WRITE_ALL
-MPI_FILE_WRITE_ALL_BEGIN
-MPI_FILE_WRITE_ALL_END
-MPI_FILE_WRITE_AT
-MPI_FILE_WRITE_AT_ALL
-MPI_FILE_WRITE_AT_ALL_BEGIN
-MPI_FILE_WRITE_AT_ALL_END
-MPI_FILE_WRITE_ORDERED
-MPI_FILE_WRITE_ORDERED_BEGIN
-MPI_FILE_WRITE_ORDERED_END
-MPI_FILE_WRITE_SHARED
-MPI_FINALIZE
-MPI_FINALIZED
-MPI_FREE_MEM
-MPI_F_STATUSES_IGNORE DATA
-MPI_F_STATUS_IGNORE DATA
-MPI_Fetch_and_op
-MPI_File_c2f
-MPI_File_call_errhandler
-MPI_File_close
-MPI_File_create_errhandler
-MPI_File_delete
-MPI_File_f2c
-MPI_File_get_amode
-MPI_File_get_atomicity
-MPI_File_get_byte_offset
-MPI_File_get_errhandler
-MPI_File_get_group
-MPI_File_get_info
-MPI_File_get_position
-MPI_File_get_position_shared
-MPI_File_get_size
-MPI_File_get_type_extent
-MPI_File_get_view
-MPI_File_iread
-MPI_File_iread_at
-MPI_File_iread_shared
-MPI_File_iwrite
-MPI_File_iwrite_at
-MPI_File_iwrite_shared
-MPI_File_open
-MPI_File_preallocate
-MPI_File_read
-MPI_File_read_all
-MPI_File_read_all_begin
-MPI_File_read_all_end
-MPI_File_read_at
-MPI_File_read_at_all
-MPI_File_read_at_all_begin
-MPI_File_read_at_all_end
-MPI_File_read_ordered
-MPI_File_read_ordered_begin
-MPI_File_read_ordered_end
-MPI_File_read_shared
-MPI_File_seek
-MPI_File_seek_shared
-MPI_File_set_atomicity
-MPI_File_set_errhandler
-MPI_File_set_info
-MPI_File_set_size
-MPI_File_set_view
-MPI_File_sync
-MPI_File_write
-MPI_File_write_all
-MPI_File_write_all_begin
-MPI_File_write_all_end
-MPI_File_write_at
-MPI_File_write_at_all
-MPI_File_write_at_all_begin
-MPI_File_write_at_all_end
-MPI_File_write_ordered
-MPI_File_write_ordered_begin
-MPI_File_write_ordered_end
-MPI_File_write_shared
-MPI_Finalize
-MPI_Finalized
-MPI_Free_mem
-MPI_GATHER
-MPI_GATHERV
-MPI_GET
-MPI_GET_ACCUMULATE
-MPI_GET_ADDRESS
-MPI_GET_COUNT
-MPI_GET_ELEMENTS
-MPI_GET_ELEMENTS_X
-MPI_GET_LIBRARY_VERSION
-MPI_GET_PROCESSOR_NAME
-MPI_GET_VERSION
-MPI_GRAPHDIMS_GET
-MPI_GRAPH_CREATE
-MPI_GRAPH_GET
-MPI_GRAPH_MAP
-MPI_GRAPH_NEIGHBORS
-MPI_GRAPH_NEIGHBORS_COUNT
-MPI_GREQUEST_COMPLETE
-MPI_GREQUEST_START
-MPI_GROUP_COMPARE
-MPI_GROUP_DIFFERENCE
-MPI_GROUP_EXCL
-MPI_GROUP_FREE
-MPI_GROUP_INCL
-MPI_GROUP_INTERSECTION
-MPI_GROUP_RANGE_EXCL
-MPI_GROUP_RANGE_INCL
-MPI_GROUP_RANK
-MPI_GROUP_SIZE
-MPI_GROUP_TRANSLATE_RANKS
-MPI_GROUP_UNION
-MPI_Gather
-MPI_Gatherv
-MPI_Get
-MPI_Get_accumulate
-MPI_Get_address
-MPI_Get_count
-MPI_Get_elements
-MPI_Get_elements_x
-MPI_Get_library_version
-MPI_Get_processor_name
-MPI_Get_version
-MPI_Graph_create
-MPI_Graph_get
-MPI_Graph_map
-MPI_Graph_neighbors
-MPI_Graph_neighbors_count
-MPI_Graphdims_get
-MPI_Grequest_complete
-MPI_Grequest_start
-MPI_Group_compare
-MPI_Group_difference
-MPI_Group_excl
-MPI_Group_free
-MPI_Group_incl
-MPI_Group_intersection
-MPI_Group_range_excl
-MPI_Group_range_incl
-MPI_Group_rank
-MPI_Group_size
-MPI_Group_translate_ranks
-MPI_Group_union
-MPI_IALLGATHER
-MPI_IALLGATHERV
-MPI_IALLREDUCE
-MPI_IALLTOALL
-MPI_IALLTOALLV
-MPI_IALLTOALLW
-MPI_IBARRIER
-MPI_IBCAST
-MPI_IBSEND
-MPI_IEXSCAN
-MPI_IGATHER
-MPI_IGATHERV
-MPI_IMPROBE
-MPI_IMRECV
-MPI_INFO_CREATE
-MPI_INFO_DELETE
-MPI_INFO_DUP
-MPI_INFO_FREE
-MPI_INFO_GET
-MPI_INFO_GET_NKEYS
-MPI_INFO_GET_NTHKEY
-MPI_INFO_GET_VALUELEN
-MPI_INFO_SET
-MPI_INIT
-MPI_INITIALIZED
-MPI_INIT_THREAD
-MPI_INTERCOMM_CREATE
-MPI_INTERCOMM_MERGE
-MPI_IPROBE
-MPI_IRECV
-MPI_IREDUCE
-MPI_IREDUCE_SCATTER
-MPI_IREDUCE_SCATTER_BLOCK
-MPI_IRSEND
-MPI_ISCAN
-MPI_ISCATTER
-MPI_ISCATTERV
-MPI_ISEND
-MPI_ISSEND
-MPI_IS_THREAD_MAIN
-MPI_Iallgather
-MPI_Iallgatherv
-MPI_Iallreduce
-MPI_Ialltoall
-MPI_Ialltoallv
-MPI_Ialltoallw
-MPI_Ibarrier
-MPI_Ibcast
-MPI_Ibsend
-MPI_Iexscan
-MPI_Igather
-MPI_Igatherv
-MPI_Improbe
-MPI_Imrecv
-MPI_Info_create
-MPI_Info_delete
-MPI_Info_dup
-MPI_Info_free
-MPI_Info_get
-MPI_Info_get_nkeys
-MPI_Info_get_nthkey
-MPI_Info_get_valuelen
-MPI_Info_set
-MPI_Init
-MPI_Init_thread
-MPI_Initialized
-MPI_Intercomm_create
-MPI_Intercomm_merge
-MPI_Iprobe
-MPI_Irecv
-MPI_Ireduce
-MPI_Ireduce_scatter
-MPI_Ireduce_scatter_block
-MPI_Irsend
-MPI_Is_thread_main
-MPI_Iscan
-MPI_Iscatter
-MPI_Iscatterv
-MPI_Isend
-MPI_Issend
-MPI_KEYVAL_CREATE
-MPI_KEYVAL_FREE
-MPI_Keyval_create
-MPI_Keyval_free
-MPI_LOOKUP_NAME
-MPI_Lookup_name
-MPI_MPROBE
-MPI_MRECV
-MPI_Mprobe
-MPI_Mrecv
-MPI_NULL_COPY_FN
-MPI_NULL_DELETE_FN
-MPI_OPEN_PORT
-MPI_OP_COMMUTATIVE
-MPI_OP_CREATE
-MPI_OP_FREE
-MPI_Op_commutative
-MPI_Op_create
-MPI_Op_free
-MPI_Open_port
-MPI_PACK
-MPI_PACK_EXTERNAL
-MPI_PACK_EXTERNAL_SIZE
-MPI_PACK_SIZE
-MPI_PCONTROL
-MPI_PROBE
-MPI_PUBLISH_NAME
-MPI_PUT
-MPI_Pack
-MPI_Pack_external
-MPI_Pack_external_size
-MPI_Pack_size
-MPI_Pcontrol
-MPI_Probe
-MPI_Publish_name
-MPI_Put
-MPI_QUERY_THREAD
-MPI_Query_thread
-MPI_RACCUMULATE
-MPI_RECV
-MPI_RECV_INIT
-MPI_REDUCE
-MPI_REDUCE_LOCAL
-MPI_REDUCE_SCATTER
-MPI_REDUCE_SCATTER_block
-MPI_REGISTER_DATAREP
-MPI_REQUEST_FREE
-MPI_REQUEST_GET_STATUS
-MPI_RGET
-MPI_RGET_ACCUMULATE
-MPI_RPUT
-MPI_RSEND
-MPI_RSEND_INIT
-MPI_Raccumulate
-MPI_Recv
-MPI_Recv_init
-MPI_Reduce
-MPI_Reduce_local
-MPI_Reduce_scatter
-MPI_Reduce_scatter_block
-MPI_Register_datarep
-MPI_Request_free
-MPI_Request_get_status
-MPI_Rget
-MPI_Rget_accumulate
-MPI_Rput
-MPI_Rsend
-MPI_Rsend_init
-MPI_SCAN
-MPI_SCATTER
-MPI_SCATTERV
-MPI_SEND
-MPI_SENDRECV
-MPI_SENDRECV_REPLACE
-MPI_SEND_INIT
-MPI_SSEND
-MPI_SSEND_INIT
-MPI_START
-MPI_STARTALL
-MPI_STATUS_C2F
-MPI_STATUS_F2C
-MPI_STATUS_SET_CANCELLED
-MPI_STATUS_SET_ELEMENTS
-MPI_STATUS_SET_ELEMENTS_X
-MPI_Scan
-MPI_Scatter
-MPI_Scatterv
-MPI_Send
-MPI_Send_init
-MPI_Sendrecv
-MPI_Sendrecv_replace
-MPI_Ssend
-MPI_Ssend_init
-MPI_Start
-MPI_Startall
-MPI_Status_c2f
-MPI_Status_f2c
-MPI_Status_set_cancelled
-MPI_Status_set_elements
-MPI_Status_set_elements_x
-MPI_TEST
-MPI_TESTALL
-MPI_TESTANY
-MPI_TESTSOME
-MPI_TEST_CANCELLED
-MPI_TOPO_TEST
-MPI_TYPE_COMMIT
-MPI_TYPE_CONTIGUOUS
-MPI_TYPE_CREATE_DARRAY
-MPI_TYPE_CREATE_F90_COMPLEX
-MPI_TYPE_CREATE_F90_INTEGER
-MPI_TYPE_CREATE_F90_REAL
-MPI_TYPE_CREATE_HINDEXED
-MPI_TYPE_CREATE_HINDEXED_BLOCK
-MPI_TYPE_CREATE_HVECTOR
-MPI_TYPE_CREATE_INDEXED_BLOCK
-MPI_TYPE_CREATE_KEYVAL
-MPI_TYPE_CREATE_RESIZED
-MPI_TYPE_CREATE_STRUCT
-MPI_TYPE_CREATE_SUBARRAY
-MPI_TYPE_DELETE_ATTR
-MPI_TYPE_DUP
-MPI_TYPE_DUP_FN
-MPI_TYPE_EXTENT
-MPI_TYPE_FREE
-MPI_TYPE_FREE_KEYVAL
-MPI_TYPE_GET_ATTR
-MPI_TYPE_GET_CONTENTS
-MPI_TYPE_GET_ENVELOPE
-MPI_TYPE_GET_EXTENT
-MPI_TYPE_GET_EXTENT_X
-MPI_TYPE_GET_NAME
-MPI_TYPE_GET_TRUE_EXTENT
-MPI_TYPE_GET_TRUE_EXTENT_X
-MPI_TYPE_HINDEXED
-MPI_TYPE_HVECTOR
-MPI_TYPE_INDEXED
-MPI_TYPE_LB
-MPI_TYPE_MATCH_SIZE
-MPI_TYPE_NULL_COPY_FN
-MPI_TYPE_NULL_DELETE_FN
-MPI_TYPE_SET_ATTR
-MPI_TYPE_SET_NAME
-MPI_TYPE_SIZE
-MPI_TYPE_SIZE_X
-MPI_TYPE_STRUCT
-MPI_TYPE_UB
-MPI_TYPE_VECTOR
-MPI_Test
-MPI_Test_cancelled
-MPI_Testall
-MPI_Testany
-MPI_Testsome
-MPI_Topo_test
-MPI_Type_commit
-MPI_Type_contiguous
-MPI_Type_create_darray
-MPI_Type_create_f90_complex
-MPI_Type_create_f90_integer
-MPI_Type_create_f90_real
-MPI_Type_create_hindexed
-MPI_Type_create_hindexed_block
-MPI_Type_create_hvector
-MPI_Type_create_indexed_block
-MPI_Type_create_keyval
-MPI_Type_create_resized
-MPI_Type_create_struct
-MPI_Type_create_subarray
-MPI_Type_delete_attr
-MPI_Type_dup
-MPI_Type_extent
-MPI_Type_free
-MPI_Type_free_keyval
-MPI_Type_get_attr
-MPI_Type_get_contents
-MPI_Type_get_envelope
-MPI_Type_get_extent
-MPI_Type_get_extent_x
-MPI_Type_get_name
-MPI_Type_get_true_extent
-MPI_Type_get_true_extent_x
-MPI_Type_hindexed
-MPI_Type_hvector
-MPI_Type_indexed
-MPI_Type_lb
-MPI_Type_match_size
-MPI_Type_set_attr
-MPI_Type_set_name
-MPI_Type_size
-MPI_Type_size_x
-MPI_Type_struct
-MPI_Type_ub
-MPI_Type_vector
-MPI_UNPACK
-MPI_UNPACK_EXTERNAL
-MPI_UNPUBLISH_NAME
-MPI_Unpack
-MPI_Unpack_external
-MPI_Unpublish_name
-MPI_WAIT
-MPI_WAITALL
-MPI_WAITANY
-MPI_WAITSOME
-MPI_WIN_ALLOCATE
-MPI_WIN_ALLOCATE_SHARED
-MPI_WIN_ATTACH
-MPI_WIN_CALL_ERRHANDLER
-MPI_WIN_COMPLETE
-MPI_WIN_CREATE
-MPI_WIN_CREATE_DYNAMIC
-MPI_WIN_CREATE_ERRHANDLER
-MPI_WIN_CREATE_KEYVAL
-MPI_WIN_DELETE_ATTR
-MPI_WIN_DETACH
-MPI_WIN_DUP_FN
-MPI_WIN_FENCE
-MPI_WIN_FLUSH
-MPI_WIN_FLUSH_ALL
-MPI_WIN_FLUSH_LOCAL
-MPI_WIN_FLUSH_LOCAL_ALL
-MPI_WIN_FREE
-MPI_WIN_FREE_KEYVAL
-MPI_WIN_GET_ATTR
-MPI_WIN_GET_ERRHANDLER
-MPI_WIN_GET_GROUP
-MPI_WIN_GET_NAME
-MPI_WIN_LOCK
-MPI_WIN_LOCK_ALL
-MPI_WIN_NULL_COPY_FN
-MPI_WIN_NULL_DELETE_FN
-MPI_WIN_POST
-MPI_WIN_SET_ATTR
-MPI_WIN_SET_ERRHANDLER
-MPI_WIN_SET_NAME
-MPI_WIN_SHARED_QUERY
-MPI_WIN_START
-MPI_WIN_SYNC
-MPI_WIN_TEST
-MPI_WIN_UNLOCK
-MPI_WIN_UNLOCK_ALL
-MPI_WIN_WAIT
-MPI_WTICK
-MPI_WTIME
-MPI_Wait
-MPI_Waitall
-MPI_Waitany
-MPI_Waitsome
-MPI_Win_allocate
-MPI_Win_allocate_shared
-MPI_Win_attach
-MPI_Win_call_errhandler
-MPI_Win_complete
-MPI_Win_create
-MPI_Win_create_dynamic
-MPI_Win_create_errhandler
-MPI_Win_create_keyval
-MPI_Win_delete_attr
-MPI_Win_detach
-MPI_Win_fence
-MPI_Win_flush
-MPI_Win_flush_all
-MPI_Win_flush_local
-MPI_Win_flush_local_all
-MPI_Win_free
-MPI_Win_free_keyval
-MPI_Win_get_attr
-MPI_Win_get_errhandler
-MPI_Win_get_group
-MPI_Win_get_name
-MPI_Win_lock
-MPI_Win_lock_all
-MPI_Win_post
-MPI_Win_set_attr
-MPI_Win_set_errhandler
-MPI_Win_set_name
-MPI_Win_shared_query
-MPI_Win_start
-MPI_Win_sync
-MPI_Win_test
-MPI_Win_unlock
-MPI_Win_unlock_all
-MPI_Win_wait
-MPI_Wtick
-MPI_Wtime
-MSMPI_GET_BSEND_OVERHEAD
-MSMPI_GET_VERSION
-MSMPI_Get_bsend_overhead
-MSMPI_Get_version
-MSMPI_Queuelock_acquire
-MSMPI_Queuelock_release
-MSMPI_Request_set_apc
-MSMPI_Waitsome_interruptible
-PMPI_ABORT
-PMPI_ACCUMULATE
-PMPI_ADDRESS
-PMPI_ADD_ERROR_CLASS
-PMPI_ADD_ERROR_CODE
-PMPI_ADD_ERROR_STRING
-PMPI_AINT_ADD
-PMPI_AINT_DIFF
-PMPI_ALLGATHER
-PMPI_ALLGATHERV
-PMPI_ALLOC_MEM
-PMPI_ALLREDUCE
-PMPI_ALLTOALL
-PMPI_ALLTOALLV
-PMPI_ALLTOALLW
-PMPI_ATTR_DELETE
-PMPI_ATTR_GET
-PMPI_ATTR_PUT
-PMPI_Abort
-PMPI_Accumulate
-PMPI_Add_error_class
-PMPI_Add_error_code
-PMPI_Add_error_string
-PMPI_Address
-PMPI_Aint_add
-PMPI_Aint_diff
-PMPI_Allgather
-PMPI_Allgatherv
-PMPI_Alloc_mem
-PMPI_Allreduce
-PMPI_Alltoall
-PMPI_Alltoallv
-PMPI_Alltoallw
-PMPI_Attr_delete
-PMPI_Attr_get
-PMPI_Attr_put
-PMPI_BARRIER
-PMPI_BCAST
-PMPI_BSEND
-PMPI_BSEND_INIT
-PMPI_BUFFER_ATTACH
-PMPI_BUFFER_DETACH
-PMPI_Barrier
-PMPI_Bcast
-PMPI_Bsend
-PMPI_Bsend_init
-PMPI_Buffer_attach
-PMPI_Buffer_detach
-PMPI_CANCEL
-PMPI_CARTDIM_GET
-PMPI_CART_COORDS
-PMPI_CART_CREATE
-PMPI_CART_GET
-PMPI_CART_MAP
-PMPI_CART_RANK
-PMPI_CART_SHIFT
-PMPI_CART_SUB
-PMPI_CLOSE_PORT
-PMPI_COMM_ACCEPT
-PMPI_COMM_CALL_ERRHANDLER
-PMPI_COMM_COMPARE
-PMPI_COMM_CONNECT
-PMPI_COMM_CREATE
-PMPI_COMM_CREATE_ERRHANDLER
-PMPI_COMM_CREATE_KEYVAL
-PMPI_COMM_DELETE_ATTR
-PMPI_COMM_DISCONNECT
-PMPI_COMM_DUP
-PMPI_COMM_DUP_FN
-PMPI_COMM_FREE
-PMPI_COMM_FREE_KEYVAL
-PMPI_COMM_GET_ATTR
-PMPI_COMM_GET_ERRHANDLER
-PMPI_COMM_GET_NAME
-PMPI_COMM_GET_PARENT
-PMPI_COMM_GROUP
-PMPI_COMM_JOIN
-PMPI_COMM_NULL_COPY_FN
-PMPI_COMM_NULL_DELETE_FN
-PMPI_COMM_RANK
-PMPI_COMM_REMOTE_GROUP
-PMPI_COMM_REMOTE_SIZE
-PMPI_COMM_SET_ATTR
-PMPI_COMM_SET_ERRHANDLER
-PMPI_COMM_SET_NAME
-PMPI_COMM_SIZE
-PMPI_COMM_SPAWN
-PMPI_COMM_SPAWN_MULTIPLE
-PMPI_COMM_SPLIT
-PMPI_COMM_SPLIT_TYPE
-PMPI_COMM_TEST_INTER
-PMPI_COMPARE_AND_SWAP
-PMPI_CONVERSION_FN_NULL
-PMPI_Cancel
-PMPI_Cart_coords
-PMPI_Cart_create
-PMPI_Cart_get
-PMPI_Cart_map
-PMPI_Cart_rank
-PMPI_Cart_shift
-PMPI_Cart_sub
-PMPI_Cartdim_get
-PMPI_Close_port
-PMPI_Comm_accept
-PMPI_Comm_call_errhandler
-PMPI_Comm_compare
-PMPI_Comm_connect
-PMPI_Comm_create
-PMPI_Comm_create_errhandler
-PMPI_Comm_create_keyval
-PMPI_Comm_delete_attr
-PMPI_Comm_disconnect
-PMPI_Comm_dup
-PMPI_Comm_free
-PMPI_Comm_free_keyval
-PMPI_Comm_get_attr
-PMPI_Comm_get_errhandler
-PMPI_Comm_get_name
-PMPI_Comm_get_parent
-PMPI_Comm_group
-PMPI_Comm_join
-PMPI_Comm_rank
-PMPI_Comm_remote_group
-PMPI_Comm_remote_size
-PMPI_Comm_set_attr
-PMPI_Comm_set_errhandler
-PMPI_Comm_set_name
-PMPI_Comm_size
-PMPI_Comm_spawn
-PMPI_Comm_spawn_multiple
-PMPI_Comm_split
-PMPI_Comm_split_type
-PMPI_Comm_test_inter
-PMPI_Compare_and_swap
-PMPI_DIMS_CREATE
-PMPI_DIST_GRAPH_CREATE
-PMPI_DIST_GRAPH_CREATE_ADJACENT
-PMPI_DIST_GRAPH_NEIGHBORS
-PMPI_DIST_GRAPH_NEIGHBORS_COUNT
-PMPI_DUP_FN
-PMPI_Dims_create
-PMPI_Dist_graph_create
-PMPI_Dist_graph_create_adjacent
-PMPI_Dist_graph_neighbors
-PMPI_Dist_graph_neighbors_count
-PMPI_ERRHANDLER_CREATE
-PMPI_ERRHANDLER_FREE
-PMPI_ERRHANDLER_GET
-PMPI_ERRHANDLER_SET
-PMPI_ERROR_CLASS
-PMPI_ERROR_STRING
-PMPI_EXSCAN
-PMPI_Errhandler_create
-PMPI_Errhandler_free
-PMPI_Errhandler_get
-PMPI_Errhandler_set
-PMPI_Error_class
-PMPI_Error_string
-PMPI_Exscan
-PMPI_FETCH_AND_OP
-PMPI_FILE_CALL_ERRHANDLER
-PMPI_FILE_CLOSE
-PMPI_FILE_CREATE_ERRHANDLER
-PMPI_FILE_DELETE
-PMPI_FILE_GET_AMODE
-PMPI_FILE_GET_ATOMICITY
-PMPI_FILE_GET_BYTE_OFFSET
-PMPI_FILE_GET_ERRHANDLER
-PMPI_FILE_GET_GROUP
-PMPI_FILE_GET_INFO
-PMPI_FILE_GET_POSITION
-PMPI_FILE_GET_POSITION_SHARED
-PMPI_FILE_GET_SIZE
-PMPI_FILE_GET_TYPE_EXTENT
-PMPI_FILE_GET_VIEW
-PMPI_FILE_IREAD
-PMPI_FILE_IREAD_AT
-PMPI_FILE_IREAD_SHARED
-PMPI_FILE_IWRITE
-PMPI_FILE_IWRITE_AT
-PMPI_FILE_IWRITE_SHARED
-PMPI_FILE_OPEN
-PMPI_FILE_PREALLOCATE
-PMPI_FILE_READ
-PMPI_FILE_READ_ALL
-PMPI_FILE_READ_ALL_BEGIN
-PMPI_FILE_READ_ALL_END
-PMPI_FILE_READ_AT
-PMPI_FILE_READ_AT_ALL
-PMPI_FILE_READ_AT_ALL_BEGIN
-PMPI_FILE_READ_AT_ALL_END
-PMPI_FILE_READ_ORDERED
-PMPI_FILE_READ_ORDERED_BEGIN
-PMPI_FILE_READ_ORDERED_END
-PMPI_FILE_READ_SHARED
-PMPI_FILE_SEEK
-PMPI_FILE_SEEK_SHARED
-PMPI_FILE_SET_ATOMICITY
-PMPI_FILE_SET_ERRHANDLER
-PMPI_FILE_SET_INFO
-PMPI_FILE_SET_SIZE
-PMPI_FILE_SET_VIEW
-PMPI_FILE_SYNC
-PMPI_FILE_WRITE
-PMPI_FILE_WRITE_ALL
-PMPI_FILE_WRITE_ALL_BEGIN
-PMPI_FILE_WRITE_ALL_END
-PMPI_FILE_WRITE_AT
-PMPI_FILE_WRITE_AT_ALL
-PMPI_FILE_WRITE_AT_ALL_BEGIN
-PMPI_FILE_WRITE_AT_ALL_END
-PMPI_FILE_WRITE_ORDERED
-PMPI_FILE_WRITE_ORDERED_BEGIN
-PMPI_FILE_WRITE_ORDERED_END
-PMPI_FILE_WRITE_SHARED
-PMPI_FINALIZE
-PMPI_FINALIZED
-PMPI_FREE_MEM
-PMPI_Fetch_and_op
-PMPI_File_c2f
-PMPI_File_call_errhandler
-PMPI_File_close
-PMPI_File_create_errhandler
-PMPI_File_delete
-PMPI_File_f2c
-PMPI_File_get_amode
-PMPI_File_get_atomicity
-PMPI_File_get_byte_offset
-PMPI_File_get_errhandler
-PMPI_File_get_group
-PMPI_File_get_info
-PMPI_File_get_position
-PMPI_File_get_position_shared
-PMPI_File_get_size
-PMPI_File_get_type_extent
-PMPI_File_get_view
-PMPI_File_iread
-PMPI_File_iread_at
-PMPI_File_iread_shared
-PMPI_File_iwrite
-PMPI_File_iwrite_at
-PMPI_File_iwrite_shared
-PMPI_File_open
-PMPI_File_preallocate
-PMPI_File_read
-PMPI_File_read_all
-PMPI_File_read_all_begin
-PMPI_File_read_all_end
-PMPI_File_read_at
-PMPI_File_read_at_all
-PMPI_File_read_at_all_begin
-PMPI_File_read_at_all_end
-PMPI_File_read_ordered
-PMPI_File_read_ordered_begin
-PMPI_File_read_ordered_end
-PMPI_File_read_shared
-PMPI_File_seek
-PMPI_File_seek_shared
-PMPI_File_set_atomicity
-PMPI_File_set_errhandler
-PMPI_File_set_info
-PMPI_File_set_size
-PMPI_File_set_view
-PMPI_File_sync
-PMPI_File_write
-PMPI_File_write_all
-PMPI_File_write_all_begin
-PMPI_File_write_all_end
-PMPI_File_write_at
-PMPI_File_write_at_all
-PMPI_File_write_at_all_begin
-PMPI_File_write_at_all_end
-PMPI_File_write_ordered
-PMPI_File_write_ordered_begin
-PMPI_File_write_ordered_end
-PMPI_File_write_shared
-PMPI_Finalize
-PMPI_Finalized
-PMPI_Free_mem
-PMPI_GATHER
-PMPI_GATHERV
-PMPI_GET
-PMPI_GET_ACCUMULATE
-PMPI_GET_ADDRESS
-PMPI_GET_COUNT
-PMPI_GET_ELEMENTS
-PMPI_GET_ELEMENTS_X
-PMPI_GET_LIBRARY_VERSION
-PMPI_GET_PROCESSOR_NAME
-PMPI_GET_VERSION
-PMPI_GRAPHDIMS_GET
-PMPI_GRAPH_CREATE
-PMPI_GRAPH_GET
-PMPI_GRAPH_MAP
-PMPI_GRAPH_NEIGHBORS
-PMPI_GRAPH_NEIGHBORS_COUNT
-PMPI_GREQUEST_COMPLETE
-PMPI_GREQUEST_START
-PMPI_GROUP_COMPARE
-PMPI_GROUP_DIFFERENCE
-PMPI_GROUP_EXCL
-PMPI_GROUP_FREE
-PMPI_GROUP_INCL
-PMPI_GROUP_INTERSECTION
-PMPI_GROUP_RANGE_EXCL
-PMPI_GROUP_RANGE_INCL
-PMPI_GROUP_RANK
-PMPI_GROUP_SIZE
-PMPI_GROUP_TRANSLATE_RANKS
-PMPI_GROUP_UNION
-PMPI_Gather
-PMPI_Gatherv
-PMPI_Get
-PMPI_Get_accumulate
-PMPI_Get_address
-PMPI_Get_count
-PMPI_Get_elements
-PMPI_Get_elements_x
-PMPI_Get_library_version
-PMPI_Get_processor_name
-PMPI_Get_version
-PMPI_Graph_create
-PMPI_Graph_get
-PMPI_Graph_map
-PMPI_Graph_neighbors
-PMPI_Graph_neighbors_count
-PMPI_Graphdims_get
-PMPI_Grequest_complete
-PMPI_Grequest_start
-PMPI_Group_compare
-PMPI_Group_difference
-PMPI_Group_excl
-PMPI_Group_free
-PMPI_Group_incl
-PMPI_Group_intersection
-PMPI_Group_range_excl
-PMPI_Group_range_incl
-PMPI_Group_rank
-PMPI_Group_size
-PMPI_Group_translate_ranks
-PMPI_Group_union
-PMPI_IALLGATHER
-PMPI_IALLGATHERV
-PMPI_IALLREDUCE
-PMPI_IALLTOALL
-PMPI_IALLTOALLV
-PMPI_IALLTOALLW
-PMPI_IBARRIER
-PMPI_IBCAST
-PMPI_IBSEND
-PMPI_IEXSCAN
-PMPI_IGATHER
-PMPI_IGATHERV
-PMPI_IMPROBE
-PMPI_IMRECV
-PMPI_INFO_CREATE
-PMPI_INFO_DELETE
-PMPI_INFO_DUP
-PMPI_INFO_FREE
-PMPI_INFO_GET
-PMPI_INFO_GET_NKEYS
-PMPI_INFO_GET_NTHKEY
-PMPI_INFO_GET_VALUELEN
-PMPI_INFO_SET
-PMPI_INIT
-PMPI_INITIALIZED
-PMPI_INIT_THREAD
-PMPI_INTERCOMM_CREATE
-PMPI_INTERCOMM_MERGE
-PMPI_IPROBE
-PMPI_IRECV
-PMPI_IREDUCE
-PMPI_IREDUCE_SCATTER
-PMPI_IREDUCE_SCATTER_BLOCK
-PMPI_IRSEND
-PMPI_ISCAN
-PMPI_ISCATTER
-PMPI_ISCATTERV
-PMPI_ISEND
-PMPI_ISSEND
-PMPI_IS_THREAD_MAIN
-PMPI_Iallgather
-PMPI_Iallgatherv
-PMPI_Iallreduce
-PMPI_Ialltoall
-PMPI_Ialltoallv
-PMPI_Ialltoallw
-PMPI_Ibarrier
-PMPI_Ibcast
-PMPI_Ibsend
-PMPI_Iexscan
-PMPI_Igather
-PMPI_Igatherv
-PMPI_Improbe
-PMPI_Imrecv
-PMPI_Info_create
-PMPI_Info_delete
-PMPI_Info_dup
-PMPI_Info_free
-PMPI_Info_get
-PMPI_Info_get_nkeys
-PMPI_Info_get_nthkey
-PMPI_Info_get_valuelen
-PMPI_Info_set
-PMPI_Init
-PMPI_Init_thread
-PMPI_Initialized
-PMPI_Intercomm_create
-PMPI_Intercomm_merge
-PMPI_Iprobe
-PMPI_Irecv
-PMPI_Ireduce
-PMPI_Ireduce_scatter
-PMPI_Ireduce_scatter_block
-PMPI_Irsend
-PMPI_Is_thread_main
-PMPI_Iscan
-PMPI_Iscatter
-PMPI_Iscatterv
-PMPI_Isend
-PMPI_Issend
-PMPI_KEYVAL_CREATE
-PMPI_KEYVAL_FREE
-PMPI_Keyval_create
-PMPI_Keyval_free
-PMPI_LOOKUP_NAME
-PMPI_Lookup_name
-PMPI_MPROBE
-PMPI_MRECV
-PMPI_Mprobe
-PMPI_Mrecv
-PMPI_NULL_COPY_FN
-PMPI_NULL_DELETE_FN
-PMPI_OPEN_PORT
-PMPI_OP_COMMUTATIVE
-PMPI_OP_CREATE
-PMPI_OP_FREE
-PMPI_Op_commutative
-PMPI_Op_create
-PMPI_Op_free
-PMPI_Open_port
-PMPI_PACK
-PMPI_PACK_EXTERNAL
-PMPI_PACK_EXTERNAL_SIZE
-PMPI_PACK_SIZE
-PMPI_PCONTROL
-PMPI_PROBE
-PMPI_PUBLISH_NAME
-PMPI_PUT
-PMPI_Pack
-PMPI_Pack_external
-PMPI_Pack_external_size
-PMPI_Pack_size
-PMPI_Pcontrol
-PMPI_Probe
-PMPI_Publish_name
-PMPI_Put
-PMPI_QUERY_THREAD
-PMPI_Query_thread
-PMPI_RACCUMULATE
-PMPI_RECV
-PMPI_RECV_INIT
-PMPI_REDUCE
-PMPI_REDUCE_LOCAL
-PMPI_REDUCE_SCATTER
-PMPI_REDUCE_SCATTER_block
-PMPI_REGISTER_DATAREP
-PMPI_REQUEST_FREE
-PMPI_REQUEST_GET_STATUS
-PMPI_RGET
-PMPI_RGET_ACCUMULATE
-PMPI_RPUT
-PMPI_RSEND
-PMPI_RSEND_INIT
-PMPI_Raccumulate
-PMPI_Recv
-PMPI_Recv_init
-PMPI_Reduce
-PMPI_Reduce_local
-PMPI_Reduce_scatter
-PMPI_Reduce_scatter_block
-PMPI_Register_datarep
-PMPI_Request_free
-PMPI_Request_get_status
-PMPI_Rget
-PMPI_Rget_accumulate
-PMPI_Rput
-PMPI_Rsend
-PMPI_Rsend_init
-PMPI_SCAN
-PMPI_SCATTER
-PMPI_SCATTERV
-PMPI_SEND
-PMPI_SENDRECV
-PMPI_SENDRECV_REPLACE
-PMPI_SEND_INIT
-PMPI_SSEND
-PMPI_SSEND_INIT
-PMPI_START
-PMPI_STARTALL
-PMPI_STATUS_C2F
-PMPI_STATUS_F2C
-PMPI_STATUS_SET_CANCELLED
-PMPI_STATUS_SET_ELEMENTS
-PMPI_STATUS_SET_ELEMENTS_X
-PMPI_Scan
-PMPI_Scatter
-PMPI_Scatterv
-PMPI_Send
-PMPI_Send_init
-PMPI_Sendrecv
-PMPI_Sendrecv_replace
-PMPI_Ssend
-PMPI_Ssend_init
-PMPI_Start
-PMPI_Startall
-PMPI_Status_c2f
-PMPI_Status_f2c
-PMPI_Status_set_cancelled
-PMPI_Status_set_elements
-PMPI_Status_set_elements_x
-PMPI_TEST
-PMPI_TESTALL
-PMPI_TESTANY
-PMPI_TESTSOME
-PMPI_TEST_CANCELLED
-PMPI_TOPO_TEST
-PMPI_TYPE_COMMIT
-PMPI_TYPE_CONTIGUOUS
-PMPI_TYPE_CREATE_DARRAY
-PMPI_TYPE_CREATE_F90_COMPLEX
-PMPI_TYPE_CREATE_F90_INTEGER
-PMPI_TYPE_CREATE_F90_REAL
-PMPI_TYPE_CREATE_HINDEXED
-PMPI_TYPE_CREATE_HINDEXED_BLOCK
-PMPI_TYPE_CREATE_HVECTOR
-PMPI_TYPE_CREATE_INDEXED_BLOCK
-PMPI_TYPE_CREATE_KEYVAL
-PMPI_TYPE_CREATE_RESIZED
-PMPI_TYPE_CREATE_STRUCT
-PMPI_TYPE_CREATE_SUBARRAY
-PMPI_TYPE_DELETE_ATTR
-PMPI_TYPE_DUP
-PMPI_TYPE_DUP_FN
-PMPI_TYPE_EXTENT
-PMPI_TYPE_FREE
-PMPI_TYPE_FREE_KEYVAL
-PMPI_TYPE_GET_ATTR
-PMPI_TYPE_GET_CONTENTS
-PMPI_TYPE_GET_ENVELOPE
-PMPI_TYPE_GET_EXTENT
-PMPI_TYPE_GET_EXTENT_X
-PMPI_TYPE_GET_NAME
-PMPI_TYPE_GET_TRUE_EXTENT
-PMPI_TYPE_GET_TRUE_EXTENT_X
-PMPI_TYPE_HINDEXED
-PMPI_TYPE_HVECTOR
-PMPI_TYPE_INDEXED
-PMPI_TYPE_LB
-PMPI_TYPE_MATCH_SIZE
-PMPI_TYPE_NULL_COPY_FN
-PMPI_TYPE_NULL_DELETE_FN
-PMPI_TYPE_SET_ATTR
-PMPI_TYPE_SET_NAME
-PMPI_TYPE_SIZE
-PMPI_TYPE_SIZE_X
-PMPI_TYPE_STRUCT
-PMPI_TYPE_UB
-PMPI_TYPE_VECTOR
-PMPI_Test
-PMPI_Test_cancelled
-PMPI_Testall
-PMPI_Testany
-PMPI_Testsome
-PMPI_Topo_test
-PMPI_Type_commit
-PMPI_Type_contiguous
-PMPI_Type_create_darray
-PMPI_Type_create_f90_complex
-PMPI_Type_create_f90_integer
-PMPI_Type_create_f90_real
-PMPI_Type_create_hindexed
-PMPI_Type_create_hindexed_block
-PMPI_Type_create_hvector
-PMPI_Type_create_indexed_block
-PMPI_Type_create_keyval
-PMPI_Type_create_resized
-PMPI_Type_create_struct
-PMPI_Type_create_subarray
-PMPI_Type_delete_attr
-PMPI_Type_dup
-PMPI_Type_extent
-PMPI_Type_free
-PMPI_Type_free_keyval
-PMPI_Type_get_attr
-PMPI_Type_get_contents
-PMPI_Type_get_envelope
-PMPI_Type_get_extent
-PMPI_Type_get_extent_x
-PMPI_Type_get_name
-PMPI_Type_get_true_extent
-PMPI_Type_get_true_extent_x
-PMPI_Type_hindexed
-PMPI_Type_hvector
-PMPI_Type_indexed
-PMPI_Type_lb
-PMPI_Type_match_size
-PMPI_Type_set_attr
-PMPI_Type_set_name
-PMPI_Type_size
-PMPI_Type_size_x
-PMPI_Type_struct
-PMPI_Type_ub
-PMPI_Type_vector
-PMPI_UNPACK
-PMPI_UNPACK_EXTERNAL
-PMPI_UNPUBLISH_NAME
-PMPI_Unpack
-PMPI_Unpack_external
-PMPI_Unpublish_name
-PMPI_WAIT
-PMPI_WAITALL
-PMPI_WAITANY
-PMPI_WAITSOME
-PMPI_WIN_ALLOCATE
-PMPI_WIN_ALLOCATE_SHARED
-PMPI_WIN_ATTACH
-PMPI_WIN_CALL_ERRHANDLER
-PMPI_WIN_COMPLETE
-PMPI_WIN_CREATE
-PMPI_WIN_CREATE_DYNAMIC
-PMPI_WIN_CREATE_ERRHANDLER
-PMPI_WIN_CREATE_KEYVAL
-PMPI_WIN_DELETE_ATTR
-PMPI_WIN_DETACH
-PMPI_WIN_DUP_FN
-PMPI_WIN_FENCE
-PMPI_WIN_FLUSH
-PMPI_WIN_FLUSH_ALL
-PMPI_WIN_FLUSH_LOCAL
-PMPI_WIN_FLUSH_LOCAL_ALL
-PMPI_WIN_FREE
-PMPI_WIN_FREE_KEYVAL
-PMPI_WIN_GET_ATTR
-PMPI_WIN_GET_ERRHANDLER
-PMPI_WIN_GET_GROUP
-PMPI_WIN_GET_NAME
-PMPI_WIN_LOCK
-PMPI_WIN_LOCK_ALL
-PMPI_WIN_NULL_COPY_FN
-PMPI_WIN_NULL_DELETE_FN
-PMPI_WIN_POST
-PMPI_WIN_SET_ATTR
-PMPI_WIN_SET_ERRHANDLER
-PMPI_WIN_SET_NAME
-PMPI_WIN_SHARED_QUERY
-PMPI_WIN_START
-PMPI_WIN_SYNC
-PMPI_WIN_TEST
-PMPI_WIN_UNLOCK
-PMPI_WIN_UNLOCK_ALL
-PMPI_WIN_WAIT
-PMPI_WTICK
-PMPI_WTIME
-PMPI_Wait
-PMPI_Waitall
-PMPI_Waitany
-PMPI_Waitsome
-PMPI_Win_allocate
-PMPI_Win_allocate_shared
-PMPI_Win_attach
-PMPI_Win_call_errhandler
-PMPI_Win_complete
-PMPI_Win_create
-PMPI_Win_create_dynamic
-PMPI_Win_create_errhandler
-PMPI_Win_create_keyval
-PMPI_Win_delete_attr
-PMPI_Win_detach
-PMPI_Win_fence
-PMPI_Win_flush
-PMPI_Win_flush_all
-PMPI_Win_flush_local
-PMPI_Win_flush_local_all
-PMPI_Win_free
-PMPI_Win_free_keyval
-PMPI_Win_get_attr
-PMPI_Win_get_errhandler
-PMPI_Win_get_group
-PMPI_Win_get_name
-PMPI_Win_lock
-PMPI_Win_lock_all
-PMPI_Win_post
-PMPI_Win_set_attr
-PMPI_Win_set_errhandler
-PMPI_Win_set_name
-PMPI_Win_shared_query
-PMPI_Win_start
-PMPI_Win_sync
-PMPI_Win_test
-PMPI_Win_unlock
-PMPI_Win_unlock_all
-PMPI_Win_wait
-PMPI_Wtick
-PMPI_Wtime
-PMSMPI_GET_BSEND_OVERHEAD
-PMSMPI_GET_VERSION
-PMSMPI_Get_bsend_overhead
-PMSMPI_Get_version
-_MPIFCMB5 DATA
-_MPIFCMB9 DATA
-_MPIPRIV1 DATA
-_MPIPRIV2 DATA
-_MPIPRIVC DATA
-_mpifcmb5 DATA
-_mpifcmb5_ DATA
-_mpifcmb9 DATA
-_mpifcmb9_ DATA
-_mpipriv1 DATA
-_mpipriv1_ DATA
-_mpipriv2 DATA
-_mpipriv2_ DATA
-_mpiprivc DATA
-_mpiprivc_ DATA
-mpi_abort
-mpi_abort_
-mpi_abort__
-mpi_accumulate
-mpi_accumulate_
-mpi_accumulate__
-mpi_add_error_class
-mpi_add_error_class_
-mpi_add_error_class__
-mpi_add_error_code
-mpi_add_error_code_
-mpi_add_error_code__
-mpi_add_error_string
-mpi_add_error_string_
-mpi_add_error_string__
-mpi_address
-mpi_address_
-mpi_address__
-mpi_aint_add
-mpi_aint_add_
-mpi_aint_add__
-mpi_aint_diff
-mpi_aint_diff_
-mpi_aint_diff__
-mpi_allgather
-mpi_allgather_
-mpi_allgather__
-mpi_allgatherv
-mpi_allgatherv_
-mpi_allgatherv__
-mpi_alloc_mem
-mpi_alloc_mem_
-mpi_alloc_mem__
-mpi_allreduce
-mpi_allreduce_
-mpi_allreduce__
-mpi_alltoall
-mpi_alltoall_
-mpi_alltoall__
-mpi_alltoallv
-mpi_alltoallv_
-mpi_alltoallv__
-mpi_alltoallw
-mpi_alltoallw_
-mpi_alltoallw__
-mpi_attr_delete
-mpi_attr_delete_
-mpi_attr_delete__
-mpi_attr_get
-mpi_attr_get_
-mpi_attr_get__
-mpi_attr_put
-mpi_attr_put_
-mpi_attr_put__
-mpi_barrier
-mpi_barrier_
-mpi_barrier__
-mpi_bcast
-mpi_bcast_
-mpi_bcast__
-mpi_bsend
-mpi_bsend_
-mpi_bsend__
-mpi_bsend_init
-mpi_bsend_init_
-mpi_bsend_init__
-mpi_buffer_attach
-mpi_buffer_attach_
-mpi_buffer_attach__
-mpi_buffer_detach
-mpi_buffer_detach_
-mpi_buffer_detach__
-mpi_cancel
-mpi_cancel_
-mpi_cancel__
-mpi_cart_coords
-mpi_cart_coords_
-mpi_cart_coords__
-mpi_cart_create
-mpi_cart_create_
-mpi_cart_create__
-mpi_cart_get
-mpi_cart_get_
-mpi_cart_get__
-mpi_cart_map
-mpi_cart_map_
-mpi_cart_map__
-mpi_cart_rank
-mpi_cart_rank_
-mpi_cart_rank__
-mpi_cart_shift
-mpi_cart_shift_
-mpi_cart_shift__
-mpi_cart_sub
-mpi_cart_sub_
-mpi_cart_sub__
-mpi_cartdim_get
-mpi_cartdim_get_
-mpi_cartdim_get__
-mpi_close_port
-mpi_close_port_
-mpi_close_port__
-mpi_comm_accept
-mpi_comm_accept_
-mpi_comm_accept__
-mpi_comm_call_errhandler
-mpi_comm_call_errhandler_
-mpi_comm_call_errhandler__
-mpi_comm_compare
-mpi_comm_compare_
-mpi_comm_compare__
-mpi_comm_connect
-mpi_comm_connect_
-mpi_comm_connect__
-mpi_comm_create
-mpi_comm_create_
-mpi_comm_create__
-mpi_comm_create_errhandler
-mpi_comm_create_errhandler_
-mpi_comm_create_errhandler__
-mpi_comm_create_keyval
-mpi_comm_create_keyval_
-mpi_comm_create_keyval__
-mpi_comm_delete_attr
-mpi_comm_delete_attr_
-mpi_comm_delete_attr__
-mpi_comm_disconnect
-mpi_comm_disconnect_
-mpi_comm_disconnect__
-mpi_comm_dup
-mpi_comm_dup_
-mpi_comm_dup__
-mpi_comm_dup_fn
-mpi_comm_dup_fn_
-mpi_comm_dup_fn__
-mpi_comm_free
-mpi_comm_free_
-mpi_comm_free__
-mpi_comm_free_keyval
-mpi_comm_free_keyval_
-mpi_comm_free_keyval__
-mpi_comm_get_attr
-mpi_comm_get_attr_
-mpi_comm_get_attr__
-mpi_comm_get_errhandler
-mpi_comm_get_errhandler_
-mpi_comm_get_errhandler__
-mpi_comm_get_name
-mpi_comm_get_name_
-mpi_comm_get_name__
-mpi_comm_get_parent
-mpi_comm_get_parent_
-mpi_comm_get_parent__
-mpi_comm_group
-mpi_comm_group_
-mpi_comm_group__
-mpi_comm_join
-mpi_comm_join_
-mpi_comm_join__
-mpi_comm_null_copy_fn
-mpi_comm_null_copy_fn_
-mpi_comm_null_copy_fn__
-mpi_comm_null_delete_fn
-mpi_comm_null_delete_fn_
-mpi_comm_null_delete_fn__
-mpi_comm_rank
-mpi_comm_rank_
-mpi_comm_rank__
-mpi_comm_remote_group
-mpi_comm_remote_group_
-mpi_comm_remote_group__
-mpi_comm_remote_size
-mpi_comm_remote_size_
-mpi_comm_remote_size__
-mpi_comm_set_attr
-mpi_comm_set_attr_
-mpi_comm_set_attr__
-mpi_comm_set_errhandler
-mpi_comm_set_errhandler_
-mpi_comm_set_errhandler__
-mpi_comm_set_name
-mpi_comm_set_name_
-mpi_comm_set_name__
-mpi_comm_size
-mpi_comm_size_
-mpi_comm_size__
-mpi_comm_spawn
-mpi_comm_spawn_
-mpi_comm_spawn__
-mpi_comm_spawn_multiple
-mpi_comm_spawn_multiple_
-mpi_comm_spawn_multiple__
-mpi_comm_split
-mpi_comm_split_
-mpi_comm_split__
-mpi_comm_split_type
-mpi_comm_split_type_
-mpi_comm_split_type__
-mpi_comm_test_inter
-mpi_comm_test_inter_
-mpi_comm_test_inter__
-mpi_compare_and_swap
-mpi_compare_and_swap_
-mpi_compare_and_swap__
-mpi_conversion_fn_null
-mpi_conversion_fn_null_
-mpi_conversion_fn_null__
-mpi_dims_create
-mpi_dims_create_
-mpi_dims_create__
-mpi_dist_graph_create
-mpi_dist_graph_create_
-mpi_dist_graph_create__
-mpi_dist_graph_create_adjacent
-mpi_dist_graph_create_adjacent_
-mpi_dist_graph_create_adjacent__
-mpi_dist_graph_neighbors
-mpi_dist_graph_neighbors_
-mpi_dist_graph_neighbors__
-mpi_dist_graph_neighbors_count
-mpi_dist_graph_neighbors_count_
-mpi_dist_graph_neighbors_count__
-mpi_dup_fn
-mpi_dup_fn_
-mpi_dup_fn__
-mpi_errhandler_create
-mpi_errhandler_create_
-mpi_errhandler_create__
-mpi_errhandler_free
-mpi_errhandler_free_
-mpi_errhandler_free__
-mpi_errhandler_get
-mpi_errhandler_get_
-mpi_errhandler_get__
-mpi_errhandler_set
-mpi_errhandler_set_
-mpi_errhandler_set__
-mpi_error_class
-mpi_error_class_
-mpi_error_class__
-mpi_error_string
-mpi_error_string_
-mpi_error_string__
-mpi_exscan
-mpi_exscan_
-mpi_exscan__
-mpi_fetch_and_op
-mpi_fetch_and_op_
-mpi_fetch_and_op__
-mpi_file_call_errhandler
-mpi_file_call_errhandler_
-mpi_file_call_errhandler__
-mpi_file_close
-mpi_file_close_
-mpi_file_close__
-mpi_file_create_errhandler
-mpi_file_create_errhandler_
-mpi_file_create_errhandler__
-mpi_file_delete
-mpi_file_delete_
-mpi_file_delete__
-mpi_file_get_amode
-mpi_file_get_amode_
-mpi_file_get_amode__
-mpi_file_get_atomicity
-mpi_file_get_atomicity_
-mpi_file_get_atomicity__
-mpi_file_get_byte_offset
-mpi_file_get_byte_offset_
-mpi_file_get_byte_offset__
-mpi_file_get_errhandler
-mpi_file_get_errhandler_
-mpi_file_get_errhandler__
-mpi_file_get_group
-mpi_file_get_group_
-mpi_file_get_group__
-mpi_file_get_info
-mpi_file_get_info_
-mpi_file_get_info__
-mpi_file_get_position
-mpi_file_get_position_
-mpi_file_get_position__
-mpi_file_get_position_shared
-mpi_file_get_position_shared_
-mpi_file_get_position_shared__
-mpi_file_get_size
-mpi_file_get_size_
-mpi_file_get_size__
-mpi_file_get_type_extent
-mpi_file_get_type_extent_
-mpi_file_get_type_extent__
-mpi_file_get_view
-mpi_file_get_view_
-mpi_file_get_view__
-mpi_file_iread
-mpi_file_iread_
-mpi_file_iread__
-mpi_file_iread_at
-mpi_file_iread_at_
-mpi_file_iread_at__
-mpi_file_iread_shared
-mpi_file_iread_shared_
-mpi_file_iread_shared__
-mpi_file_iwrite
-mpi_file_iwrite_
-mpi_file_iwrite__
-mpi_file_iwrite_at
-mpi_file_iwrite_at_
-mpi_file_iwrite_at__
-mpi_file_iwrite_shared
-mpi_file_iwrite_shared_
-mpi_file_iwrite_shared__
-mpi_file_open
-mpi_file_open_
-mpi_file_open__
-mpi_file_preallocate
-mpi_file_preallocate_
-mpi_file_preallocate__
-mpi_file_read
-mpi_file_read_
-mpi_file_read__
-mpi_file_read_all
-mpi_file_read_all_
-mpi_file_read_all__
-mpi_file_read_all_begin
-mpi_file_read_all_begin_
-mpi_file_read_all_begin__
-mpi_file_read_all_end
-mpi_file_read_all_end_
-mpi_file_read_all_end__
-mpi_file_read_at
-mpi_file_read_at_
-mpi_file_read_at__
-mpi_file_read_at_all
-mpi_file_read_at_all_
-mpi_file_read_at_all__
-mpi_file_read_at_all_begin
-mpi_file_read_at_all_begin_
-mpi_file_read_at_all_begin__
-mpi_file_read_at_all_end
-mpi_file_read_at_all_end_
-mpi_file_read_at_all_end__
-mpi_file_read_ordered
-mpi_file_read_ordered_
-mpi_file_read_ordered__
-mpi_file_read_ordered_begin
-mpi_file_read_ordered_begin_
-mpi_file_read_ordered_begin__
-mpi_file_read_ordered_end
-mpi_file_read_ordered_end_
-mpi_file_read_ordered_end__
-mpi_file_read_shared
-mpi_file_read_shared_
-mpi_file_read_shared__
-mpi_file_seek
-mpi_file_seek_
-mpi_file_seek__
-mpi_file_seek_shared
-mpi_file_seek_shared_
-mpi_file_seek_shared__
-mpi_file_set_atomicity
-mpi_file_set_atomicity_
-mpi_file_set_atomicity__
-mpi_file_set_errhandler
-mpi_file_set_errhandler_
-mpi_file_set_errhandler__
-mpi_file_set_info
-mpi_file_set_info_
-mpi_file_set_info__
-mpi_file_set_size
-mpi_file_set_size_
-mpi_file_set_size__
-mpi_file_set_view
-mpi_file_set_view_
-mpi_file_set_view__
-mpi_file_sync
-mpi_file_sync_
-mpi_file_sync__
-mpi_file_write
-mpi_file_write_
-mpi_file_write__
-mpi_file_write_all
-mpi_file_write_all_
-mpi_file_write_all__
-mpi_file_write_all_begin
-mpi_file_write_all_begin_
-mpi_file_write_all_begin__
-mpi_file_write_all_end
-mpi_file_write_all_end_
-mpi_file_write_all_end__
-mpi_file_write_at
-mpi_file_write_at_
-mpi_file_write_at__
-mpi_file_write_at_all
-mpi_file_write_at_all_
-mpi_file_write_at_all__
-mpi_file_write_at_all_begin
-mpi_file_write_at_all_begin_
-mpi_file_write_at_all_begin__
-mpi_file_write_at_all_end
-mpi_file_write_at_all_end_
-mpi_file_write_at_all_end__
-mpi_file_write_ordered
-mpi_file_write_ordered_
-mpi_file_write_ordered__
-mpi_file_write_ordered_begin
-mpi_file_write_ordered_begin_
-mpi_file_write_ordered_begin__
-mpi_file_write_ordered_end
-mpi_file_write_ordered_end_
-mpi_file_write_ordered_end__
-mpi_file_write_shared
-mpi_file_write_shared_
-mpi_file_write_shared__
-mpi_finalize
-mpi_finalize_
-mpi_finalize__
-mpi_finalized
-mpi_finalized_
-mpi_finalized__
-mpi_free_mem
-mpi_free_mem_
-mpi_free_mem__
-mpi_gather
-mpi_gather_
-mpi_gather__
-mpi_gatherv
-mpi_gatherv_
-mpi_gatherv__
-mpi_get
-mpi_get_
-mpi_get__
-mpi_get_accumulate
-mpi_get_accumulate_
-mpi_get_accumulate__
-mpi_get_address
-mpi_get_address_
-mpi_get_address__
-mpi_get_count
-mpi_get_count_
-mpi_get_count__
-mpi_get_elements
-mpi_get_elements_
-mpi_get_elements__
-mpi_get_elements_x
-mpi_get_elements_x_
-mpi_get_elements_x__
-mpi_get_library_version
-mpi_get_library_version_
-mpi_get_library_version__
-mpi_get_processor_name
-mpi_get_processor_name_
-mpi_get_processor_name__
-mpi_get_version
-mpi_get_version_
-mpi_get_version__
-mpi_graph_create
-mpi_graph_create_
-mpi_graph_create__
-mpi_graph_get
-mpi_graph_get_
-mpi_graph_get__
-mpi_graph_map
-mpi_graph_map_
-mpi_graph_map__
-mpi_graph_neighbors
-mpi_graph_neighbors_
-mpi_graph_neighbors__
-mpi_graph_neighbors_count
-mpi_graph_neighbors_count_
-mpi_graph_neighbors_count__
-mpi_graphdims_get
-mpi_graphdims_get_
-mpi_graphdims_get__
-mpi_grequest_complete
-mpi_grequest_complete_
-mpi_grequest_complete__
-mpi_grequest_start
-mpi_grequest_start_
-mpi_grequest_start__
-mpi_group_compare
-mpi_group_compare_
-mpi_group_compare__
-mpi_group_difference
-mpi_group_difference_
-mpi_group_difference__
-mpi_group_excl
-mpi_group_excl_
-mpi_group_excl__
-mpi_group_free
-mpi_group_free_
-mpi_group_free__
-mpi_group_incl
-mpi_group_incl_
-mpi_group_incl__
-mpi_group_intersection
-mpi_group_intersection_
-mpi_group_intersection__
-mpi_group_range_excl
-mpi_group_range_excl_
-mpi_group_range_excl__
-mpi_group_range_incl
-mpi_group_range_incl_
-mpi_group_range_incl__
-mpi_group_rank
-mpi_group_rank_
-mpi_group_rank__
-mpi_group_size
-mpi_group_size_
-mpi_group_size__
-mpi_group_translate_ranks
-mpi_group_translate_ranks_
-mpi_group_translate_ranks__
-mpi_group_union
-mpi_group_union_
-mpi_group_union__
-mpi_iallgather
-mpi_iallgather_
-mpi_iallgather__
-mpi_iallgatherv
-mpi_iallgatherv_
-mpi_iallgatherv__
-mpi_iallreduce
-mpi_iallreduce_
-mpi_iallreduce__
-mpi_ialltoall
-mpi_ialltoall_
-mpi_ialltoall__
-mpi_ialltoallv
-mpi_ialltoallv_
-mpi_ialltoallv__
-mpi_ialltoallw
-mpi_ialltoallw_
-mpi_ialltoallw__
-mpi_ibarrier
-mpi_ibarrier_
-mpi_ibarrier__
-mpi_ibcast
-mpi_ibcast_
-mpi_ibcast__
-mpi_ibsend
-mpi_ibsend_
-mpi_ibsend__
-mpi_iexscan
-mpi_iexscan_
-mpi_iexscan__
-mpi_igather
-mpi_igather_
-mpi_igather__
-mpi_igatherv
-mpi_igatherv_
-mpi_igatherv__
-mpi_improbe
-mpi_improbe_
-mpi_improbe__
-mpi_imrecv
-mpi_imrecv_
-mpi_imrecv__
-mpi_info_create
-mpi_info_create_
-mpi_info_create__
-mpi_info_delete
-mpi_info_delete_
-mpi_info_delete__
-mpi_info_dup
-mpi_info_dup_
-mpi_info_dup__
-mpi_info_free
-mpi_info_free_
-mpi_info_free__
-mpi_info_get
-mpi_info_get_
-mpi_info_get__
-mpi_info_get_nkeys
-mpi_info_get_nkeys_
-mpi_info_get_nkeys__
-mpi_info_get_nthkey
-mpi_info_get_nthkey_
-mpi_info_get_nthkey__
-mpi_info_get_valuelen
-mpi_info_get_valuelen_
-mpi_info_get_valuelen__
-mpi_info_set
-mpi_info_set_
-mpi_info_set__
-mpi_init
-mpi_init_
-mpi_init__
-mpi_init_thread
-mpi_init_thread_
-mpi_init_thread__
-mpi_initialized
-mpi_initialized_
-mpi_initialized__
-mpi_intercomm_create
-mpi_intercomm_create_
-mpi_intercomm_create__
-mpi_intercomm_merge
-mpi_intercomm_merge_
-mpi_intercomm_merge__
-mpi_iprobe
-mpi_iprobe_
-mpi_iprobe__
-mpi_irecv
-mpi_irecv_
-mpi_irecv__
-mpi_ireduce
-mpi_ireduce_
-mpi_ireduce__
-mpi_ireduce_scatter
-mpi_ireduce_scatter_
-mpi_ireduce_scatter__
-mpi_ireduce_scatter_block
-mpi_ireduce_scatter_block_
-mpi_ireduce_scatter_block__
-mpi_irsend
-mpi_irsend_
-mpi_irsend__
-mpi_is_thread_main
-mpi_is_thread_main_
-mpi_is_thread_main__
-mpi_iscan
-mpi_iscan_
-mpi_iscan__
-mpi_iscatter
-mpi_iscatter_
-mpi_iscatter__
-mpi_iscatterv
-mpi_iscatterv_
-mpi_iscatterv__
-mpi_isend
-mpi_isend_
-mpi_isend__
-mpi_issend
-mpi_issend_
-mpi_issend__
-mpi_keyval_create
-mpi_keyval_create_
-mpi_keyval_create__
-mpi_keyval_free
-mpi_keyval_free_
-mpi_keyval_free__
-mpi_lookup_name
-mpi_lookup_name_
-mpi_lookup_name__
-mpi_mprobe
-mpi_mprobe_
-mpi_mprobe__
-mpi_mrecv
-mpi_mrecv_
-mpi_mrecv__
-mpi_null_copy_fn
-mpi_null_copy_fn_
-mpi_null_copy_fn__
-mpi_null_delete_fn
-mpi_null_delete_fn_
-mpi_null_delete_fn__
-mpi_op_commutative
-mpi_op_commutative_
-mpi_op_commutative__
-mpi_op_create
-mpi_op_create_
-mpi_op_create__
-mpi_op_free
-mpi_op_free_
-mpi_op_free__
-mpi_open_port
-mpi_open_port_
-mpi_open_port__
-mpi_pack
-mpi_pack_
-mpi_pack__
-mpi_pack_external
-mpi_pack_external_
-mpi_pack_external__
-mpi_pack_external_size
-mpi_pack_external_size_
-mpi_pack_external_size__
-mpi_pack_size
-mpi_pack_size_
-mpi_pack_size__
-mpi_pcontrol
-mpi_pcontrol_
-mpi_pcontrol__
-mpi_probe
-mpi_probe_
-mpi_probe__
-mpi_publish_name
-mpi_publish_name_
-mpi_publish_name__
-mpi_put
-mpi_put_
-mpi_put__
-mpi_query_thread
-mpi_query_thread_
-mpi_query_thread__
-mpi_raccumulate
-mpi_raccumulate_
-mpi_raccumulate__
-mpi_recv
-mpi_recv_
-mpi_recv__
-mpi_recv_init
-mpi_recv_init_
-mpi_recv_init__
-mpi_reduce
-mpi_reduce_
-mpi_reduce__
-mpi_reduce_local
-mpi_reduce_local_
-mpi_reduce_local__
-mpi_reduce_scatter
-mpi_reduce_scatter_
-mpi_reduce_scatter__
-mpi_reduce_scatter_block
-mpi_reduce_scatter_block_
-mpi_reduce_scatter_block__
-mpi_register_datarep
-mpi_register_datarep_
-mpi_register_datarep__
-mpi_request_free
-mpi_request_free_
-mpi_request_free__
-mpi_request_get_status
-mpi_request_get_status_
-mpi_request_get_status__
-mpi_rget
-mpi_rget_
-mpi_rget__
-mpi_rget_accumulate
-mpi_rget_accumulate_
-mpi_rget_accumulate__
-mpi_rput
-mpi_rput_
-mpi_rput__
-mpi_rsend
-mpi_rsend_
-mpi_rsend__
-mpi_rsend_init
-mpi_rsend_init_
-mpi_rsend_init__
-mpi_scan
-mpi_scan_
-mpi_scan__
-mpi_scatter
-mpi_scatter_
-mpi_scatter__
-mpi_scatterv
-mpi_scatterv_
-mpi_scatterv__
-mpi_send
-mpi_send_
-mpi_send__
-mpi_send_init
-mpi_send_init_
-mpi_send_init__
-mpi_sendrecv
-mpi_sendrecv_
-mpi_sendrecv__
-mpi_sendrecv_replace
-mpi_sendrecv_replace_
-mpi_sendrecv_replace__
-mpi_ssend
-mpi_ssend_
-mpi_ssend__
-mpi_ssend_init
-mpi_ssend_init_
-mpi_ssend_init__
-mpi_start
-mpi_start_
-mpi_start__
-mpi_startall
-mpi_startall_
-mpi_startall__
-mpi_status_c2f
-mpi_status_c2f_
-mpi_status_c2f__
-mpi_status_f2c
-mpi_status_f2c_
-mpi_status_f2c__
-mpi_status_set_cancelled
-mpi_status_set_cancelled_
-mpi_status_set_cancelled__
-mpi_status_set_elements
-mpi_status_set_elements_
-mpi_status_set_elements__
-mpi_status_set_elements_x
-mpi_status_set_elements_x_
-mpi_status_set_elements_x__
-mpi_test
-mpi_test_
-mpi_test__
-mpi_test_cancelled
-mpi_test_cancelled_
-mpi_test_cancelled__
-mpi_testall
-mpi_testall_
-mpi_testall__
-mpi_testany
-mpi_testany_
-mpi_testany__
-mpi_testsome
-mpi_testsome_
-mpi_testsome__
-mpi_topo_test
-mpi_topo_test_
-mpi_topo_test__
-mpi_type_commit
-mpi_type_commit_
-mpi_type_commit__
-mpi_type_contiguous
-mpi_type_contiguous_
-mpi_type_contiguous__
-mpi_type_create_darray
-mpi_type_create_darray_
-mpi_type_create_darray__
-mpi_type_create_f90_complex
-mpi_type_create_f90_complex_
-mpi_type_create_f90_complex__
-mpi_type_create_f90_integer
-mpi_type_create_f90_integer_
-mpi_type_create_f90_integer__
-mpi_type_create_f90_real
-mpi_type_create_f90_real_
-mpi_type_create_f90_real__
-mpi_type_create_hindexed
-mpi_type_create_hindexed_
-mpi_type_create_hindexed__
-mpi_type_create_hindexed_block
-mpi_type_create_hindexed_block_
-mpi_type_create_hindexed_block__
-mpi_type_create_hvector
-mpi_type_create_hvector_
-mpi_type_create_hvector__
-mpi_type_create_indexed_block
-mpi_type_create_indexed_block_
-mpi_type_create_indexed_block__
-mpi_type_create_keyval
-mpi_type_create_keyval_
-mpi_type_create_keyval__
-mpi_type_create_resized
-mpi_type_create_resized_
-mpi_type_create_resized__
-mpi_type_create_struct
-mpi_type_create_struct_
-mpi_type_create_struct__
-mpi_type_create_subarray
-mpi_type_create_subarray_
-mpi_type_create_subarray__
-mpi_type_delete_attr
-mpi_type_delete_attr_
-mpi_type_delete_attr__
-mpi_type_dup
-mpi_type_dup_
-mpi_type_dup__
-mpi_type_dup_fn
-mpi_type_dup_fn_
-mpi_type_dup_fn__
-mpi_type_extent
-mpi_type_extent_
-mpi_type_extent__
-mpi_type_free
-mpi_type_free_
-mpi_type_free__
-mpi_type_free_keyval
-mpi_type_free_keyval_
-mpi_type_free_keyval__
-mpi_type_get_attr
-mpi_type_get_attr_
-mpi_type_get_attr__
-mpi_type_get_contents
-mpi_type_get_contents_
-mpi_type_get_contents__
-mpi_type_get_envelope
-mpi_type_get_envelope_
-mpi_type_get_envelope__
-mpi_type_get_extent
-mpi_type_get_extent_
-mpi_type_get_extent__
-mpi_type_get_extent_x
-mpi_type_get_extent_x_
-mpi_type_get_extent_x__
-mpi_type_get_name
-mpi_type_get_name_
-mpi_type_get_name__
-mpi_type_get_true_extent
-mpi_type_get_true_extent_
-mpi_type_get_true_extent__
-mpi_type_get_true_extent_x
-mpi_type_get_true_extent_x_
-mpi_type_get_true_extent_x__
-mpi_type_hindexed
-mpi_type_hindexed_
-mpi_type_hindexed__
-mpi_type_hvector
-mpi_type_hvector_
-mpi_type_hvector__
-mpi_type_indexed
-mpi_type_indexed_
-mpi_type_indexed__
-mpi_type_lb
-mpi_type_lb_
-mpi_type_lb__
-mpi_type_match_size
-mpi_type_match_size_
-mpi_type_match_size__
-mpi_type_null_copy_fn
-mpi_type_null_copy_fn_
-mpi_type_null_copy_fn__
-mpi_type_null_delete_fn
-mpi_type_null_delete_fn_
-mpi_type_null_delete_fn__
-mpi_type_set_attr
-mpi_type_set_attr_
-mpi_type_set_attr__
-mpi_type_set_name
-mpi_type_set_name_
-mpi_type_set_name__
-mpi_type_size
-mpi_type_size_
-mpi_type_size__
-mpi_type_size_x
-mpi_type_size_x_
-mpi_type_size_x__
-mpi_type_struct
-mpi_type_struct_
-mpi_type_struct__
-mpi_type_ub
-mpi_type_ub_
-mpi_type_ub__
-mpi_type_vector
-mpi_type_vector_
-mpi_type_vector__
-mpi_unpack
-mpi_unpack_
-mpi_unpack__
-mpi_unpack_external
-mpi_unpack_external_
-mpi_unpack_external__
-mpi_unpublish_name
-mpi_unpublish_name_
-mpi_unpublish_name__
-mpi_wait
-mpi_wait_
-mpi_wait__
-mpi_waitall
-mpi_waitall_
-mpi_waitall__
-mpi_waitany
-mpi_waitany_
-mpi_waitany__
-mpi_waitsome
-mpi_waitsome_
-mpi_waitsome__
-mpi_win_allocate
-mpi_win_allocate_
-mpi_win_allocate__
-mpi_win_allocate_shared
-mpi_win_allocate_shared_
-mpi_win_allocate_shared__
-mpi_win_attach
-mpi_win_attach_
-mpi_win_attach__
-mpi_win_call_errhandler
-mpi_win_call_errhandler_
-mpi_win_call_errhandler__
-mpi_win_complete
-mpi_win_complete_
-mpi_win_complete__
-mpi_win_create
-mpi_win_create_
-mpi_win_create__
-mpi_win_create_dynamic
-mpi_win_create_dynamic_
-mpi_win_create_dynamic__
-mpi_win_create_errhandler
-mpi_win_create_errhandler_
-mpi_win_create_errhandler__
-mpi_win_create_keyval
-mpi_win_create_keyval_
-mpi_win_create_keyval__
-mpi_win_delete_attr
-mpi_win_delete_attr_
-mpi_win_delete_attr__
-mpi_win_detach
-mpi_win_detach_
-mpi_win_detach__
-mpi_win_dup_fn
-mpi_win_dup_fn_
-mpi_win_dup_fn__
-mpi_win_fence
-mpi_win_fence_
-mpi_win_fence__
-mpi_win_flush
-mpi_win_flush_
-mpi_win_flush__
-mpi_win_flush_all
-mpi_win_flush_all_
-mpi_win_flush_all__
-mpi_win_flush_local
-mpi_win_flush_local_
-mpi_win_flush_local__
-mpi_win_flush_local_all
-mpi_win_flush_local_all_
-mpi_win_flush_local_all__
-mpi_win_free
-mpi_win_free_
-mpi_win_free__
-mpi_win_free_keyval
-mpi_win_free_keyval_
-mpi_win_free_keyval__
-mpi_win_get_attr
-mpi_win_get_attr_
-mpi_win_get_attr__
-mpi_win_get_errhandler
-mpi_win_get_errhandler_
-mpi_win_get_errhandler__
-mpi_win_get_group
-mpi_win_get_group_
-mpi_win_get_group__
-mpi_win_get_name
-mpi_win_get_name_
-mpi_win_get_name__
-mpi_win_lock
-mpi_win_lock_
-mpi_win_lock__
-mpi_win_lock_all
-mpi_win_lock_all_
-mpi_win_lock_all__
-mpi_win_null_copy_fn
-mpi_win_null_copy_fn_
-mpi_win_null_copy_fn__
-mpi_win_null_delete_fn
-mpi_win_null_delete_fn_
-mpi_win_null_delete_fn__
-mpi_win_post
-mpi_win_post_
-mpi_win_post__
-mpi_win_set_attr
-mpi_win_set_attr_
-mpi_win_set_attr__
-mpi_win_set_errhandler
-mpi_win_set_errhandler_
-mpi_win_set_errhandler__
-mpi_win_set_name
-mpi_win_set_name_
-mpi_win_set_name__
-mpi_win_shared_query
-mpi_win_shared_query_
-mpi_win_shared_query__
-mpi_win_start
-mpi_win_start_
-mpi_win_start__
-mpi_win_sync
-mpi_win_sync_
-mpi_win_sync__
-mpi_win_test
-mpi_win_test_
-mpi_win_test__
-mpi_win_unlock
-mpi_win_unlock_
-mpi_win_unlock__
-mpi_win_unlock_all
-mpi_win_unlock_all_
-mpi_win_unlock_all__
-mpi_win_wait
-mpi_win_wait_
-mpi_win_wait__
-mpi_wtick
-mpi_wtick_
-mpi_wtick__
-mpi_wtime
-mpi_wtime_
-mpi_wtime__
-mpifcmb5 DATA
-mpifcmb5_ DATA
-mpifcmb9 DATA
-mpifcmb9_ DATA
-mpipriv1 DATA
-mpipriv1_ DATA
-mpipriv2 DATA
-mpipriv2_ DATA
-mpiprivc DATA
-mpiprivc_ DATA
-mqs_get_communicator
-mqs_next_communicator
-mqs_next_operation
-mqs_setup_basic_callbacks
-mqs_setup_communicator_iterator
-mqs_setup_image
-mqs_setup_operation_iterator
-mqs_setup_process
-mqs_update_communicator_list
-mqs_version_compatibility
-msmpi_get_bsend_overhead
-msmpi_get_bsend_overhead_
-msmpi_get_bsend_overhead__
-msmpi_get_version
-msmpi_get_version_
-msmpi_get_version__
-pmpi_abort
-pmpi_abort_
-pmpi_abort__
-pmpi_accumulate
-pmpi_accumulate_
-pmpi_accumulate__
-pmpi_add_error_class
-pmpi_add_error_class_
-pmpi_add_error_class__
-pmpi_add_error_code
-pmpi_add_error_code_
-pmpi_add_error_code__
-pmpi_add_error_string
-pmpi_add_error_string_
-pmpi_add_error_string__
-pmpi_address
-pmpi_address_
-pmpi_address__
-pmpi_aint_add
-pmpi_aint_add_
-pmpi_aint_add__
-pmpi_aint_diff
-pmpi_aint_diff_
-pmpi_aint_diff__
-pmpi_allgather
-pmpi_allgather_
-pmpi_allgather__
-pmpi_allgatherv
-pmpi_allgatherv_
-pmpi_allgatherv__
-pmpi_alloc_mem
-pmpi_alloc_mem_
-pmpi_alloc_mem__
-pmpi_allreduce
-pmpi_allreduce_
-pmpi_allreduce__
-pmpi_alltoall
-pmpi_alltoall_
-pmpi_alltoall__
-pmpi_alltoallv
-pmpi_alltoallv_
-pmpi_alltoallv__
-pmpi_alltoallw
-pmpi_alltoallw_
-pmpi_alltoallw__
-pmpi_attr_delete
-pmpi_attr_delete_
-pmpi_attr_delete__
-pmpi_attr_get
-pmpi_attr_get_
-pmpi_attr_get__
-pmpi_attr_put
-pmpi_attr_put_
-pmpi_attr_put__
-pmpi_barrier
-pmpi_barrier_
-pmpi_barrier__
-pmpi_bcast
-pmpi_bcast_
-pmpi_bcast__
-pmpi_bsend
-pmpi_bsend_
-pmpi_bsend__
-pmpi_bsend_init
-pmpi_bsend_init_
-pmpi_bsend_init__
-pmpi_buffer_attach
-pmpi_buffer_attach_
-pmpi_buffer_attach__
-pmpi_buffer_detach
-pmpi_buffer_detach_
-pmpi_buffer_detach__
-pmpi_cancel
-pmpi_cancel_
-pmpi_cancel__
-pmpi_cart_coords
-pmpi_cart_coords_
-pmpi_cart_coords__
-pmpi_cart_create
-pmpi_cart_create_
-pmpi_cart_create__
-pmpi_cart_get
-pmpi_cart_get_
-pmpi_cart_get__
-pmpi_cart_map
-pmpi_cart_map_
-pmpi_cart_map__
-pmpi_cart_rank
-pmpi_cart_rank_
-pmpi_cart_rank__
-pmpi_cart_shift
-pmpi_cart_shift_
-pmpi_cart_shift__
-pmpi_cart_sub
-pmpi_cart_sub_
-pmpi_cart_sub__
-pmpi_cartdim_get
-pmpi_cartdim_get_
-pmpi_cartdim_get__
-pmpi_close_port
-pmpi_close_port_
-pmpi_close_port__
-pmpi_comm_accept
-pmpi_comm_accept_
-pmpi_comm_accept__
-pmpi_comm_call_errhandler
-pmpi_comm_call_errhandler_
-pmpi_comm_call_errhandler__
-pmpi_comm_compare
-pmpi_comm_compare_
-pmpi_comm_compare__
-pmpi_comm_connect
-pmpi_comm_connect_
-pmpi_comm_connect__
-pmpi_comm_create
-pmpi_comm_create_
-pmpi_comm_create__
-pmpi_comm_create_errhandler
-pmpi_comm_create_errhandler_
-pmpi_comm_create_errhandler__
-pmpi_comm_create_keyval
-pmpi_comm_create_keyval_
-pmpi_comm_create_keyval__
-pmpi_comm_delete_attr
-pmpi_comm_delete_attr_
-pmpi_comm_delete_attr__
-pmpi_comm_disconnect
-pmpi_comm_disconnect_
-pmpi_comm_disconnect__
-pmpi_comm_dup
-pmpi_comm_dup_
-pmpi_comm_dup__
-pmpi_comm_dup_fn
-pmpi_comm_dup_fn_
-pmpi_comm_dup_fn__
-pmpi_comm_free
-pmpi_comm_free_
-pmpi_comm_free__
-pmpi_comm_free_keyval
-pmpi_comm_free_keyval_
-pmpi_comm_free_keyval__
-pmpi_comm_get_attr
-pmpi_comm_get_attr_
-pmpi_comm_get_attr__
-pmpi_comm_get_errhandler
-pmpi_comm_get_errhandler_
-pmpi_comm_get_errhandler__
-pmpi_comm_get_name
-pmpi_comm_get_name_
-pmpi_comm_get_name__
-pmpi_comm_get_parent
-pmpi_comm_get_parent_
-pmpi_comm_get_parent__
-pmpi_comm_group
-pmpi_comm_group_
-pmpi_comm_group__
-pmpi_comm_join
-pmpi_comm_join_
-pmpi_comm_join__
-pmpi_comm_null_copy_fn
-pmpi_comm_null_copy_fn_
-pmpi_comm_null_copy_fn__
-pmpi_comm_null_delete_fn
-pmpi_comm_null_delete_fn_
-pmpi_comm_null_delete_fn__
-pmpi_comm_rank
-pmpi_comm_rank_
-pmpi_comm_rank__
-pmpi_comm_remote_group
-pmpi_comm_remote_group_
-pmpi_comm_remote_group__
-pmpi_comm_remote_size
-pmpi_comm_remote_size_
-pmpi_comm_remote_size__
-pmpi_comm_set_attr
-pmpi_comm_set_attr_
-pmpi_comm_set_attr__
-pmpi_comm_set_errhandler
-pmpi_comm_set_errhandler_
-pmpi_comm_set_errhandler__
-pmpi_comm_set_name
-pmpi_comm_set_name_
-pmpi_comm_set_name__
-pmpi_comm_size
-pmpi_comm_size_
-pmpi_comm_size__
-pmpi_comm_spawn
-pmpi_comm_spawn_
-pmpi_comm_spawn__
-pmpi_comm_spawn_multiple
-pmpi_comm_spawn_multiple_
-pmpi_comm_spawn_multiple__
-pmpi_comm_split
-pmpi_comm_split_
-pmpi_comm_split__
-pmpi_comm_split_type
-pmpi_comm_split_type_
-pmpi_comm_split_type__
-pmpi_comm_test_inter
-pmpi_comm_test_inter_
-pmpi_comm_test_inter__
-pmpi_compare_and_swap
-pmpi_compare_and_swap_
-pmpi_compare_and_swap__
-pmpi_conversion_fn_null
-pmpi_conversion_fn_null_
-pmpi_conversion_fn_null__
-pmpi_dims_create
-pmpi_dims_create_
-pmpi_dims_create__
-pmpi_dist_graph_create
-pmpi_dist_graph_create_
-pmpi_dist_graph_create__
-pmpi_dist_graph_create_adjacent
-pmpi_dist_graph_create_adjacent_
-pmpi_dist_graph_create_adjacent__
-pmpi_dist_graph_neighbors
-pmpi_dist_graph_neighbors_
-pmpi_dist_graph_neighbors__
-pmpi_dist_graph_neighbors_count
-pmpi_dist_graph_neighbors_count_
-pmpi_dist_graph_neighbors_count__
-pmpi_dup_fn
-pmpi_dup_fn_
-pmpi_dup_fn__
-pmpi_errhandler_create
-pmpi_errhandler_create_
-pmpi_errhandler_create__
-pmpi_errhandler_free
-pmpi_errhandler_free_
-pmpi_errhandler_free__
-pmpi_errhandler_get
-pmpi_errhandler_get_
-pmpi_errhandler_get__
-pmpi_errhandler_set
-pmpi_errhandler_set_
-pmpi_errhandler_set__
-pmpi_error_class
-pmpi_error_class_
-pmpi_error_class__
-pmpi_error_string
-pmpi_error_string_
-pmpi_error_string__
-pmpi_exscan
-pmpi_exscan_
-pmpi_exscan__
-pmpi_fetch_and_op
-pmpi_fetch_and_op_
-pmpi_fetch_and_op__
-pmpi_file_call_errhandler
-pmpi_file_call_errhandler_
-pmpi_file_call_errhandler__
-pmpi_file_close
-pmpi_file_close_
-pmpi_file_close__
-pmpi_file_create_errhandler
-pmpi_file_create_errhandler_
-pmpi_file_create_errhandler__
-pmpi_file_delete
-pmpi_file_delete_
-pmpi_file_delete__
-pmpi_file_get_amode
-pmpi_file_get_amode_
-pmpi_file_get_amode__
-pmpi_file_get_atomicity
-pmpi_file_get_atomicity_
-pmpi_file_get_atomicity__
-pmpi_file_get_byte_offset
-pmpi_file_get_byte_offset_
-pmpi_file_get_byte_offset__
-pmpi_file_get_errhandler
-pmpi_file_get_errhandler_
-pmpi_file_get_errhandler__
-pmpi_file_get_group
-pmpi_file_get_group_
-pmpi_file_get_group__
-pmpi_file_get_info
-pmpi_file_get_info_
-pmpi_file_get_info__
-pmpi_file_get_position
-pmpi_file_get_position_
-pmpi_file_get_position__
-pmpi_file_get_position_shared
-pmpi_file_get_position_shared_
-pmpi_file_get_position_shared__
-pmpi_file_get_size
-pmpi_file_get_size_
-pmpi_file_get_size__
-pmpi_file_get_type_extent
-pmpi_file_get_type_extent_
-pmpi_file_get_type_extent__
-pmpi_file_get_view
-pmpi_file_get_view_
-pmpi_file_get_view__
-pmpi_file_iread
-pmpi_file_iread_
-pmpi_file_iread__
-pmpi_file_iread_at
-pmpi_file_iread_at_
-pmpi_file_iread_at__
-pmpi_file_iread_shared
-pmpi_file_iread_shared_
-pmpi_file_iread_shared__
-pmpi_file_iwrite
-pmpi_file_iwrite_
-pmpi_file_iwrite__
-pmpi_file_iwrite_at
-pmpi_file_iwrite_at_
-pmpi_file_iwrite_at__
-pmpi_file_iwrite_shared
-pmpi_file_iwrite_shared_
-pmpi_file_iwrite_shared__
-pmpi_file_open
-pmpi_file_open_
-pmpi_file_open__
-pmpi_file_preallocate
-pmpi_file_preallocate_
-pmpi_file_preallocate__
-pmpi_file_read
-pmpi_file_read_
-pmpi_file_read__
-pmpi_file_read_all
-pmpi_file_read_all_
-pmpi_file_read_all__
-pmpi_file_read_all_begin
-pmpi_file_read_all_begin_
-pmpi_file_read_all_begin__
-pmpi_file_read_all_end
-pmpi_file_read_all_end_
-pmpi_file_read_all_end__
-pmpi_file_read_at
-pmpi_file_read_at_
-pmpi_file_read_at__
-pmpi_file_read_at_all
-pmpi_file_read_at_all_
-pmpi_file_read_at_all__
-pmpi_file_read_at_all_begin
-pmpi_file_read_at_all_begin_
-pmpi_file_read_at_all_begin__
-pmpi_file_read_at_all_end
-pmpi_file_read_at_all_end_
-pmpi_file_read_at_all_end__
-pmpi_file_read_ordered
-pmpi_file_read_ordered_
-pmpi_file_read_ordered__
-pmpi_file_read_ordered_begin
-pmpi_file_read_ordered_begin_
-pmpi_file_read_ordered_begin__
-pmpi_file_read_ordered_end
-pmpi_file_read_ordered_end_
-pmpi_file_read_ordered_end__
-pmpi_file_read_shared
-pmpi_file_read_shared_
-pmpi_file_read_shared__
-pmpi_file_seek
-pmpi_file_seek_
-pmpi_file_seek__
-pmpi_file_seek_shared
-pmpi_file_seek_shared_
-pmpi_file_seek_shared__
-pmpi_file_set_atomicity
-pmpi_file_set_atomicity_
-pmpi_file_set_atomicity__
-pmpi_file_set_errhandler
-pmpi_file_set_errhandler_
-pmpi_file_set_errhandler__
-pmpi_file_set_info
-pmpi_file_set_info_
-pmpi_file_set_info__
-pmpi_file_set_size
-pmpi_file_set_size_
-pmpi_file_set_size__
-pmpi_file_set_view
-pmpi_file_set_view_
-pmpi_file_set_view__
-pmpi_file_sync
-pmpi_file_sync_
-pmpi_file_sync__
-pmpi_file_write
-pmpi_file_write_
-pmpi_file_write__
-pmpi_file_write_all
-pmpi_file_write_all_
-pmpi_file_write_all__
-pmpi_file_write_all_begin
-pmpi_file_write_all_begin_
-pmpi_file_write_all_begin__
-pmpi_file_write_all_end
-pmpi_file_write_all_end_
-pmpi_file_write_all_end__
-pmpi_file_write_at
-pmpi_file_write_at_
-pmpi_file_write_at__
-pmpi_file_write_at_all
-pmpi_file_write_at_all_
-pmpi_file_write_at_all__
-pmpi_file_write_at_all_begin
-pmpi_file_write_at_all_begin_
-pmpi_file_write_at_all_begin__
-pmpi_file_write_at_all_end
-pmpi_file_write_at_all_end_
-pmpi_file_write_at_all_end__
-pmpi_file_write_ordered
-pmpi_file_write_ordered_
-pmpi_file_write_ordered__
-pmpi_file_write_ordered_begin
-pmpi_file_write_ordered_begin_
-pmpi_file_write_ordered_begin__
-pmpi_file_write_ordered_end
-pmpi_file_write_ordered_end_
-pmpi_file_write_ordered_end__
-pmpi_file_write_shared
-pmpi_file_write_shared_
-pmpi_file_write_shared__
-pmpi_finalize
-pmpi_finalize_
-pmpi_finalize__
-pmpi_finalized
-pmpi_finalized_
-pmpi_finalized__
-pmpi_free_mem
-pmpi_free_mem_
-pmpi_free_mem__
-pmpi_gather
-pmpi_gather_
-pmpi_gather__
-pmpi_gatherv
-pmpi_gatherv_
-pmpi_gatherv__
-pmpi_get
-pmpi_get_
-pmpi_get__
-pmpi_get_accumulate
-pmpi_get_accumulate_
-pmpi_get_accumulate__
-pmpi_get_address
-pmpi_get_address_
-pmpi_get_address__
-pmpi_get_count
-pmpi_get_count_
-pmpi_get_count__
-pmpi_get_elements
-pmpi_get_elements_
-pmpi_get_elements__
-pmpi_get_elements_x
-pmpi_get_elements_x_
-pmpi_get_elements_x__
-pmpi_get_library_version
-pmpi_get_library_version_
-pmpi_get_library_version__
-pmpi_get_processor_name
-pmpi_get_processor_name_
-pmpi_get_processor_name__
-pmpi_get_version
-pmpi_get_version_
-pmpi_get_version__
-pmpi_graph_create
-pmpi_graph_create_
-pmpi_graph_create__
-pmpi_graph_get
-pmpi_graph_get_
-pmpi_graph_get__
-pmpi_graph_map
-pmpi_graph_map_
-pmpi_graph_map__
-pmpi_graph_neighbors
-pmpi_graph_neighbors_
-pmpi_graph_neighbors__
-pmpi_graph_neighbors_count
-pmpi_graph_neighbors_count_
-pmpi_graph_neighbors_count__
-pmpi_graphdims_get
-pmpi_graphdims_get_
-pmpi_graphdims_get__
-pmpi_grequest_complete
-pmpi_grequest_complete_
-pmpi_grequest_complete__
-pmpi_grequest_start
-pmpi_grequest_start_
-pmpi_grequest_start__
-pmpi_group_compare
-pmpi_group_compare_
-pmpi_group_compare__
-pmpi_group_difference
-pmpi_group_difference_
-pmpi_group_difference__
-pmpi_group_excl
-pmpi_group_excl_
-pmpi_group_excl__
-pmpi_group_free
-pmpi_group_free_
-pmpi_group_free__
-pmpi_group_incl
-pmpi_group_incl_
-pmpi_group_incl__
-pmpi_group_intersection
-pmpi_group_intersection_
-pmpi_group_intersection__
-pmpi_group_range_excl
-pmpi_group_range_excl_
-pmpi_group_range_excl__
-pmpi_group_range_incl
-pmpi_group_range_incl_
-pmpi_group_range_incl__
-pmpi_group_rank
-pmpi_group_rank_
-pmpi_group_rank__
-pmpi_group_size
-pmpi_group_size_
-pmpi_group_size__
-pmpi_group_translate_ranks
-pmpi_group_translate_ranks_
-pmpi_group_translate_ranks__
-pmpi_group_union
-pmpi_group_union_
-pmpi_group_union__
-pmpi_iallgather
-pmpi_iallgather_
-pmpi_iallgather__
-pmpi_iallgatherv
-pmpi_iallgatherv_
-pmpi_iallgatherv__
-pmpi_iallreduce
-pmpi_iallreduce_
-pmpi_iallreduce__
-pmpi_ialltoall
-pmpi_ialltoall_
-pmpi_ialltoall__
-pmpi_ialltoallv
-pmpi_ialltoallv_
-pmpi_ialltoallv__
-pmpi_ialltoallw
-pmpi_ialltoallw_
-pmpi_ialltoallw__
-pmpi_ibarrier
-pmpi_ibarrier_
-pmpi_ibarrier__
-pmpi_ibcast
-pmpi_ibcast_
-pmpi_ibcast__
-pmpi_ibsend
-pmpi_ibsend_
-pmpi_ibsend__
-pmpi_iexscan
-pmpi_iexscan_
-pmpi_iexscan__
-pmpi_igather
-pmpi_igather_
-pmpi_igather__
-pmpi_igatherv
-pmpi_igatherv_
-pmpi_igatherv__
-pmpi_improbe
-pmpi_improbe_
-pmpi_improbe__
-pmpi_imrecv
-pmpi_imrecv_
-pmpi_imrecv__
-pmpi_info_create
-pmpi_info_create_
-pmpi_info_create__
-pmpi_info_delete
-pmpi_info_delete_
-pmpi_info_delete__
-pmpi_info_dup
-pmpi_info_dup_
-pmpi_info_dup__
-pmpi_info_free
-pmpi_info_free_
-pmpi_info_free__
-pmpi_info_get
-pmpi_info_get_
-pmpi_info_get__
-pmpi_info_get_nkeys
-pmpi_info_get_nkeys_
-pmpi_info_get_nkeys__
-pmpi_info_get_nthkey
-pmpi_info_get_nthkey_
-pmpi_info_get_nthkey__
-pmpi_info_get_valuelen
-pmpi_info_get_valuelen_
-pmpi_info_get_valuelen__
-pmpi_info_set
-pmpi_info_set_
-pmpi_info_set__
-pmpi_init
-pmpi_init_
-pmpi_init__
-pmpi_init_thread
-pmpi_init_thread_
-pmpi_init_thread__
-pmpi_initialized
-pmpi_initialized_
-pmpi_initialized__
-pmpi_intercomm_create
-pmpi_intercomm_create_
-pmpi_intercomm_create__
-pmpi_intercomm_merge
-pmpi_intercomm_merge_
-pmpi_intercomm_merge__
-pmpi_iprobe
-pmpi_iprobe_
-pmpi_iprobe__
-pmpi_irecv
-pmpi_irecv_
-pmpi_irecv__
-pmpi_ireduce
-pmpi_ireduce_
-pmpi_ireduce__
-pmpi_ireduce_scatter
-pmpi_ireduce_scatter_
-pmpi_ireduce_scatter__
-pmpi_ireduce_scatter_block
-pmpi_ireduce_scatter_block_
-pmpi_ireduce_scatter_block__
-pmpi_irsend
-pmpi_irsend_
-pmpi_irsend__
-pmpi_is_thread_main
-pmpi_is_thread_main_
-pmpi_is_thread_main__
-pmpi_iscan
-pmpi_iscan_
-pmpi_iscan__
-pmpi_iscatter
-pmpi_iscatter_
-pmpi_iscatter__
-pmpi_iscatterv
-pmpi_iscatterv_
-pmpi_iscatterv__
-pmpi_isend
-pmpi_isend_
-pmpi_isend__
-pmpi_issend
-pmpi_issend_
-pmpi_issend__
-pmpi_keyval_create
-pmpi_keyval_create_
-pmpi_keyval_create__
-pmpi_keyval_free
-pmpi_keyval_free_
-pmpi_keyval_free__
-pmpi_lookup_name
-pmpi_lookup_name_
-pmpi_lookup_name__
-pmpi_mprobe
-pmpi_mprobe_
-pmpi_mprobe__
-pmpi_mrecv
-pmpi_mrecv_
-pmpi_mrecv__
-pmpi_null_copy_fn
-pmpi_null_copy_fn_
-pmpi_null_copy_fn__
-pmpi_null_delete_fn
-pmpi_null_delete_fn_
-pmpi_null_delete_fn__
-pmpi_op_commutative
-pmpi_op_commutative_
-pmpi_op_commutative__
-pmpi_op_create
-pmpi_op_create_
-pmpi_op_create__
-pmpi_op_free
-pmpi_op_free_
-pmpi_op_free__
-pmpi_open_port
-pmpi_open_port_
-pmpi_open_port__
-pmpi_pack
-pmpi_pack_
-pmpi_pack__
-pmpi_pack_external
-pmpi_pack_external_
-pmpi_pack_external__
-pmpi_pack_external_size
-pmpi_pack_external_size_
-pmpi_pack_external_size__
-pmpi_pack_size
-pmpi_pack_size_
-pmpi_pack_size__
-pmpi_pcontrol
-pmpi_pcontrol_
-pmpi_pcontrol__
-pmpi_probe
-pmpi_probe_
-pmpi_probe__
-pmpi_publish_name
-pmpi_publish_name_
-pmpi_publish_name__
-pmpi_put
-pmpi_put_
-pmpi_put__
-pmpi_query_thread
-pmpi_query_thread_
-pmpi_query_thread__
-pmpi_raccumulate
-pmpi_raccumulate_
-pmpi_raccumulate__
-pmpi_recv
-pmpi_recv_
-pmpi_recv__
-pmpi_recv_init
-pmpi_recv_init_
-pmpi_recv_init__
-pmpi_reduce
-pmpi_reduce_
-pmpi_reduce__
-pmpi_reduce_local
-pmpi_reduce_local_
-pmpi_reduce_local__
-pmpi_reduce_scatter
-pmpi_reduce_scatter_
-pmpi_reduce_scatter__
-pmpi_reduce_scatter_block
-pmpi_reduce_scatter_block_
-pmpi_reduce_scatter_block__
-pmpi_register_datarep
-pmpi_register_datarep_
-pmpi_register_datarep__
-pmpi_request_free
-pmpi_request_free_
-pmpi_request_free__
-pmpi_request_get_status
-pmpi_request_get_status_
-pmpi_request_get_status__
-pmpi_rget
-pmpi_rget_
-pmpi_rget__
-pmpi_rget_accumulate
-pmpi_rget_accumulate_
-pmpi_rget_accumulate__
-pmpi_rput
-pmpi_rput_
-pmpi_rput__
-pmpi_rsend
-pmpi_rsend_
-pmpi_rsend__
-pmpi_rsend_init
-pmpi_rsend_init_
-pmpi_rsend_init__
-pmpi_scan
-pmpi_scan_
-pmpi_scan__
-pmpi_scatter
-pmpi_scatter_
-pmpi_scatter__
-pmpi_scatterv
-pmpi_scatterv_
-pmpi_scatterv__
-pmpi_send
-pmpi_send_
-pmpi_send__
-pmpi_send_init
-pmpi_send_init_
-pmpi_send_init__
-pmpi_sendrecv
-pmpi_sendrecv_
-pmpi_sendrecv__
-pmpi_sendrecv_replace
-pmpi_sendrecv_replace_
-pmpi_sendrecv_replace__
-pmpi_ssend
-pmpi_ssend_
-pmpi_ssend__
-pmpi_ssend_init
-pmpi_ssend_init_
-pmpi_ssend_init__
-pmpi_start
-pmpi_start_
-pmpi_start__
-pmpi_startall
-pmpi_startall_
-pmpi_startall__
-pmpi_status_c2f
-pmpi_status_c2f_
-pmpi_status_c2f__
-pmpi_status_f2c
-pmpi_status_f2c_
-pmpi_status_f2c__
-pmpi_status_set_cancelled
-pmpi_status_set_cancelled_
-pmpi_status_set_cancelled__
-pmpi_status_set_elements
-pmpi_status_set_elements_
-pmpi_status_set_elements__
-pmpi_status_set_elements_x
-pmpi_status_set_elements_x_
-pmpi_status_set_elements_x__
-pmpi_test
-pmpi_test_
-pmpi_test__
-pmpi_test_cancelled
-pmpi_test_cancelled_
-pmpi_test_cancelled__
-pmpi_testall
-pmpi_testall_
-pmpi_testall__
-pmpi_testany
-pmpi_testany_
-pmpi_testany__
-pmpi_testsome
-pmpi_testsome_
-pmpi_testsome__
-pmpi_topo_test
-pmpi_topo_test_
-pmpi_topo_test__
-pmpi_type_commit
-pmpi_type_commit_
-pmpi_type_commit__
-pmpi_type_contiguous
-pmpi_type_contiguous_
-pmpi_type_contiguous__
-pmpi_type_create_darray
-pmpi_type_create_darray_
-pmpi_type_create_darray__
-pmpi_type_create_f90_complex_
-pmpi_type_create_f90_complex__
-pmpi_type_create_f90_integer_
-pmpi_type_create_f90_integer__
-pmpi_type_create_f90_real_
-pmpi_type_create_f90_real__
-pmpi_type_create_hindexed
-pmpi_type_create_hindexed_
-pmpi_type_create_hindexed__
-pmpi_type_create_hindexed_block
-pmpi_type_create_hindexed_block_
-pmpi_type_create_hindexed_block__
-pmpi_type_create_hvector
-pmpi_type_create_hvector_
-pmpi_type_create_hvector__
-pmpi_type_create_indexed_block
-pmpi_type_create_indexed_block_
-pmpi_type_create_indexed_block__
-pmpi_type_create_keyval
-pmpi_type_create_keyval_
-pmpi_type_create_keyval__
-pmpi_type_create_resized
-pmpi_type_create_resized_
-pmpi_type_create_resized__
-pmpi_type_create_struct
-pmpi_type_create_struct_
-pmpi_type_create_struct__
-pmpi_type_create_subarray
-pmpi_type_create_subarray_
-pmpi_type_create_subarray__
-pmpi_type_delete_attr
-pmpi_type_delete_attr_
-pmpi_type_delete_attr__
-pmpi_type_dup
-pmpi_type_dup_
-pmpi_type_dup__
-pmpi_type_dup_fn
-pmpi_type_dup_fn_
-pmpi_type_dup_fn__
-pmpi_type_extent
-pmpi_type_extent_
-pmpi_type_extent__
-pmpi_type_free
-pmpi_type_free_
-pmpi_type_free__
-pmpi_type_free_keyval
-pmpi_type_free_keyval_
-pmpi_type_free_keyval__
-pmpi_type_get_attr
-pmpi_type_get_attr_
-pmpi_type_get_attr__
-pmpi_type_get_contents
-pmpi_type_get_contents_
-pmpi_type_get_contents__
-pmpi_type_get_envelope
-pmpi_type_get_envelope_
-pmpi_type_get_envelope__
-pmpi_type_get_extent
-pmpi_type_get_extent_
-pmpi_type_get_extent__
-pmpi_type_get_extent_x
-pmpi_type_get_extent_x_
-pmpi_type_get_extent_x__
-pmpi_type_get_name
-pmpi_type_get_name_
-pmpi_type_get_name__
-pmpi_type_get_true_extent
-pmpi_type_get_true_extent_
-pmpi_type_get_true_extent__
-pmpi_type_get_true_extent_x
-pmpi_type_get_true_extent_x_
-pmpi_type_get_true_extent_x__
-pmpi_type_hindexed
-pmpi_type_hindexed_
-pmpi_type_hindexed__
-pmpi_type_hvector
-pmpi_type_hvector_
-pmpi_type_hvector__
-pmpi_type_indexed
-pmpi_type_indexed_
-pmpi_type_indexed__
-pmpi_type_lb
-pmpi_type_lb_
-pmpi_type_lb__
-pmpi_type_match_size
-pmpi_type_match_size_
-pmpi_type_match_size__
-pmpi_type_null_copy_fn
-pmpi_type_null_copy_fn_
-pmpi_type_null_copy_fn__
-pmpi_type_null_delete_fn
-pmpi_type_null_delete_fn_
-pmpi_type_null_delete_fn__
-pmpi_type_set_attr
-pmpi_type_set_attr_
-pmpi_type_set_attr__
-pmpi_type_set_name
-pmpi_type_set_name_
-pmpi_type_set_name__
-pmpi_type_size
-pmpi_type_size_
-pmpi_type_size__
-pmpi_type_size_x
-pmpi_type_size_x_
-pmpi_type_size_x__
-pmpi_type_struct
-pmpi_type_struct_
-pmpi_type_struct__
-pmpi_type_ub
-pmpi_type_ub_
-pmpi_type_ub__
-pmpi_type_vector
-pmpi_type_vector_
-pmpi_type_vector__
-pmpi_unpack
-pmpi_unpack_
-pmpi_unpack__
-pmpi_unpack_external
-pmpi_unpack_external_
-pmpi_unpack_external__
-pmpi_unpublish_name
-pmpi_unpublish_name_
-pmpi_unpublish_name__
-pmpi_wait
-pmpi_wait_
-pmpi_wait__
-pmpi_waitall
-pmpi_waitall_
-pmpi_waitall__
-pmpi_waitany
-pmpi_waitany_
-pmpi_waitany__
-pmpi_waitsome
-pmpi_waitsome_
-pmpi_waitsome__
-pmpi_win_allocate
-pmpi_win_allocate_
-pmpi_win_allocate__
-pmpi_win_allocate_shared
-pmpi_win_allocate_shared_
-pmpi_win_allocate_shared__
-pmpi_win_attach
-pmpi_win_attach_
-pmpi_win_attach__
-pmpi_win_call_errhandler
-pmpi_win_call_errhandler_
-pmpi_win_call_errhandler__
-pmpi_win_complete
-pmpi_win_complete_
-pmpi_win_complete__
-pmpi_win_create
-pmpi_win_create_
-pmpi_win_create__
-pmpi_win_create_dynamic
-pmpi_win_create_dynamic_
-pmpi_win_create_dynamic__
-pmpi_win_create_errhandler
-pmpi_win_create_errhandler_
-pmpi_win_create_errhandler__
-pmpi_win_create_keyval
-pmpi_win_create_keyval_
-pmpi_win_create_keyval__
-pmpi_win_delete_attr
-pmpi_win_delete_attr_
-pmpi_win_delete_attr__
-pmpi_win_detach
-pmpi_win_detach_
-pmpi_win_detach__
-pmpi_win_dup_fn
-pmpi_win_dup_fn_
-pmpi_win_dup_fn__
-pmpi_win_fence
-pmpi_win_fence_
-pmpi_win_fence__
-pmpi_win_flush
-pmpi_win_flush_
-pmpi_win_flush__
-pmpi_win_flush_all
-pmpi_win_flush_all_
-pmpi_win_flush_all__
-pmpi_win_flush_local
-pmpi_win_flush_local_
-pmpi_win_flush_local__
-pmpi_win_flush_local_all
-pmpi_win_flush_local_all_
-pmpi_win_flush_local_all__
-pmpi_win_free
-pmpi_win_free_
-pmpi_win_free__
-pmpi_win_free_keyval
-pmpi_win_free_keyval_
-pmpi_win_free_keyval__
-pmpi_win_get_attr
-pmpi_win_get_attr_
-pmpi_win_get_attr__
-pmpi_win_get_errhandler
-pmpi_win_get_errhandler_
-pmpi_win_get_errhandler__
-pmpi_win_get_group
-pmpi_win_get_group_
-pmpi_win_get_group__
-pmpi_win_get_name
-pmpi_win_get_name_
-pmpi_win_get_name__
-pmpi_win_lock
-pmpi_win_lock_
-pmpi_win_lock__
-pmpi_win_lock_all
-pmpi_win_lock_all_
-pmpi_win_lock_all__
-pmpi_win_null_copy_fn
-pmpi_win_null_copy_fn_
-pmpi_win_null_copy_fn__
-pmpi_win_null_delete_fn
-pmpi_win_null_delete_fn_
-pmpi_win_null_delete_fn__
-pmpi_win_post
-pmpi_win_post_
-pmpi_win_post__
-pmpi_win_set_attr
-pmpi_win_set_attr_
-pmpi_win_set_attr__
-pmpi_win_set_errhandler
-pmpi_win_set_errhandler_
-pmpi_win_set_errhandler__
-pmpi_win_set_name
-pmpi_win_set_name_
-pmpi_win_set_name__
-pmpi_win_shared_query
-pmpi_win_shared_query_
-pmpi_win_shared_query__
-pmpi_win_start
-pmpi_win_start_
-pmpi_win_start__
-pmpi_win_sync
-pmpi_win_sync_
-pmpi_win_sync__
-pmpi_win_test
-pmpi_win_test_
-pmpi_win_test__
-pmpi_win_unlock
-pmpi_win_unlock_
-pmpi_win_unlock__
-pmpi_win_unlock_all
-pmpi_win_unlock_all_
-pmpi_win_unlock_all__
-pmpi_win_wait
-pmpi_win_wait_
-pmpi_win_wait__
-pmpi_wtick
-pmpi_wtick_
-pmpi_wtick__
-pmpi_wtime
-pmpi_wtime_
-pmpi_wtime__
-pmsmpi_get_bsend_overhead
-pmsmpi_get_bsend_overhead_
-pmsmpi_get_bsend_overhead__
-pmsmpi_get_version
-pmsmpi_get_version_
-pmsmpi_get_version__
-recvq_posted DATA
-recvq_unexpected DATA
+;
+; Definition file of msmpi.dll
+; Automatic generated by gendef
+; written by Kai Tietz 2008
+;
+LIBRARY "msmpi.dll"
+EXPORTS
+MPIR_Sendq_head DATA
+MSMPI_Get_pm_interface
+MSMPI_pm_query_interface
+mqs_image_has_queues
+mqs_process_has_queues
+MPIFCMB5 DATA
+MPIFCMB9 DATA
+MPIPRIV1 DATA
+MPIPRIV2 DATA
+MPIPRIVC DATA
+MPIR_All_communicators DATA
+MPIR_Comm_errhandler_set_proxy
+MPIR_Dup_fn
+MPIR_Error
+MPIR_File_errhandler_set_proxy
+MPIR_Free
+MPIR_Grequest_set_proxy
+MPIR_Keyval_set_proxy
+MPIR_Malloc
+MPIR_Op_set_proxy
+MPIR_Win_errhandler_set_proxy
+MPIR_debug_gate DATA
+MPIR_dll_name DATA
+MPI_ABORT
+MPI_ACCUMULATE
+MPI_ADDRESS
+MPI_ADD_ERROR_CLASS
+MPI_ADD_ERROR_CODE
+MPI_ADD_ERROR_STRING
+MPI_AINT_ADD
+MPI_AINT_DIFF
+MPI_ALLGATHER
+MPI_ALLGATHERV
+MPI_ALLOC_MEM
+MPI_ALLREDUCE
+MPI_ALLTOALL
+MPI_ALLTOALLV
+MPI_ALLTOALLW
+MPI_ATTR_DELETE
+MPI_ATTR_GET
+MPI_ATTR_PUT
+MPI_Abort
+MPI_Accumulate
+MPI_Add_error_class
+MPI_Add_error_code
+MPI_Add_error_string
+MPI_Address
+MPI_Aint_add
+MPI_Aint_diff
+MPI_Allgather
+MPI_Allgatherv
+MPI_Alloc_mem
+MPI_Allreduce
+MPI_Alltoall
+MPI_Alltoallv
+MPI_Alltoallw
+MPI_Attr_delete
+MPI_Attr_get
+MPI_Attr_put
+MPI_BARRIER
+MPI_BCAST
+MPI_BSEND
+MPI_BSEND_INIT
+MPI_BUFFER_ATTACH
+MPI_BUFFER_DETACH
+MPI_Barrier
+MPI_Bcast
+MPI_Bsend
+MPI_Bsend_init
+MPI_Buffer_attach
+MPI_Buffer_detach
+MPI_CANCEL
+MPI_CARTDIM_GET
+MPI_CART_COORDS
+MPI_CART_CREATE
+MPI_CART_GET
+MPI_CART_MAP
+MPI_CART_RANK
+MPI_CART_SHIFT
+MPI_CART_SUB
+MPI_CLOSE_PORT
+MPI_COMM_ACCEPT
+MPI_COMM_CALL_ERRHANDLER
+MPI_COMM_COMPARE
+MPI_COMM_CONNECT
+MPI_COMM_CREATE
+MPI_COMM_CREATE_ERRHANDLER
+MPI_COMM_CREATE_KEYVAL
+MPI_COMM_DELETE_ATTR
+MPI_COMM_DISCONNECT
+MPI_COMM_DUP
+MPI_COMM_DUP_FN
+MPI_COMM_FREE
+MPI_COMM_FREE_KEYVAL
+MPI_COMM_GET_ATTR
+MPI_COMM_GET_ERRHANDLER
+MPI_COMM_GET_NAME
+MPI_COMM_GET_PARENT
+MPI_COMM_GROUP
+MPI_COMM_JOIN
+MPI_COMM_NULL_COPY_FN
+MPI_COMM_NULL_DELETE_FN
+MPI_COMM_RANK
+MPI_COMM_REMOTE_GROUP
+MPI_COMM_REMOTE_SIZE
+MPI_COMM_SET_ATTR
+MPI_COMM_SET_ERRHANDLER
+MPI_COMM_SET_NAME
+MPI_COMM_SIZE
+MPI_COMM_SPAWN
+MPI_COMM_SPAWN_MULTIPLE
+MPI_COMM_SPLIT
+MPI_COMM_SPLIT_TYPE
+MPI_COMM_TEST_INTER
+MPI_COMPARE_AND_SWAP
+MPI_CONVERSION_FN_NULL
+MPI_Cancel
+MPI_Cart_coords
+MPI_Cart_create
+MPI_Cart_get
+MPI_Cart_map
+MPI_Cart_rank
+MPI_Cart_shift
+MPI_Cart_sub
+MPI_Cartdim_get
+MPI_Close_port
+MPI_Comm_accept
+MPI_Comm_call_errhandler
+MPI_Comm_compare
+MPI_Comm_connect
+MPI_Comm_create
+MPI_Comm_create_errhandler
+MPI_Comm_create_keyval
+MPI_Comm_delete_attr
+MPI_Comm_disconnect
+MPI_Comm_dup
+MPI_Comm_free
+MPI_Comm_free_keyval
+MPI_Comm_get_attr
+MPI_Comm_get_errhandler
+MPI_Comm_get_name
+MPI_Comm_get_parent
+MPI_Comm_group
+MPI_Comm_join
+MPI_Comm_rank
+MPI_Comm_remote_group
+MPI_Comm_remote_size
+MPI_Comm_set_attr
+MPI_Comm_set_errhandler
+MPI_Comm_set_name
+MPI_Comm_size
+MPI_Comm_spawn
+MPI_Comm_spawn_multiple
+MPI_Comm_split
+MPI_Comm_split_type
+MPI_Comm_test_inter
+MPI_Compare_and_swap
+MPI_DIMS_CREATE
+MPI_DIST_GRAPH_CREATE
+MPI_DIST_GRAPH_CREATE_ADJACENT
+MPI_DIST_GRAPH_NEIGHBORS
+MPI_DIST_GRAPH_NEIGHBORS_COUNT
+MPI_DUP_FN
+MPI_Dims_create
+MPI_Dist_graph_create
+MPI_Dist_graph_create_adjacent
+MPI_Dist_graph_neighbors
+MPI_Dist_graph_neighbors_count
+MPI_ERRHANDLER_CREATE
+MPI_ERRHANDLER_FREE
+MPI_ERRHANDLER_GET
+MPI_ERRHANDLER_SET
+MPI_ERROR_CLASS
+MPI_ERROR_STRING
+MPI_EXSCAN
+MPI_Errhandler_create
+MPI_Errhandler_free
+MPI_Errhandler_get
+MPI_Errhandler_set
+MPI_Error_class
+MPI_Error_string
+MPI_Exscan
+MPI_FETCH_AND_OP
+MPI_FILE_CALL_ERRHANDLER
+MPI_FILE_CLOSE
+MPI_FILE_CREATE_ERRHANDLER
+MPI_FILE_DELETE
+MPI_FILE_GET_AMODE
+MPI_FILE_GET_ATOMICITY
+MPI_FILE_GET_BYTE_OFFSET
+MPI_FILE_GET_ERRHANDLER
+MPI_FILE_GET_GROUP
+MPI_FILE_GET_INFO
+MPI_FILE_GET_POSITION
+MPI_FILE_GET_POSITION_SHARED
+MPI_FILE_GET_SIZE
+MPI_FILE_GET_TYPE_EXTENT
+MPI_FILE_GET_VIEW
+MPI_FILE_IREAD
+MPI_FILE_IREAD_AT
+MPI_FILE_IREAD_SHARED
+MPI_FILE_IWRITE
+MPI_FILE_IWRITE_AT
+MPI_FILE_IWRITE_SHARED
+MPI_FILE_OPEN
+MPI_FILE_PREALLOCATE
+MPI_FILE_READ
+MPI_FILE_READ_ALL
+MPI_FILE_READ_ALL_BEGIN
+MPI_FILE_READ_ALL_END
+MPI_FILE_READ_AT
+MPI_FILE_READ_AT_ALL
+MPI_FILE_READ_AT_ALL_BEGIN
+MPI_FILE_READ_AT_ALL_END
+MPI_FILE_READ_ORDERED
+MPI_FILE_READ_ORDERED_BEGIN
+MPI_FILE_READ_ORDERED_END
+MPI_FILE_READ_SHARED
+MPI_FILE_SEEK
+MPI_FILE_SEEK_SHARED
+MPI_FILE_SET_ATOMICITY
+MPI_FILE_SET_ERRHANDLER
+MPI_FILE_SET_INFO
+MPI_FILE_SET_SIZE
+MPI_FILE_SET_VIEW
+MPI_FILE_SYNC
+MPI_FILE_WRITE
+MPI_FILE_WRITE_ALL
+MPI_FILE_WRITE_ALL_BEGIN
+MPI_FILE_WRITE_ALL_END
+MPI_FILE_WRITE_AT
+MPI_FILE_WRITE_AT_ALL
+MPI_FILE_WRITE_AT_ALL_BEGIN
+MPI_FILE_WRITE_AT_ALL_END
+MPI_FILE_WRITE_ORDERED
+MPI_FILE_WRITE_ORDERED_BEGIN
+MPI_FILE_WRITE_ORDERED_END
+MPI_FILE_WRITE_SHARED
+MPI_FINALIZE
+MPI_FINALIZED
+MPI_FREE_MEM
+MPI_F_STATUSES_IGNORE DATA
+MPI_F_STATUS_IGNORE DATA
+MPI_Fetch_and_op
+MPI_File_c2f
+MPI_File_call_errhandler
+MPI_File_close
+MPI_File_create_errhandler
+MPI_File_delete
+MPI_File_f2c
+MPI_File_get_amode
+MPI_File_get_atomicity
+MPI_File_get_byte_offset
+MPI_File_get_errhandler
+MPI_File_get_group
+MPI_File_get_info
+MPI_File_get_position
+MPI_File_get_position_shared
+MPI_File_get_size
+MPI_File_get_type_extent
+MPI_File_get_view
+MPI_File_iread
+MPI_File_iread_at
+MPI_File_iread_shared
+MPI_File_iwrite
+MPI_File_iwrite_at
+MPI_File_iwrite_shared
+MPI_File_open
+MPI_File_preallocate
+MPI_File_read
+MPI_File_read_all
+MPI_File_read_all_begin
+MPI_File_read_all_end
+MPI_File_read_at
+MPI_File_read_at_all
+MPI_File_read_at_all_begin
+MPI_File_read_at_all_end
+MPI_File_read_ordered
+MPI_File_read_ordered_begin
+MPI_File_read_ordered_end
+MPI_File_read_shared
+MPI_File_seek
+MPI_File_seek_shared
+MPI_File_set_atomicity
+MPI_File_set_errhandler
+MPI_File_set_info
+MPI_File_set_size
+MPI_File_set_view
+MPI_File_sync
+MPI_File_write
+MPI_File_write_all
+MPI_File_write_all_begin
+MPI_File_write_all_end
+MPI_File_write_at
+MPI_File_write_at_all
+MPI_File_write_at_all_begin
+MPI_File_write_at_all_end
+MPI_File_write_ordered
+MPI_File_write_ordered_begin
+MPI_File_write_ordered_end
+MPI_File_write_shared
+MPI_Finalize
+MPI_Finalized
+MPI_Free_mem
+MPI_GATHER
+MPI_GATHERV
+MPI_GET
+MPI_GET_ACCUMULATE
+MPI_GET_ADDRESS
+MPI_GET_COUNT
+MPI_GET_ELEMENTS
+MPI_GET_ELEMENTS_X
+MPI_GET_LIBRARY_VERSION
+MPI_GET_PROCESSOR_NAME
+MPI_GET_VERSION
+MPI_GRAPHDIMS_GET
+MPI_GRAPH_CREATE
+MPI_GRAPH_GET
+MPI_GRAPH_MAP
+MPI_GRAPH_NEIGHBORS
+MPI_GRAPH_NEIGHBORS_COUNT
+MPI_GREQUEST_COMPLETE
+MPI_GREQUEST_START
+MPI_GROUP_COMPARE
+MPI_GROUP_DIFFERENCE
+MPI_GROUP_EXCL
+MPI_GROUP_FREE
+MPI_GROUP_INCL
+MPI_GROUP_INTERSECTION
+MPI_GROUP_RANGE_EXCL
+MPI_GROUP_RANGE_INCL
+MPI_GROUP_RANK
+MPI_GROUP_SIZE
+MPI_GROUP_TRANSLATE_RANKS
+MPI_GROUP_UNION
+MPI_Gather
+MPI_Gatherv
+MPI_Get
+MPI_Get_accumulate
+MPI_Get_address
+MPI_Get_count
+MPI_Get_elements
+MPI_Get_elements_x
+MPI_Get_library_version
+MPI_Get_processor_name
+MPI_Get_version
+MPI_Graph_create
+MPI_Graph_get
+MPI_Graph_map
+MPI_Graph_neighbors
+MPI_Graph_neighbors_count
+MPI_Graphdims_get
+MPI_Grequest_complete
+MPI_Grequest_start
+MPI_Group_compare
+MPI_Group_difference
+MPI_Group_excl
+MPI_Group_free
+MPI_Group_incl
+MPI_Group_intersection
+MPI_Group_range_excl
+MPI_Group_range_incl
+MPI_Group_rank
+MPI_Group_size
+MPI_Group_translate_ranks
+MPI_Group_union
+MPI_IALLGATHER
+MPI_IALLGATHERV
+MPI_IALLREDUCE
+MPI_IALLTOALL
+MPI_IALLTOALLV
+MPI_IALLTOALLW
+MPI_IBARRIER
+MPI_IBCAST
+MPI_IBSEND
+MPI_IEXSCAN
+MPI_IGATHER
+MPI_IGATHERV
+MPI_IMPROBE
+MPI_IMRECV
+MPI_INFO_CREATE
+MPI_INFO_DELETE
+MPI_INFO_DUP
+MPI_INFO_FREE
+MPI_INFO_GET
+MPI_INFO_GET_NKEYS
+MPI_INFO_GET_NTHKEY
+MPI_INFO_GET_VALUELEN
+MPI_INFO_SET
+MPI_INIT
+MPI_INITIALIZED
+MPI_INIT_THREAD
+MPI_INTERCOMM_CREATE
+MPI_INTERCOMM_MERGE
+MPI_IPROBE
+MPI_IRECV
+MPI_IREDUCE
+MPI_IREDUCE_SCATTER
+MPI_IREDUCE_SCATTER_BLOCK
+MPI_IRSEND
+MPI_ISCAN
+MPI_ISCATTER
+MPI_ISCATTERV
+MPI_ISEND
+MPI_ISSEND
+MPI_IS_THREAD_MAIN
+MPI_Iallgather
+MPI_Iallgatherv
+MPI_Iallreduce
+MPI_Ialltoall
+MPI_Ialltoallv
+MPI_Ialltoallw
+MPI_Ibarrier
+MPI_Ibcast
+MPI_Ibsend
+MPI_Iexscan
+MPI_Igather
+MPI_Igatherv
+MPI_Improbe
+MPI_Imrecv
+MPI_Info_create
+MPI_Info_delete
+MPI_Info_dup
+MPI_Info_free
+MPI_Info_get
+MPI_Info_get_nkeys
+MPI_Info_get_nthkey
+MPI_Info_get_valuelen
+MPI_Info_set
+MPI_Init
+MPI_Init_thread
+MPI_Initialized
+MPI_Intercomm_create
+MPI_Intercomm_merge
+MPI_Iprobe
+MPI_Irecv
+MPI_Ireduce
+MPI_Ireduce_scatter
+MPI_Ireduce_scatter_block
+MPI_Irsend
+MPI_Is_thread_main
+MPI_Iscan
+MPI_Iscatter
+MPI_Iscatterv
+MPI_Isend
+MPI_Issend
+MPI_KEYVAL_CREATE
+MPI_KEYVAL_FREE
+MPI_Keyval_create
+MPI_Keyval_free
+MPI_LOOKUP_NAME
+MPI_Lookup_name
+MPI_MPROBE
+MPI_MRECV
+MPI_Mprobe
+MPI_Mrecv
+MPI_NULL_COPY_FN
+MPI_NULL_DELETE_FN
+MPI_OPEN_PORT
+MPI_OP_COMMUTATIVE
+MPI_OP_CREATE
+MPI_OP_FREE
+MPI_Op_commutative
+MPI_Op_create
+MPI_Op_free
+MPI_Open_port
+MPI_PACK
+MPI_PACK_EXTERNAL
+MPI_PACK_EXTERNAL_SIZE
+MPI_PACK_SIZE
+MPI_PCONTROL
+MPI_PROBE
+MPI_PUBLISH_NAME
+MPI_PUT
+MPI_Pack
+MPI_Pack_external
+MPI_Pack_external_size
+MPI_Pack_size
+MPI_Pcontrol
+MPI_Probe
+MPI_Publish_name
+MPI_Put
+MPI_QUERY_THREAD
+MPI_Query_thread
+MPI_RACCUMULATE
+MPI_RECV
+MPI_RECV_INIT
+MPI_REDUCE
+MPI_REDUCE_LOCAL
+MPI_REDUCE_SCATTER
+MPI_REDUCE_SCATTER_block
+MPI_REGISTER_DATAREP
+MPI_REQUEST_FREE
+MPI_REQUEST_GET_STATUS
+MPI_RGET
+MPI_RGET_ACCUMULATE
+MPI_RPUT
+MPI_RSEND
+MPI_RSEND_INIT
+MPI_Raccumulate
+MPI_Recv
+MPI_Recv_init
+MPI_Reduce
+MPI_Reduce_local
+MPI_Reduce_scatter
+MPI_Reduce_scatter_block
+MPI_Register_datarep
+MPI_Request_free
+MPI_Request_get_status
+MPI_Rget
+MPI_Rget_accumulate
+MPI_Rput
+MPI_Rsend
+MPI_Rsend_init
+MPI_SCAN
+MPI_SCATTER
+MPI_SCATTERV
+MPI_SEND
+MPI_SENDRECV
+MPI_SENDRECV_REPLACE
+MPI_SEND_INIT
+MPI_SSEND
+MPI_SSEND_INIT
+MPI_START
+MPI_STARTALL
+MPI_STATUS_C2F
+MPI_STATUS_F2C
+MPI_STATUS_SET_CANCELLED
+MPI_STATUS_SET_ELEMENTS
+MPI_STATUS_SET_ELEMENTS_X
+MPI_Scan
+MPI_Scatter
+MPI_Scatterv
+MPI_Send
+MPI_Send_init
+MPI_Sendrecv
+MPI_Sendrecv_replace
+MPI_Ssend
+MPI_Ssend_init
+MPI_Start
+MPI_Startall
+MPI_Status_c2f
+MPI_Status_f2c
+MPI_Status_set_cancelled
+MPI_Status_set_elements
+MPI_Status_set_elements_x
+MPI_TEST
+MPI_TESTALL
+MPI_TESTANY
+MPI_TESTSOME
+MPI_TEST_CANCELLED
+MPI_TOPO_TEST
+MPI_TYPE_COMMIT
+MPI_TYPE_CONTIGUOUS
+MPI_TYPE_CREATE_DARRAY
+MPI_TYPE_CREATE_F90_COMPLEX
+MPI_TYPE_CREATE_F90_INTEGER
+MPI_TYPE_CREATE_F90_REAL
+MPI_TYPE_CREATE_HINDEXED
+MPI_TYPE_CREATE_HINDEXED_BLOCK
+MPI_TYPE_CREATE_HVECTOR
+MPI_TYPE_CREATE_INDEXED_BLOCK
+MPI_TYPE_CREATE_KEYVAL
+MPI_TYPE_CREATE_RESIZED
+MPI_TYPE_CREATE_STRUCT
+MPI_TYPE_CREATE_SUBARRAY
+MPI_TYPE_DELETE_ATTR
+MPI_TYPE_DUP
+MPI_TYPE_DUP_FN
+MPI_TYPE_EXTENT
+MPI_TYPE_FREE
+MPI_TYPE_FREE_KEYVAL
+MPI_TYPE_GET_ATTR
+MPI_TYPE_GET_CONTENTS
+MPI_TYPE_GET_ENVELOPE
+MPI_TYPE_GET_EXTENT
+MPI_TYPE_GET_EXTENT_X
+MPI_TYPE_GET_NAME
+MPI_TYPE_GET_TRUE_EXTENT
+MPI_TYPE_GET_TRUE_EXTENT_X
+MPI_TYPE_HINDEXED
+MPI_TYPE_HVECTOR
+MPI_TYPE_INDEXED
+MPI_TYPE_LB
+MPI_TYPE_MATCH_SIZE
+MPI_TYPE_NULL_COPY_FN
+MPI_TYPE_NULL_DELETE_FN
+MPI_TYPE_SET_ATTR
+MPI_TYPE_SET_NAME
+MPI_TYPE_SIZE
+MPI_TYPE_SIZE_X
+MPI_TYPE_STRUCT
+MPI_TYPE_UB
+MPI_TYPE_VECTOR
+MPI_Test
+MPI_Test_cancelled
+MPI_Testall
+MPI_Testany
+MPI_Testsome
+MPI_Topo_test
+MPI_Type_commit
+MPI_Type_contiguous
+MPI_Type_create_darray
+MPI_Type_create_f90_complex
+MPI_Type_create_f90_integer
+MPI_Type_create_f90_real
+MPI_Type_create_hindexed
+MPI_Type_create_hindexed_block
+MPI_Type_create_hvector
+MPI_Type_create_indexed_block
+MPI_Type_create_keyval
+MPI_Type_create_resized
+MPI_Type_create_struct
+MPI_Type_create_subarray
+MPI_Type_delete_attr
+MPI_Type_dup
+MPI_Type_extent
+MPI_Type_free
+MPI_Type_free_keyval
+MPI_Type_get_attr
+MPI_Type_get_contents
+MPI_Type_get_envelope
+MPI_Type_get_extent
+MPI_Type_get_extent_x
+MPI_Type_get_name
+MPI_Type_get_true_extent
+MPI_Type_get_true_extent_x
+MPI_Type_hindexed
+MPI_Type_hvector
+MPI_Type_indexed
+MPI_Type_lb
+MPI_Type_match_size
+MPI_Type_set_attr
+MPI_Type_set_name
+MPI_Type_size
+MPI_Type_size_x
+MPI_Type_struct
+MPI_Type_ub
+MPI_Type_vector
+MPI_UNPACK
+MPI_UNPACK_EXTERNAL
+MPI_UNPUBLISH_NAME
+MPI_Unpack
+MPI_Unpack_external
+MPI_Unpublish_name
+MPI_WAIT
+MPI_WAITALL
+MPI_WAITANY
+MPI_WAITSOME
+MPI_WIN_ALLOCATE
+MPI_WIN_ALLOCATE_SHARED
+MPI_WIN_ATTACH
+MPI_WIN_CALL_ERRHANDLER
+MPI_WIN_COMPLETE
+MPI_WIN_CREATE
+MPI_WIN_CREATE_DYNAMIC
+MPI_WIN_CREATE_ERRHANDLER
+MPI_WIN_CREATE_KEYVAL
+MPI_WIN_DELETE_ATTR
+MPI_WIN_DETACH
+MPI_WIN_DUP_FN
+MPI_WIN_FENCE
+MPI_WIN_FLUSH
+MPI_WIN_FLUSH_ALL
+MPI_WIN_FLUSH_LOCAL
+MPI_WIN_FLUSH_LOCAL_ALL
+MPI_WIN_FREE
+MPI_WIN_FREE_KEYVAL
+MPI_WIN_GET_ATTR
+MPI_WIN_GET_ERRHANDLER
+MPI_WIN_GET_GROUP
+MPI_WIN_GET_NAME
+MPI_WIN_LOCK
+MPI_WIN_LOCK_ALL
+MPI_WIN_NULL_COPY_FN
+MPI_WIN_NULL_DELETE_FN
+MPI_WIN_POST
+MPI_WIN_SET_ATTR
+MPI_WIN_SET_ERRHANDLER
+MPI_WIN_SET_NAME
+MPI_WIN_SHARED_QUERY
+MPI_WIN_START
+MPI_WIN_SYNC
+MPI_WIN_TEST
+MPI_WIN_UNLOCK
+MPI_WIN_UNLOCK_ALL
+MPI_WIN_WAIT
+MPI_WTICK
+MPI_WTIME
+MPI_Wait
+MPI_Waitall
+MPI_Waitany
+MPI_Waitsome
+MPI_Win_allocate
+MPI_Win_allocate_shared
+MPI_Win_attach
+MPI_Win_call_errhandler
+MPI_Win_complete
+MPI_Win_create
+MPI_Win_create_dynamic
+MPI_Win_create_errhandler
+MPI_Win_create_keyval
+MPI_Win_delete_attr
+MPI_Win_detach
+MPI_Win_fence
+MPI_Win_flush
+MPI_Win_flush_all
+MPI_Win_flush_local
+MPI_Win_flush_local_all
+MPI_Win_free
+MPI_Win_free_keyval
+MPI_Win_get_attr
+MPI_Win_get_errhandler
+MPI_Win_get_group
+MPI_Win_get_name
+MPI_Win_lock
+MPI_Win_lock_all
+MPI_Win_post
+MPI_Win_set_attr
+MPI_Win_set_errhandler
+MPI_Win_set_name
+MPI_Win_shared_query
+MPI_Win_start
+MPI_Win_sync
+MPI_Win_test
+MPI_Win_unlock
+MPI_Win_unlock_all
+MPI_Win_wait
+MPI_Wtick
+MPI_Wtime
+MSMPI_GET_BSEND_OVERHEAD
+MSMPI_GET_VERSION
+MSMPI_Get_bsend_overhead
+MSMPI_Get_version
+MSMPI_Queuelock_acquire
+MSMPI_Queuelock_release
+MSMPI_Request_set_apc
+MSMPI_Waitsome_interruptible
+PMPI_ABORT
+PMPI_ACCUMULATE
+PMPI_ADDRESS
+PMPI_ADD_ERROR_CLASS
+PMPI_ADD_ERROR_CODE
+PMPI_ADD_ERROR_STRING
+PMPI_AINT_ADD
+PMPI_AINT_DIFF
+PMPI_ALLGATHER
+PMPI_ALLGATHERV
+PMPI_ALLOC_MEM
+PMPI_ALLREDUCE
+PMPI_ALLTOALL
+PMPI_ALLTOALLV
+PMPI_ALLTOALLW
+PMPI_ATTR_DELETE
+PMPI_ATTR_GET
+PMPI_ATTR_PUT
+PMPI_Abort
+PMPI_Accumulate
+PMPI_Add_error_class
+PMPI_Add_error_code
+PMPI_Add_error_string
+PMPI_Address
+PMPI_Aint_add
+PMPI_Aint_diff
+PMPI_Allgather
+PMPI_Allgatherv
+PMPI_Alloc_mem
+PMPI_Allreduce
+PMPI_Alltoall
+PMPI_Alltoallv
+PMPI_Alltoallw
+PMPI_Attr_delete
+PMPI_Attr_get
+PMPI_Attr_put
+PMPI_BARRIER
+PMPI_BCAST
+PMPI_BSEND
+PMPI_BSEND_INIT
+PMPI_BUFFER_ATTACH
+PMPI_BUFFER_DETACH
+PMPI_Barrier
+PMPI_Bcast
+PMPI_Bsend
+PMPI_Bsend_init
+PMPI_Buffer_attach
+PMPI_Buffer_detach
+PMPI_CANCEL
+PMPI_CARTDIM_GET
+PMPI_CART_COORDS
+PMPI_CART_CREATE
+PMPI_CART_GET
+PMPI_CART_MAP
+PMPI_CART_RANK
+PMPI_CART_SHIFT
+PMPI_CART_SUB
+PMPI_CLOSE_PORT
+PMPI_COMM_ACCEPT
+PMPI_COMM_CALL_ERRHANDLER
+PMPI_COMM_COMPARE
+PMPI_COMM_CONNECT
+PMPI_COMM_CREATE
+PMPI_COMM_CREATE_ERRHANDLER
+PMPI_COMM_CREATE_KEYVAL
+PMPI_COMM_DELETE_ATTR
+PMPI_COMM_DISCONNECT
+PMPI_COMM_DUP
+PMPI_COMM_DUP_FN
+PMPI_COMM_FREE
+PMPI_COMM_FREE_KEYVAL
+PMPI_COMM_GET_ATTR
+PMPI_COMM_GET_ERRHANDLER
+PMPI_COMM_GET_NAME
+PMPI_COMM_GET_PARENT
+PMPI_COMM_GROUP
+PMPI_COMM_JOIN
+PMPI_COMM_NULL_COPY_FN
+PMPI_COMM_NULL_DELETE_FN
+PMPI_COMM_RANK
+PMPI_COMM_REMOTE_GROUP
+PMPI_COMM_REMOTE_SIZE
+PMPI_COMM_SET_ATTR
+PMPI_COMM_SET_ERRHANDLER
+PMPI_COMM_SET_NAME
+PMPI_COMM_SIZE
+PMPI_COMM_SPAWN
+PMPI_COMM_SPAWN_MULTIPLE
+PMPI_COMM_SPLIT
+PMPI_COMM_SPLIT_TYPE
+PMPI_COMM_TEST_INTER
+PMPI_COMPARE_AND_SWAP
+PMPI_CONVERSION_FN_NULL
+PMPI_Cancel
+PMPI_Cart_coords
+PMPI_Cart_create
+PMPI_Cart_get
+PMPI_Cart_map
+PMPI_Cart_rank
+PMPI_Cart_shift
+PMPI_Cart_sub
+PMPI_Cartdim_get
+PMPI_Close_port
+PMPI_Comm_accept
+PMPI_Comm_call_errhandler
+PMPI_Comm_compare
+PMPI_Comm_connect
+PMPI_Comm_create
+PMPI_Comm_create_errhandler
+PMPI_Comm_create_keyval
+PMPI_Comm_delete_attr
+PMPI_Comm_disconnect
+PMPI_Comm_dup
+PMPI_Comm_free
+PMPI_Comm_free_keyval
+PMPI_Comm_get_attr
+PMPI_Comm_get_errhandler
+PMPI_Comm_get_name
+PMPI_Comm_get_parent
+PMPI_Comm_group
+PMPI_Comm_join
+PMPI_Comm_rank
+PMPI_Comm_remote_group
+PMPI_Comm_remote_size
+PMPI_Comm_set_attr
+PMPI_Comm_set_errhandler
+PMPI_Comm_set_name
+PMPI_Comm_size
+PMPI_Comm_spawn
+PMPI_Comm_spawn_multiple
+PMPI_Comm_split
+PMPI_Comm_split_type
+PMPI_Comm_test_inter
+PMPI_Compare_and_swap
+PMPI_DIMS_CREATE
+PMPI_DIST_GRAPH_CREATE
+PMPI_DIST_GRAPH_CREATE_ADJACENT
+PMPI_DIST_GRAPH_NEIGHBORS
+PMPI_DIST_GRAPH_NEIGHBORS_COUNT
+PMPI_DUP_FN
+PMPI_Dims_create
+PMPI_Dist_graph_create
+PMPI_Dist_graph_create_adjacent
+PMPI_Dist_graph_neighbors
+PMPI_Dist_graph_neighbors_count
+PMPI_ERRHANDLER_CREATE
+PMPI_ERRHANDLER_FREE
+PMPI_ERRHANDLER_GET
+PMPI_ERRHANDLER_SET
+PMPI_ERROR_CLASS
+PMPI_ERROR_STRING
+PMPI_EXSCAN
+PMPI_Errhandler_create
+PMPI_Errhandler_free
+PMPI_Errhandler_get
+PMPI_Errhandler_set
+PMPI_Error_class
+PMPI_Error_string
+PMPI_Exscan
+PMPI_FETCH_AND_OP
+PMPI_FILE_CALL_ERRHANDLER
+PMPI_FILE_CLOSE
+PMPI_FILE_CREATE_ERRHANDLER
+PMPI_FILE_DELETE
+PMPI_FILE_GET_AMODE
+PMPI_FILE_GET_ATOMICITY
+PMPI_FILE_GET_BYTE_OFFSET
+PMPI_FILE_GET_ERRHANDLER
+PMPI_FILE_GET_GROUP
+PMPI_FILE_GET_INFO
+PMPI_FILE_GET_POSITION
+PMPI_FILE_GET_POSITION_SHARED
+PMPI_FILE_GET_SIZE
+PMPI_FILE_GET_TYPE_EXTENT
+PMPI_FILE_GET_VIEW
+PMPI_FILE_IREAD
+PMPI_FILE_IREAD_AT
+PMPI_FILE_IREAD_SHARED
+PMPI_FILE_IWRITE
+PMPI_FILE_IWRITE_AT
+PMPI_FILE_IWRITE_SHARED
+PMPI_FILE_OPEN
+PMPI_FILE_PREALLOCATE
+PMPI_FILE_READ
+PMPI_FILE_READ_ALL
+PMPI_FILE_READ_ALL_BEGIN
+PMPI_FILE_READ_ALL_END
+PMPI_FILE_READ_AT
+PMPI_FILE_READ_AT_ALL
+PMPI_FILE_READ_AT_ALL_BEGIN
+PMPI_FILE_READ_AT_ALL_END
+PMPI_FILE_READ_ORDERED
+PMPI_FILE_READ_ORDERED_BEGIN
+PMPI_FILE_READ_ORDERED_END
+PMPI_FILE_READ_SHARED
+PMPI_FILE_SEEK
+PMPI_FILE_SEEK_SHARED
+PMPI_FILE_SET_ATOMICITY
+PMPI_FILE_SET_ERRHANDLER
+PMPI_FILE_SET_INFO
+PMPI_FILE_SET_SIZE
+PMPI_FILE_SET_VIEW
+PMPI_FILE_SYNC
+PMPI_FILE_WRITE
+PMPI_FILE_WRITE_ALL
+PMPI_FILE_WRITE_ALL_BEGIN
+PMPI_FILE_WRITE_ALL_END
+PMPI_FILE_WRITE_AT
+PMPI_FILE_WRITE_AT_ALL
+PMPI_FILE_WRITE_AT_ALL_BEGIN
+PMPI_FILE_WRITE_AT_ALL_END
+PMPI_FILE_WRITE_ORDERED
+PMPI_FILE_WRITE_ORDERED_BEGIN
+PMPI_FILE_WRITE_ORDERED_END
+PMPI_FILE_WRITE_SHARED
+PMPI_FINALIZE
+PMPI_FINALIZED
+PMPI_FREE_MEM
+PMPI_Fetch_and_op
+PMPI_File_c2f
+PMPI_File_call_errhandler
+PMPI_File_close
+PMPI_File_create_errhandler
+PMPI_File_delete
+PMPI_File_f2c
+PMPI_File_get_amode
+PMPI_File_get_atomicity
+PMPI_File_get_byte_offset
+PMPI_File_get_errhandler
+PMPI_File_get_group
+PMPI_File_get_info
+PMPI_File_get_position
+PMPI_File_get_position_shared
+PMPI_File_get_size
+PMPI_File_get_type_extent
+PMPI_File_get_view
+PMPI_File_iread
+PMPI_File_iread_at
+PMPI_File_iread_shared
+PMPI_File_iwrite
+PMPI_File_iwrite_at
+PMPI_File_iwrite_shared
+PMPI_File_open
+PMPI_File_preallocate
+PMPI_File_read
+PMPI_File_read_all
+PMPI_File_read_all_begin
+PMPI_File_read_all_end
+PMPI_File_read_at
+PMPI_File_read_at_all
+PMPI_File_read_at_all_begin
+PMPI_File_read_at_all_end
+PMPI_File_read_ordered
+PMPI_File_read_ordered_begin
+PMPI_File_read_ordered_end
+PMPI_File_read_shared
+PMPI_File_seek
+PMPI_File_seek_shared
+PMPI_File_set_atomicity
+PMPI_File_set_errhandler
+PMPI_File_set_info
+PMPI_File_set_size
+PMPI_File_set_view
+PMPI_File_sync
+PMPI_File_write
+PMPI_File_write_all
+PMPI_File_write_all_begin
+PMPI_File_write_all_end
+PMPI_File_write_at
+PMPI_File_write_at_all
+PMPI_File_write_at_all_begin
+PMPI_File_write_at_all_end
+PMPI_File_write_ordered
+PMPI_File_write_ordered_begin
+PMPI_File_write_ordered_end
+PMPI_File_write_shared
+PMPI_Finalize
+PMPI_Finalized
+PMPI_Free_mem
+PMPI_GATHER
+PMPI_GATHERV
+PMPI_GET
+PMPI_GET_ACCUMULATE
+PMPI_GET_ADDRESS
+PMPI_GET_COUNT
+PMPI_GET_ELEMENTS
+PMPI_GET_ELEMENTS_X
+PMPI_GET_LIBRARY_VERSION
+PMPI_GET_PROCESSOR_NAME
+PMPI_GET_VERSION
+PMPI_GRAPHDIMS_GET
+PMPI_GRAPH_CREATE
+PMPI_GRAPH_GET
+PMPI_GRAPH_MAP
+PMPI_GRAPH_NEIGHBORS
+PMPI_GRAPH_NEIGHBORS_COUNT
+PMPI_GREQUEST_COMPLETE
+PMPI_GREQUEST_START
+PMPI_GROUP_COMPARE
+PMPI_GROUP_DIFFERENCE
+PMPI_GROUP_EXCL
+PMPI_GROUP_FREE
+PMPI_GROUP_INCL
+PMPI_GROUP_INTERSECTION
+PMPI_GROUP_RANGE_EXCL
+PMPI_GROUP_RANGE_INCL
+PMPI_GROUP_RANK
+PMPI_GROUP_SIZE
+PMPI_GROUP_TRANSLATE_RANKS
+PMPI_GROUP_UNION
+PMPI_Gather
+PMPI_Gatherv
+PMPI_Get
+PMPI_Get_accumulate
+PMPI_Get_address
+PMPI_Get_count
+PMPI_Get_elements
+PMPI_Get_elements_x
+PMPI_Get_library_version
+PMPI_Get_processor_name
+PMPI_Get_version
+PMPI_Graph_create
+PMPI_Graph_get
+PMPI_Graph_map
+PMPI_Graph_neighbors
+PMPI_Graph_neighbors_count
+PMPI_Graphdims_get
+PMPI_Grequest_complete
+PMPI_Grequest_start
+PMPI_Group_compare
+PMPI_Group_difference
+PMPI_Group_excl
+PMPI_Group_free
+PMPI_Group_incl
+PMPI_Group_intersection
+PMPI_Group_range_excl
+PMPI_Group_range_incl
+PMPI_Group_rank
+PMPI_Group_size
+PMPI_Group_translate_ranks
+PMPI_Group_union
+PMPI_IALLGATHER
+PMPI_IALLGATHERV
+PMPI_IALLREDUCE
+PMPI_IALLTOALL
+PMPI_IALLTOALLV
+PMPI_IALLTOALLW
+PMPI_IBARRIER
+PMPI_IBCAST
+PMPI_IBSEND
+PMPI_IEXSCAN
+PMPI_IGATHER
+PMPI_IGATHERV
+PMPI_IMPROBE
+PMPI_IMRECV
+PMPI_INFO_CREATE
+PMPI_INFO_DELETE
+PMPI_INFO_DUP
+PMPI_INFO_FREE
+PMPI_INFO_GET
+PMPI_INFO_GET_NKEYS
+PMPI_INFO_GET_NTHKEY
+PMPI_INFO_GET_VALUELEN
+PMPI_INFO_SET
+PMPI_INIT
+PMPI_INITIALIZED
+PMPI_INIT_THREAD
+PMPI_INTERCOMM_CREATE
+PMPI_INTERCOMM_MERGE
+PMPI_IPROBE
+PMPI_IRECV
+PMPI_IREDUCE
+PMPI_IREDUCE_SCATTER
+PMPI_IREDUCE_SCATTER_BLOCK
+PMPI_IRSEND
+PMPI_ISCAN
+PMPI_ISCATTER
+PMPI_ISCATTERV
+PMPI_ISEND
+PMPI_ISSEND
+PMPI_IS_THREAD_MAIN
+PMPI_Iallgather
+PMPI_Iallgatherv
+PMPI_Iallreduce
+PMPI_Ialltoall
+PMPI_Ialltoallv
+PMPI_Ialltoallw
+PMPI_Ibarrier
+PMPI_Ibcast
+PMPI_Ibsend
+PMPI_Iexscan
+PMPI_Igather
+PMPI_Igatherv
+PMPI_Improbe
+PMPI_Imrecv
+PMPI_Info_create
+PMPI_Info_delete
+PMPI_Info_dup
+PMPI_Info_free
+PMPI_Info_get
+PMPI_Info_get_nkeys
+PMPI_Info_get_nthkey
+PMPI_Info_get_valuelen
+PMPI_Info_set
+PMPI_Init
+PMPI_Init_thread
+PMPI_Initialized
+PMPI_Intercomm_create
+PMPI_Intercomm_merge
+PMPI_Iprobe
+PMPI_Irecv
+PMPI_Ireduce
+PMPI_Ireduce_scatter
+PMPI_Ireduce_scatter_block
+PMPI_Irsend
+PMPI_Is_thread_main
+PMPI_Iscan
+PMPI_Iscatter
+PMPI_Iscatterv
+PMPI_Isend
+PMPI_Issend
+PMPI_KEYVAL_CREATE
+PMPI_KEYVAL_FREE
+PMPI_Keyval_create
+PMPI_Keyval_free
+PMPI_LOOKUP_NAME
+PMPI_Lookup_name
+PMPI_MPROBE
+PMPI_MRECV
+PMPI_Mprobe
+PMPI_Mrecv
+PMPI_NULL_COPY_FN
+PMPI_NULL_DELETE_FN
+PMPI_OPEN_PORT
+PMPI_OP_COMMUTATIVE
+PMPI_OP_CREATE
+PMPI_OP_FREE
+PMPI_Op_commutative
+PMPI_Op_create
+PMPI_Op_free
+PMPI_Open_port
+PMPI_PACK
+PMPI_PACK_EXTERNAL
+PMPI_PACK_EXTERNAL_SIZE
+PMPI_PACK_SIZE
+PMPI_PCONTROL
+PMPI_PROBE
+PMPI_PUBLISH_NAME
+PMPI_PUT
+PMPI_Pack
+PMPI_Pack_external
+PMPI_Pack_external_size
+PMPI_Pack_size
+PMPI_Pcontrol
+PMPI_Probe
+PMPI_Publish_name
+PMPI_Put
+PMPI_QUERY_THREAD
+PMPI_Query_thread
+PMPI_RACCUMULATE
+PMPI_RECV
+PMPI_RECV_INIT
+PMPI_REDUCE
+PMPI_REDUCE_LOCAL
+PMPI_REDUCE_SCATTER
+PMPI_REDUCE_SCATTER_block
+PMPI_REGISTER_DATAREP
+PMPI_REQUEST_FREE
+PMPI_REQUEST_GET_STATUS
+PMPI_RGET
+PMPI_RGET_ACCUMULATE
+PMPI_RPUT
+PMPI_RSEND
+PMPI_RSEND_INIT
+PMPI_Raccumulate
+PMPI_Recv
+PMPI_Recv_init
+PMPI_Reduce
+PMPI_Reduce_local
+PMPI_Reduce_scatter
+PMPI_Reduce_scatter_block
+PMPI_Register_datarep
+PMPI_Request_free
+PMPI_Request_get_status
+PMPI_Rget
+PMPI_Rget_accumulate
+PMPI_Rput
+PMPI_Rsend
+PMPI_Rsend_init
+PMPI_SCAN
+PMPI_SCATTER
+PMPI_SCATTERV
+PMPI_SEND
+PMPI_SENDRECV
+PMPI_SENDRECV_REPLACE
+PMPI_SEND_INIT
+PMPI_SSEND
+PMPI_SSEND_INIT
+PMPI_START
+PMPI_STARTALL
+PMPI_STATUS_C2F
+PMPI_STATUS_F2C
+PMPI_STATUS_SET_CANCELLED
+PMPI_STATUS_SET_ELEMENTS
+PMPI_STATUS_SET_ELEMENTS_X
+PMPI_Scan
+PMPI_Scatter
+PMPI_Scatterv
+PMPI_Send
+PMPI_Send_init
+PMPI_Sendrecv
+PMPI_Sendrecv_replace
+PMPI_Ssend
+PMPI_Ssend_init
+PMPI_Start
+PMPI_Startall
+PMPI_Status_c2f
+PMPI_Status_f2c
+PMPI_Status_set_cancelled
+PMPI_Status_set_elements
+PMPI_Status_set_elements_x
+PMPI_TEST
+PMPI_TESTALL
+PMPI_TESTANY
+PMPI_TESTSOME
+PMPI_TEST_CANCELLED
+PMPI_TOPO_TEST
+PMPI_TYPE_COMMIT
+PMPI_TYPE_CONTIGUOUS
+PMPI_TYPE_CREATE_DARRAY
+PMPI_TYPE_CREATE_F90_COMPLEX
+PMPI_TYPE_CREATE_F90_INTEGER
+PMPI_TYPE_CREATE_F90_REAL
+PMPI_TYPE_CREATE_HINDEXED
+PMPI_TYPE_CREATE_HINDEXED_BLOCK
+PMPI_TYPE_CREATE_HVECTOR
+PMPI_TYPE_CREATE_INDEXED_BLOCK
+PMPI_TYPE_CREATE_KEYVAL
+PMPI_TYPE_CREATE_RESIZED
+PMPI_TYPE_CREATE_STRUCT
+PMPI_TYPE_CREATE_SUBARRAY
+PMPI_TYPE_DELETE_ATTR
+PMPI_TYPE_DUP
+PMPI_TYPE_DUP_FN
+PMPI_TYPE_EXTENT
+PMPI_TYPE_FREE
+PMPI_TYPE_FREE_KEYVAL
+PMPI_TYPE_GET_ATTR
+PMPI_TYPE_GET_CONTENTS
+PMPI_TYPE_GET_ENVELOPE
+PMPI_TYPE_GET_EXTENT
+PMPI_TYPE_GET_EXTENT_X
+PMPI_TYPE_GET_NAME
+PMPI_TYPE_GET_TRUE_EXTENT
+PMPI_TYPE_GET_TRUE_EXTENT_X
+PMPI_TYPE_HINDEXED
+PMPI_TYPE_HVECTOR
+PMPI_TYPE_INDEXED
+PMPI_TYPE_LB
+PMPI_TYPE_MATCH_SIZE
+PMPI_TYPE_NULL_COPY_FN
+PMPI_TYPE_NULL_DELETE_FN
+PMPI_TYPE_SET_ATTR
+PMPI_TYPE_SET_NAME
+PMPI_TYPE_SIZE
+PMPI_TYPE_SIZE_X
+PMPI_TYPE_STRUCT
+PMPI_TYPE_UB
+PMPI_TYPE_VECTOR
+PMPI_Test
+PMPI_Test_cancelled
+PMPI_Testall
+PMPI_Testany
+PMPI_Testsome
+PMPI_Topo_test
+PMPI_Type_commit
+PMPI_Type_contiguous
+PMPI_Type_create_darray
+PMPI_Type_create_f90_complex
+PMPI_Type_create_f90_integer
+PMPI_Type_create_f90_real
+PMPI_Type_create_hindexed
+PMPI_Type_create_hindexed_block
+PMPI_Type_create_hvector
+PMPI_Type_create_indexed_block
+PMPI_Type_create_keyval
+PMPI_Type_create_resized
+PMPI_Type_create_struct
+PMPI_Type_create_subarray
+PMPI_Type_delete_attr
+PMPI_Type_dup
+PMPI_Type_extent
+PMPI_Type_free
+PMPI_Type_free_keyval
+PMPI_Type_get_attr
+PMPI_Type_get_contents
+PMPI_Type_get_envelope
+PMPI_Type_get_extent
+PMPI_Type_get_extent_x
+PMPI_Type_get_name
+PMPI_Type_get_true_extent
+PMPI_Type_get_true_extent_x
+PMPI_Type_hindexed
+PMPI_Type_hvector
+PMPI_Type_indexed
+PMPI_Type_lb
+PMPI_Type_match_size
+PMPI_Type_set_attr
+PMPI_Type_set_name
+PMPI_Type_size
+PMPI_Type_size_x
+PMPI_Type_struct
+PMPI_Type_ub
+PMPI_Type_vector
+PMPI_UNPACK
+PMPI_UNPACK_EXTERNAL
+PMPI_UNPUBLISH_NAME
+PMPI_Unpack
+PMPI_Unpack_external
+PMPI_Unpublish_name
+PMPI_WAIT
+PMPI_WAITALL
+PMPI_WAITANY
+PMPI_WAITSOME
+PMPI_WIN_ALLOCATE
+PMPI_WIN_ALLOCATE_SHARED
+PMPI_WIN_ATTACH
+PMPI_WIN_CALL_ERRHANDLER
+PMPI_WIN_COMPLETE
+PMPI_WIN_CREATE
+PMPI_WIN_CREATE_DYNAMIC
+PMPI_WIN_CREATE_ERRHANDLER
+PMPI_WIN_CREATE_KEYVAL
+PMPI_WIN_DELETE_ATTR
+PMPI_WIN_DETACH
+PMPI_WIN_DUP_FN
+PMPI_WIN_FENCE
+PMPI_WIN_FLUSH
+PMPI_WIN_FLUSH_ALL
+PMPI_WIN_FLUSH_LOCAL
+PMPI_WIN_FLUSH_LOCAL_ALL
+PMPI_WIN_FREE
+PMPI_WIN_FREE_KEYVAL
+PMPI_WIN_GET_ATTR
+PMPI_WIN_GET_ERRHANDLER
+PMPI_WIN_GET_GROUP
+PMPI_WIN_GET_NAME
+PMPI_WIN_LOCK
+PMPI_WIN_LOCK_ALL
+PMPI_WIN_NULL_COPY_FN
+PMPI_WIN_NULL_DELETE_FN
+PMPI_WIN_POST
+PMPI_WIN_SET_ATTR
+PMPI_WIN_SET_ERRHANDLER
+PMPI_WIN_SET_NAME
+PMPI_WIN_SHARED_QUERY
+PMPI_WIN_START
+PMPI_WIN_SYNC
+PMPI_WIN_TEST
+PMPI_WIN_UNLOCK
+PMPI_WIN_UNLOCK_ALL
+PMPI_WIN_WAIT
+PMPI_WTICK
+PMPI_WTIME
+PMPI_Wait
+PMPI_Waitall
+PMPI_Waitany
+PMPI_Waitsome
+PMPI_Win_allocate
+PMPI_Win_allocate_shared
+PMPI_Win_attach
+PMPI_Win_call_errhandler
+PMPI_Win_complete
+PMPI_Win_create
+PMPI_Win_create_dynamic
+PMPI_Win_create_errhandler
+PMPI_Win_create_keyval
+PMPI_Win_delete_attr
+PMPI_Win_detach
+PMPI_Win_fence
+PMPI_Win_flush
+PMPI_Win_flush_all
+PMPI_Win_flush_local
+PMPI_Win_flush_local_all
+PMPI_Win_free
+PMPI_Win_free_keyval
+PMPI_Win_get_attr
+PMPI_Win_get_errhandler
+PMPI_Win_get_group
+PMPI_Win_get_name
+PMPI_Win_lock
+PMPI_Win_lock_all
+PMPI_Win_post
+PMPI_Win_set_attr
+PMPI_Win_set_errhandler
+PMPI_Win_set_name
+PMPI_Win_shared_query
+PMPI_Win_start
+PMPI_Win_sync
+PMPI_Win_test
+PMPI_Win_unlock
+PMPI_Win_unlock_all
+PMPI_Win_wait
+PMPI_Wtick
+PMPI_Wtime
+PMSMPI_GET_BSEND_OVERHEAD
+PMSMPI_GET_VERSION
+PMSMPI_Get_bsend_overhead
+PMSMPI_Get_version
+_MPIFCMB5 DATA
+_MPIFCMB9 DATA
+_MPIPRIV1 DATA
+_MPIPRIV2 DATA
+_MPIPRIVC DATA
+_mpifcmb5 DATA
+_mpifcmb5_ DATA
+_mpifcmb9 DATA
+_mpifcmb9_ DATA
+_mpipriv1 DATA
+_mpipriv1_ DATA
+_mpipriv2 DATA
+_mpipriv2_ DATA
+_mpiprivc DATA
+_mpiprivc_ DATA
+mpi_abort
+mpi_abort_
+mpi_abort__
+mpi_accumulate
+mpi_accumulate_
+mpi_accumulate__
+mpi_add_error_class
+mpi_add_error_class_
+mpi_add_error_class__
+mpi_add_error_code
+mpi_add_error_code_
+mpi_add_error_code__
+mpi_add_error_string
+mpi_add_error_string_
+mpi_add_error_string__
+mpi_address
+mpi_address_
+mpi_address__
+mpi_aint_add
+mpi_aint_add_
+mpi_aint_add__
+mpi_aint_diff
+mpi_aint_diff_
+mpi_aint_diff__
+mpi_allgather
+mpi_allgather_
+mpi_allgather__
+mpi_allgatherv
+mpi_allgatherv_
+mpi_allgatherv__
+mpi_alloc_mem
+mpi_alloc_mem_
+mpi_alloc_mem__
+mpi_allreduce
+mpi_allreduce_
+mpi_allreduce__
+mpi_alltoall
+mpi_alltoall_
+mpi_alltoall__
+mpi_alltoallv
+mpi_alltoallv_
+mpi_alltoallv__
+mpi_alltoallw
+mpi_alltoallw_
+mpi_alltoallw__
+mpi_attr_delete
+mpi_attr_delete_
+mpi_attr_delete__
+mpi_attr_get
+mpi_attr_get_
+mpi_attr_get__
+mpi_attr_put
+mpi_attr_put_
+mpi_attr_put__
+mpi_barrier
+mpi_barrier_
+mpi_barrier__
+mpi_bcast
+mpi_bcast_
+mpi_bcast__
+mpi_bsend
+mpi_bsend_
+mpi_bsend__
+mpi_bsend_init
+mpi_bsend_init_
+mpi_bsend_init__
+mpi_buffer_attach
+mpi_buffer_attach_
+mpi_buffer_attach__
+mpi_buffer_detach
+mpi_buffer_detach_
+mpi_buffer_detach__
+mpi_cancel
+mpi_cancel_
+mpi_cancel__
+mpi_cart_coords
+mpi_cart_coords_
+mpi_cart_coords__
+mpi_cart_create
+mpi_cart_create_
+mpi_cart_create__
+mpi_cart_get
+mpi_cart_get_
+mpi_cart_get__
+mpi_cart_map
+mpi_cart_map_
+mpi_cart_map__
+mpi_cart_rank
+mpi_cart_rank_
+mpi_cart_rank__
+mpi_cart_shift
+mpi_cart_shift_
+mpi_cart_shift__
+mpi_cart_sub
+mpi_cart_sub_
+mpi_cart_sub__
+mpi_cartdim_get
+mpi_cartdim_get_
+mpi_cartdim_get__
+mpi_close_port
+mpi_close_port_
+mpi_close_port__
+mpi_comm_accept
+mpi_comm_accept_
+mpi_comm_accept__
+mpi_comm_call_errhandler
+mpi_comm_call_errhandler_
+mpi_comm_call_errhandler__
+mpi_comm_compare
+mpi_comm_compare_
+mpi_comm_compare__
+mpi_comm_connect
+mpi_comm_connect_
+mpi_comm_connect__
+mpi_comm_create
+mpi_comm_create_
+mpi_comm_create__
+mpi_comm_create_errhandler
+mpi_comm_create_errhandler_
+mpi_comm_create_errhandler__
+mpi_comm_create_keyval
+mpi_comm_create_keyval_
+mpi_comm_create_keyval__
+mpi_comm_delete_attr
+mpi_comm_delete_attr_
+mpi_comm_delete_attr__
+mpi_comm_disconnect
+mpi_comm_disconnect_
+mpi_comm_disconnect__
+mpi_comm_dup
+mpi_comm_dup_
+mpi_comm_dup__
+mpi_comm_dup_fn
+mpi_comm_dup_fn_
+mpi_comm_dup_fn__
+mpi_comm_free
+mpi_comm_free_
+mpi_comm_free__
+mpi_comm_free_keyval
+mpi_comm_free_keyval_
+mpi_comm_free_keyval__
+mpi_comm_get_attr
+mpi_comm_get_attr_
+mpi_comm_get_attr__
+mpi_comm_get_errhandler
+mpi_comm_get_errhandler_
+mpi_comm_get_errhandler__
+mpi_comm_get_name
+mpi_comm_get_name_
+mpi_comm_get_name__
+mpi_comm_get_parent
+mpi_comm_get_parent_
+mpi_comm_get_parent__
+mpi_comm_group
+mpi_comm_group_
+mpi_comm_group__
+mpi_comm_join
+mpi_comm_join_
+mpi_comm_join__
+mpi_comm_null_copy_fn
+mpi_comm_null_copy_fn_
+mpi_comm_null_copy_fn__
+mpi_comm_null_delete_fn
+mpi_comm_null_delete_fn_
+mpi_comm_null_delete_fn__
+mpi_comm_rank
+mpi_comm_rank_
+mpi_comm_rank__
+mpi_comm_remote_group
+mpi_comm_remote_group_
+mpi_comm_remote_group__
+mpi_comm_remote_size
+mpi_comm_remote_size_
+mpi_comm_remote_size__
+mpi_comm_set_attr
+mpi_comm_set_attr_
+mpi_comm_set_attr__
+mpi_comm_set_errhandler
+mpi_comm_set_errhandler_
+mpi_comm_set_errhandler__
+mpi_comm_set_name
+mpi_comm_set_name_
+mpi_comm_set_name__
+mpi_comm_size
+mpi_comm_size_
+mpi_comm_size__
+mpi_comm_spawn
+mpi_comm_spawn_
+mpi_comm_spawn__
+mpi_comm_spawn_multiple
+mpi_comm_spawn_multiple_
+mpi_comm_spawn_multiple__
+mpi_comm_split
+mpi_comm_split_
+mpi_comm_split__
+mpi_comm_split_type
+mpi_comm_split_type_
+mpi_comm_split_type__
+mpi_comm_test_inter
+mpi_comm_test_inter_
+mpi_comm_test_inter__
+mpi_compare_and_swap
+mpi_compare_and_swap_
+mpi_compare_and_swap__
+mpi_conversion_fn_null
+mpi_conversion_fn_null_
+mpi_conversion_fn_null__
+mpi_dims_create
+mpi_dims_create_
+mpi_dims_create__
+mpi_dist_graph_create
+mpi_dist_graph_create_
+mpi_dist_graph_create__
+mpi_dist_graph_create_adjacent
+mpi_dist_graph_create_adjacent_
+mpi_dist_graph_create_adjacent__
+mpi_dist_graph_neighbors
+mpi_dist_graph_neighbors_
+mpi_dist_graph_neighbors__
+mpi_dist_graph_neighbors_count
+mpi_dist_graph_neighbors_count_
+mpi_dist_graph_neighbors_count__
+mpi_dup_fn
+mpi_dup_fn_
+mpi_dup_fn__
+mpi_errhandler_create
+mpi_errhandler_create_
+mpi_errhandler_create__
+mpi_errhandler_free
+mpi_errhandler_free_
+mpi_errhandler_free__
+mpi_errhandler_get
+mpi_errhandler_get_
+mpi_errhandler_get__
+mpi_errhandler_set
+mpi_errhandler_set_
+mpi_errhandler_set__
+mpi_error_class
+mpi_error_class_
+mpi_error_class__
+mpi_error_string
+mpi_error_string_
+mpi_error_string__
+mpi_exscan
+mpi_exscan_
+mpi_exscan__
+mpi_fetch_and_op
+mpi_fetch_and_op_
+mpi_fetch_and_op__
+mpi_file_call_errhandler
+mpi_file_call_errhandler_
+mpi_file_call_errhandler__
+mpi_file_close
+mpi_file_close_
+mpi_file_close__
+mpi_file_create_errhandler
+mpi_file_create_errhandler_
+mpi_file_create_errhandler__
+mpi_file_delete
+mpi_file_delete_
+mpi_file_delete__
+mpi_file_get_amode
+mpi_file_get_amode_
+mpi_file_get_amode__
+mpi_file_get_atomicity
+mpi_file_get_atomicity_
+mpi_file_get_atomicity__
+mpi_file_get_byte_offset
+mpi_file_get_byte_offset_
+mpi_file_get_byte_offset__
+mpi_file_get_errhandler
+mpi_file_get_errhandler_
+mpi_file_get_errhandler__
+mpi_file_get_group
+mpi_file_get_group_
+mpi_file_get_group__
+mpi_file_get_info
+mpi_file_get_info_
+mpi_file_get_info__
+mpi_file_get_position
+mpi_file_get_position_
+mpi_file_get_position__
+mpi_file_get_position_shared
+mpi_file_get_position_shared_
+mpi_file_get_position_shared__
+mpi_file_get_size
+mpi_file_get_size_
+mpi_file_get_size__
+mpi_file_get_type_extent
+mpi_file_get_type_extent_
+mpi_file_get_type_extent__
+mpi_file_get_view
+mpi_file_get_view_
+mpi_file_get_view__
+mpi_file_iread
+mpi_file_iread_
+mpi_file_iread__
+mpi_file_iread_at
+mpi_file_iread_at_
+mpi_file_iread_at__
+mpi_file_iread_shared
+mpi_file_iread_shared_
+mpi_file_iread_shared__
+mpi_file_iwrite
+mpi_file_iwrite_
+mpi_file_iwrite__
+mpi_file_iwrite_at
+mpi_file_iwrite_at_
+mpi_file_iwrite_at__
+mpi_file_iwrite_shared
+mpi_file_iwrite_shared_
+mpi_file_iwrite_shared__
+mpi_file_open
+mpi_file_open_
+mpi_file_open__
+mpi_file_preallocate
+mpi_file_preallocate_
+mpi_file_preallocate__
+mpi_file_read
+mpi_file_read_
+mpi_file_read__
+mpi_file_read_all
+mpi_file_read_all_
+mpi_file_read_all__
+mpi_file_read_all_begin
+mpi_file_read_all_begin_
+mpi_file_read_all_begin__
+mpi_file_read_all_end
+mpi_file_read_all_end_
+mpi_file_read_all_end__
+mpi_file_read_at
+mpi_file_read_at_
+mpi_file_read_at__
+mpi_file_read_at_all
+mpi_file_read_at_all_
+mpi_file_read_at_all__
+mpi_file_read_at_all_begin
+mpi_file_read_at_all_begin_
+mpi_file_read_at_all_begin__
+mpi_file_read_at_all_end
+mpi_file_read_at_all_end_
+mpi_file_read_at_all_end__
+mpi_file_read_ordered
+mpi_file_read_ordered_
+mpi_file_read_ordered__
+mpi_file_read_ordered_begin
+mpi_file_read_ordered_begin_
+mpi_file_read_ordered_begin__
+mpi_file_read_ordered_end
+mpi_file_read_ordered_end_
+mpi_file_read_ordered_end__
+mpi_file_read_shared
+mpi_file_read_shared_
+mpi_file_read_shared__
+mpi_file_seek
+mpi_file_seek_
+mpi_file_seek__
+mpi_file_seek_shared
+mpi_file_seek_shared_
+mpi_file_seek_shared__
+mpi_file_set_atomicity
+mpi_file_set_atomicity_
+mpi_file_set_atomicity__
+mpi_file_set_errhandler
+mpi_file_set_errhandler_
+mpi_file_set_errhandler__
+mpi_file_set_info
+mpi_file_set_info_
+mpi_file_set_info__
+mpi_file_set_size
+mpi_file_set_size_
+mpi_file_set_size__
+mpi_file_set_view
+mpi_file_set_view_
+mpi_file_set_view__
+mpi_file_sync
+mpi_file_sync_
+mpi_file_sync__
+mpi_file_write
+mpi_file_write_
+mpi_file_write__
+mpi_file_write_all
+mpi_file_write_all_
+mpi_file_write_all__
+mpi_file_write_all_begin
+mpi_file_write_all_begin_
+mpi_file_write_all_begin__
+mpi_file_write_all_end
+mpi_file_write_all_end_
+mpi_file_write_all_end__
+mpi_file_write_at
+mpi_file_write_at_
+mpi_file_write_at__
+mpi_file_write_at_all
+mpi_file_write_at_all_
+mpi_file_write_at_all__
+mpi_file_write_at_all_begin
+mpi_file_write_at_all_begin_
+mpi_file_write_at_all_begin__
+mpi_file_write_at_all_end
+mpi_file_write_at_all_end_
+mpi_file_write_at_all_end__
+mpi_file_write_ordered
+mpi_file_write_ordered_
+mpi_file_write_ordered__
+mpi_file_write_ordered_begin
+mpi_file_write_ordered_begin_
+mpi_file_write_ordered_begin__
+mpi_file_write_ordered_end
+mpi_file_write_ordered_end_
+mpi_file_write_ordered_end__
+mpi_file_write_shared
+mpi_file_write_shared_
+mpi_file_write_shared__
+mpi_finalize
+mpi_finalize_
+mpi_finalize__
+mpi_finalized
+mpi_finalized_
+mpi_finalized__
+mpi_free_mem
+mpi_free_mem_
+mpi_free_mem__
+mpi_gather
+mpi_gather_
+mpi_gather__
+mpi_gatherv
+mpi_gatherv_
+mpi_gatherv__
+mpi_get
+mpi_get_
+mpi_get__
+mpi_get_accumulate
+mpi_get_accumulate_
+mpi_get_accumulate__
+mpi_get_address
+mpi_get_address_
+mpi_get_address__
+mpi_get_count
+mpi_get_count_
+mpi_get_count__
+mpi_get_elements
+mpi_get_elements_
+mpi_get_elements__
+mpi_get_elements_x
+mpi_get_elements_x_
+mpi_get_elements_x__
+mpi_get_library_version
+mpi_get_library_version_
+mpi_get_library_version__
+mpi_get_processor_name
+mpi_get_processor_name_
+mpi_get_processor_name__
+mpi_get_version
+mpi_get_version_
+mpi_get_version__
+mpi_graph_create
+mpi_graph_create_
+mpi_graph_create__
+mpi_graph_get
+mpi_graph_get_
+mpi_graph_get__
+mpi_graph_map
+mpi_graph_map_
+mpi_graph_map__
+mpi_graph_neighbors
+mpi_graph_neighbors_
+mpi_graph_neighbors__
+mpi_graph_neighbors_count
+mpi_graph_neighbors_count_
+mpi_graph_neighbors_count__
+mpi_graphdims_get
+mpi_graphdims_get_
+mpi_graphdims_get__
+mpi_grequest_complete
+mpi_grequest_complete_
+mpi_grequest_complete__
+mpi_grequest_start
+mpi_grequest_start_
+mpi_grequest_start__
+mpi_group_compare
+mpi_group_compare_
+mpi_group_compare__
+mpi_group_difference
+mpi_group_difference_
+mpi_group_difference__
+mpi_group_excl
+mpi_group_excl_
+mpi_group_excl__
+mpi_group_free
+mpi_group_free_
+mpi_group_free__
+mpi_group_incl
+mpi_group_incl_
+mpi_group_incl__
+mpi_group_intersection
+mpi_group_intersection_
+mpi_group_intersection__
+mpi_group_range_excl
+mpi_group_range_excl_
+mpi_group_range_excl__
+mpi_group_range_incl
+mpi_group_range_incl_
+mpi_group_range_incl__
+mpi_group_rank
+mpi_group_rank_
+mpi_group_rank__
+mpi_group_size
+mpi_group_size_
+mpi_group_size__
+mpi_group_translate_ranks
+mpi_group_translate_ranks_
+mpi_group_translate_ranks__
+mpi_group_union
+mpi_group_union_
+mpi_group_union__
+mpi_iallgather
+mpi_iallgather_
+mpi_iallgather__
+mpi_iallgatherv
+mpi_iallgatherv_
+mpi_iallgatherv__
+mpi_iallreduce
+mpi_iallreduce_
+mpi_iallreduce__
+mpi_ialltoall
+mpi_ialltoall_
+mpi_ialltoall__
+mpi_ialltoallv
+mpi_ialltoallv_
+mpi_ialltoallv__
+mpi_ialltoallw
+mpi_ialltoallw_
+mpi_ialltoallw__
+mpi_ibarrier
+mpi_ibarrier_
+mpi_ibarrier__
+mpi_ibcast
+mpi_ibcast_
+mpi_ibcast__
+mpi_ibsend
+mpi_ibsend_
+mpi_ibsend__
+mpi_iexscan
+mpi_iexscan_
+mpi_iexscan__
+mpi_igather
+mpi_igather_
+mpi_igather__
+mpi_igatherv
+mpi_igatherv_
+mpi_igatherv__
+mpi_improbe
+mpi_improbe_
+mpi_improbe__
+mpi_imrecv
+mpi_imrecv_
+mpi_imrecv__
+mpi_info_create
+mpi_info_create_
+mpi_info_create__
+mpi_info_delete
+mpi_info_delete_
+mpi_info_delete__
+mpi_info_dup
+mpi_info_dup_
+mpi_info_dup__
+mpi_info_free
+mpi_info_free_
+mpi_info_free__
+mpi_info_get
+mpi_info_get_
+mpi_info_get__
+mpi_info_get_nkeys
+mpi_info_get_nkeys_
+mpi_info_get_nkeys__
+mpi_info_get_nthkey
+mpi_info_get_nthkey_
+mpi_info_get_nthkey__
+mpi_info_get_valuelen
+mpi_info_get_valuelen_
+mpi_info_get_valuelen__
+mpi_info_set
+mpi_info_set_
+mpi_info_set__
+mpi_init
+mpi_init_
+mpi_init__
+mpi_init_thread
+mpi_init_thread_
+mpi_init_thread__
+mpi_initialized
+mpi_initialized_
+mpi_initialized__
+mpi_intercomm_create
+mpi_intercomm_create_
+mpi_intercomm_create__
+mpi_intercomm_merge
+mpi_intercomm_merge_
+mpi_intercomm_merge__
+mpi_iprobe
+mpi_iprobe_
+mpi_iprobe__
+mpi_irecv
+mpi_irecv_
+mpi_irecv__
+mpi_ireduce
+mpi_ireduce_
+mpi_ireduce__
+mpi_ireduce_scatter
+mpi_ireduce_scatter_
+mpi_ireduce_scatter__
+mpi_ireduce_scatter_block
+mpi_ireduce_scatter_block_
+mpi_ireduce_scatter_block__
+mpi_irsend
+mpi_irsend_
+mpi_irsend__
+mpi_is_thread_main
+mpi_is_thread_main_
+mpi_is_thread_main__
+mpi_iscan
+mpi_iscan_
+mpi_iscan__
+mpi_iscatter
+mpi_iscatter_
+mpi_iscatter__
+mpi_iscatterv
+mpi_iscatterv_
+mpi_iscatterv__
+mpi_isend
+mpi_isend_
+mpi_isend__
+mpi_issend
+mpi_issend_
+mpi_issend__
+mpi_keyval_create
+mpi_keyval_create_
+mpi_keyval_create__
+mpi_keyval_free
+mpi_keyval_free_
+mpi_keyval_free__
+mpi_lookup_name
+mpi_lookup_name_
+mpi_lookup_name__
+mpi_mprobe
+mpi_mprobe_
+mpi_mprobe__
+mpi_mrecv
+mpi_mrecv_
+mpi_mrecv__
+mpi_null_copy_fn
+mpi_null_copy_fn_
+mpi_null_copy_fn__
+mpi_null_delete_fn
+mpi_null_delete_fn_
+mpi_null_delete_fn__
+mpi_op_commutative
+mpi_op_commutative_
+mpi_op_commutative__
+mpi_op_create
+mpi_op_create_
+mpi_op_create__
+mpi_op_free
+mpi_op_free_
+mpi_op_free__
+mpi_open_port
+mpi_open_port_
+mpi_open_port__
+mpi_pack
+mpi_pack_
+mpi_pack__
+mpi_pack_external
+mpi_pack_external_
+mpi_pack_external__
+mpi_pack_external_size
+mpi_pack_external_size_
+mpi_pack_external_size__
+mpi_pack_size
+mpi_pack_size_
+mpi_pack_size__
+mpi_pcontrol
+mpi_pcontrol_
+mpi_pcontrol__
+mpi_probe
+mpi_probe_
+mpi_probe__
+mpi_publish_name
+mpi_publish_name_
+mpi_publish_name__
+mpi_put
+mpi_put_
+mpi_put__
+mpi_query_thread
+mpi_query_thread_
+mpi_query_thread__
+mpi_raccumulate
+mpi_raccumulate_
+mpi_raccumulate__
+mpi_recv
+mpi_recv_
+mpi_recv__
+mpi_recv_init
+mpi_recv_init_
+mpi_recv_init__
+mpi_reduce
+mpi_reduce_
+mpi_reduce__
+mpi_reduce_local
+mpi_reduce_local_
+mpi_reduce_local__
+mpi_reduce_scatter
+mpi_reduce_scatter_
+mpi_reduce_scatter__
+mpi_reduce_scatter_block
+mpi_reduce_scatter_block_
+mpi_reduce_scatter_block__
+mpi_register_datarep
+mpi_register_datarep_
+mpi_register_datarep__
+mpi_request_free
+mpi_request_free_
+mpi_request_free__
+mpi_request_get_status
+mpi_request_get_status_
+mpi_request_get_status__
+mpi_rget
+mpi_rget_
+mpi_rget__
+mpi_rget_accumulate
+mpi_rget_accumulate_
+mpi_rget_accumulate__
+mpi_rput
+mpi_rput_
+mpi_rput__
+mpi_rsend
+mpi_rsend_
+mpi_rsend__
+mpi_rsend_init
+mpi_rsend_init_
+mpi_rsend_init__
+mpi_scan
+mpi_scan_
+mpi_scan__
+mpi_scatter
+mpi_scatter_
+mpi_scatter__
+mpi_scatterv
+mpi_scatterv_
+mpi_scatterv__
+mpi_send
+mpi_send_
+mpi_send__
+mpi_send_init
+mpi_send_init_
+mpi_send_init__
+mpi_sendrecv
+mpi_sendrecv_
+mpi_sendrecv__
+mpi_sendrecv_replace
+mpi_sendrecv_replace_
+mpi_sendrecv_replace__
+mpi_ssend
+mpi_ssend_
+mpi_ssend__
+mpi_ssend_init
+mpi_ssend_init_
+mpi_ssend_init__
+mpi_start
+mpi_start_
+mpi_start__
+mpi_startall
+mpi_startall_
+mpi_startall__
+mpi_status_c2f
+mpi_status_c2f_
+mpi_status_c2f__
+mpi_status_f2c
+mpi_status_f2c_
+mpi_status_f2c__
+mpi_status_set_cancelled
+mpi_status_set_cancelled_
+mpi_status_set_cancelled__
+mpi_status_set_elements
+mpi_status_set_elements_
+mpi_status_set_elements__
+mpi_status_set_elements_x
+mpi_status_set_elements_x_
+mpi_status_set_elements_x__
+mpi_test
+mpi_test_
+mpi_test__
+mpi_test_cancelled
+mpi_test_cancelled_
+mpi_test_cancelled__
+mpi_testall
+mpi_testall_
+mpi_testall__
+mpi_testany
+mpi_testany_
+mpi_testany__
+mpi_testsome
+mpi_testsome_
+mpi_testsome__
+mpi_topo_test
+mpi_topo_test_
+mpi_topo_test__
+mpi_type_commit
+mpi_type_commit_
+mpi_type_commit__
+mpi_type_contiguous
+mpi_type_contiguous_
+mpi_type_contiguous__
+mpi_type_create_darray
+mpi_type_create_darray_
+mpi_type_create_darray__
+mpi_type_create_f90_complex
+mpi_type_create_f90_complex_
+mpi_type_create_f90_complex__
+mpi_type_create_f90_integer
+mpi_type_create_f90_integer_
+mpi_type_create_f90_integer__
+mpi_type_create_f90_real
+mpi_type_create_f90_real_
+mpi_type_create_f90_real__
+mpi_type_create_hindexed
+mpi_type_create_hindexed_
+mpi_type_create_hindexed__
+mpi_type_create_hindexed_block
+mpi_type_create_hindexed_block_
+mpi_type_create_hindexed_block__
+mpi_type_create_hvector
+mpi_type_create_hvector_
+mpi_type_create_hvector__
+mpi_type_create_indexed_block
+mpi_type_create_indexed_block_
+mpi_type_create_indexed_block__
+mpi_type_create_keyval
+mpi_type_create_keyval_
+mpi_type_create_keyval__
+mpi_type_create_resized
+mpi_type_create_resized_
+mpi_type_create_resized__
+mpi_type_create_struct
+mpi_type_create_struct_
+mpi_type_create_struct__
+mpi_type_create_subarray
+mpi_type_create_subarray_
+mpi_type_create_subarray__
+mpi_type_delete_attr
+mpi_type_delete_attr_
+mpi_type_delete_attr__
+mpi_type_dup
+mpi_type_dup_
+mpi_type_dup__
+mpi_type_dup_fn
+mpi_type_dup_fn_
+mpi_type_dup_fn__
+mpi_type_extent
+mpi_type_extent_
+mpi_type_extent__
+mpi_type_free
+mpi_type_free_
+mpi_type_free__
+mpi_type_free_keyval
+mpi_type_free_keyval_
+mpi_type_free_keyval__
+mpi_type_get_attr
+mpi_type_get_attr_
+mpi_type_get_attr__
+mpi_type_get_contents
+mpi_type_get_contents_
+mpi_type_get_contents__
+mpi_type_get_envelope
+mpi_type_get_envelope_
+mpi_type_get_envelope__
+mpi_type_get_extent
+mpi_type_get_extent_
+mpi_type_get_extent__
+mpi_type_get_extent_x
+mpi_type_get_extent_x_
+mpi_type_get_extent_x__
+mpi_type_get_name
+mpi_type_get_name_
+mpi_type_get_name__
+mpi_type_get_true_extent
+mpi_type_get_true_extent_
+mpi_type_get_true_extent__
+mpi_type_get_true_extent_x
+mpi_type_get_true_extent_x_
+mpi_type_get_true_extent_x__
+mpi_type_hindexed
+mpi_type_hindexed_
+mpi_type_hindexed__
+mpi_type_hvector
+mpi_type_hvector_
+mpi_type_hvector__
+mpi_type_indexed
+mpi_type_indexed_
+mpi_type_indexed__
+mpi_type_lb
+mpi_type_lb_
+mpi_type_lb__
+mpi_type_match_size
+mpi_type_match_size_
+mpi_type_match_size__
+mpi_type_null_copy_fn
+mpi_type_null_copy_fn_
+mpi_type_null_copy_fn__
+mpi_type_null_delete_fn
+mpi_type_null_delete_fn_
+mpi_type_null_delete_fn__
+mpi_type_set_attr
+mpi_type_set_attr_
+mpi_type_set_attr__
+mpi_type_set_name
+mpi_type_set_name_
+mpi_type_set_name__
+mpi_type_size
+mpi_type_size_
+mpi_type_size__
+mpi_type_size_x
+mpi_type_size_x_
+mpi_type_size_x__
+mpi_type_struct
+mpi_type_struct_
+mpi_type_struct__
+mpi_type_ub
+mpi_type_ub_
+mpi_type_ub__
+mpi_type_vector
+mpi_type_vector_
+mpi_type_vector__
+mpi_unpack
+mpi_unpack_
+mpi_unpack__
+mpi_unpack_external
+mpi_unpack_external_
+mpi_unpack_external__
+mpi_unpublish_name
+mpi_unpublish_name_
+mpi_unpublish_name__
+mpi_wait
+mpi_wait_
+mpi_wait__
+mpi_waitall
+mpi_waitall_
+mpi_waitall__
+mpi_waitany
+mpi_waitany_
+mpi_waitany__
+mpi_waitsome
+mpi_waitsome_
+mpi_waitsome__
+mpi_win_allocate
+mpi_win_allocate_
+mpi_win_allocate__
+mpi_win_allocate_shared
+mpi_win_allocate_shared_
+mpi_win_allocate_shared__
+mpi_win_attach
+mpi_win_attach_
+mpi_win_attach__
+mpi_win_call_errhandler
+mpi_win_call_errhandler_
+mpi_win_call_errhandler__
+mpi_win_complete
+mpi_win_complete_
+mpi_win_complete__
+mpi_win_create
+mpi_win_create_
+mpi_win_create__
+mpi_win_create_dynamic
+mpi_win_create_dynamic_
+mpi_win_create_dynamic__
+mpi_win_create_errhandler
+mpi_win_create_errhandler_
+mpi_win_create_errhandler__
+mpi_win_create_keyval
+mpi_win_create_keyval_
+mpi_win_create_keyval__
+mpi_win_delete_attr
+mpi_win_delete_attr_
+mpi_win_delete_attr__
+mpi_win_detach
+mpi_win_detach_
+mpi_win_detach__
+mpi_win_dup_fn
+mpi_win_dup_fn_
+mpi_win_dup_fn__
+mpi_win_fence
+mpi_win_fence_
+mpi_win_fence__
+mpi_win_flush
+mpi_win_flush_
+mpi_win_flush__
+mpi_win_flush_all
+mpi_win_flush_all_
+mpi_win_flush_all__
+mpi_win_flush_local
+mpi_win_flush_local_
+mpi_win_flush_local__
+mpi_win_flush_local_all
+mpi_win_flush_local_all_
+mpi_win_flush_local_all__
+mpi_win_free
+mpi_win_free_
+mpi_win_free__
+mpi_win_free_keyval
+mpi_win_free_keyval_
+mpi_win_free_keyval__
+mpi_win_get_attr
+mpi_win_get_attr_
+mpi_win_get_attr__
+mpi_win_get_errhandler
+mpi_win_get_errhandler_
+mpi_win_get_errhandler__
+mpi_win_get_group
+mpi_win_get_group_
+mpi_win_get_group__
+mpi_win_get_name
+mpi_win_get_name_
+mpi_win_get_name__
+mpi_win_lock
+mpi_win_lock_
+mpi_win_lock__
+mpi_win_lock_all
+mpi_win_lock_all_
+mpi_win_lock_all__
+mpi_win_null_copy_fn
+mpi_win_null_copy_fn_
+mpi_win_null_copy_fn__
+mpi_win_null_delete_fn
+mpi_win_null_delete_fn_
+mpi_win_null_delete_fn__
+mpi_win_post
+mpi_win_post_
+mpi_win_post__
+mpi_win_set_attr
+mpi_win_set_attr_
+mpi_win_set_attr__
+mpi_win_set_errhandler
+mpi_win_set_errhandler_
+mpi_win_set_errhandler__
+mpi_win_set_name
+mpi_win_set_name_
+mpi_win_set_name__
+mpi_win_shared_query
+mpi_win_shared_query_
+mpi_win_shared_query__
+mpi_win_start
+mpi_win_start_
+mpi_win_start__
+mpi_win_sync
+mpi_win_sync_
+mpi_win_sync__
+mpi_win_test
+mpi_win_test_
+mpi_win_test__
+mpi_win_unlock
+mpi_win_unlock_
+mpi_win_unlock__
+mpi_win_unlock_all
+mpi_win_unlock_all_
+mpi_win_unlock_all__
+mpi_win_wait
+mpi_win_wait_
+mpi_win_wait__
+mpi_wtick
+mpi_wtick_
+mpi_wtick__
+mpi_wtime
+mpi_wtime_
+mpi_wtime__
+mpifcmb5 DATA
+mpifcmb5_ DATA
+mpifcmb9 DATA
+mpifcmb9_ DATA
+mpipriv1 DATA
+mpipriv1_ DATA
+mpipriv2 DATA
+mpipriv2_ DATA
+mpiprivc DATA
+mpiprivc_ DATA
+mqs_get_communicator
+mqs_next_communicator
+mqs_next_operation
+mqs_setup_basic_callbacks
+mqs_setup_communicator_iterator
+mqs_setup_image
+mqs_setup_operation_iterator
+mqs_setup_process
+mqs_update_communicator_list
+mqs_version_compatibility
+msmpi_get_bsend_overhead
+msmpi_get_bsend_overhead_
+msmpi_get_bsend_overhead__
+msmpi_get_version
+msmpi_get_version_
+msmpi_get_version__
+pmpi_abort
+pmpi_abort_
+pmpi_abort__
+pmpi_accumulate
+pmpi_accumulate_
+pmpi_accumulate__
+pmpi_add_error_class
+pmpi_add_error_class_
+pmpi_add_error_class__
+pmpi_add_error_code
+pmpi_add_error_code_
+pmpi_add_error_code__
+pmpi_add_error_string
+pmpi_add_error_string_
+pmpi_add_error_string__
+pmpi_address
+pmpi_address_
+pmpi_address__
+pmpi_aint_add
+pmpi_aint_add_
+pmpi_aint_add__
+pmpi_aint_diff
+pmpi_aint_diff_
+pmpi_aint_diff__
+pmpi_allgather
+pmpi_allgather_
+pmpi_allgather__
+pmpi_allgatherv
+pmpi_allgatherv_
+pmpi_allgatherv__
+pmpi_alloc_mem
+pmpi_alloc_mem_
+pmpi_alloc_mem__
+pmpi_allreduce
+pmpi_allreduce_
+pmpi_allreduce__
+pmpi_alltoall
+pmpi_alltoall_
+pmpi_alltoall__
+pmpi_alltoallv
+pmpi_alltoallv_
+pmpi_alltoallv__
+pmpi_alltoallw
+pmpi_alltoallw_
+pmpi_alltoallw__
+pmpi_attr_delete
+pmpi_attr_delete_
+pmpi_attr_delete__
+pmpi_attr_get
+pmpi_attr_get_
+pmpi_attr_get__
+pmpi_attr_put
+pmpi_attr_put_
+pmpi_attr_put__
+pmpi_barrier
+pmpi_barrier_
+pmpi_barrier__
+pmpi_bcast
+pmpi_bcast_
+pmpi_bcast__
+pmpi_bsend
+pmpi_bsend_
+pmpi_bsend__
+pmpi_bsend_init
+pmpi_bsend_init_
+pmpi_bsend_init__
+pmpi_buffer_attach
+pmpi_buffer_attach_
+pmpi_buffer_attach__
+pmpi_buffer_detach
+pmpi_buffer_detach_
+pmpi_buffer_detach__
+pmpi_cancel
+pmpi_cancel_
+pmpi_cancel__
+pmpi_cart_coords
+pmpi_cart_coords_
+pmpi_cart_coords__
+pmpi_cart_create
+pmpi_cart_create_
+pmpi_cart_create__
+pmpi_cart_get
+pmpi_cart_get_
+pmpi_cart_get__
+pmpi_cart_map
+pmpi_cart_map_
+pmpi_cart_map__
+pmpi_cart_rank
+pmpi_cart_rank_
+pmpi_cart_rank__
+pmpi_cart_shift
+pmpi_cart_shift_
+pmpi_cart_shift__
+pmpi_cart_sub
+pmpi_cart_sub_
+pmpi_cart_sub__
+pmpi_cartdim_get
+pmpi_cartdim_get_
+pmpi_cartdim_get__
+pmpi_close_port
+pmpi_close_port_
+pmpi_close_port__
+pmpi_comm_accept
+pmpi_comm_accept_
+pmpi_comm_accept__
+pmpi_comm_call_errhandler
+pmpi_comm_call_errhandler_
+pmpi_comm_call_errhandler__
+pmpi_comm_compare
+pmpi_comm_compare_
+pmpi_comm_compare__
+pmpi_comm_connect
+pmpi_comm_connect_
+pmpi_comm_connect__
+pmpi_comm_create
+pmpi_comm_create_
+pmpi_comm_create__
+pmpi_comm_create_errhandler
+pmpi_comm_create_errhandler_
+pmpi_comm_create_errhandler__
+pmpi_comm_create_keyval
+pmpi_comm_create_keyval_
+pmpi_comm_create_keyval__
+pmpi_comm_delete_attr
+pmpi_comm_delete_attr_
+pmpi_comm_delete_attr__
+pmpi_comm_disconnect
+pmpi_comm_disconnect_
+pmpi_comm_disconnect__
+pmpi_comm_dup
+pmpi_comm_dup_
+pmpi_comm_dup__
+pmpi_comm_dup_fn
+pmpi_comm_dup_fn_
+pmpi_comm_dup_fn__
+pmpi_comm_free
+pmpi_comm_free_
+pmpi_comm_free__
+pmpi_comm_free_keyval
+pmpi_comm_free_keyval_
+pmpi_comm_free_keyval__
+pmpi_comm_get_attr
+pmpi_comm_get_attr_
+pmpi_comm_get_attr__
+pmpi_comm_get_errhandler
+pmpi_comm_get_errhandler_
+pmpi_comm_get_errhandler__
+pmpi_comm_get_name
+pmpi_comm_get_name_
+pmpi_comm_get_name__
+pmpi_comm_get_parent
+pmpi_comm_get_parent_
+pmpi_comm_get_parent__
+pmpi_comm_group
+pmpi_comm_group_
+pmpi_comm_group__
+pmpi_comm_join
+pmpi_comm_join_
+pmpi_comm_join__
+pmpi_comm_null_copy_fn
+pmpi_comm_null_copy_fn_
+pmpi_comm_null_copy_fn__
+pmpi_comm_null_delete_fn
+pmpi_comm_null_delete_fn_
+pmpi_comm_null_delete_fn__
+pmpi_comm_rank
+pmpi_comm_rank_
+pmpi_comm_rank__
+pmpi_comm_remote_group
+pmpi_comm_remote_group_
+pmpi_comm_remote_group__
+pmpi_comm_remote_size
+pmpi_comm_remote_size_
+pmpi_comm_remote_size__
+pmpi_comm_set_attr
+pmpi_comm_set_attr_
+pmpi_comm_set_attr__
+pmpi_comm_set_errhandler
+pmpi_comm_set_errhandler_
+pmpi_comm_set_errhandler__
+pmpi_comm_set_name
+pmpi_comm_set_name_
+pmpi_comm_set_name__
+pmpi_comm_size
+pmpi_comm_size_
+pmpi_comm_size__
+pmpi_comm_spawn
+pmpi_comm_spawn_
+pmpi_comm_spawn__
+pmpi_comm_spawn_multiple
+pmpi_comm_spawn_multiple_
+pmpi_comm_spawn_multiple__
+pmpi_comm_split
+pmpi_comm_split_
+pmpi_comm_split__
+pmpi_comm_split_type
+pmpi_comm_split_type_
+pmpi_comm_split_type__
+pmpi_comm_test_inter
+pmpi_comm_test_inter_
+pmpi_comm_test_inter__
+pmpi_compare_and_swap
+pmpi_compare_and_swap_
+pmpi_compare_and_swap__
+pmpi_conversion_fn_null
+pmpi_conversion_fn_null_
+pmpi_conversion_fn_null__
+pmpi_dims_create
+pmpi_dims_create_
+pmpi_dims_create__
+pmpi_dist_graph_create
+pmpi_dist_graph_create_
+pmpi_dist_graph_create__
+pmpi_dist_graph_create_adjacent
+pmpi_dist_graph_create_adjacent_
+pmpi_dist_graph_create_adjacent__
+pmpi_dist_graph_neighbors
+pmpi_dist_graph_neighbors_
+pmpi_dist_graph_neighbors__
+pmpi_dist_graph_neighbors_count
+pmpi_dist_graph_neighbors_count_
+pmpi_dist_graph_neighbors_count__
+pmpi_dup_fn
+pmpi_dup_fn_
+pmpi_dup_fn__
+pmpi_errhandler_create
+pmpi_errhandler_create_
+pmpi_errhandler_create__
+pmpi_errhandler_free
+pmpi_errhandler_free_
+pmpi_errhandler_free__
+pmpi_errhandler_get
+pmpi_errhandler_get_
+pmpi_errhandler_get__
+pmpi_errhandler_set
+pmpi_errhandler_set_
+pmpi_errhandler_set__
+pmpi_error_class
+pmpi_error_class_
+pmpi_error_class__
+pmpi_error_string
+pmpi_error_string_
+pmpi_error_string__
+pmpi_exscan
+pmpi_exscan_
+pmpi_exscan__
+pmpi_fetch_and_op
+pmpi_fetch_and_op_
+pmpi_fetch_and_op__
+pmpi_file_call_errhandler
+pmpi_file_call_errhandler_
+pmpi_file_call_errhandler__
+pmpi_file_close
+pmpi_file_close_
+pmpi_file_close__
+pmpi_file_create_errhandler
+pmpi_file_create_errhandler_
+pmpi_file_create_errhandler__
+pmpi_file_delete
+pmpi_file_delete_
+pmpi_file_delete__
+pmpi_file_get_amode
+pmpi_file_get_amode_
+pmpi_file_get_amode__
+pmpi_file_get_atomicity
+pmpi_file_get_atomicity_
+pmpi_file_get_atomicity__
+pmpi_file_get_byte_offset
+pmpi_file_get_byte_offset_
+pmpi_file_get_byte_offset__
+pmpi_file_get_errhandler
+pmpi_file_get_errhandler_
+pmpi_file_get_errhandler__
+pmpi_file_get_group
+pmpi_file_get_group_
+pmpi_file_get_group__
+pmpi_file_get_info
+pmpi_file_get_info_
+pmpi_file_get_info__
+pmpi_file_get_position
+pmpi_file_get_position_
+pmpi_file_get_position__
+pmpi_file_get_position_shared
+pmpi_file_get_position_shared_
+pmpi_file_get_position_shared__
+pmpi_file_get_size
+pmpi_file_get_size_
+pmpi_file_get_size__
+pmpi_file_get_type_extent
+pmpi_file_get_type_extent_
+pmpi_file_get_type_extent__
+pmpi_file_get_view
+pmpi_file_get_view_
+pmpi_file_get_view__
+pmpi_file_iread
+pmpi_file_iread_
+pmpi_file_iread__
+pmpi_file_iread_at
+pmpi_file_iread_at_
+pmpi_file_iread_at__
+pmpi_file_iread_shared
+pmpi_file_iread_shared_
+pmpi_file_iread_shared__
+pmpi_file_iwrite
+pmpi_file_iwrite_
+pmpi_file_iwrite__
+pmpi_file_iwrite_at
+pmpi_file_iwrite_at_
+pmpi_file_iwrite_at__
+pmpi_file_iwrite_shared
+pmpi_file_iwrite_shared_
+pmpi_file_iwrite_shared__
+pmpi_file_open
+pmpi_file_open_
+pmpi_file_open__
+pmpi_file_preallocate
+pmpi_file_preallocate_
+pmpi_file_preallocate__
+pmpi_file_read
+pmpi_file_read_
+pmpi_file_read__
+pmpi_file_read_all
+pmpi_file_read_all_
+pmpi_file_read_all__
+pmpi_file_read_all_begin
+pmpi_file_read_all_begin_
+pmpi_file_read_all_begin__
+pmpi_file_read_all_end
+pmpi_file_read_all_end_
+pmpi_file_read_all_end__
+pmpi_file_read_at
+pmpi_file_read_at_
+pmpi_file_read_at__
+pmpi_file_read_at_all
+pmpi_file_read_at_all_
+pmpi_file_read_at_all__
+pmpi_file_read_at_all_begin
+pmpi_file_read_at_all_begin_
+pmpi_file_read_at_all_begin__
+pmpi_file_read_at_all_end
+pmpi_file_read_at_all_end_
+pmpi_file_read_at_all_end__
+pmpi_file_read_ordered
+pmpi_file_read_ordered_
+pmpi_file_read_ordered__
+pmpi_file_read_ordered_begin
+pmpi_file_read_ordered_begin_
+pmpi_file_read_ordered_begin__
+pmpi_file_read_ordered_end
+pmpi_file_read_ordered_end_
+pmpi_file_read_ordered_end__
+pmpi_file_read_shared
+pmpi_file_read_shared_
+pmpi_file_read_shared__
+pmpi_file_seek
+pmpi_file_seek_
+pmpi_file_seek__
+pmpi_file_seek_shared
+pmpi_file_seek_shared_
+pmpi_file_seek_shared__
+pmpi_file_set_atomicity
+pmpi_file_set_atomicity_
+pmpi_file_set_atomicity__
+pmpi_file_set_errhandler
+pmpi_file_set_errhandler_
+pmpi_file_set_errhandler__
+pmpi_file_set_info
+pmpi_file_set_info_
+pmpi_file_set_info__
+pmpi_file_set_size
+pmpi_file_set_size_
+pmpi_file_set_size__
+pmpi_file_set_view
+pmpi_file_set_view_
+pmpi_file_set_view__
+pmpi_file_sync
+pmpi_file_sync_
+pmpi_file_sync__
+pmpi_file_write
+pmpi_file_write_
+pmpi_file_write__
+pmpi_file_write_all
+pmpi_file_write_all_
+pmpi_file_write_all__
+pmpi_file_write_all_begin
+pmpi_file_write_all_begin_
+pmpi_file_write_all_begin__
+pmpi_file_write_all_end
+pmpi_file_write_all_end_
+pmpi_file_write_all_end__
+pmpi_file_write_at
+pmpi_file_write_at_
+pmpi_file_write_at__
+pmpi_file_write_at_all
+pmpi_file_write_at_all_
+pmpi_file_write_at_all__
+pmpi_file_write_at_all_begin
+pmpi_file_write_at_all_begin_
+pmpi_file_write_at_all_begin__
+pmpi_file_write_at_all_end
+pmpi_file_write_at_all_end_
+pmpi_file_write_at_all_end__
+pmpi_file_write_ordered
+pmpi_file_write_ordered_
+pmpi_file_write_ordered__
+pmpi_file_write_ordered_begin
+pmpi_file_write_ordered_begin_
+pmpi_file_write_ordered_begin__
+pmpi_file_write_ordered_end
+pmpi_file_write_ordered_end_
+pmpi_file_write_ordered_end__
+pmpi_file_write_shared
+pmpi_file_write_shared_
+pmpi_file_write_shared__
+pmpi_finalize
+pmpi_finalize_
+pmpi_finalize__
+pmpi_finalized
+pmpi_finalized_
+pmpi_finalized__
+pmpi_free_mem
+pmpi_free_mem_
+pmpi_free_mem__
+pmpi_gather
+pmpi_gather_
+pmpi_gather__
+pmpi_gatherv
+pmpi_gatherv_
+pmpi_gatherv__
+pmpi_get
+pmpi_get_
+pmpi_get__
+pmpi_get_accumulate
+pmpi_get_accumulate_
+pmpi_get_accumulate__
+pmpi_get_address
+pmpi_get_address_
+pmpi_get_address__
+pmpi_get_count
+pmpi_get_count_
+pmpi_get_count__
+pmpi_get_elements
+pmpi_get_elements_
+pmpi_get_elements__
+pmpi_get_elements_x
+pmpi_get_elements_x_
+pmpi_get_elements_x__
+pmpi_get_library_version
+pmpi_get_library_version_
+pmpi_get_library_version__
+pmpi_get_processor_name
+pmpi_get_processor_name_
+pmpi_get_processor_name__
+pmpi_get_version
+pmpi_get_version_
+pmpi_get_version__
+pmpi_graph_create
+pmpi_graph_create_
+pmpi_graph_create__
+pmpi_graph_get
+pmpi_graph_get_
+pmpi_graph_get__
+pmpi_graph_map
+pmpi_graph_map_
+pmpi_graph_map__
+pmpi_graph_neighbors
+pmpi_graph_neighbors_
+pmpi_graph_neighbors__
+pmpi_graph_neighbors_count
+pmpi_graph_neighbors_count_
+pmpi_graph_neighbors_count__
+pmpi_graphdims_get
+pmpi_graphdims_get_
+pmpi_graphdims_get__
+pmpi_grequest_complete
+pmpi_grequest_complete_
+pmpi_grequest_complete__
+pmpi_grequest_start
+pmpi_grequest_start_
+pmpi_grequest_start__
+pmpi_group_compare
+pmpi_group_compare_
+pmpi_group_compare__
+pmpi_group_difference
+pmpi_group_difference_
+pmpi_group_difference__
+pmpi_group_excl
+pmpi_group_excl_
+pmpi_group_excl__
+pmpi_group_free
+pmpi_group_free_
+pmpi_group_free__
+pmpi_group_incl
+pmpi_group_incl_
+pmpi_group_incl__
+pmpi_group_intersection
+pmpi_group_intersection_
+pmpi_group_intersection__
+pmpi_group_range_excl
+pmpi_group_range_excl_
+pmpi_group_range_excl__
+pmpi_group_range_incl
+pmpi_group_range_incl_
+pmpi_group_range_incl__
+pmpi_group_rank
+pmpi_group_rank_
+pmpi_group_rank__
+pmpi_group_size
+pmpi_group_size_
+pmpi_group_size__
+pmpi_group_translate_ranks
+pmpi_group_translate_ranks_
+pmpi_group_translate_ranks__
+pmpi_group_union
+pmpi_group_union_
+pmpi_group_union__
+pmpi_iallgather
+pmpi_iallgather_
+pmpi_iallgather__
+pmpi_iallgatherv
+pmpi_iallgatherv_
+pmpi_iallgatherv__
+pmpi_iallreduce
+pmpi_iallreduce_
+pmpi_iallreduce__
+pmpi_ialltoall
+pmpi_ialltoall_
+pmpi_ialltoall__
+pmpi_ialltoallv
+pmpi_ialltoallv_
+pmpi_ialltoallv__
+pmpi_ialltoallw
+pmpi_ialltoallw_
+pmpi_ialltoallw__
+pmpi_ibarrier
+pmpi_ibarrier_
+pmpi_ibarrier__
+pmpi_ibcast
+pmpi_ibcast_
+pmpi_ibcast__
+pmpi_ibsend
+pmpi_ibsend_
+pmpi_ibsend__
+pmpi_iexscan
+pmpi_iexscan_
+pmpi_iexscan__
+pmpi_igather
+pmpi_igather_
+pmpi_igather__
+pmpi_igatherv
+pmpi_igatherv_
+pmpi_igatherv__
+pmpi_improbe
+pmpi_improbe_
+pmpi_improbe__
+pmpi_imrecv
+pmpi_imrecv_
+pmpi_imrecv__
+pmpi_info_create
+pmpi_info_create_
+pmpi_info_create__
+pmpi_info_delete
+pmpi_info_delete_
+pmpi_info_delete__
+pmpi_info_dup
+pmpi_info_dup_
+pmpi_info_dup__
+pmpi_info_free
+pmpi_info_free_
+pmpi_info_free__
+pmpi_info_get
+pmpi_info_get_
+pmpi_info_get__
+pmpi_info_get_nkeys
+pmpi_info_get_nkeys_
+pmpi_info_get_nkeys__
+pmpi_info_get_nthkey
+pmpi_info_get_nthkey_
+pmpi_info_get_nthkey__
+pmpi_info_get_valuelen
+pmpi_info_get_valuelen_
+pmpi_info_get_valuelen__
+pmpi_info_set
+pmpi_info_set_
+pmpi_info_set__
+pmpi_init
+pmpi_init_
+pmpi_init__
+pmpi_init_thread
+pmpi_init_thread_
+pmpi_init_thread__
+pmpi_initialized
+pmpi_initialized_
+pmpi_initialized__
+pmpi_intercomm_create
+pmpi_intercomm_create_
+pmpi_intercomm_create__
+pmpi_intercomm_merge
+pmpi_intercomm_merge_
+pmpi_intercomm_merge__
+pmpi_iprobe
+pmpi_iprobe_
+pmpi_iprobe__
+pmpi_irecv
+pmpi_irecv_
+pmpi_irecv__
+pmpi_ireduce
+pmpi_ireduce_
+pmpi_ireduce__
+pmpi_ireduce_scatter
+pmpi_ireduce_scatter_
+pmpi_ireduce_scatter__
+pmpi_ireduce_scatter_block
+pmpi_ireduce_scatter_block_
+pmpi_ireduce_scatter_block__
+pmpi_irsend
+pmpi_irsend_
+pmpi_irsend__
+pmpi_is_thread_main
+pmpi_is_thread_main_
+pmpi_is_thread_main__
+pmpi_iscan
+pmpi_iscan_
+pmpi_iscan__
+pmpi_iscatter
+pmpi_iscatter_
+pmpi_iscatter__
+pmpi_iscatterv
+pmpi_iscatterv_
+pmpi_iscatterv__
+pmpi_isend
+pmpi_isend_
+pmpi_isend__
+pmpi_issend
+pmpi_issend_
+pmpi_issend__
+pmpi_keyval_create
+pmpi_keyval_create_
+pmpi_keyval_create__
+pmpi_keyval_free
+pmpi_keyval_free_
+pmpi_keyval_free__
+pmpi_lookup_name
+pmpi_lookup_name_
+pmpi_lookup_name__
+pmpi_mprobe
+pmpi_mprobe_
+pmpi_mprobe__
+pmpi_mrecv
+pmpi_mrecv_
+pmpi_mrecv__
+pmpi_null_copy_fn
+pmpi_null_copy_fn_
+pmpi_null_copy_fn__
+pmpi_null_delete_fn
+pmpi_null_delete_fn_
+pmpi_null_delete_fn__
+pmpi_op_commutative
+pmpi_op_commutative_
+pmpi_op_commutative__
+pmpi_op_create
+pmpi_op_create_
+pmpi_op_create__
+pmpi_op_free
+pmpi_op_free_
+pmpi_op_free__
+pmpi_open_port
+pmpi_open_port_
+pmpi_open_port__
+pmpi_pack
+pmpi_pack_
+pmpi_pack__
+pmpi_pack_external
+pmpi_pack_external_
+pmpi_pack_external__
+pmpi_pack_external_size
+pmpi_pack_external_size_
+pmpi_pack_external_size__
+pmpi_pack_size
+pmpi_pack_size_
+pmpi_pack_size__
+pmpi_pcontrol
+pmpi_pcontrol_
+pmpi_pcontrol__
+pmpi_probe
+pmpi_probe_
+pmpi_probe__
+pmpi_publish_name
+pmpi_publish_name_
+pmpi_publish_name__
+pmpi_put
+pmpi_put_
+pmpi_put__
+pmpi_query_thread
+pmpi_query_thread_
+pmpi_query_thread__
+pmpi_raccumulate
+pmpi_raccumulate_
+pmpi_raccumulate__
+pmpi_recv
+pmpi_recv_
+pmpi_recv__
+pmpi_recv_init
+pmpi_recv_init_
+pmpi_recv_init__
+pmpi_reduce
+pmpi_reduce_
+pmpi_reduce__
+pmpi_reduce_local
+pmpi_reduce_local_
+pmpi_reduce_local__
+pmpi_reduce_scatter
+pmpi_reduce_scatter_
+pmpi_reduce_scatter__
+pmpi_reduce_scatter_block
+pmpi_reduce_scatter_block_
+pmpi_reduce_scatter_block__
+pmpi_register_datarep
+pmpi_register_datarep_
+pmpi_register_datarep__
+pmpi_request_free
+pmpi_request_free_
+pmpi_request_free__
+pmpi_request_get_status
+pmpi_request_get_status_
+pmpi_request_get_status__
+pmpi_rget
+pmpi_rget_
+pmpi_rget__
+pmpi_rget_accumulate
+pmpi_rget_accumulate_
+pmpi_rget_accumulate__
+pmpi_rput
+pmpi_rput_
+pmpi_rput__
+pmpi_rsend
+pmpi_rsend_
+pmpi_rsend__
+pmpi_rsend_init
+pmpi_rsend_init_
+pmpi_rsend_init__
+pmpi_scan
+pmpi_scan_
+pmpi_scan__
+pmpi_scatter
+pmpi_scatter_
+pmpi_scatter__
+pmpi_scatterv
+pmpi_scatterv_
+pmpi_scatterv__
+pmpi_send
+pmpi_send_
+pmpi_send__
+pmpi_send_init
+pmpi_send_init_
+pmpi_send_init__
+pmpi_sendrecv
+pmpi_sendrecv_
+pmpi_sendrecv__
+pmpi_sendrecv_replace
+pmpi_sendrecv_replace_
+pmpi_sendrecv_replace__
+pmpi_ssend
+pmpi_ssend_
+pmpi_ssend__
+pmpi_ssend_init
+pmpi_ssend_init_
+pmpi_ssend_init__
+pmpi_start
+pmpi_start_
+pmpi_start__
+pmpi_startall
+pmpi_startall_
+pmpi_startall__
+pmpi_status_c2f
+pmpi_status_c2f_
+pmpi_status_c2f__
+pmpi_status_f2c
+pmpi_status_f2c_
+pmpi_status_f2c__
+pmpi_status_set_cancelled
+pmpi_status_set_cancelled_
+pmpi_status_set_cancelled__
+pmpi_status_set_elements
+pmpi_status_set_elements_
+pmpi_status_set_elements__
+pmpi_status_set_elements_x
+pmpi_status_set_elements_x_
+pmpi_status_set_elements_x__
+pmpi_test
+pmpi_test_
+pmpi_test__
+pmpi_test_cancelled
+pmpi_test_cancelled_
+pmpi_test_cancelled__
+pmpi_testall
+pmpi_testall_
+pmpi_testall__
+pmpi_testany
+pmpi_testany_
+pmpi_testany__
+pmpi_testsome
+pmpi_testsome_
+pmpi_testsome__
+pmpi_topo_test
+pmpi_topo_test_
+pmpi_topo_test__
+pmpi_type_commit
+pmpi_type_commit_
+pmpi_type_commit__
+pmpi_type_contiguous
+pmpi_type_contiguous_
+pmpi_type_contiguous__
+pmpi_type_create_darray
+pmpi_type_create_darray_
+pmpi_type_create_darray__
+pmpi_type_create_f90_complex_
+pmpi_type_create_f90_complex__
+pmpi_type_create_f90_integer_
+pmpi_type_create_f90_integer__
+pmpi_type_create_f90_real_
+pmpi_type_create_f90_real__
+pmpi_type_create_hindexed
+pmpi_type_create_hindexed_
+pmpi_type_create_hindexed__
+pmpi_type_create_hindexed_block
+pmpi_type_create_hindexed_block_
+pmpi_type_create_hindexed_block__
+pmpi_type_create_hvector
+pmpi_type_create_hvector_
+pmpi_type_create_hvector__
+pmpi_type_create_indexed_block
+pmpi_type_create_indexed_block_
+pmpi_type_create_indexed_block__
+pmpi_type_create_keyval
+pmpi_type_create_keyval_
+pmpi_type_create_keyval__
+pmpi_type_create_resized
+pmpi_type_create_resized_
+pmpi_type_create_resized__
+pmpi_type_create_struct
+pmpi_type_create_struct_
+pmpi_type_create_struct__
+pmpi_type_create_subarray
+pmpi_type_create_subarray_
+pmpi_type_create_subarray__
+pmpi_type_delete_attr
+pmpi_type_delete_attr_
+pmpi_type_delete_attr__
+pmpi_type_dup
+pmpi_type_dup_
+pmpi_type_dup__
+pmpi_type_dup_fn
+pmpi_type_dup_fn_
+pmpi_type_dup_fn__
+pmpi_type_extent
+pmpi_type_extent_
+pmpi_type_extent__
+pmpi_type_free
+pmpi_type_free_
+pmpi_type_free__
+pmpi_type_free_keyval
+pmpi_type_free_keyval_
+pmpi_type_free_keyval__
+pmpi_type_get_attr
+pmpi_type_get_attr_
+pmpi_type_get_attr__
+pmpi_type_get_contents
+pmpi_type_get_contents_
+pmpi_type_get_contents__
+pmpi_type_get_envelope
+pmpi_type_get_envelope_
+pmpi_type_get_envelope__
+pmpi_type_get_extent
+pmpi_type_get_extent_
+pmpi_type_get_extent__
+pmpi_type_get_extent_x
+pmpi_type_get_extent_x_
+pmpi_type_get_extent_x__
+pmpi_type_get_name
+pmpi_type_get_name_
+pmpi_type_get_name__
+pmpi_type_get_true_extent
+pmpi_type_get_true_extent_
+pmpi_type_get_true_extent__
+pmpi_type_get_true_extent_x
+pmpi_type_get_true_extent_x_
+pmpi_type_get_true_extent_x__
+pmpi_type_hindexed
+pmpi_type_hindexed_
+pmpi_type_hindexed__
+pmpi_type_hvector
+pmpi_type_hvector_
+pmpi_type_hvector__
+pmpi_type_indexed
+pmpi_type_indexed_
+pmpi_type_indexed__
+pmpi_type_lb
+pmpi_type_lb_
+pmpi_type_lb__
+pmpi_type_match_size
+pmpi_type_match_size_
+pmpi_type_match_size__
+pmpi_type_null_copy_fn
+pmpi_type_null_copy_fn_
+pmpi_type_null_copy_fn__
+pmpi_type_null_delete_fn
+pmpi_type_null_delete_fn_
+pmpi_type_null_delete_fn__
+pmpi_type_set_attr
+pmpi_type_set_attr_
+pmpi_type_set_attr__
+pmpi_type_set_name
+pmpi_type_set_name_
+pmpi_type_set_name__
+pmpi_type_size
+pmpi_type_size_
+pmpi_type_size__
+pmpi_type_size_x
+pmpi_type_size_x_
+pmpi_type_size_x__
+pmpi_type_struct
+pmpi_type_struct_
+pmpi_type_struct__
+pmpi_type_ub
+pmpi_type_ub_
+pmpi_type_ub__
+pmpi_type_vector
+pmpi_type_vector_
+pmpi_type_vector__
+pmpi_unpack
+pmpi_unpack_
+pmpi_unpack__
+pmpi_unpack_external
+pmpi_unpack_external_
+pmpi_unpack_external__
+pmpi_unpublish_name
+pmpi_unpublish_name_
+pmpi_unpublish_name__
+pmpi_wait
+pmpi_wait_
+pmpi_wait__
+pmpi_waitall
+pmpi_waitall_
+pmpi_waitall__
+pmpi_waitany
+pmpi_waitany_
+pmpi_waitany__
+pmpi_waitsome
+pmpi_waitsome_
+pmpi_waitsome__
+pmpi_win_allocate
+pmpi_win_allocate_
+pmpi_win_allocate__
+pmpi_win_allocate_shared
+pmpi_win_allocate_shared_
+pmpi_win_allocate_shared__
+pmpi_win_attach
+pmpi_win_attach_
+pmpi_win_attach__
+pmpi_win_call_errhandler
+pmpi_win_call_errhandler_
+pmpi_win_call_errhandler__
+pmpi_win_complete
+pmpi_win_complete_
+pmpi_win_complete__
+pmpi_win_create
+pmpi_win_create_
+pmpi_win_create__
+pmpi_win_create_dynamic
+pmpi_win_create_dynamic_
+pmpi_win_create_dynamic__
+pmpi_win_create_errhandler
+pmpi_win_create_errhandler_
+pmpi_win_create_errhandler__
+pmpi_win_create_keyval
+pmpi_win_create_keyval_
+pmpi_win_create_keyval__
+pmpi_win_delete_attr
+pmpi_win_delete_attr_
+pmpi_win_delete_attr__
+pmpi_win_detach
+pmpi_win_detach_
+pmpi_win_detach__
+pmpi_win_dup_fn
+pmpi_win_dup_fn_
+pmpi_win_dup_fn__
+pmpi_win_fence
+pmpi_win_fence_
+pmpi_win_fence__
+pmpi_win_flush
+pmpi_win_flush_
+pmpi_win_flush__
+pmpi_win_flush_all
+pmpi_win_flush_all_
+pmpi_win_flush_all__
+pmpi_win_flush_local
+pmpi_win_flush_local_
+pmpi_win_flush_local__
+pmpi_win_flush_local_all
+pmpi_win_flush_local_all_
+pmpi_win_flush_local_all__
+pmpi_win_free
+pmpi_win_free_
+pmpi_win_free__
+pmpi_win_free_keyval
+pmpi_win_free_keyval_
+pmpi_win_free_keyval__
+pmpi_win_get_attr
+pmpi_win_get_attr_
+pmpi_win_get_attr__
+pmpi_win_get_errhandler
+pmpi_win_get_errhandler_
+pmpi_win_get_errhandler__
+pmpi_win_get_group
+pmpi_win_get_group_
+pmpi_win_get_group__
+pmpi_win_get_name
+pmpi_win_get_name_
+pmpi_win_get_name__
+pmpi_win_lock
+pmpi_win_lock_
+pmpi_win_lock__
+pmpi_win_lock_all
+pmpi_win_lock_all_
+pmpi_win_lock_all__
+pmpi_win_null_copy_fn
+pmpi_win_null_copy_fn_
+pmpi_win_null_copy_fn__
+pmpi_win_null_delete_fn
+pmpi_win_null_delete_fn_
+pmpi_win_null_delete_fn__
+pmpi_win_post
+pmpi_win_post_
+pmpi_win_post__
+pmpi_win_set_attr
+pmpi_win_set_attr_
+pmpi_win_set_attr__
+pmpi_win_set_errhandler
+pmpi_win_set_errhandler_
+pmpi_win_set_errhandler__
+pmpi_win_set_name
+pmpi_win_set_name_
+pmpi_win_set_name__
+pmpi_win_shared_query
+pmpi_win_shared_query_
+pmpi_win_shared_query__
+pmpi_win_start
+pmpi_win_start_
+pmpi_win_start__
+pmpi_win_sync
+pmpi_win_sync_
+pmpi_win_sync__
+pmpi_win_test
+pmpi_win_test_
+pmpi_win_test__
+pmpi_win_unlock
+pmpi_win_unlock_
+pmpi_win_unlock__
+pmpi_win_unlock_all
+pmpi_win_unlock_all_
+pmpi_win_unlock_all__
+pmpi_win_wait
+pmpi_win_wait_
+pmpi_win_wait__
+pmpi_wtick
+pmpi_wtick_
+pmpi_wtick__
+pmpi_wtime
+pmpi_wtime_
+pmpi_wtime__
+pmsmpi_get_bsend_overhead
+pmsmpi_get_bsend_overhead_
+pmsmpi_get_bsend_overhead__
+pmsmpi_get_version
+pmsmpi_get_version_
+pmsmpi_get_version__
+recvq_posted DATA
+recvq_unexpected DATA
diff --git a/python_requirements.txt b/python_requirements.txt
index 6f4e21c1a2b29f4c0aaffac70301070657f67abf..aed504f421d760fd9af281b06dc70628fc07ef17 100644
--- a/python_requirements.txt
+++ b/python_requirements.txt
@@ -1,6 +1,6 @@
-numpy==1.21.6
-scipy==1.8.1
-matplotlib==3.6.2
+numpy
+scipy
+matplotlib
 mpi4py
 doxypypy
 jupyter
@@ -12,8 +12,9 @@ seaborn
 # GDAL, Fiona and Rasterio Python packages cannot be installed using PyPI on Windows
 # Also, the version of Shapely that comes through pip is unstable
 # Instead, we need to use unofficial wheels from Christoph Gohlke’s website
-.\wheels\GDAL-3.4.3-cp310-cp310-win_amd64.whl
-.\wheels\Fiona-1.8.21-cp310-cp310-win_amd64.whl
-.\wheels\rasterio-1.2.10-cp310-cp310-win_amd64.whl
-.\wheels\Shapely-1.8.2-cp310-cp310-win_amd64.whl
-geopandas
\ No newline at end of file
+.\wheels\GDAL-3.7.3-cp311-cp311-win_amd64.whl
+.\wheels\fiona-1.9.5-cp311-cp311-win_amd64.whl
+.\wheels\rasterio-1.3.9-cp311-cp311-win_amd64.whl
+.\wheels\shapely-2.0.2-cp311-cp311-win_amd64.whl
+geopandas
+pyqt5
\ No newline at end of file
diff --git a/python_requirements_v8p4.txt b/python_requirements_v8p4.txt
new file mode 100644
index 0000000000000000000000000000000000000000..004fab262a4458a60766c1a125ba8ca5588bff5e
--- /dev/null
+++ b/python_requirements_v8p4.txt
@@ -0,0 +1,131 @@
+affine==2.4.0
+anyio==4.0.0
+argon2-cffi==23.1.0
+argon2-cffi-bindings==21.2.0
+arrow==1.3.0
+asttokens==2.4.1
+async-lru==2.0.4
+attrs==23.1.0
+Babel==2.13.1
+beautifulsoup4==4.12.2
+bleach==6.1.0
+certifi==2023.7.22
+cffi==1.16.0
+chardet==5.2.0
+charset-normalizer==3.3.2
+click==8.1.7
+click-plugins==1.1.1
+cligj==0.7.2
+colorama==0.4.6
+comm==0.2.0
+contourpy==1.2.0
+cycler==0.12.1
+debugpy==1.8.0
+decorator==5.1.1
+defusedxml==0.7.1
+doxypypy==0.8.8.7
+et-xmlfile==1.1.0
+exceptiongroup==1.1.3
+executing==2.0.1
+fastjsonschema==2.18.1
+.\wheels\fiona-1.9.5-cp310-cp310-win_amd64.whl
+fonttools==4.44.0
+fqdn==1.5.1
+.\wheels\GDAL-3.7.3-cp310-cp310-win_amd64.whl
+geopandas==0.14.0
+idna==3.4
+ipykernel==6.26.0
+ipython==8.17.2
+ipywidgets==8.1.1
+isoduration==20.11.0
+jedi==0.19.1
+Jinja2==3.1.2
+json5==0.9.14
+jsonpointer==2.4
+jsonschema==4.19.2
+jsonschema-specifications==2023.7.1
+jupyter==1.0.0
+jupyter-console==6.6.3
+jupyter-events==0.9.0
+jupyter-lsp==2.2.0
+jupyter_client==8.6.0
+jupyter_core==5.5.0
+jupyter_server==2.10.0
+jupyter_server_terminals==0.4.4
+jupyterlab==4.0.8
+jupyterlab-pygments==0.2.2
+jupyterlab-widgets==3.0.9
+jupyterlab_server==2.25.1
+kiwisolver==1.4.5
+lxml==4.9.3
+MarkupSafe==2.1.3
+matplotlib==3.6.2
+matplotlib-inline==0.1.6
+mistune==3.0.2
+mpi4py==3.1.5
+nbclient==0.9.0
+nbconvert==7.11.0
+nbformat==5.9.2
+nest-asyncio==1.5.8
+notebook==7.0.6
+notebook_shim==0.2.3
+numpy==1.21.6
+openpyxl==3.1.2
+overrides==7.4.0
+OWSLib==0.29.3
+packaging==23.2
+pandas==2.0.3
+pandocfilters==1.5.0
+parso==0.8.3
+Pillow==10.1.0
+platformdirs==3.11.0
+prometheus-client==0.18.0
+prompt-toolkit==3.0.39
+psutil==5.9.6
+pure-eval==0.2.2
+pycparser==2.21
+Pygments==2.16.1
+pyparsing==3.1.1
+pyproj==3.6.1
+PyQt5==5.15.10
+PyQt5-Qt5==5.15.2
+PyQt5-sip==12.13.0
+python-dateutil==2.8.2
+python-json-logger==2.0.7
+pytz==2023.3.post1
+pywin32==306
+pywinpty==2.0.12
+PyYAML==6.0.1
+pyzmq==25.1.1
+qtconsole==5.5.0
+QtPy==2.4.1
+.\wheels\rasterio-1.3.9-cp310-cp310-win_amd64.whl
+referencing==0.30.2
+requests==2.31.0
+rfc3339-validator==0.1.4
+rfc3986-validator==0.1.1
+rpds-py==0.12.0
+scipy==1.8.1
+seaborn==0.13.0
+Send2Trash==1.8.2
+.\wheels\shapely-2.0.2-cp310-cp310-win_amd64.whl
+six==1.16.0
+sniffio==1.3.0
+snuggs==1.4.7
+soupsieve==2.5
+stack-data==0.6.3
+terminado==0.17.1
+tinycss2==1.2.1
+tomli==2.0.1
+tornado==6.3.3
+traitlets==5.13.0
+types-python-dateutil==2.8.19.14
+typing_extensions==4.8.0
+tzdata==2023.3
+uri-template==1.3.0
+urllib3==2.0.7
+wcwidth==0.2.9
+webcolors==1.13
+webencodings==0.5.1
+websocket-client==1.6.4
+widgetsnbextension==4.0.9
diff --git a/python_requirements_v8p5.txt b/python_requirements_v8p5.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7de6f915fda2cf6feda0843989352e3c5150a7cc
--- /dev/null
+++ b/python_requirements_v8p5.txt
@@ -0,0 +1,128 @@
+affine==2.4.0
+anyio==4.1.0
+argon2-cffi==23.1.0
+argon2-cffi-bindings==21.2.0
+arrow==1.3.0
+asttokens==2.4.1
+async-lru==2.0.4
+attrs==23.1.0
+Babel==2.13.1
+beautifulsoup4==4.12.2
+bleach==6.1.0
+certifi==2023.11.17
+cffi==1.16.0
+chardet==5.2.0
+charset-normalizer==3.3.2
+click==8.1.7
+click-plugins==1.1.1
+cligj==0.7.2
+colorama==0.4.6
+comm==0.2.0
+contourpy==1.2.0
+cycler==0.12.1
+debugpy==1.8.0
+decorator==5.1.1
+defusedxml==0.7.1
+doxypypy==0.8.8.7
+et-xmlfile==1.1.0
+executing==2.0.1
+fastjsonschema==2.19.0
+.\wheels\fiona-1.9.5-cp311-cp311-win_amd64.whl
+fonttools==4.46.0
+fqdn==1.5.1
+.\wheels\GDAL-3.7.3-cp311-cp311-win_amd64.whl
+geopandas==0.14.1
+idna==3.6
+ipykernel==6.27.1
+ipython==8.18.1
+ipywidgets==8.1.1
+isoduration==20.11.0
+jedi==0.19.1
+Jinja2==3.1.2
+json5==0.9.14
+jsonpointer==2.4
+jsonschema==4.20.0
+jsonschema-specifications==2023.11.2
+jupyter==1.0.0
+jupyter-console==6.6.3
+jupyter-events==0.9.0
+jupyter-lsp==2.2.1
+jupyter_client==8.6.0
+jupyter_core==5.5.0
+jupyter_server==2.11.1
+jupyter_server_terminals==0.4.4
+jupyterlab==4.0.9
+jupyterlab-widgets==3.0.9
+jupyterlab_pygments==0.3.0
+jupyterlab_server==2.25.2
+kiwisolver==1.4.5
+lxml==4.9.3
+MarkupSafe==2.1.3
+matplotlib==3.8.2
+matplotlib-inline==0.1.6
+mistune==3.0.2
+mpi4py==3.1.5
+nbclient==0.9.0
+nbconvert==7.11.0
+nbformat==5.9.2
+nest-asyncio==1.5.8
+notebook==7.0.6
+notebook_shim==0.2.3
+numpy==1.26.2
+openpyxl==3.1.2
+overrides==7.4.0
+OWSLib==0.29.3
+packaging==23.2
+pandas==2.1.3
+pandocfilters==1.5.0
+parso==0.8.3
+Pillow==10.1.0
+platformdirs==4.0.0
+prometheus-client==0.19.0
+prompt-toolkit==3.0.41
+psutil==5.9.6
+pure-eval==0.2.2
+pycparser==2.21
+Pygments==2.17.2
+pyparsing==3.1.1
+pyproj==3.6.1
+PyQt5==5.15.10
+PyQt5-Qt5==5.15.2
+PyQt5-sip==12.13.0
+python-dateutil==2.8.2
+python-json-logger==2.0.7
+pytz==2023.3.post1
+pywin32==306
+pywinpty==2.0.12
+PyYAML==6.0.1
+pyzmq==25.1.1
+qtconsole==5.5.1
+QtPy==2.4.1
+.\wheels\rasterio-1.3.9-cp311-cp311-win_amd64.whl
+referencing==0.31.1
+requests==2.31.0
+rfc3339-validator==0.1.4
+rfc3986-validator==0.1.1
+rpds-py==0.13.2
+scipy==1.11.4
+seaborn==0.13.0
+Send2Trash==1.8.2
+.\wheels\shapely-2.0.2-cp311-cp311-win_amd64.whl
+six==1.16.0
+sniffio==1.3.0
+snuggs==1.4.7
+soupsieve==2.5
+stack-data==0.6.3
+terminado==0.18.0
+tinycss2==1.2.1
+tornado==6.4
+traitlets==5.14.0
+types-python-dateutil==2.8.19.14
+tzdata==2023.3
+uri-template==1.3.0
+urllib3==2.1.0
+wcwidth==0.2.12
+webcolors==1.13
+webencodings==0.5.1
+websocket-client==1.7.0
+widgetsnbextension==4.0.9
diff --git a/wheels/Fiona-1.8.21-cp310-cp310-win_amd64.whl b/wheels/Fiona-1.8.21-cp310-cp310-win_amd64.whl
deleted file mode 100644
index 287107918d44d9bb12eae70e249a00896da23d2a..0000000000000000000000000000000000000000
--- a/wheels/Fiona-1.8.21-cp310-cp310-win_amd64.whl
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:20cb819eef56c57f356cce4fea3b0384da956aab20beed4b2826b73acf1a04b5
-size 540558
diff --git a/wheels/GDAL-3.4.3-cp310-cp310-win_amd64.whl b/wheels/GDAL-3.4.3-cp310-cp310-win_amd64.whl
deleted file mode 100644
index 7bf8778a05b8f8bea84043f57907c8dead0aa4a7..0000000000000000000000000000000000000000
--- a/wheels/GDAL-3.4.3-cp310-cp310-win_amd64.whl
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9893da5532a6c5dadc1fc3bc402ae29d161b7cf190d778f129da84d0e50baa29
-size 25754978
diff --git a/wheels/Shapely-1.8.2-cp310-cp310-win_amd64.whl b/wheels/Shapely-1.8.2-cp310-cp310-win_amd64.whl
deleted file mode 100644
index 5f57e66fbd755284448e7befbded92cc40e17368..0000000000000000000000000000000000000000
--- a/wheels/Shapely-1.8.2-cp310-cp310-win_amd64.whl
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b2e5d9af166ab78d9b6abfb2659a41b28af2999f57e8afd878bf8686f6a20b78
-size 988260
diff --git a/wheels/rasterio-1.2.10-cp310-cp310-win_amd64.whl b/wheels/rasterio-1.2.10-cp310-cp310-win_amd64.whl
deleted file mode 100644
index b9d13eacdb9d42ab09d35d1f76156d45910b5a5b..0000000000000000000000000000000000000000
--- a/wheels/rasterio-1.2.10-cp310-cp310-win_amd64.whl
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5631b57d5f45646bdbfb8b43f84ec7aba67ca30983781f26e430251dfad89e7f
-size 1193598