MPI_File outMPI;
int amode=MPI_MODE_CREATE|MPI_MODE_WRONLY;
- char* filename = new char[outputFile.length()];\r
- memcpy(filename, outputFile.c_str(), outputFile.length());
+ //char* filename = new char[outputFile.length()];
+ //memcpy(filename, outputFile.c_str(), outputFile.length());
+
+ char filename[1024];
+ strcpy(filename, outputFile.c_str());
MPI_File_open(MPI_COMM_WORLD, filename, amode, MPI_INFO_NULL, &outMPI);
- delete filename;
+ //delete filename;
if (pid == 0) { //you are the root process
MPI_File outMPI;
MPI_File inMPI;
- char* filename = new char[outputFile.length()];\r
- memcpy(filename, outputFile.c_str(), outputFile.length());
-
+ //char* filename = new char[outputFile.length()];
+ //memcpy(filename, outputFile.c_str(), outputFile.length());
+
+ char filename[1024];
+ strcpy(filename, outputFile.c_str());
+
MPI_File_open(MPI_COMM_SELF, filename, amode, MPI_INFO_NULL, &outMPI);
- delete filename;
+ //delete filename;
//wait on chidren
for(int b = 1; b < processors; b++) {
string outTemp = outputFile + toString(b) + ".temp";
- char* buf = new char[outTemp.length()];\r
+ char* buf = new char[outTemp.length()];
memcpy(buf, outTemp.c_str(), outTemp.length());
MPI_File_open(MPI_COMM_SELF, buf, MPI_MODE_DELETE_ON_CLOSE|MPI_MODE_RDONLY, MPI_INFO_NULL, &inMPI);
delete buf;
int count = 0;
- while (count < fileSize) { //read 1000 characters at a time
- //send freqs
+ while (count < fileSize) {
char buf2[1];
MPI_File_read(inMPI, buf2, 1, MPI_CHAR, &status);
MPI_File_write(outMPI, buf2, 1, MPI_CHAR, &status);
MPI_Send(&size, 1, MPI_LONG, 0, tag, MPI_COMM_WORLD);
}
}
+ MPI_Barrier(MPI_COMM_WORLD); //make everyone wait - just in case
#else
#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
if (output == "square") { convertMatrix(outputFile); }
+ ifstream fileHandle;
+ fileHandle.open(outputFile.c_str());
+ if(fileHandle) {
+ gobble(fileHandle);
+ if (fileHandle.eof()) { m->mothurOut(outputFile + " is blank. This can result if there are no distances below your cutoff."); m->mothurOutEndLine(); }
+ }
+
+
#ifdef USE_MPI
}
#endif
//send results to parent
int length = outputString.length();
- char* buf = new char[length];\r
+ char* buf = new char[length];
memcpy(buf, outputString.c_str(), length);
MPI_File_write_shared(outMPI, buf, length, MPI_CHAR, &status);
MPI_File outMPI;
int amode=MPI_MODE_CREATE|MPI_MODE_WRONLY;
- char* filename = new char[file.length()];\r
- memcpy(filename, file.c_str(), file.length());
+ //char* filename = new char[file.length()];
+ //memcpy(filename, file.c_str(), file.length());
+ char filename[1024];
+ strcpy(filename, file.c_str());
+
MPI_File_open(MPI_COMM_SELF, filename, amode, MPI_INFO_NULL, &outMPI);
- delete filename;
+ //delete filename;
int startTime = time(NULL);
//send results to parent
int length = outputString.length();
- char* buf = new char[length];\r
+ char* buf = new char[length];
memcpy(buf, outputString.c_str(), length);
MPI_File_write(outMPI, buf, length, MPI_CHAR, &status);