Class

NumCosmoMathMPIJobTest

Description [src]

final class NumCosmoMath.MPIJobTest : NumCosmoMath.MPIJob
{
  /* No available fields */
}

Test implementation of MPI job class.

This subclass of NcmMPIJob serves as a targeted tool for testing MPI job functionality. It emulates a one-second computational workload, receiving a vector of doubles as input and returning a single double from the specified position. The intentional sleep period aids in validating communication and synchronization aspects of MPI-based parallel computing.

Functionality Overview:

  • Receives a vector of doubles as input.
  • Simulates a one-second computational workload with intentional sleep.
  • Returns a single double from the specified position in the input vector.

Key Aspects:

  • MPI Job Testing: Validates communication and synchronization in MPI-based parallel computing.

  • Infrastructure Validation: Tests effective task distribution, result collection, and synchronization.

  • Performance Assessment: Evaluates the handling of tasks with varying execution times.

  • Debugging and Profiling: Essential for identifying and addressing issues in parallel execution.

In summary, this testing subclass provides a focused tool for developing, validating, and optimizing MPI-based parallelized applications.

Ancestors

Constructors

ncm_mpi_job_test_new

Creates a new NcmMPIJobTest object.

Functions

ncm_mpi_job_test_clear

Decrease the reference count of mjt by one, and sets the pointer *mjt to NULL.

Instance methods

ncm_mpi_job_test_free

Decrease the reference count of mjt by one.

ncm_mpi_job_test_ref

Increase the reference of mjt by one.

ncm_mpi_job_test_set_rand_vector

Sets a random vector of length len in mjt.

Methods inherited from NcmMPIJob (23)
ncm_mpi_job_create_input

Creates a new input object.

ncm_mpi_job_create_return

Creates a new return object.

ncm_mpi_job_destroy_input

Destroy the input object created with ncm_mpi_job_create_input().

ncm_mpi_job_destroy_input_buffer

Destroy buf created with ncm_mpi_job_get_input_buffer() or ncm_mpi_job_pack_input().

ncm_mpi_job_destroy_return

Destroy the return object created with ncm_mpi_job_create_return().

ncm_mpi_job_destroy_return_buffer

Destroy buf created with ncm_mpi_job_get_return_buffer() or ncm_mpi_job_pack_return().

ncm_mpi_job_free

Decrease the reference count of mpi_job by one.

ncm_mpi_job_free_all_slaves

Frees all available slaves used by mpi_job.

ncm_mpi_job_get_input_buffer

Creates a buffer from input compatible with ncm_mpi_job_input_datatype().

ncm_mpi_job_get_return_buffer

Creates a buffer from ret compatible with ncm_mpi_job_return_datatype().

ncm_mpi_job_init_all_slaves

Initialize all available slaves with mpi_job.

ncm_mpi_job_input_datatype

Computes the size and datatype of the input buffer.

ncm_mpi_job_pack_input

Packs (when necessary) the input into the input buffer.

ncm_mpi_job_pack_return

Packs (when necessary) the return into the return buffer buf.

ncm_mpi_job_ref

Increase the reference of mpi_job by one.

ncm_mpi_job_return_datatype

Computes the size and datatype of the return buffer.

ncm_mpi_job_run

Runs job mpi_job using input and returns in ret.

ncm_mpi_job_run_array

Send work to all slaves in a round-robin fashion. Both arrays input_array and ret_array must have the same length and should be filled with the appropriated pointers.

ncm_mpi_job_run_array_async

Send work to all slaves using an additional thread to control the slaves work. The main execution thread runs jobs in parallel while it waits for the slaves to finish. Both arrays input_array and ret_array must have the same length and should be filled with the appropriated pointers.

ncm_mpi_job_unpack_input

Unpacks (when necessary) the buffer buf into the input pointer input.

ncm_mpi_job_unpack_return

Unpacks (when necessary) the buffer buf into the return pointer return.

ncm_mpi_job_work_clear

Method called during the working phase of mpi_job and in the end before object destruction. This method can be called multiple times during the work phase.

ncm_mpi_job_work_init

Method called after mpi_job is initialized at the slave and before start working.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

NumCosmoMath.MPIJobTest:vector
No description available.

Properties inherited from NcmMPIJob (1)
NumCosmoMath.MPIJob:placeholder
No description available.

Signals

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct NumCosmoMathMPIJobTestClass {
  NcmMPIJobClass parent_class;
  
}

No description available.

Class members
parent_class: NcmMPIJobClass

No description available.