Hi, <br><br>I am now trying to trace from the Flash IO benchmark to the PVFS2. To do so, I modified pnetcdf, mpich2, and pvfs2.<br>I believe that Parallel netCDF runs as a library between Flash IO benchmark and PVFS2. So after processing pnetCDF requests from Flash IO, it passes the parallel IO requests down to MPI-IO library, and finally PVFS2 servers receive the MPI-IO requests from PVFS2 clients and perform IO.<br>
I&#39;ve found that the function call sequence is that:<br><br>1. ncmpi_put_vara_all (parallel-netcdf-1.1.1/src/lib/mpinetcdf.c)<br>2. MPI_File_write_all (mpich2-1.0.8/src/mpi/romio/mpi-io/write_all.c)<br>
3. MPIOI_File_write_all (mpich2-1.0.8/src/mpi/romio/mpi-io/write_all.c)<br>4. ADIO_WriteStridedColl <br>5. ADIOI_GEN_WriteStridedColl (mpich2-1.0.8/src/mpi/romio/adio/common/ad_write_coll.c)<br>6. ADIO_WriteContig (???)<br>
7. ADIOI_PVFS2_WriteContig<br>Finally. PVFS_sys_write()<br><br>Here is a part of ADIOI_GEN_WriteStridedColl in 5.<br><br>        if (buftype_is_contig &amp;&amp; filetype_is_contig) {<br>            if (file_ptr_type == ADIO_EXPLICIT_OFFSET) {<br>
                off = fd-&gt;disp + (fd-&gt;etype_size) * offset; <br>                ADIO_WriteContig(fd, buf, count, datatype, ADIO_EXPLICIT_OFFSET, off, status, error_code);   <br>            }<br>            else <br>
                 =============================================================<br>                 ===&gt; This is called <br>                 ADIO_WriteContig(fd, buf, count, datatype, ADIO_INDIVIDUAL, 0, status, error_code);<br>
              <br>        }<br>        else   <br>            ADIO_WriteStrided(fd, buf, count, datatype, file_ptr_type, offset, status, error_code);   <br>        <br>In ADIOI_GEN_WriteStridedColl, the second ADIO_WriteContig is called as I marked above when MPI_FIle_write_all() is issued. Finally, PVFS_sys_write in ADIOI_PVFS2_WriteContig is issued and then PVFS2 client is able to know this call is what I want to trace.<br>
<br>Unfortunately, I can&#39;t see that MPI_File_write_all in ncmpi_put_vara_all, parallel-netcdf-1.1.1 actually calls ADIO_WriteContig. Because call id can&#39;t be passed from MPI library to PVFS2, I can&#39;t trace this call.<br>
To make sure that this is the case, I ran the simple program which uses the same MPI_File_write_all and can see what I want, but I can&#39;t see it when I ran Flash IO benchmark.<br><br>Is there anybody who help me or has the same situation?<br>
<br>Thank you.<br><br>- Shawn<br> <br><br>