Sponsor:
Advanced Scientific Computing Research (ASCR) under the U.S. Department of Energy Office of Science (Office of Science)
Project Team Members:
Northwestern University
The HDF Group
- Quincey Koziol
- Gerd Herber
Argonne National Laboratory
North Carolina State University
- Nagiza Samatova
- Sriram Lakshminarasimhan
Damsel API Usecase - parallel write connectivity
In this use case, each rank owns a set of 5 vertices and then rank 0 uses 10 vertices i.e. 5 of its own and 5 from rank1 to create 5 edges. The five vertices on each rank are tagged with some pressure values and the five edges on rank 0 are tagged with some temperature values. The following steps are used in damsel.
- Data to be written by rank 0 Pressure = {0, 11, 22, 33, 44} and temperature = {40, 50, 60, 70, 80}, and rank 1 pressure = {1, 12, 23, 34, 45}
- Create a container of 5 damsel handles using DMSLcontainer_create_vector Or DMSLcontainer_create_sequence on rank 0 and rank 1
- Create a container of 5 damsel handles on rank 0, these will be local handles on rank 0 and will be mapped to the handles on rank 1
- Use container in step 2 to define 5 vertex entities on rank 0 and rank 1- DMSLentity_define
- Use damsel handles from the containers in step 2 and 3 on rank 0 to define edge entities
- Define a tag named Pressure with some values on each rank and map the tag data to the handles in the container created in Step 1 - DMSLtag_define, DMSL_model_map_tag
- Define a tag named Temperature on rank 0 and map the tag data to the edge handles following the same steps as above
- Rank 1 sends the five vertex handles to rank 0, and rank 0 maps its local handles from step 3 to the remote handles it received - DMSL_map_global_handles
- Create a file and invent file side handles
- Execute asyn write
The result in the h5 file after both rank 0 and rank 1 execute the above steps looks like
HDF5 "/orangefs/ssehrish/test-edges-parallel.h5" { GROUP "/" {
DATASET "Pressure-2000013a8" {
DATATYPE H5T_STD_I16LE DATASPACE SIMPLE { ( 5 ) / ( 5 ) } DATA { (0): 0, 11, 22, 33, 44 }
} DATASET "Pressure-300001395" {
DATATYPE H5T_STD_I16LE DATASPACE SIMPLE { ( 5 ) / ( 5 ) } DATA { (0): 1, 12, 23, 34, 45 }
} DATASET "Temperature-20000139a" {
DATATYPE H5T_STD_I16LE DATASPACE SIMPLE { ( 5 ) / ( 5 ) } DATA { (0): 40, 50, 60, 70, 80 }
}
.....
The code for this test case is in test-nconnectivitywrite.c
EECS Home |
McCormick Home |
Northwestern Home |
Calendar: Plan-It Purple © 2011 Robert R. McCormick School of Engineering and Applied Science, Northwestern University "Tech": 2145 Sheridan Rd, Tech L359, Evanston IL 60208-3118 | Phone: (847) 491-5410 | Fax: (847) 491-4455 "Ford": 2133 Sheridan Rd, Ford Building, Rm 3-320, Evanston, IL 60208 | Fax: (847) 491-5258 Email Director Last Updated: $LastChangedDate: 2016-11-06 13:53:06 -0600 (Sun, 06 Nov 2016) $ |