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 #.