- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have a long running fortran program compiled with Intel IFX and running VS2022 v17.14 in Windows 11.
I have a timer for 2 hours of CPU time incorporated in the code. However, after sometimes running for around 2 minutes, the program stops computing for 60-90 minutes. then it sometimes continues computing for around an hour and then halts computing again. I print out the CPU time taken as well as the wall clock time in order to determine what is happening. I have tried running the program being disconnected from the internet but to no avail. When the program stops computing for a period of time appears to be random. Any thoughts?
I have run the program on an older Windows 10 machine and do not have this issue.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is this Release Build or Debug Build?
If Debug Build, click on the Pause button. Open the thread window, and for each thread, set the focus to that thread and see where the program counter is located (statement). Note, if that thread is located in a system function, then open the Call Stack window and higher levels until you reach the ifx code making the system call. Knowing where each thread is located and what it is doing may help you figure out what is happening.
If in Release Build, (and if Debug Build does not exhibit this problem), set the properties of Release Build to generate Debug information and assure the linker includes the debug information. Build the solution and run the program from the IDE, when hanging, click on Pause button and see where all threads of the process are located and what they may be waiting for.
If running Release Build from the IDE does not exhibit the problem, then run/launch the program in a manner that does exhibit the problem. Keep the IDE open to the solution (but not in a debug session). When the program hangs, click on Debug | Attach to Process
and browse to your process, and attach. Then examine each thread location within your program.
FWIW, if you have your application console window open, and you click into the window while moving the mouse (ie select text), or do an edit, and if the application attempts to write to the console, the application will pause until you finish your edit of the console window.
If your application consumes more virtual memory than available RAM (available to user processes), your application may require excessive paging in order to continue. The Windows Task Manager can help you monitor the memory usage of your application (so can MS VS).
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Many thanks for the suggestions. I will try them. Sorry for the delay in responding. I was sidetracked by another issue with the Fortran compiler which I have now fixed.
I'll let you know.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page