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.
Functions
ncm_mpi_job_test_clear
Decrease the reference count of mjt by one, and sets the pointer *mjt to
NULL.
Instance methods
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.
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.