Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -364,10 +364,11 @@ endif()
# MPI option
#-----------------------------------------------------------------------------
option(PDC_ENABLE_MPI "Enable MPI." ON)

if(PDC_ENABLE_MPI)
find_package(MPI)
if(MPI_FOUND)
set(ENABLE_MPI 1)
add_compile_definitions(ENABLE_MPI=1)
endif()
endif()

Expand Down
8 changes: 4 additions & 4 deletions docs/source/using_pdc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ This is shown in the example below:
pdcid_t cont_id = PDCcont_create("cont", cont_prop_id)

// Collective container creation
pdcid_t cont_col_id = PDCcont_create_col("cont", cont_prop_id);
pdcid_t cont_col_id = PDCcont_create_coll("cont", cont_prop_id);

To open an existing container:

Expand Down Expand Up @@ -115,7 +115,7 @@ Below is an example of setting up an object property and creating objects:
pdcid_t obj_id = PDCobj_create(cont_id, "obj", obj_prop_id);

// Collective object creation
pdcid_t obj_col_id = PDCobj_create_col(cont_id, "obj", obj_prop_id, my_rank, comm);
pdcid_t obj_col_id = PDCobj_create_coll(cont_id, "obj", obj_prop_id, my_rank, comm);

To open an existing object by name within a container:

Expand All @@ -141,7 +141,7 @@ Regions define logical subranges within a PDC object and are used to specify wha
Transfers can be performed in three main modes:

- Individually, with ``PDCregion_transfer_start()``
- Collectively, with ``PDCregion_transfer_start_mpi()`` across MPI processes
- Collectively, with ``PDCregion_transfer_start_coll()`` across MPI processes
- In batches, with ``PDCregion_transfer_start_all()`` and ``PDCregion_transfer_wait_all()``

Basic Region Transfer
Expand Down Expand Up @@ -177,7 +177,7 @@ If the transfer is intended to be performed collectively across MPI ranks, use:

.. code-block:: C

PDCregion_transfer_start_mpi(xfer);
PDCregion_transfer_start_coll(xfer);

This function should be called by all processes participating in
the transfer and is useful for coordinated I/O in distributed
Expand Down
18 changes: 9 additions & 9 deletions examples/bdcats.c
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ main(int argc, char **argv)

