mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-03 05:24:32 +00:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			feature/bl
			...
			feature/be
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d4290a7434 | 
@@ -271,7 +271,7 @@ class BinaryIO {
 | 
				
			|||||||
			      uint32_t &scidac_csumb)
 | 
								      uint32_t &scidac_csumb)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    grid->Barrier();
 | 
					    grid->Barrier();
 | 
				
			||||||
    GridStopWatch timer; 
 | 
					    GridStopWatch timer, insideTimer; 
 | 
				
			||||||
    GridStopWatch bstimer;
 | 
					    GridStopWatch bstimer;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    nersc_csum=0;
 | 
					    nersc_csum=0;
 | 
				
			||||||
@@ -363,7 +363,10 @@ class BinaryIO {
 | 
				
			|||||||
	std::cout<< GridLogMessage<<"IOobject: MPI read I/O "<< file<< std::endl;
 | 
						std::cout<< GridLogMessage<<"IOobject: MPI read I/O "<< file<< std::endl;
 | 
				
			||||||
	ierr=MPI_File_open(grid->communicator,(char *) file.c_str(), MPI_MODE_RDONLY, MPI_INFO_NULL, &fh);    assert(ierr==0);
 | 
						ierr=MPI_File_open(grid->communicator,(char *) file.c_str(), MPI_MODE_RDONLY, MPI_INFO_NULL, &fh);    assert(ierr==0);
 | 
				
			||||||
	ierr=MPI_File_set_view(fh, disp, mpiObject, fileArray, "native", MPI_INFO_NULL);    assert(ierr==0);
 | 
						ierr=MPI_File_set_view(fh, disp, mpiObject, fileArray, "native", MPI_INFO_NULL);    assert(ierr==0);
 | 
				
			||||||
	ierr=MPI_File_read_all(fh, &iodata[0], 1, localArray, &status);    assert(ierr==0);
 | 
					  insideTimer.Start();
 | 
				
			||||||
 | 
						ierr=MPI_File_read_all(fh, &iodata[0], 1, localArray, &status);
 | 
				
			||||||
 | 
					  insideTimer.Stop();
 | 
				
			||||||
 | 
					  assert(ierr==0);
 | 
				
			||||||
	MPI_File_close(&fh);
 | 
						MPI_File_close(&fh);
 | 
				
			||||||
	MPI_Type_free(&fileArray);
 | 
						MPI_Type_free(&fileArray);
 | 
				
			||||||
	MPI_Type_free(&localArray);
 | 
						MPI_Type_free(&localArray);
 | 
				
			||||||
@@ -438,7 +441,9 @@ class BinaryIO {
 | 
				
			|||||||
        assert(ierr == 0);
 | 
					        assert(ierr == 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        std::cout << GridLogDebug << "MPI write I/O write all " << file << std::endl;
 | 
					        std::cout << GridLogDebug << "MPI write I/O write all " << file << std::endl;
 | 
				
			||||||
 | 
					        insideTimer.Start();
 | 
				
			||||||
        ierr = MPI_File_write_all(fh, &iodata[0], 1, localArray, &status);
 | 
					        ierr = MPI_File_write_all(fh, &iodata[0], 1, localArray, &status);
 | 
				
			||||||
 | 
					        insideTimer.Stop();
 | 
				
			||||||
        assert(ierr == 0);
 | 
					        assert(ierr == 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        MPI_Offset os;
 | 
					        MPI_Offset os;
 | 
				
			||||||
@@ -516,8 +521,13 @@ class BinaryIO {
 | 
				
			|||||||
    if ( control & BINARYIO_READ) std::cout << " read  ";
 | 
					    if ( control & BINARYIO_READ) std::cout << " read  ";
 | 
				
			||||||
    else                          std::cout << " write ";
 | 
					    else                          std::cout << " write ";
 | 
				
			||||||
    uint64_t bytes = sizeof(fobj)*iodata.size()*nrank;
 | 
					    uint64_t bytes = sizeof(fobj)*iodata.size()*nrank;
 | 
				
			||||||
    std::cout<< lastPerf.size <<" bytes in "<< timer.Elapsed() <<" "
 | 
					    std::cout<< lastPerf.size <<"bytes in "<< timer.Elapsed() <<" "
 | 
				
			||||||
	     << lastPerf.mbytesPerSecond <<" MB/s "<<std::endl;
 | 
						     << lastPerf.mbytesPerSecond <<" MB/s "<<std::endl;
 | 
				
			||||||
 | 
					    std::cout << GridLogMessage << "IOobject: pure MPI IO call " 
 | 
				
			||||||
 | 
					              << lastPerf.size <<" bytes in " 
 | 
				
			||||||
 | 
					              << insideTimer.Elapsed() << " "
 | 
				
			||||||
 | 
					              << lastPerf.size/1024./1024./(insideTimer.useconds()/1.0e6)
 | 
				
			||||||
 | 
					              <<" MB/s "<<std::endl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    std::cout<<GridLogMessage<<"IOobject: endian and checksum overhead "<<bstimer.Elapsed()  <<std::endl;
 | 
					    std::cout<<GridLogMessage<<"IOobject: endian and checksum overhead "<<bstimer.Elapsed()  <<std::endl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user