diff --git a/src/MPIIO/dump_atom_mpiio.cpp b/src/MPIIO/dump_atom_mpiio.cpp index 060d8c0276..a867b34eeb 100644 --- a/src/MPIIO/dump_atom_mpiio.cpp +++ b/src/MPIIO/dump_atom_mpiio.cpp @@ -44,7 +44,7 @@ DumpAtomMPIIO::DumpAtomMPIIO(LAMMPS *lmp, int narg, char **arg) : DumpAtomMPIIO::~DumpAtomMPIIO() { - if (multifile == 0) MPI_File_close(&mpifh); + if (multifile == 0) MPI_File_close(&mpifh); } /* ---------------------------------------------------------------------- */ @@ -82,8 +82,11 @@ void DumpAtomMPIIO::openfile() if (append_flag) { // append open int err = MPI_File_open( world, filecurrent, MPI_MODE_CREATE | MPI_MODE_APPEND | MPI_MODE_WRONLY , MPI_INFO_NULL, &mpifh); - if (err != MPI_SUCCESS) - error->one(FLERR,"Cannot open dump file"); + if (err != MPI_SUCCESS) { + char str[128]; + sprintf(str,"Cannot open dump file %s",filecurrent); + error->one(FLERR,str); + } int myrank; MPI_Comm_rank(world,&myrank); if (myrank == 0) @@ -96,8 +99,11 @@ void DumpAtomMPIIO::openfile() else { // replace open int err = MPI_File_open( world, filecurrent, MPI_MODE_CREATE | MPI_MODE_APPEND | MPI_MODE_WRONLY , MPI_INFO_NULL, &mpifh); - if (err != MPI_SUCCESS) - error->one(FLERR,"Cannot open dump file"); + if (err != MPI_SUCCESS) { + char str[128]; + sprintf(str,"Cannot open dump file %s",filecurrent); + error->one(FLERR,str); + } mpifo = 0; MPI_File_set_size(mpifh,(MPI_Offset) (headerSize+sumFileSize)); @@ -546,7 +552,7 @@ int DumpAtomMPIIO::convert_string_omp(int n, double *mybuf) int DumpAtomMPIIO::convert_image_omp(int n, double *mybuf) { - double *localbuf = mybuf; + MPI_Status mpiStatus; char **mpifh_buffer_line_per_thread; int mpifhStringCount; int *mpifhStringCountPerThread, *bufOffset, *bufRange, *bufLength; @@ -581,7 +587,7 @@ int DumpAtomMPIIO::convert_image_omp(int n, double *mybuf) mpifh_buffer_line_per_thread[i] = (char *) malloc(DUMP_BUF_CHUNK_SIZE * sizeof(char)); mpifh_buffer_line_per_thread[i][0] = '\0'; -#pragma omp parallel default(none) shared(localbuf,bufLength,bufOffset,bufRange,mpifhStringCountPerThread,mpifh_buffer_line_per_thread) +#pragma omp parallel default(none) shared(bufOffset, bufRange, bufLength, mpifhStringCountPerThread, mpifh_buffer_line_per_thread, mybuf) { int tid = omp_get_thread_num(); int m=0; @@ -593,7 +599,7 @@ int DumpAtomMPIIO::convert_image_omp(int n, double *mybuf) bufLength[tid] = (mpifhStringCountPerThread[tid]+DUMP_BUF_CHUNK_SIZE) * sizeof(char); } - mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),format,static_cast (localbuf[bufOffset[tid]+m]),static_cast (localbuf[bufOffset[tid]+m+1]),localbuf[bufOffset[tid]+m+2],localbuf[bufOffset[tid]+m+3],localbuf[bufOffset[tid]+m+4],static_cast (localbuf[bufOffset[tid]+m+5]),static_cast (localbuf[bufOffset[tid]+m+6]),static_cast (localbuf[bufOffset[tid]+m+7])); + mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),format,static_cast (mybuf[bufOffset[tid]+m]),static_cast (mybuf[bufOffset[tid]+m+1]),mybuf[bufOffset[tid]+m+2],mybuf[bufOffset[tid]+m+3],mybuf[bufOffset[tid]+m+4],static_cast (mybuf[bufOffset[tid]+m+5]),static_cast (mybuf[bufOffset[tid]+m+6]),static_cast (mybuf[bufOffset[tid]+m+7])); m += size_one; } } @@ -637,7 +643,7 @@ int DumpAtomMPIIO::convert_image_omp(int n, double *mybuf) int DumpAtomMPIIO::convert_noimage_omp(int n, double *mybuf) { - double *localbuf = mybuf; + MPI_Status mpiStatus; char **mpifh_buffer_line_per_thread; int mpifhStringCount; int *mpifhStringCountPerThread, *bufOffset, *bufRange, *bufLength; @@ -672,7 +678,7 @@ int DumpAtomMPIIO::convert_noimage_omp(int n, double *mybuf) mpifh_buffer_line_per_thread[i] = (char *) malloc(DUMP_BUF_CHUNK_SIZE * sizeof(char)); mpifh_buffer_line_per_thread[i][0] = '\0'; -#pragma omp parallel default(none) shared(localbuf,bufLength,bufOffset,bufRange,mpifhStringCountPerThread,mpifh_buffer_line_per_thread) +#pragma omp parallel default(none) shared(bufOffset, bufRange, bufLength, mpifhStringCountPerThread, mpifh_buffer_line_per_thread, mybuf) { int tid = omp_get_thread_num(); int m=0; @@ -684,7 +690,7 @@ int DumpAtomMPIIO::convert_noimage_omp(int n, double *mybuf) bufLength[tid] = (mpifhStringCountPerThread[tid]+DUMP_BUF_CHUNK_SIZE) * sizeof(char); } - mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),format,static_cast (localbuf[bufOffset[tid]+m]),static_cast (localbuf[bufOffset[tid]+m+1]),localbuf[bufOffset[tid]+m+2],localbuf[bufOffset[tid]+m+3],localbuf[bufOffset[tid]+m+4]); + mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),format,static_cast (mybuf[bufOffset[tid]+m]),static_cast (mybuf[bufOffset[tid]+m+1]),mybuf[bufOffset[tid]+m+2],mybuf[bufOffset[tid]+m+3],mybuf[bufOffset[tid]+m+4]); m += size_one; } } diff --git a/src/MPIIO/dump_custom_mpiio.cpp b/src/MPIIO/dump_custom_mpiio.cpp index 461421253e..dc313cc02f 100644 --- a/src/MPIIO/dump_custom_mpiio.cpp +++ b/src/MPIIO/dump_custom_mpiio.cpp @@ -103,8 +103,11 @@ void DumpCustomMPIIO::openfile() if (append_flag) { // append open int err = MPI_File_open( world, filecurrent, MPI_MODE_CREATE | MPI_MODE_APPEND | MPI_MODE_WRONLY , MPI_INFO_NULL, &mpifh); - if (err != MPI_SUCCESS) - error->one(FLERR,"Cannot open dump file"); + if (err != MPI_SUCCESS) { + char str[128]; + sprintf(str,"Cannot open dump file %s",filecurrent); + error->one(FLERR,str); + } int myrank; MPI_Comm_rank(world,&myrank); if (myrank == 0) @@ -117,12 +120,16 @@ void DumpCustomMPIIO::openfile() else { // replace open int err = MPI_File_open( world, filecurrent, MPI_MODE_CREATE | MPI_MODE_APPEND | MPI_MODE_WRONLY , MPI_INFO_NULL, &mpifh); - if (err != MPI_SUCCESS) - error->one(FLERR,"Cannot open dump file"); + if (err != MPI_SUCCESS) { + char str[128]; + sprintf(str,"Cannot open dump file %s",filecurrent); + error->one(FLERR,str); + } mpifo = 0; MPI_File_set_size(mpifh,(MPI_Offset) (headerSize+sumFileSize)); currentFileSize = (headerSize+sumFileSize); + } } @@ -566,7 +573,7 @@ void DumpCustomMPIIO::write_string(int n, double *mybuf) int DumpCustomMPIIO::convert_string_omp(int n, double *mybuf) { - double *localbuf = mybuf; + MPI_Status mpiStatus; char **mpifh_buffer_line_per_thread; int mpifhStringCount; int *mpifhStringCountPerThread, *bufOffset, *bufRange, *bufLength; @@ -601,7 +608,7 @@ int DumpCustomMPIIO::convert_string_omp(int n, double *mybuf) mpifh_buffer_line_per_thread[i] = (char *) malloc(DUMP_BUF_CHUNK_SIZE * sizeof(char)); mpifh_buffer_line_per_thread[i][0] = '\0'; -#pragma omp parallel default(none) shared(localbuf,bufLength,bufOffset,bufRange,mpifhStringCountPerThread,mpifh_buffer_line_per_thread) +#pragma omp parallel default(none) shared(bufOffset, bufRange, bufLength, mpifhStringCountPerThread, mpifh_buffer_line_per_thread, mybuf) { int tid = omp_get_thread_num(); int m=0; @@ -615,11 +622,11 @@ int DumpCustomMPIIO::convert_string_omp(int n, double *mybuf) for (int j = 0; j < size_one; j++) { if (vtype[j] == INT) - mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),vformat[j],static_cast (localbuf[bufOffset[tid]+m])); + mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),vformat[j],static_cast (mybuf[bufOffset[tid]+m])); else if (vtype[j] == DOUBLE) - mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),vformat[j],localbuf[bufOffset[tid]+m]); + mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),vformat[j],mybuf[bufOffset[tid]+m]); else if (vtype[j] == STRING) - mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),vformat[j],typenames[(int) localbuf[bufOffset[tid]+m]]); + mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),vformat[j],typenames[(int) mybuf[bufOffset[tid]+m]]); m ++; } mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),"\n"); diff --git a/src/MPIIO/dump_xyz_mpiio.cpp b/src/MPIIO/dump_xyz_mpiio.cpp index fe1f65fc3c..e6fa259920 100644 --- a/src/MPIIO/dump_xyz_mpiio.cpp +++ b/src/MPIIO/dump_xyz_mpiio.cpp @@ -103,8 +103,11 @@ void DumpXYZMPIIO::openfile() if (append_flag) { // append open int err = MPI_File_open( world, filecurrent, MPI_MODE_CREATE | MPI_MODE_APPEND | MPI_MODE_WRONLY , MPI_INFO_NULL, &mpifh); - if (err != MPI_SUCCESS) - error->one(FLERR,"Cannot open dump file"); + if (err != MPI_SUCCESS) { + char str[128]; + sprintf(str,"Cannot open dump file %s",filecurrent); + error->one(FLERR,str); + } int myrank; MPI_Comm_rank(world,&myrank); if (myrank == 0) @@ -116,12 +119,16 @@ void DumpXYZMPIIO::openfile() else { // replace open int err = MPI_File_open( world, filecurrent, MPI_MODE_CREATE | MPI_MODE_APPEND | MPI_MODE_WRONLY , MPI_INFO_NULL, &mpifh); - if (err != MPI_SUCCESS) - error->one(FLERR,"Cannot open dump file"); + if (err != MPI_SUCCESS) { + char str[128]; + sprintf(str,"Cannot open dump file %s",filecurrent); + error->one(FLERR,str); + } mpifo = 0; MPI_File_set_size(mpifh,(MPI_Offset) (headerSize+sumFileSize)); currentFileSize = (headerSize+sumFileSize); + } } @@ -308,7 +315,7 @@ void DumpXYZMPIIO::write_string(int n, double *mybuf) int DumpXYZMPIIO::convert_string_omp(int n, double *mybuf) { - double *localbuf = mybuf; + MPI_Status mpiStatus; char **mpifh_buffer_line_per_thread; int mpifhStringCount; int *mpifhStringCountPerThread, *bufOffset, *bufRange, *bufLength; @@ -343,7 +350,7 @@ int DumpXYZMPIIO::convert_string_omp(int n, double *mybuf) mpifh_buffer_line_per_thread[i] = (char *) malloc(DUMP_BUF_CHUNK_SIZE * sizeof(char)); mpifh_buffer_line_per_thread[i][0] = '\0'; -#pragma omp parallel default(none) shared(localbuf,bufLength,bufOffset,bufRange,mpifhStringCountPerThread,mpifh_buffer_line_per_thread) +#pragma omp parallel default(none) shared(bufOffset, bufRange, bufLength, mpifhStringCountPerThread, mpifh_buffer_line_per_thread, mybuf) { int tid = omp_get_thread_num(); int m=0; @@ -355,7 +362,7 @@ int DumpXYZMPIIO::convert_string_omp(int n, double *mybuf) bufLength[tid] = (mpifhStringCountPerThread[tid]+DUMP_BUF_CHUNK_SIZE) * sizeof(char); } - mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),format,typenames[static_cast (localbuf[bufOffset[tid]+m+1])],localbuf[bufOffset[tid]+m+2],localbuf[bufOffset[tid]+m+3],localbuf[bufOffset[tid]+m+4]); + mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),format,typenames[static_cast (mybuf[bufOffset[tid]+m+1])],mybuf[bufOffset[tid]+m+2],mybuf[bufOffset[tid]+m+3],mybuf[bufOffset[tid]+m+4]); m += size_one; }