<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<span style="font-size: 15px;" class="">Today I do some other experiments on instrumenting pytorch using darshan. I guess it is very likely that pytorch’s default DataLoader uses multiprocessing so I cannot get the correct darshan log. </span>
<div class=""><span style="font-size: 15px;" class="">I switch to NVIDIA DALI(<a href="https://docs.nvidia.com/deeplearning/dali/user-guide/docs/index.html" class="">https://docs.nvidia.com/deeplearning/dali/user-guide/docs/index.html</a>) which is another
 data loading backend instead of using multiprocessing to load data. Now it seems that darshan can collect IO behavior as using darshan-parser, I can see POSIX read/write logs on the files I am using. </span>
<div class=""><span style="font-size: 15px;" class="">However, there is still a problem. As I am training ImageNet which in total is 160GB and has 1.2 million images and 1k folders. Darshan seems ran out of memory. I have tuned the DARSHAN_MODMEM environment
 variable up to 40960 MB. I get the warning log: darshan_library_warning: error compressing job record darshan_library_warning: unable to write job record to file. </span></div>
<div class=""><span style="font-size: 15px;" class="">I add some debug lines in darshan-runtime source code. Darshan hit this line: tmp_stream.avail_out == 0 (<a href="https://github.com/darshan-hpc/darshan/blob/e85b8bc929da91e54ff68fb1210dfe7bee3261a3/darshan-runtime/lib/darshan-core.c#L2039" class="">https://github.com/darshan-hpc/darshan/blob/e85b8bc929da91e54ff68fb1210dfe7bee3261a3/darshan-runtime/lib/darshan-core.c#L2039</a>).
 It seems that the zlib is trying to compress the buffered data but run out of buffer. My current working node has 60GB main memory.</span></div>
<div class=""><span style="font-size: 15px;" class="">So what should I do now? To use another node with bigger memory size, or tune the </span><span style="font-size: 15px;" class="">DARSHAN_MODMEM to a very big size?</span></div>
<div class=""><span style="font-size: 15px;" class=""><br class="">
</span></div>
<div class=""><span style="font-size: 15px;" class="">Thank you very much if you can reply.</span></div>
<div class=""><span style="font-size: 15px;" class=""><br class="">
</span></div>
<div class=""><span style="font-size: 15px;" class="">Lu</span></div>
<div class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">2021年6月18日 上午5:26,Snyder, Shane <<a href="mailto:ssnyder@mcs.anl.gov" class="">ssnyder@mcs.anl.gov</a>> 写道:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
<span style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;" class="">Hi Lu,</span>
<div style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;" class="">
<br class="">
</div>
<div style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;" class="">
(sending to the entire mailing list now)<br class="">
</div>
<div style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;" class="">
<br class="">
</div>
<div style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;" class="">
Unfortunately, we don't currently have a tool for either combining multiple logs from a workflow into a single log file or analysis tools that work on sets of logs.<span class="Apple-converted-space"> </span><br class="">
</div>
<div style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;" class="">
<br class="">
</div>
<div style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;" class="">
We do have a utility called 'darshan-merge' that was written to help merge together Darshan logs for another use case, but I don't think it will work right for this case from some quick testing. I've opened an issue on our GitHub page (<a href="https://github.com/darshan-hpc/darshan/issues/401" target="_blank" rel="noopener noreferrer" data-auth="NotApplicable" data-linkindex="0" class="">https://github.com/darshan-hpc/darshan/issues/401</a>)
 to remind myself to see if I can rework this tool to be more helpful in cases like yours.</div>
<div class=""></div>
<div style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;" class="">
<br class="">
</div>
<div style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;" class="">
At some point, we'd like to offer some of our own analysis tools that are workflow aware and can summarize data from multiple Darshan logs. That's something that's going to take some time though, as we are just now starting to look at revamping some of our
 analysis tools using the new PyDarshan interface to Darshan logs. BTW, PyDarshan might be something you could consider using if you wanted to come up with your own analysis tools for Darshan data, but that might be more work than you're looking for. In case
 it's helpful, here's some documentation on PyDarshan:<span class="Apple-converted-space"> </span><a href="https://www.mcs.anl.gov/research/projects/darshan/docs/pydarshan/index.html" target="_blank" rel="noopener noreferrer" data-auth="NotApplicable" data-linkindex="1" class="">https://www.mcs.anl.gov/research/projects/darshan/docs/pydarshan/index.html</a><br class="">
</div>
<div style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;" class="">
<br class="">
</div>
<div style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;" class="">
Thanks,</div>
<span style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;" class="">--Shane</span><br class="">
</div>
<div id="appendonsend" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
</div>
<hr tabindex="-1" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline-block; width: 748.71875px;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class=""></span>
<div id="divRplyFwdMsg" dir="ltr" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<font face="Calibri, sans-serif" style="font-size: 11pt;" class=""><b class="">From:</b><span class="Apple-converted-space"> </span>Darshan-users <<a href="mailto:darshan-users-bounces@lists.mcs.anl.gov" class="">darshan-users-bounces@lists.mcs.anl.gov</a>>
 on behalf of Lu Weizheng <<a href="mailto:luweizheng36@hotmail.com" class="">luweizheng36@hotmail.com</a>><br class="">
<b class="">Sent:</b><span class="Apple-converted-space"> </span>Tuesday, June 15, 2021 3:43 AM<br class="">
<b class="">To:</b><span class="Apple-converted-space"> </span><a href="mailto:darshan-users@lists.mcs.anl.gov" class="">darshan-users@lists.mcs.anl.gov</a> <<a href="mailto:darshan-users@lists.mcs.anl.gov" class="">darshan-users@lists.mcs.anl.gov</a>><br class="">
<b class="">Subject:</b><span class="Apple-converted-space"> </span>[Darshan-users] Using darshan to instrument PyTorch</font>
<div class=""> </div>
</div>
<div dir="ltr" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
Hi,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
<br class="">
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
I am using darshan to instrument PyTorch on a local machine. My workload is an image classification problem on ImageNet dataset. When the training process ended, there are a lot of logs generated. Like:</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
<br class="">
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
u2020000_python_id4719_6-15-41351-17690910011763757569_1.darshan     </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
u2020000_python_id5012_6-15-42860-17690910011763757569_1.darshan
<div class="">u2020000_python_id4721_6-15-41352-17690910011763757569_1.darshan     </div>
<div class="">u2020000_uname_id4720_6-15-41351-17690910011763757569_1.darshan</div>
<div class="">u2020000_python_id4722_6-15-41352-17690910011763757569_1.darshan     </div>
<div class="">u2020000_uname_id4723_6-15-41354-17690910011763757569_1.darshan</div>
u2020000_python_id4758_6-15-41830-17690910011763757569_1.darshan     </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
u2020000_uname_id4724_6-15-41354-17690910011763757569_1.darshan</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
...</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
<br class="">
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
After using the darshan-util analysis tool for one of the above log file, it shows: I/O performance estimate (at the POSIX layer): transferred 7.5 MiB at 36.02 MiB/s</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
<br class="">
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
The transferred data showed in the PDF report is far less than the whole dataset size.<span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">As PyTorch DataLoader is a multi-process program, I guess darshan generate every
 log for every process. </span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
<br class="">
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
My question is: how can I get the IO analysis for the whole PyTorch workload task instead of these process logs?</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</body>
</html>