📄 ioharness.defn
字号:
<findOffset/> nreq = 1; fh.Seek( offset, MPI_SEEK_SET ); <checkErrStart/> req[0] = fh.Iwrite( buf, n, MPI::INT); <checkErrEnd/> if (k+1 < b) { offset = offset + (s * n) * sizeof(int); fh.Seek( offset, MPI_SEEK_SET ); <setContigBuffer2/> nreq++; <checkErrStart/> req[1] = fh.Iwrite( buf2, n, MPI::INT ); <checkErrEnd/> } <checkErrStart/> MPI::Request::Waitall( nreq, req, statuses ); <checkErrEnd/>}</writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile>for (k=0; k<b; k+=2) { <clearContigBuffer/> <findOffset/> nreq = 1; fh.Seek( offset, MPI_SEEK_SET ); <checkErrStart/> req[0] = fh.Iread( buf, n, MPI::INT ); <checkErrEnd/> if (k+1 < b) { offset = offset + (s * n) * sizeof(int); fh.Seek( offset, MPI_SEEK_SET ); <clearContigBuffer2/> nreq++; <checkErrStart/> req[1] = fh.Iread( buf2, n, MPI::INT ); <checkErrEnd/> } <checkErrStart/> MPI::Request::Waitall( nreq, req, statuses ); <checkErrEnd/> <checkContigBuffer/> if (nreq == 2) { <checkContigBuffer2/> }}</readfile></TESTDEFN><TESTDEFN filename="iwritenosx.cxx"><writefiledecl>int buf[MAX_BUFFER], buf2[MAX_BUFFER], ans;MPI::Request req[2]; int nreq;MPI::Offset offset;</writefiledecl><writefile>for (k=0; k<b; k+=2) { <setContigBuffer/> <findOffset/> nreq = 1; fh.Seek( offset, MPI_SEEK_SET ); <checkErrStart/> req[0] = fh.Iwrite( buf, n, MPI::INT); <checkErrEnd/> if (k+1 < b) { offset = offset + (s * n) * sizeof(int); fh.Seek( offset, MPI_SEEK_SET ); <setContigBuffer2/> nreq++; <checkErrStart/> req[1] = fh.Iwrite( buf2, n, MPI::INT ); <checkErrEnd/> } <checkErrStart/> MPI::Request::Waitall( nreq, req ); <checkErrEnd/>}</writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile>for (k=0; k<b; k+=2) { <clearContigBuffer/> <findOffset/> nreq = 1; fh.Seek( offset, MPI_SEEK_SET ); <checkErrStart/> req[0] = fh.Iread( buf, n, MPI::INT ); <checkErrEnd/> if (k+1 < b) { offset = offset + (s * n) * sizeof(int); fh.Seek( offset, MPI_SEEK_SET ); <clearContigBuffer2/> nreq++; <checkErrStart/> req[1] = fh.Iread( buf2, n, MPI::INT ); <checkErrEnd/> } <checkErrStart/> MPI::Request::Waitall( nreq, req ); <checkErrEnd/> <checkContigBuffer/> if (nreq == 2) { <checkContigBuffer2/> }}</readfile></TESTDEFN># This test uses nonblocking I/O with shared file pointers<TESTDEFN filename="iwriteshx.cxx"><writefiledecl>MPI::Status status;int buf[MAX_BUFFER], ans;int src, dest;MPI::Request req;</writefiledecl><writefile><setpartners/><startpipe/>for (k=0; k<b; k++) { <recvtoken/> <setContigBuffer/> <checkErrStart/> req = fh.Iwrite_shared( buf, n, MPI::INT ); <checkErrEnd/> req.Wait( status ); <checkStatus/> <forwardtoken/>}<endpipe/></writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile><setpartners/><startpipe/>for (k=0; k<b; k++) { <recvtoken/> <clearContigBuffer/> <checkErrStart/> req = fh.Iread_shared( buf, n, MPI::INT ); <checkErrEnd/> req.Wait( status ); <checkStatus/> <checkContigBuffer/> <forwardtoken/>}<endpipe/></readfile></TESTDEFN># This test uses nonblocking I/O with shared file pointers<TESTDEFN filename="iwriteshnosx.cxx"><writefiledecl>int buf[MAX_BUFFER], ans;int src, dest;MPI::Request req;</writefiledecl><writefile><setpartners/><startpipe/>for (k=0; k<b; k++) { <recvtoken/> <setContigBuffer/> <checkErrStart/> req = fh.Iwrite_shared( buf, n, MPI::INT ); <checkErrEnd/> req.Wait( ); <forwardtoken/>}<endpipe/></writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile><setpartners/><startpipe/>for (k=0; k<b; k++) { <recvtoken/> <clearContigBuffer/> <checkErrStart/> req = fh.Iread_shared( buf, n, MPI::INT ); <checkErrEnd/> req.Wait( ); <checkContigBuffer/> <forwardtoken/>}<endpipe/></readfile></TESTDEFN># This test uses collective I/O<TESTDEFN filename="writeallx.cxx"><writefiledecl>MPI::Status status;int buf[MAX_BUFFER], ans;MPI::Datatype filetype;MPI::Offset offset;</writefiledecl><writefile><setcontigview/>for (k=0; k<b; k++) { <setContigBuffer/> <checkErrStart/> fh.Write_all( buf, n, MPI::INT, status); <checkErrEnd/> <checkStatus/>}</writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile><setcontigview/>for (k=0; k<b; k++) { <clearContigBuffer/> <checkErrStart/> fh.Read_all( buf, n, MPI::INT, status); <checkErrEnd/> <checkStatus/> <checkContigBuffer/>}</readfile></TESTDEFN># This test uses collective I/O<TESTDEFN filename="writeallnosx.cxx"><writefiledecl>int buf[MAX_BUFFER], ans;MPI::Datatype filetype;MPI::Offset offset;</writefiledecl><writefile><setcontigview/>for (k=0; k<b; k++) { <setContigBuffer/> <checkErrStart/> fh.Write_all( buf, n, MPI::INT); <checkErrEnd/>}</writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile><setcontigview/>for (k=0; k<b; k++) { <clearContigBuffer/> <checkErrStart/> fh.Read_all( buf, n, MPI::INT); <checkErrEnd/> <checkContigBuffer/>}</readfile></TESTDEFN># This test uses split collective I/O<TESTDEFN filename="writeallbex.cxx"><writefiledecl>MPI::Status status;int buf[MAX_BUFFER], ans;MPI::Datatype filetype;MPI::Offset offset;</writefiledecl><writefile><setcontigview/>for (k=0; k<b; k++) { <setContigBuffer/> <checkErrStart/> fh.Write_all_begin( buf, n, MPI::INT ); <checkErrEnd/> <checkErrStart/> fh.Write_all_end( buf, status ); <checkErrEnd/> <checkStatus/>}</writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile><setcontigview/>for (k=0; k<b; k++) { <clearContigBuffer/> <checkErrStart/> fh.Read_all_begin( buf, n, MPI::INT); <checkErrEnd/> <checkErrStart/> fh.Read_all_end( buf, status); <checkErrEnd/> <checkStatus/> <checkContigBuffer/>}</readfile></TESTDEFN># This test uses split collective I/O<TESTDEFN filename="writeallbenosx.cxx"><writefiledecl>int buf[MAX_BUFFER], ans;MPI::Datatype filetype;MPI::Offset offset;</writefiledecl><writefile><setcontigview/>for (k=0; k<b; k++) { <setContigBuffer/> <checkErrStart/> fh.Write_all_begin( buf, n, MPI::INT ); <checkErrEnd/> <checkErrStart/> fh.Write_all_end( buf ); <checkErrEnd/>}</writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile><setcontigview/>for (k=0; k<b; k++) { <clearContigBuffer/> <checkErrStart/> fh.Read_all_begin( buf, n, MPI::INT); <checkErrEnd/> <checkErrStart/> fh.Read_all_end( buf ); <checkErrEnd/> <checkContigBuffer/>}</readfile></TESTDEFN># This test uses the shared file pointers collectively.<TESTDEFN filename="writeordx.cxx"><writefiledecl>MPI::Status status;int buf[MAX_BUFFER], ans;MPI::Offset offset;</writefiledecl><writefile>for (k=0; k<b; k++) { <setContigBuffer/> <checkErrStart/> fh.Write_ordered( buf, n, MPI::INT, status); <checkErrEnd/> <checkStatus/>}</writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile>for (k=0; k<b; k++) { <clearContigBuffer/> <checkErrStart/> fh.Read_ordered( buf, n, MPI::INT, status); <checkErrEnd/> <checkStatus/> <checkContigBuffer/>}</readfile></TESTDEFN><TESTDEFN filename="writeordnosx.cxx"><writefiledecl>int buf[MAX_BUFFER], ans;MPI::Offset offset;</writefiledecl><writefile>for (k=0; k<b; k++) { <setContigBuffer/> <checkErrStart/> fh.Write_ordered( buf, n, MPI::INT ); <checkErrEnd/>}</writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile>for (k=0; k<b; k++) { <clearContigBuffer/> <checkErrStart/> fh.Read_ordered( buf, n, MPI::INT ); <checkErrEnd/> <checkContigBuffer/>}</readfile></TESTDEFN># This test uses the shared file pointers with split collectives.<TESTDEFN filename="writeordbex.cxx"><writefiledecl>MPI::Status status;int buf[MAX_BUFFER], ans;MPI::Offset offset;</writefiledecl><writefile>for (k=0; k<b; k++) { <setContigBuffer/> <checkErrStart/> fh.Write_ordered_begin( buf, n, MPI::INT); <checkErrEnd/> <checkErrStart/> fh.Write_ordered_end( buf, status); <checkErrEnd/> <checkStatus/>}</writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile>for (k=0; k<b; k++) { <clearContigBuffer/> <checkErrStart/> fh.Read_ordered_begin( buf, n, MPI::INT); <checkErrEnd/> <checkErrStart/> fh.Read_ordered_end( buf, status); <checkErrEnd/> <checkStatus/> <checkContigBuffer/>}</readfile></TESTDEFN><TESTDEFN filename="writeordbenosx.cxx"><writefiledecl>int buf[MAX_BUFFER], ans;MPI::Offset offset;</writefiledecl><writefile>for (k=0; k<b; k++) { <setContigBuffer/> <checkErrStart/> fh.Write_ordered_begin( buf, n, MPI::INT); <checkErrEnd/> <checkErrStart/> fh.Write_ordered_end( buf ); <checkErrEnd/>}</writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile>for (k=0; k<b; k++) { <clearContigBuffer/> <checkErrStart/> fh.Read_ordered_begin( buf, n, MPI::INT); <checkErrEnd/> <checkErrStart/> fh.Read_ordered_end( buf ); <checkErrEnd/> <checkContigBuffer/>}</readfile></TESTDEFN># This test uses the shared file pointers independently.# We pass a token to control the oredering<TESTDEFN filename="writeshx.cxx"><writefiledecl>MPI::Status status;int buf[MAX_BUFFER], ans;int src, dest;</writefiledecl><writefile><setpartners/><startpipe/>for (k=0; k<b; k++) { <recvtoken/> <setContigBuffer/> <checkErrStart/> fh.Write_shared( buf, n, MPI::INT, status); <checkErrEnd/> <checkStatus/> <forwardtoken/>}<endpipe/></writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile><setpartners/><startpipe/>for (k=0; k<b; k++) { <recvtoken/> <clearContigBuffer/> <checkErrStart/> fh.Read_shared( buf, n, MPI::INT, status); <checkErrEnd/> <checkStatus/> <checkContigBuffer/> <forwardtoken/>}<endpipe/></readfile></TESTDEFN><TESTDEFN filename="writeshnosx.cxx"><writefiledecl>int buf[MAX_BUFFER], ans;int src, dest;</writefiledecl><writefile><setpartners/><startpipe/>for (k=0; k<b; k++) { <recvtoken/> <setContigBuffer/> <checkErrStart/> fh.Write_shared( buf, n, MPI::INT ); <checkErrEnd/> <forwardtoken/>}<endpipe/></writefile># No extra declarations are needed for the read step<readfiledecl></readfiledecl><readfile><setpartners/><startpipe/>for (k=0; k<b; k++) { <recvtoken/> <clearContigBuffer/> <checkErrStart/> fh.Read_shared( buf, n, MPI::INT ); <checkErrEnd/> <checkContigBuffer/> <forwardtoken/>}<endpipe/></readfile></TESTDEFN>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -