Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

mkl_set_mpi

Sets the implementation of the message-passing interface to be used by
Intel® MKL
.

Syntax

status
=
mkl_set_mpi
(
vendor
,
custom_library_name
)
Fortran Include Files/Modules
  • Include file:
    mkl.fi
  • Module (compiled):
    mkl_service.mod
  • Module (source):
    mkl_service.f90
Input Parameters
Name
Type
Description
vendor
INTEGER*4
Specifies the implementation of the message-passing interface (MPI) to use:
Possible values:
  • MKL_BLACS_CUSTOM
    - a custom MPI library. Requires a prebuilt custom MPI BLACS library.
  • MKL_BLACS_MSMPI
    - Microsoft MPI library.
  • MKL_BLACS_INTELMPI
    - Intel® MPI library.
  • MKL_BLACS_MPICH
    - MPICH MPI library.
custom_library_namevendor
CHARACTER*
The filename (without a directory name) of the custom BLACS dynamic library to use. This library must be located in the directory with your application executable or with
Intel® MKL
dynamic libraries. Can be
NULL
or an empty string.
Description
Call this function to set the MPI implementation to be used by
Intel® MKL
on Windows* OS when dynamic
Intel® MKL
libraries are used. For all other configurations, the function returns an error indicating that you cannot set the MPI implementation. You can specify your own prebuilt dynamic BLACS library for a custom MPI by setting
vendor
to
MKL_BLACS_CUSTOM
and optionally passing the name of the custom BLACS dynamic library. If the
custom_library_path
parameter is
NULL
or an empty string,
Intel® MKL
uses the default platform-specific library name:
mkl_blacs_custom_lp64.dll
or
mkl_blacs_custom_ilp64.dll
, depending on whether the BLACS interface linked against your application is LP64 or ILP64.
Return Values
Name
Type
Description
status
INTEGER*4
The return status:
  • 0 - The function completed successfully.
  • -1 - The
    vendor
    parameter is invalid.
  • -2 - The
    custom_library_name
    parameter is invalid.
  • -3 - The MPI library cannot be set at this point.
Optimization Notice
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804
This notice covers the following instruction sets: SSE2, SSE4.2, AVX2, AVX-512.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804