| 106 | '''Buddy-Checkpointing with SIONlib Example''' |
| 107 | This is just an example for writing buddy checkpoints with SIONlib. The Example for reading can be derived from this straight-forward. |
| 108 | Do not forget to encapsulate these calls in a proper environment (e.g. call SCR_Start_checkpoint, SCR_route_file... etc. beforehand.) |
| 109 | {{{ |
| 110 | sion_file_check_par_args_mpi *buddy_args; |
| 111 | buddy_args = sion_file_check_par_args_init_mpi("br,buddy=1",MPI_COMM_WORLD,1,comm_node); |
| 112 | |
| 113 | SCR_Init(&sion_file_check_par_cb_mpi,buddy_args); |
| 114 | |
| 115 | sion_io_stat_t *file_stat; |
| 116 | sid = sion_paropen_mpi(path, "bw,buddy=1", &sion_num_files, MPI_COMM_WORLD, &comm_node, &chunksize,&fsblksize,&sion_rank,NULL,&new_name); |
| 117 | |
| 118 | saved_data += sion_coll_fwrite(particles, sizeof(particles_block_t), nb, sid); |
| 119 | |
| 120 | // get file stats from sionlib |
| 121 | file_stat = sion_get_io_info(sid); |
| 122 | |
| 123 | // register files with SCR |
| 124 | scr_register_files((const char**) file_stat->names, file_stat->nfiles); |
| 125 | sion_parclose_mpi(sid); |
| 126 | |
| 127 | |
| 128 | }}} |
| 129 | |
| 130 | |