Omega Broadcast

Code Structure

Omega Broadcasting functions are organized within two primary files:

  1. Header File: Located at src/base/Broadcast.h, this file declares various functions of the Broadcast. These functions are distinctively overloaded to accommodate multiple broadcasting needs. The key differentiators for these overloads are based on:

    • The types of variables being broadcasted.

    • The specific ordering of function arguments.

  2. Implementation File: The actual implementations of these declared functions are found in src/base/Broadcast.cpp.

IBroadcast Interface

Parallel to Broadcast, there is the IBroadcast interface. Currently under development, IBroadcast focuses on overloading functions for non-blocking broadcast operations. This aspect of the Omega Broadcasting system is designed to provide more efficient and asynchronous communication capabilities.

Integration with MPI

At their core, the Omega broadcast functions serve as wrappers around the MPI (Message Passing Interface) broadcast functions. They are intricately designed to:

  • Retrieve values from the Omega Environment.

  • Utilize Omega-specific data types.

  • Seamlessly feed these values into the standard MPI functions for effective broadcasting.