-
Notifications
You must be signed in to change notification settings - Fork 415
Very long runtime in parse_vtr_flow #1647
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
May be due to huge number of deprecated warnings from rr-graph, based on what Xifan has said. |
Long stack trace:
|
I have run vtr_strong regression test on my local machine (64-core 2.6GHz CPU), where I push test run on 32 cores.
I am trying to get a detail profiling report like the stack trace but have no clue how to run it. If you can share the command to run, I will try. |
|
@jgoeders can you or somone on your team take a look? This is a long time for parsing with log files that aren't that big. We had an issue with lots of warnings that was exacerbating this, but even after fixing that we have slow parse times (parse time is 50% of the time of a total vpr run). |
Procedures to replicate my tests:
|
I can't reproduce. I've added a PR (#1658) that prints the parse time, and the CI runs with 618s vpr, 14s parse. https://github.com/verilog-to-routing/vtr-verilog-to-routing/pull/1658/checks?check_run_id=1852010637 I see similar results on two different local machines, testing with Can anyone else reproduce this locally? |
@jgoeders I managed to reproduce your results on my local machine. I may did something wrong last time. Let me investigate and go back to you later. |
I just did some tests to find out where the runtime difference coming from. Here is what I have found:
On my local machine, there are two types of hard disks:
This is what I have found so far. I am not sure about how the hard disk is organized on |
Thanks for the additional info. Both of the local machines I tried are SSDs, so it sounds like this is bound by disk I/O. Not sure if there's much to be done to speed it up but I'll take a look. |
We might be able to put some files we parse on a diet. Sarah is simplifying and summarizing the clustering log file output. Are we parsing any big files other than the log file? Is some of the log file too big? |
Kokoro disks should be pretty fast, but if we are disk limited and it is taking between 10 - 60 seconds on local machines, we probably need to put the logs on a diet (like Vaughn suggested). |
For additional context relevant to this issue, kokoro was spending more ~1.5 hrs parsing nightly logs in some instances. |
My plan is to take a look at the code, and make sure we aren't reading the file in more than once, and that there aren't any unnecessarily complicated regexs. Aside from that, not sure there's much to do aside from slimming the logs. |
Looks like we were reading each log file file multiple times: once for each things we were looking for. I'm fixing it in #1658 so that it groups parse items by filename and only reads each file once. @tangxifan Can you see if this fix is faster for you? |
Hi @jgoeders, Results on a RAID disk (was 36.08 seconds)
Results on a SSD (was 11.28 seconds)
|
Great, thanks for running that! Looks like this is a solid improvement. It is now reading the files one line at a time and matching against all patterns we are looking for. I tried reading the entire file at once, and doing a single regex match on the entire file for each pattern but that didn't seem to improve performance at all, so I'll leave it at this. I'm hesitant to merge this until we fix the nightly so it passes (#1666) I don't want to push changes to the parser while we are still debugging QoR issues that use the parser. |
Thanks @jgoeders. Nightly should pass now; Aman had some stale QoR data in a new regtest he added and he has disabled that test until he has time to get the QoR data updated. So if you do a PR the nightly should pass and we can merge this |
@vaughnbetz Hmm, my PR #1658 is still failing the nightly. Not sure if this is from my changes or not, but it doesn't look like master is passing the nightly either. |
Uh oh!
There was an error while loading. Please reload this page.
The text was updated successfully, but these errors were encountered: