Molssi Driver Interface Library: MDI_Library.mdi Namespace Reference

|  | Molssi Driver Interface Library

Functions | Variables
MDI_Library.mdi Namespace Reference

## Functions
def | MDI_Get_Current_Code ()
| Get the current code. More...
def | delete_code_state (mdi_comm)
def | get_mpi_comm_from_flag (comm_flag)
def | c_ptr_to_py_str (in_ptr, length)
def | mpi4py_get_np_array (buf, count, datatype, mdi_comm)
def | mpi4py_recv_callback (buf, count, datatype, source, mdi_comm)
def | set_mpi4py_recv_callback ()
def | mpi4py_send_callback (buf, count, datatype, destination, mdi_comm)
def | set_mpi4py_send_callback ()
def | mpi4py_size_callback (comm_flag)
def | set_mpi4py_size_callback ()
def | mpi4py_rank_callback (comm_flag)
def | set_mpi4py_rank_callback ()
def | mpi4py_allgather_callback (buf, names)
def | set_mpi4py_allgather_callback ()
def | mpi4py_gather_names_callback (buf, names, name_lengths, name_displs)
def | set_mpi4py_gather_names_callback ()
def | mpi4py_barrier_callback (comm_flag)
def | set_mpi4py_barrier_callback ()
def | mpi4py_split_callback (color, key, mdi_comm, comm_flag)
def | set_mpi4py_split_callback ()
def | launch_plugin_callback (plugin_name_c, plugin_path_c, plugin_state, mode)
def | set_launch_plugin_callback ()
def | MDI_Get_python_plugin_mpi_world_ptr (plugin_state)
def | MDI_MPI_initialization (plugin_state=None)
def | MDI_Init (arg1, arg2=None)
def | MDI_MPI_get_world_comm ()
def | MDI_Get_Intra_Code_MPI_Comm ()
def | MDI_MPI_set_world_comm (new_comm)
def | MDI_Accept_communicator ()
def | MDI_Accept_Communicator ()
def | MDI_Send (arg1, arg2, arg3, arg4)
def | MDI_Recv (arg2, arg3, arg4, buf=None)
def | MDI_Send_command (arg1, arg2)
def | MDI_Send_Command (arg1, arg2)
def | MDI_Recv_command (arg2)
def | MDI_Recv_Command (arg2)
def | MDI_Conversion_factor (arg1, arg2)
def | MDI_Conversion_Factor (arg1, arg2)
def | MDI_String_to_atomic_number (arg1)
def | MDI_Get_role ()
def | MDI_Get_Role ()
def | MDI_Get_method (comm)
def | MDI_Get_communicator (index)
def | MDI_Execute_Command_py (command, comm, class_obj)
| Callback functions #.
def | MDI_Set_execute_command_func (func, class_obj)
def | MDI_Set_Execute_Command_Func (func, class_obj)
def | MDI_Register_node (arg1)
def | MDI_Register_Node (arg1)
def | MDI_Check_node_exists (arg1, arg2)
def | MDI_Check_Node_Exists (arg1, arg2)
def | MDI_Get_nnodes (arg2)
def | MDI_Get_NNodes (arg2)
def | MDI_Get_node (index, arg2)
def | MDI_Get_Node (index, arg2)
def | MDI_Register_command (arg1, arg2)
def | MDI_Register_Command (arg1, arg2)
def | MDI_Check_command_exists (arg1, command_name, arg2)
def | MDI_Check_Command_Exists (arg1, command_name, arg2)
def | MDI_Get_ncommands (arg1, arg2)
def | MDI_Get_NCommands (arg1, arg2)
def | MDI_Get_command (node_name, index, arg2)
def | MDI_Get_Command (node_name, index, arg2)
def | MDI_Register_callback (arg1, arg2)
def | MDI_Register_Callback (arg1, arg2)
def | MDI_Check_callback_exists (arg1, callback_name, arg2)
def | MDI_Check_Callback_Exists (arg1, callback_name, arg2)
def | MDI_Get_ncallbacks (arg1, arg2)
def | MDI_Get_NCallbacks (arg1, arg2)
def | MDI_Get_callback (node_name, index, arg2)
def | MDI_Get_Callback (node_name, index, arg2)
def | MDI_Plugin_get_argc ()
def | MDI_Plugin_get_arg (index)
def | MDI_plugin_driver_callback_py (mpi_comm_ptr, mdi_comm, class_obj)
def | MDI_Launch_plugin (plugin_name, options, mpi_comm, driver_callback_func, driver_callback_obj)
def | MDI_Open_plugin (plugin_name, options, mpi_comm)
def | MDI_Close_plugin (mdi_comm)
def | MDI_Set_plugin_state (plugin_state)

