NcmMPIJobTest

NcmMPIJobTest — Test implementation of MPI job class

Functions

Properties

NcmVector * vector Read / Write / Construct

Types and Values

Object Hierarchy

    GObject
    ╰── NcmMPIJob
        ╰── NcmMPIJobTest

Description

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_new ()

NcmMPIJobTest *
ncm_mpi_job_test_new (void);

Creates a new NcmMPIJobTest object.

Returns

a new NcmMPIJobTest.


ncm_mpi_job_test_ref ()

NcmMPIJobTest *
ncm_mpi_job_test_ref (NcmMPIJobTest *mjt);

Increase the reference of mjt by one.

Parameters

mjt

a NcmMPIJobTest

 

Returns

mjt .

[transfer full]


ncm_mpi_job_test_free ()

void
ncm_mpi_job_test_free (NcmMPIJobTest *mjt);

Decrease the reference count of mjt by one.

Parameters

mjt

a NcmMPIJobTest

 

ncm_mpi_job_test_clear ()

void
ncm_mpi_job_test_clear (NcmMPIJobTest **mjt);

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

Parameters

mjt

a NcmMPIJobTest

 

ncm_mpi_job_test_set_rand_vector ()

void
ncm_mpi_job_test_set_rand_vector (NcmMPIJobTest *mjt,
                                  const guint len,
                                  NcmRNG *rng);

Sets a random vector of length len in mjt .

Parameters

mjt

a NcmMPIJobTest

 

len

vector length

 

rng

a NcmRNG

 

Types and Values

NCM_TYPE_MPI_JOB_TEST

#define NCM_TYPE_MPI_JOB_TEST (ncm_mpi_job_test_get_type ())

NcmMPIJobTest

typedef struct _NcmMPIJobTest NcmMPIJobTest;

Property Details

The “vector” property

  “vector”                   NcmVector *

vector.

Owner: NcmMPIJobTest

Flags: Read / Write / Construct