// open objects
#ifdef ENABLE_MPI
obj_xx = PDCobj_open_col("obj-var-xx", pdc_id);
obj_xx = PDCobj_open_coll("obj-var-xx", pdc_id, MPI_COMM_WORLD);
#else
obj_xx = PDCobj_open("obj-var-xx", pdc_id);
#endif
Expand All @@ -112,7 +112,7 @@ main(int argc, char **argv)
exit(-1);
}
#ifdef ENABLE_MPI
obj_yy = PDCobj_open_col("obj-var-yy", pdc_id);
obj_yy = PDCobj_open_coll("obj-var-yy", pdc_id, MPI_COMM_WORLD);
#else
obj_yy = PDCobj_open("obj-var-xx", pdc_id);
#endif
Expand All @@ -121,7 +121,7 @@ main(int argc, char **argv)
exit(-1);
}
#ifdef ENABLE_MPI
obj_zz = PDCobj_open_col("obj-var-zz", pdc_id);
obj_zz = PDCobj_open_coll("obj-var-zz", pdc_id, MPI_COMM_WORLD);
#else
obj_zz = PDCobj_open("obj-var-xx", pdc_id);
#endif
Expand All @@ -130,7 +130,7 @@ main(int argc, char **argv)
exit(-1);
}
#ifdef ENABLE_MPI
obj_pxx = PDCobj_open_col("obj-var-pxx", pdc_id);
obj_pxx = PDCobj_open_coll("obj-var-pxx", pdc_id, MPI_COMM_WORLD);
#else
obj_pxx = PDCobj_open("obj-var-xx", pdc_id);
#endif
Expand All @@ -139,7 +139,7 @@ main(int argc, char **argv)
exit(-1);
}
#ifdef ENABLE_MPI
obj_pyy = PDCobj_open_col("obj-var-pyy", pdc_id);
obj_pyy = PDCobj_open_coll("obj-var-pyy", pdc_id, MPI_COMM_WORLD);
#else
obj_pyy = PDCobj_open("obj-var-xx", pdc_id);
#endif
Expand All @@ -148,7 +148,7 @@ main(int argc, char **argv)
exit(-1);
}
#ifdef ENABLE_MPI
obj_pzz = PDCobj_open_col("obj-var-pzz", pdc_id);
obj_pzz = PDCobj_open_coll("obj-var-pzz", pdc_id, MPI_COMM_WORLD);
#else
obj_pzz = PDCobj_open("obj-var-xx", pdc_id);
#endif
Expand All @@ -157,7 +157,7 @@ main(int argc, char **argv)
exit(-1);
}
#ifdef ENABLE_MPI
obj_id11 = PDCobj_open_col("id11", pdc_id);
obj_id11 = PDCobj_open_coll("id11", pdc_id, MPI_COMM_WORLD);
#else
obj_id11 = PDCobj_open("obj-var-xx", pdc_id);
#endif
Expand All @@ -166,9 +166,9 @@ main(int argc, char **argv)
exit(-1);
}
#ifdef ENABLE_MPI
obj_id22 = PDCobj_open_col("id22", pdc_id);
obj_id22 = PDCobj_open_coll("id22", pdc_id, MPI_COMM_WORLD);
#else
obj_id22 = PDCobj_open("obj-var-xx", pdc_id);
obj_id22 = PDCobj_open("obj-var-xx", pdc_id, );
#endif
if (obj_id22 == 0) {
LOG_ERROR("Error when open object %s\n", "id22");
Expand Down
16 changes: 8 additions & 8 deletions examples/bdcats_batch.c
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ main(int argc, char **argv)
for (i = 0; i < timestep; ++i) {
sprintf(obj_name, "obj-var-xx %" PRIu64 "", i);
#ifdef ENABLE_MPI
obj_xx[i] = PDCobj_open_col(obj_name, pdc_id);
obj_xx[i] = PDCobj_open_coll(obj_name, pdc_id, comm);
#else
obj_xx[i] = PDCobj_open(obj_name, pdc_id);
#endif
Expand All @@ -185,7 +185,7 @@ main(int argc, char **argv)
}
sprintf(obj_name, "obj-var-yy %" PRIu64 "", i);
#ifdef ENABLE_MPI
obj_yy[i] = PDCobj_open_col(obj_name, pdc_id);
obj_yy[i] = PDCobj_open_coll(obj_name, pdc_id, comm);
#else
obj_yy[i] = PDCobj_open(obj_name, pdc_id);
#endif
Expand All @@ -195,7 +195,7 @@ main(int argc, char **argv)
}
sprintf(obj_name, "obj-var-zz %" PRIu64 "", i);
#ifdef ENABLE_MPI
obj_zz[i] = PDCobj_open_col(obj_name, pdc_id);
obj_zz[i] = PDCobj_open_coll(obj_name, pdc_id, comm);
#else
obj_zz[i] = PDCobj_open(obj_name, pdc_id);
#endif
Expand All @@ -205,7 +205,7 @@ main(int argc, char **argv)
}
sprintf(obj_name, "obj-var-pxx %" PRIu64 "", i);
#ifdef ENABLE_MPI
obj_pxx[i] = PDCobj_open_col(obj_name, pdc_id);
obj_pxx[i] = PDCobj_open_coll(obj_name, pdc_id, comm);
#else
obj_pxx[i] = PDCobj_open(obj_name, pdc_id);
#endif
Expand All @@ -215,7 +215,7 @@ main(int argc, char **argv)
}
sprintf(obj_name, "obj-var-pyy %" PRIu64 "", i);
#ifdef ENABLE_MPI
obj_pyy[i] = PDCobj_open_col(obj_name, pdc_id);
obj_pyy[i] = PDCobj_open_coll(obj_name, pdc_id, comm);
#else
obj_pyy[i] = PDCobj_open(obj_name, pdc_id);
#endif
Expand All @@ -225,7 +225,7 @@ main(int argc, char **argv)
}
sprintf(obj_name, "obj-var-pzz %" PRIu64 "", i);
#ifdef ENABLE_MPI
obj_pzz[i] = PDCobj_open_col(obj_name, pdc_id);
obj_pzz[i] = PDCobj_open_coll(obj_name, pdc_id, comm);
#else
obj_pzz[i] = PDCobj_open(obj_name, pdc_id);
#endif
Expand All @@ -235,7 +235,7 @@ main(int argc, char **argv)
}
sprintf(obj_name, "id11 %" PRIu64 "", i);
#ifdef ENABLE_MPI
obj_id11[i] = PDCobj_open_col(obj_name, pdc_id);
obj_id11[i] = PDCobj_open_coll(obj_name, pdc_id, comm);
#else
obj_id11[i] = PDCobj_open(obj_name, pdc_id);
#endif
Expand All @@ -245,7 +245,7 @@ main(int argc, char **argv)
}
sprintf(obj_name, "id22 %" PRIu64 "", i);
#ifdef ENABLE_MPI
obj_id22[i] = PDCobj_open_col(obj_name, pdc_id);
obj_id22[i] = PDCobj_open_coll(obj_name, pdc_id, comm);
#else
obj_id22[i] = PDCobj_open(obj_name, pdc_id);
#endif
Expand Down
4 changes: 2 additions & 2 deletions examples/haccio.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ create_pdc_object(pdcid_t pdc_id, pdcid_t cont_id, const char *obj_name, pdc_var
PDCprop_set_obj_user_id(*obj_prop, getuid());
PDCprop_set_obj_app_name(*obj_prop, "HACCIO");

pdcid_t obj_id = PDCobj_create_mpi(cont_id, obj_name, *obj_prop, 0, comm);
pdcid_t obj_id = PDCobj_create_coll(cont_id, obj_name, *obj_prop, 0, comm);
if (obj_id == 0) {
LOG_ERROR("Error getting an object id of %s from server, exit...\n", "obj-var-xx");
exit(-1);
Expand Down Expand Up @@ -117,7 +117,7 @@ main(int argc, char **argv)
cont_prop = PDCprop_create(PDC_CONT_CREATE, pdc_id);

// create a container
cont_id = PDCcont_create_col("c1", cont_prop);
cont_id = PDCcont_create_coll("c1", cont_prop, comm);

uint64_t offset = 0, offset_remote = mpi_rank * NUM_PARTICLES, mysize = NUM_PARTICLES;

Expand Down
4 changes: 2 additions & 2 deletions examples/haccio_v2.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ create_pdc_object(pdcid_t pdc_id, pdcid_t cont_id, const char *obj_name, pdc_var
PDCprop_set_obj_app_name(*obj_prop, "HACCIO");
PDCprop_set_obj_consistency_semantics(*obj_prop, PDC_CONSISTENCY_POSIX);

pdcid_t obj_id = PDCobj_create_mpi(cont_id, obj_name, *obj_prop, 0, comm);
pdcid_t obj_id = PDCobj_create_coll(cont_id, obj_name, *obj_prop, 0, MPI_COMM_WORLD);
if (obj_id == 0) {
LOG_ERROR("Error getting an object id of %s from server, exit...\n", "obj-var-xx");
exit(-1);
Expand Down Expand Up @@ -119,7 +119,7 @@ main(int argc, char **argv)
cont_prop = PDCprop_create(PDC_CONT_CREATE, pdc_id);

// create a container
cont_id = PDCcont_create_col("c1", cont_prop);
cont_id = PDCcont_create_coll("c1", cont_prop, MPI_COMM_WORLD);

uint64_t offset = 0, offset_remote = mpi_rank * NUM_PARTICLES, mysize = NUM_PARTICLES;

Expand Down
2 changes: 1 addition & 1 deletion examples/read_write_col_perf.c
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ main(int argc, char **argv)
// create first object
sprintf(obj_name1, "o1_%d", i);
#ifdef ENABLE_MPI
obj1 = PDCobj_create_mpi(cont, obj_name1, obj_prop, 0, MPI_COMM_WORLD);
obj1 = PDCobj_create_coll(cont, obj_name1, obj_prop, 0, MPI_COMM_WORLD);
#else
obj1 = PDCobj_create(cont, obj_name1, obj_prop);
#endif
Expand Down
4 changes: 2 additions & 2 deletions examples/tileio.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ create_pdc_object(pdcid_t pdc_id, pdcid_t cont_id, const char *obj_name, pdcid_t
PDCprop_set_obj_app_name(*obj_prop, "mpi-tile-io");
PDCprop_set_obj_tags(*obj_prop, "tag0=1");

pdcid_t obj_id = PDCobj_create_mpi(cont_id, obj_name, *obj_prop, 0, g_mpi_comm);
pdcid_t obj_id = PDCobj_create_coll(cont_id, obj_name, *obj_prop, 0, g_mpi_comm);
if (obj_id == 0) {
LOG_ERROR("Error getting an object id of %s from server, exit...\n", "obj-var-xx");
exit(-1);
Expand Down Expand Up @@ -112,7 +112,7 @@ main(int argc, char **argv)

// Create containter
cont_prop = PDCprop_create(PDC_CONT_CREATE, pdc_id);
cont_id = PDCcont_create_col("c1", cont_prop);
cont_id = PDCcont_create_coll("c1", cont_prop, MPI_COMM_WORLD);

// Craete object (and its prop)
obj_id = create_pdc_object(pdc_id, cont_id, "tile_io_obj", &obj_prop);
Expand Down
4 changes: 2 additions & 2 deletions examples/tileio_v2.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ create_pdc_object(pdcid_t pdc_id, pdcid_t cont_id, const char *obj_name, pdcid_t
PDCprop_set_obj_app_name(*obj_prop, "mpi-tile-io");
PDCprop_set_obj_tags(*obj_prop, "tag0=1");

pdcid_t obj_id = PDCobj_create_mpi(cont_id, obj_name, *obj_prop, 0, g_mpi_comm);
pdcid_t obj_id = PDCobj_create_coll(cont_id, obj_name, *obj_prop, 0, g_mpi_comm);
if (obj_id == 0) {
LOG_ERROR("Error getting an object id of %s from server, exit...\n", "obj-var-xx");
exit(-1);
Expand Down Expand Up @@ -115,7 +115,7 @@ main(int argc, char **argv)
// Init PDC
pdc_id = PDCinit("pdc");
cont_prop = PDCprop_create(PDC_CONT_CREATE, pdc_id);
cont_id = PDCcont_create_col("c1", cont_prop);
cont_id = PDCcont_create_coll("c1", cont_prop, g_mpi_comm);
obj_id = create_pdc_object(pdc_id, cont_id, "tile_io_obj", &obj_prop);

// Create region
Expand Down
18 changes: 9 additions & 9 deletions examples/vpicio.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ main(int argc, char **argv)
return 1;
}
// create a container
cont_id = PDCcont_create_col("c1", cont_prop);
cont_id = PDCcont_create_coll("c1", cont_prop, comm);
if (cont_id <= 0) {
LOG_ERROR("Failed to create container");
return 1;
Expand Down Expand Up @@ -152,44 +152,44 @@ main(int argc, char **argv)
obj_prop_id22 = PDCprop_obj_dup(obj_prop_xx);
PDCprop_set_obj_type(obj_prop_id22, PDC_INT);

obj_xx = PDCobj_create_mpi(cont_id, "obj-var-xx", obj_prop_xx, 0, comm);
obj_xx = PDCobj_create_coll(cont_id, "obj-var-xx", obj_prop_xx, 0, comm);
if (obj_xx == 0) {
LOG_ERROR("Error getting an object id of %s from server, exit...\n", "obj-var-xx");
exit(-1);
}

obj_yy = PDCobj_create_mpi(cont_id, "obj-var-yy", obj_prop_yy, 0, comm);
obj_yy = PDCobj_create_coll(cont_id, "obj-var-yy", obj_prop_yy, 0, comm);
if (obj_yy == 0) {
LOG_ERROR("Error getting an object id of %s from server, exit...\n", "obj-var-yy");
exit(-1);
}
obj_zz = PDCobj_create_mpi(cont_id, "obj-var-zz", obj_prop_zz, 0, comm);
obj_zz = PDCobj_create_coll(cont_id, "obj-var-zz", obj_prop_zz, 0, comm);
if (obj_zz == 0) {
LOG_ERROR("Error getting an object id of %s from server, exit...\n", "obj-var-zz");
exit(-1);
}
obj_pxx = PDCobj_create_mpi(cont_id, "obj-var-pxx", obj_prop_pxx, 0, comm);
obj_pxx = PDCobj_create_coll(cont_id, "obj-var-pxx", obj_prop_pxx, 0, comm);
if (obj_pxx == 0) {
LOG_ERROR("Error getting an object id of %s from server, exit...\n", "obj-var-pxx");
exit(-1);
}
obj_pyy = PDCobj_create_mpi(cont_id, "obj-var-pyy", obj_prop_pyy, 0, comm);
obj_pyy = PDCobj_create_coll(cont_id, "obj-var-pyy", obj_prop_pyy, 0, comm);
if (obj_pyy == 0) {
LOG_ERROR("Error getting an object id of %s from server, exit...\n", "obj-var-pyy");
exit(-1);
}
obj_pzz = PDCobj_create_mpi(cont_id, "obj-var-pzz", obj_prop_pzz, 0, comm);
obj_pzz = PDCobj_create_coll(cont_id, "obj-var-pzz", obj_prop_pzz, 0, comm);
if (obj_pzz == 0) {
LOG_ERROR("Error getting an object id of %s from server, exit...\n", "obj-var-pzz");
exit(-1);
}

obj_id11 = PDCobj_create_mpi(cont_id, "id11", obj_prop_id11, 0, comm);
obj_id11 = PDCobj_create_coll(cont_id, "id11", obj_prop_id11, 0, comm);
if (obj_id11 == 0) {
LOG_ERROR("Error getting an object id of %s from server, exit...\n", "obj_id11");
exit(-1);
}
obj_id22 = PDCobj_create_mpi(cont_id, "id22", obj_prop_id22, 0, comm);
obj_id22 = PDCobj_create_coll(cont_id, "id22", obj_prop_id22, 0, comm);
if (obj_id22 == 0) {
LOG_ERROR("Error getting an object id of %s from server, exit...\n", "obj_id22");
exit(-1);
Expand Down
Loading