int big_file_mpi_create(BigFile * bf, char * basename, MPI_Comm comm) { if(comm == MPI_COMM_NULL) return 0; int rank; MPI_Comm_rank(comm, &rank); int rt = big_file_create(bf, basename); MPI_Barrier(comm); return rt; }
int main(int argc, char * argv[]) { int opt; while(-1 != (opt = getopt(argc, argv, "t:n:N:"))) { switch(opt){ case 'N': Nfile = atoi(optarg); break; case 't': dtype = optarg; break; case 'n': nmemb = atoi(optarg); break; default: usage(); } } if(argc - optind < 3) { usage(); } argv += optind - 1; BigFile bf = {0}; BigBlock bb = {0}; if(0 != big_file_create(&bf, argv[1])) { fprintf(stderr, "failed to create file : %s\n", big_file_get_error_message()); return -1; } int Nfile; int Ninput = argc - optind - 2; size_t size[Nfile]; size_t total = 0; int i; for(i = 0; i < Ninput; i ++) { struct stat st; stat(argv[i + 3], &st); total += st.st_size / dtype_itemsize(dtype) / nmemb; } for(i = 0; i < Nfile; i ++) { } if(0 != big_file_create_block(&bf, &bb, argv[2], dtype, nmemb, Nfile, fsize)) { fprintf(stderr, "failed to create block: %s\n", big_file_get_error_message()); return -1; } for(i = 0; i < Nfile; i ++) { FILE * fp = fopen } big_file_close(&bf); return 0; }