LCI

Setup the communication resources and configurations. More...

Collaboration diagram for LCI environment setup:

Modules

 LCI device
 A device is a physical or logical resource that can be used for communication. Communications that use the same device share a resource and may affect each other's performance.
 
 LCI property list
 A property list is a collection of properties used to create an endpoint.
 
 LCI endpoint
 Currently, a LCI endpoint is not associated with any low-level communication resources, it is just a way to specify a bunch of configurations.
 

Functions

LCI_API LCI_error_t LCI_initialize ()
 Initialize the LCI runtime. No LCI calls are allowed to be called before LCI_initialize except LCI_initialized. More...
 
LCI_API LCI_error_t LCI_initialized (int *flag)
 Check whether the LCI runtime has been initialized. More...
 
LCI_API LCI_error_t LCI_finalize ()
 Finalize the LCI runtime. No LCI calls are allowed to be called after LCI_finalize except LCI_initialized. More...
 
LCI_API LCI_error_t LCI_barrier ()
 Invoke a barrier across all LCI processes in the same job. The call will block the calling thread until the barrier completes. This is not thread-safe. More...
 

Variables

int LCI_NUM_PROCESSES
 The number of processes in this job. More...
 
int LCI_RANK
 The rank of the current process w.r.t the job. More...
 
int LCI_DEFAULT_TABLE_LENGTH
 Initial number of entries in a default matching table. More...
 
int LCI_MAX_TABLE_LENGTH
 Maximum number of entries in a matching table. More...
 

Detailed Description

Setup the communication resources and configurations.

In order to use LCI, users need to first setup a few communication resources and configurations, including devices and endpoints.

Function Documentation

◆ LCI_barrier()

LCI_API LCI_error_t LCI_barrier ( )

Invoke a barrier across all LCI processes in the same job. The call will block the calling thread until the barrier completes. This is not thread-safe.

Returns
Should always be LCI_OK. All the other errors are fatal as defined by LCI_error_t.

◆ LCI_finalize()

LCI_API LCI_error_t LCI_finalize ( )

Finalize the LCI runtime. No LCI calls are allowed to be called after LCI_finalize except LCI_initialized.

Returns
Should always be LCI_OK. All the other errors are fatal as defined by LCI_error_t.

◆ LCI_initialize()

LCI_API LCI_error_t LCI_initialize ( )

Initialize the LCI runtime. No LCI calls are allowed to be called before LCI_initialize except LCI_initialized.

Returns
Should always be LCI_OK. All the other errors are fatal as defined by LCI_error_t.

◆ LCI_initialized()

LCI_API LCI_error_t LCI_initialized ( int *  flag)

Check whether the LCI runtime has been initialized.

Parameters
[in]flagIf the runtime has been initialized, it will be set to true. Otherwise, it will be set to false.
Returns
Should always be LCI_OK. All the other errors are fatal as defined by LCI_error_t.

Variable Documentation

◆ LCI_DEFAULT_TABLE_LENGTH

int LCI_DEFAULT_TABLE_LENGTH

Initial number of entries in a default matching table.

Note
The matching table width is fixed in current implementation, but the number of entries is unlimited due to list-based buckets.

◆ LCI_MAX_TABLE_LENGTH

int LCI_MAX_TABLE_LENGTH

Maximum number of entries in a matching table.

Note
The matching table width is fixed in current implementation, but the number of entries is unlimited due to list-based buckets.

◆ LCI_NUM_PROCESSES

int LCI_NUM_PROCESSES

The number of processes in this job.

◆ LCI_RANK

int LCI_RANK

The rank of the current process w.r.t the job.