## Variables
| dir_path = os.path.dirname(os.path.realpath(__file__))
bool | found_numpy = True
bool | use_mpi4py = False
| MPI = None
| mdi_name_path = os.path.join( dir_path, "mdi_name" )
| mdi_name_file = open( mdi_name_path, "r" )
| mdi_name = mdi_name_file.read()
| mdi_path = os.path.join( dir_path, mdi_name )
| mdi = ctypes.CDLL(mdi_path, ctypes.RTLD_GLOBAL)
| MDI_COMMAND_LENGTH = ctypes.c_int.in_dll(mdi, "MDI_COMMAND_LENGTH").value
| length of an MDI command in characters
| MDI_NAME_LENGTH = ctypes.c_int.in_dll(mdi, "MDI_NAME_LENGTH").value
| length of an MDI name in characters
| MDI_LABEL_LENGTH = ctypes.c_int.in_dll(mdi, "MDI_LABEL_LENGTH").value
| length of an MDI label in characters
| MDI_COMM_NULL = ctypes.c_int.in_dll(mdi, "MDI_COMM_NULL").value
| value of a null communicator
| MDI_TCP = ctypes.c_int.in_dll(mdi, "MDI_TCP").value
| TCP/IP communication method.
| MDI_MPI = ctypes.c_int.in_dll(mdi, "MDI_MPI").value
| MPI communication method.
| MDI_LINK = ctypes.c_int.in_dll(mdi, "MDI_LINK").value
| Library communication method (deprecated)
| MDI_PLUGIN = ctypes.c_int.in_dll(mdi, "MDI_PLUGIN").value
| Library communication method.
| MDI_TEST = ctypes.c_int.in_dll(mdi, "MDI_TEST").value
| Test communication method.
| MDI_DRIVER = ctypes.c_int.in_dll(mdi, "MDI_DRIVER").value
| Driver role type.
| MDI_ENGINE = ctypes.c_int.in_dll(mdi, "MDI_ENGINE").value
| Engine role type.
| MDI_MAJOR_VERSION = ctypes.c_int.in_dll(mdi, "MDI_MAJOR_VERSION").value
| MDI major version number.
| MDI_MINOR_VERSION = ctypes.c_int.in_dll(mdi, "MDI_MINOR_VERSION").value
| MDI minor version number.
| MDI_PATCH_VERSION = ctypes.c_int.in_dll(mdi, "MDI_PATCH_VERSION").value
| MDI patch version number.
| MDI_INT = ctypes.c_int.in_dll(mdi, "MDI_INT").value
| integer data type
| MDI_INT8_T = ctypes.c_int.in_dll(mdi, "MDI_INT8_T").value
| int8_t data type
| MDI_INT16_T = ctypes.c_int.in_dll(mdi, "MDI_INT16_T").value
| int16_t data type
| MDI_INT32_T = ctypes.c_int.in_dll(mdi, "MDI_INT32_T").value
| int32_t data type
| MDI_INT64_T = ctypes.c_int.in_dll(mdi, "MDI_INT64_T").value
| int64_t data type
| MDI_UINT8_T = ctypes.c_int.in_dll(mdi, "MDI_UINT8_T").value
| uint8_t data type
| MDI_UINT16_T = ctypes.c_int.in_dll(mdi, "MDI_UINT16_T").value
| uint16_t data type
| MDI_UINT32_T = ctypes.c_int.in_dll(mdi, "MDI_UINT32_T").value
| uint32_t data type
| MDI_UINT64_T = ctypes.c_int.in_dll(mdi, "MDI_UINT64_T").value
| uint64_t data type
| MDI_DOUBLE = ctypes.c_int.in_dll(mdi, "MDI_DOUBLE").value
| double precision float data type
| MDI_CHAR = ctypes.c_int.in_dll(mdi, "MDI_CHAR").value
| character data type
| MDI_FLOAT = ctypes.c_int.in_dll(mdi, "MDI_FLOAT").value
| single precision float data type
| MDI_BYTE = ctypes.c_int.in_dll(mdi, "MDI_BYTE").value
| character data type
| world_comm = None
| intra_code_comm = None
dictionary | mpi4py_comms = {}
dictionary | execute_command_dict = {}
| driver_node_callback = None
| argtypes
| Node / Command / Callback management functions #. More...
| restype
| mpi4py_recv_func_type
| MPI4Py Recv Callback #. More...
| mpi4py_recv_callback_c = mpi4py_recv_func_type( mpi4py_recv_callback )
| mpi4py_send_func_type
| MPI4Py Send Callback #. More...
| mpi4py_send_callback_c = mpi4py_send_func_type( mpi4py_send_callback )
| mpi4py_size_func_type
| MPI4Py Size Callback #. More...
| mpi4py_size_callback_c = mpi4py_size_func_type( mpi4py_size_callback )
| mpi4py_rank_func_type
| MPI4Py Rank Callback #. More...
| mpi4py_rank_callback_c = mpi4py_rank_func_type( mpi4py_rank_callback )
| mpi4py_allgather_func_type
| MPI4Py Allgather Callback #. More...
| mpi4py_allgather_callback_c = mpi4py_allgather_func_type( mpi4py_allgather_callback )
| mpi4py_gather_names_func_type
| MPI4Py Gather Names Callback #. More...
| mpi4py_gather_names_callback_c = mpi4py_gather_names_func_type( mpi4py_gather_names_callback )
| mpi4py_barrier_func_type
| MPI4Py Barrier Callback #. More...
| mpi4py_barrier_callback_c = mpi4py_barrier_func_type( mpi4py_barrier_callback )
| mpi4py_split_func_type
| MPI4Py Split Callback #. More...
| mpi4py_split_callback_c = mpi4py_split_func_type( mpi4py_split_callback )
| launch_plugin_func_type
| Launch Plugin Callback #. More...
| launch_plugin_callback_c = launch_plugin_func_type( launch_plugin_callback )
| execute_command_func_type = ctypes.CFUNCTYPE(ctypes.c_int, ctypes.POINTER(ctypes.c_char), ctypes.c_int, ctypes.c_void_p)
| MDI_Execute_Command_c = execute_command_func_type( MDI_Execute_Command_py )
| driver_node_callback_type = ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_void_p, ctypes.c_int, ctypes.c_void_p)
| MDI_plugin_driver_callback_c = driver_node_callback_type( MDI_plugin_driver_callback_py )

