ECP-VELOC Components
User documentation for all components
Functions
shuffile.h File Reference

shuffle files between mpi ranks More...

Go to the source code of this file.

Functions

int shuffile_init ()
 
int shuffile_finalize ()
 
kvtree * shuffile_config (const kvtree *config)
 
int shuffile_create (MPI_Comm comm, MPI_Comm comm_store, int numfiles, const char **files, const char *name)
 
int shuffile_migrate (MPI_Comm comm, MPI_Comm comm_store, const char *name)
 
int shuffile_remove (MPI_Comm comm, MPI_Comm comm_store, const char *name)
 

Function Documentation

◆ shuffile_config()

kvtree* shuffile_config ( const kvtree *  config)

Get/set shuffile configuration values.

The following configuration options can be set (type in parenthesis):

  • "DEBUG" (int) - if non-zero, output debug information from inside shuffile.
  • "MPI_BUF_SIZE" (byte count [IN], int [OUT]) - MPI buffer size to chunk file transfer. Must not exceed INT_MAX.

Symbolic names SHUFFILE_KEY_CONFIG_FOO are defined in shuffile.h and should be used instead of the strings whenever possible to guard against typos in strings.

Returns
If config != NULL, then return config on success. If config == NULL (you're querying the config) then return a new kvtree on success, which must be kvtree_delete()ed by the caller. NULL on any failures.
Parameters
configThe new configuration. If config == NULL, then return a kvtree with all the configuration values.
Parameters
[in]config[IN] - kvtree of options

◆ shuffile_create()

int shuffile_create ( MPI_Comm  comm,
MPI_Comm  comm_store,
int  numfiles,
const char **  files,
const char *  name 
)

associate a set of files with the calling process, name of process is taken as rank in comm, collective across processes in comm

Parameters
[in]comm[IN] - group of processes participating in shuffle
[in]comm_store[IN] - group of processes sharing a shuffle file, subgroup of comm
[in]numfiles[IN] - number of files
[in]files[IN] - array of file names
[in]name[IN] - path name to file to store shuffle information

◆ shuffile_finalize()

int shuffile_finalize ( )

shutdown library

◆ shuffile_init()

int shuffile_init ( )

initialize library

◆ shuffile_migrate()

int shuffile_migrate ( MPI_Comm  comm,
MPI_Comm  comm_store,
const char *  name 
)

migrate files to owner process, if necessary, collective across processes in comm

Parameters
[in]comm[IN] - group of processes participating in shuffle
[in]comm_store[IN] - group of processes sharing a shuffle file, subgroup of comm
[in]name[IN] - path name to file containing shuffle info

◆ shuffile_remove()

int shuffile_remove ( MPI_Comm  comm,
MPI_Comm  comm_store,
const char *  name 
)

drop association information, which is useful when cleaning up, collective across processes in comm

Parameters
[in]comm[IN] - group of processes participating in shuffle
[in]comm_store[IN] - group of processes sharing a shuffle file, subgroup of comm
[in]name[IN] - path name to file containing shuffle info