[MOAB-dev] parallel read/write

Grindeanu, Iulian R. iulian at mcs.anl.gov
Wed Sep 3 16:18:09 CDT 2014


You should create new entities (edges) before ghosting
then ghost with addl_ent flag

then save/restart should work

When you create new entities, there is no way to signal that some actually are ghosts

also, do not delete

if you really want to delete, use ParallelComm::delete_entities(Range &)

Iulian
________________________________________
From: moab-dev-bounces at mcs.anl.gov [moab-dev-bounces at mcs.anl.gov] on behalf of Kanaev A.A. [kanaev at ibrae.ac.ru]
Sent: Wednesday, September 03, 2014 3:22 PM
To: moab-dev at mcs.anl.gov
Subject: [MOAB-dev] parallel read/write

Hello MOAB-dev,

There's an issue with entities created after exchanging ghost cells. If you do so, even if you delete them before writing down h5m file in parallel, you cannot load that file with Core::load_file in parallel afterwards
The code attached does:
- reading in.h5m in parallel
- ghosting 1 layer with additional 2d elements
- creating 1d elements by calling get_adjacencies(ents, 1, true, edges, Interface::UNION)
- writing out.htm in parallel

Reading out.h5m in parallel works fine if you comment the following section:

  Range edges;
  result = mb->get_adjacencies(ents, 1, true, edges, Interface::UNION);
  PRINT_LAST_ERROR;
  result = mb->delete_entities(edges);

but otherwise if you first do mpiexec.mpich2 -n 16 ./restart in.h5m and then mpiexec.mpich2 -n 16 ./restart out.h5m  there's a message:
"Failure; message:Failed in step PARALLEL READ PART
No sparse tag __PARALLEL_COMM value for Vertex 1"

How can i write a proper file in parallel?

The second question is what exact tags do i need to write to be able to read it in parallel? I've tried to write GLOBAL_ID + PARALLEL_PARTITION tags via tag_list option in write_file but it didn't work because it lacked some other tag

Thanks
Anton


More information about the moab-dev mailing list