## Detailed Description

    Python wrapper for MDI.

## Function Documentation

## ◆ MDI_Get_Current_Code()

def MDI_Library.mdi.MDI_Get_Current_Code | ( |  | ) |

Get the current code.

## Variable Documentation

## ◆ argtypes

MDI_Library.mdi.argtypes

Node / Command / Callback management functions #.

Plugin functions #.

MDI_Register_Node

## ◆ launch_plugin_func_type

MDI_Library.mdi.launch_plugin_func_type

Initial value:
1 = ctypes.CFUNCTYPE(ctypes.c_int, # return
2 ctypes.c_char_p, # plugin_name
3 ctypes.c_char_p, # plugin_path
4 ctypes.POINTER(ctypes.c_byte), # plugin_state
5 ctypes.c_int)

Launch Plugin Callback #.

## ◆ mpi4py_allgather_func_type

MDI_Library.mdi.mpi4py_allgather_func_type

Initial value:
1 = ctypes.CFUNCTYPE(ctypes.c_int, # return
2 ctypes.POINTER(ctypes.c_int), # sendbuf
3 ctypes.POINTER(ctypes.c_int))

MPI4Py Allgather Callback #.

## ◆ mpi4py_barrier_func_type

MDI_Library.mdi.mpi4py_barrier_func_type

Initial value:
1 = ctypes.CFUNCTYPE(ctypes.c_int, # return
2 ctypes.c_int)

MPI4Py Barrier Callback #.

## ◆ mpi4py_gather_names_func_type

MDI_Library.mdi.mpi4py_gather_names_func_type

Initial value:
1 = ctypes.CFUNCTYPE(ctypes.c_int, # return
2 ctypes.POINTER(ctypes.c_char), # buf
3 ctypes.POINTER(ctypes.c_char), # names
4 ctypes.POINTER(ctypes.c_int), # name_lengths
5 ctypes.POINTER(ctypes.c_int))

MPI4Py Gather Names Callback #.

## ◆ mpi4py_rank_func_type

MDI_Library.mdi.mpi4py_rank_func_type

Initial value:
1 = ctypes.CFUNCTYPE(ctypes.c_int, # return
2 ctypes.c_int)

MPI4Py Rank Callback #.

## ◆ mpi4py_recv_func_type

MDI_Library.mdi.mpi4py_recv_func_type

Initial value:
1 = ctypes.CFUNCTYPE(ctypes.c_int, # return
2 ctypes.POINTER(ctypes.c_byte), # buf (ctypes.c_void_p?)
3 ctypes.c_int, # count
4 ctypes.c_int, # datatype
5 ctypes.c_int, # source
6 ctypes.c_int)

MPI4Py Recv Callback #.

## ◆ mpi4py_send_func_type

MDI_Library.mdi.mpi4py_send_func_type

Initial value:
1 = ctypes.CFUNCTYPE(ctypes.c_int, # return
2 ctypes.POINTER(ctypes.c_byte), # buf (ctypes.c_void_p?)
3 ctypes.c_int, # count
4 ctypes.c_int, # datatype
5 ctypes.c_int, # destination
6 ctypes.c_int)

MPI4Py Send Callback #.

## ◆ mpi4py_size_func_type

MDI_Library.mdi.mpi4py_size_func_type

Initial value:
1 = ctypes.CFUNCTYPE(ctypes.c_int, # return
2 ctypes.c_int)

MPI4Py Size Callback #.

## ◆ mpi4py_split_func_type

MDI_Library.mdi.mpi4py_split_func_type

Initial value:
1 = ctypes.CFUNCTYPE(ctypes.c_int, # return
2 ctypes.c_int, # color
3 ctypes.c_int, # key
4 ctypes.c_int, # mdi_comm
5 ctypes.c_int)

MPI4Py Split Callback #.