error: pgcollect-Fatal-unable to find any RC file

When trying to use the profiler, I followed the instructions in the PGPROF HELP
(viz., "To profile your application named ‘myprog’, you execute the following commands:
$ pgcollect myprog
$ pgprof -exe myprog
")

I am using Visual Studio 2010 and specified the –Minfo=ccff option for the compile and link command lines.

When I follow these instructions from PGPROF HELP, I get the message:

pgcollect unable to find RC file
tried: pgcollect_rc pgcollectrc

and then when I try the pgprof command, I get a similar error message:

pgprof unable to find RC file
tried: pgprof_rc pgprof.rc


Any idea what this means or where I should look to find these files?
Should I create such files and if so, what should they contain?

Thanks,

Hi Terry,

Our tools engineers are investigating this but are having trouble reproducing the issue. They asked if you could post the output from the command “pgcollect -dryrun”. This might shed some light on the problem.

Thanks,
Mat

Here is the result you requested: (thanks)

C:\Users\myname\Documents\Visual Studio 2010\Projects\PVFProject2\PVFProject2\Win32\Debug>pgcollect -dryrun
pgcollect unable to find RC file
tried: pgcollect_rc pgcollectrc
driver directory: C:\Users\myname\Documents\Visual Studio 2010\Projects\PVFProject2\PVFProject2\Win32\Debug
pgcollect-Fatal-unable to find any RC file

Hi Terry,

Sorry but it’s still a mystery as to the problem. Here’s the response I got back for one of our tools engineers:

I tried it with 11.5 PGI WS using the PGI DOS-Prompt window on win64 and
it worked fine.

pgcollect_rc and pgcollectrc should be in the PGI bin directory. It is
suspicious that the error says the driver directory is the user’s
project directory rather than something like “C:\Program
Files\PGI\win64\11.5\bin”. I don’t know why or how that would happen.
this is in common driver code that affects the compilers as much as
pgcollect.

If I was diagnosing this on my own system, I would check the following:
(1) are pgcollect_rc and pgcollectrc present in the PGI bin directory
(2) do the PGI compilers work from the same command line prompt
(3) are there any user- or site- custom rcfiles that could be messing
things up

Something that I just though of. Have you copied pgcollect from the PGI directories to your project directory? Is so, please remove this copy and set your PATH variable to include the path to your PGI bin directory or use one of the pre-configured PGI DOS or Bash shells.

  • Mat

I was able to remove the copy as your tool engineer suggested and set my
PATH variable to include the path to your PGI bin directory. It took about
15 minutes (mostly because of the lengthy paths involved and setting
the PATH in Windows is a bit awkward, since I am more familiar with UNIX),
but it now appears that pgcollect (at least) is now working
okay.

Could you tell me where I find out more about how to use one of the
pre-configured PGI DOS or Bash shells? I am running under Windows
Vista, so I assume the pre-configured PGI DOS shell is what you are
talking about (I haven’t ported the bash shell to my machine). I see no
reference to the pre-configured PGI DOS shell anywhere in the
pgprof documentation or user’s guide. Where can I read about it?

Now, it seems that pgprof is not doing much. I tried opening the file called
pgprof.out, but the window is still not showing anything like the user’s
guide says it should. I’m beginning to think I should purchase another
compiler. I’ve only got 23 hours on a trial license to figure this one out.
I am familiar with the Intel FORTRAN and their tools are pretty
easy to use. This stuff is very hard to use. Is there an easier way to
do all of this (maybe within Visual Studio ) ?

Anyway, here is the output from the pgprof command, so maybe
someone can explain why I am not seeing anything in the pgprof
window. THANKS in advance for any help… Terry

pgprof-Warning-Malformed $expr(), nonnumeric value 0-ea
pgprof-Warning-Malformed $expr(), nonnumeric value 0-ea
pgprof-Warning-Malformed $expr(), nonnumeric value 0-ea
pgprof-Warning-Malformed $expr(), nonnumeric value 0-ea
pgprof-Warning-Malformed $expr(), nonnumeric value 0-ea
pgprof-Warning-Malformed $expr(), nonnumeric value 0-ea
NOTE: your trial license will expire in 0 days, 23.1 hours.
java.util.concurrent.ExecutionException: java.lang.NumberFormatException: For input string: “0”
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
at javax.swing.SwingWorker.get(SwingWorker.java:600)
at PGInitTask.done(PGInitTask.java:58)
at javax.swing.SwingWorker$5.run(SwingWorker.java:735)
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:830)
at sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:840)
at javax.swing.Timer.fireActionPerformed(Timer.java:292)
at javax.swing.Timer$DoPostEvent.run(Timer.java:224)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:235)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:616)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:286)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:191)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:186)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:139)
Caused by: java.lang.NumberFormatException: For input string: “0”
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at Profile.parseFile(Profile.java:608)
at Profile.(Profile.java:768)
at Profile.(Profile.java:737)
at Jpgprof.initProfiles(Jpgprof.java:1903)
at Jpgprof.fileInit(Jpgprof.java:387)
at PGInitTask.doInBackground(PGInitTask.java:44)
at PGInitTask.doInBackground(PGInitTask.java:21)
at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at javax.swing.SwingWorker.run(SwingWorker.java:334)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:717)
java.util.concurrent.ExecutionException: java.lang.NumberFormatException: For input string: “0”
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
at javax.swing.SwingWorker.get(SwingWorker.java:600)
at PGInitTask.done(PGInitTask.java:58)
at javax.swing.SwingWorker$5.run(SwingWorker.java:735)
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:830)
at sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:840)
at javax.swing.Timer.fireActionPerformed(Timer.java:292)
at javax.swing.Timer$DoPostEvent.run(Timer.java:224)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:235)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:616)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:286)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:191)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:186)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:139)
Caused by: java.lang.NumberFormatException: For input string: “0”
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at Profile.parseFile(Profile.java:608)
at Profile.(Profile.java:768)
at Profile.(Profile.java:737)
at Jpgprof.initProfiles(Jpgprof.java:1903)
at Jpgprof.fileInit(Jpgprof.java:387)
at PGInitTask.doInBackground(PGInitTask.java:44)
at PGInitTask.doInBackground(PGInitTask.java:21)
at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at javax.swing.SwingWorker.run(SwingWorker.java:334)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:717)

Thanks,
T e r r y

Here are the first lines from pgprof.out if that helps:

PROF NODALL 0 C:\Users\Feagin\Documents\Visual Studio 2010\Projects\PVFProject2\PVFProject2\Win32\Debug\PVFProject2.exe 1306474720 0
h D172-38475 8176 0 1 0.000000
I 6 GenuineIntel penryn-64 win32 2 2 3067
t 1 2414
E 1 Seconds
p 0
f
r [System_Time] 0 0 0 0 0 0 0
e 13.1237
f C:\Users\Feagin\documents\visual studio 2010\Projects\PVFProject2\PVFProject2\ConsoleApp.f90
r tletspec 80 834 0 0 0 4081a0 492
e 0.0309278
l 842 0 0 0 0 4081a8
l 843 0 0 0 0 4081b2
l 845 0 0 0 0 4081c3
l 847 0 0 0 0 4081d4
l 848 0 0 0 0 4081ea
l 849 0 0 0 0 40822e
l 850 0 0 0 0 408256
l 855 0 0 0 0 408267
l 857 0 0 0 0 4082a3
l 858 0 0 0 0 4082b9
l 859 0 0 0 0 4082d5
l 861 0 0 0 0 4082e6
l 865 0 0 0 0 4082fb
l 866 0 0 0 0 408304
l 867 0 0 0 0 408314
l 868 0 0 0 0 408324
l 869 0 0 0 0 40835a
l 871 0 0 0 0 40836b
l 872 0 0 0 0 408385
l 873 0 0 0 0 408395
l 874 0 0 0 0 4083c0
l 875 0 0 0 0 4083d0
l 877 0 0 0 0 4083ee
l 878 0 0 0 0 408400
l 879 0 0 0 0 40841a
l 880 0 0 0 0 408434
l 881 0 0 0 0 408441
l 882 0 0 0 0 408457
e 0.0309278
a 40845e 0
e 0.0206186
a 40846e 0
e 0.0103093
l 883 0 0 0 0 408475
l 885 0 0 0 0 408486
l 887 0 0 0 0 4084c9
l 888 0 0 0 0 4084f3
l 890 0 0 0 0 40851d
l 891 0 0 0 0 40855a
l 897 0 0 0 0 408597
l 898 0 0 0 0 4085af
l 900 0 0 0 0 4085d0
l 903 0 0 0 0 4085e8
– More (2%) –

Hi Terry,

Could you tell me where I find out more about how to use one of the
pre-configured PGI DOS or Bash shells?

From your Start button, select “All Programs → PVF Visual Fortran → Command Shells → PVF 2010 Cmd (64)”. The 32-bit command shell does not have the “(64)”.

to the pre-configured PGI DOS shell anywhere in the
pgprof documentation or user’s guide. Where can I read about it?

Page 2 of the PVF Users Guide under the section titled “Commands Submenu”.

pgprof-Warning-Malformed $expr(), nonnumeric value 0-ea

These are more RC configuration file errors. I’m not sure what you did after installing the product, but it seems you did something like delete files or move things around. What might be best at this point is to simply uninstall PVF and then re-install.

I’ve only got 23 hours on a trial license to figure this one out.

That’s easily corrected. Send a note to sales@pgroup.com asking for your trial license to be extended. Just let them know you’ve been having issues and have them refer to me if they have questions.

Here are the first lines from pgprof.out if that helps:

The pgprof.out file looks fine.

Now, it seems that pgprof is not doing much. I tried opening the file called
pgprof.out, but the window is still not showing anything like the user’s
guide says it should.

How did you launch PGPROF? Did you load the executable that you’re profiling at the same time as the profile output?

Note that pgcollect is a hardware sample based profiler. For very short runs, like a ‘Hello World’ program, the execution time may be too short for any samples to be taken.

Hope this helps,
Mat

Thanks for all the answers. I have been reading a lot of the PVF
reference manuals and user’s guides (pgitools, pgprofug, pgifortref,
pvfreleasenotesn, pvfref, pvfug, pvfinstall, pgf_accel_prog_model1.3,
etc. ), so I knew one of them must have the answer to my question
about the command shell.

The program that I compiled and then tried to profile is a rather large
program (7014 lines of code). The program is one that NASA has been
using for many years to determine the exposure of astronauts (and
spacecraft) to cosmic radiation. For the input values I gave, it takes
about 30 seconds to run (although for other values it can take up to
30 minutes). So, there should have been enough going on that
the profiler could measure the parameters with no problem(s).

The profiler was launched from the Start>Programs>PGI Visual FORTRAN>
Profiler>PGPROF Performance Profiler. Then I used the OPEN PROFILE
dialog and browsed to the profile: pgprof.out and clicked “Select”.
The file was in my VS2010 project directory (down in …\Win32\Debug).
This is the same directory as the executable. Then I selected the
executable as the “Executable”. Then I set the directory for the source
file. Then the pgprof application window is visible but there is no
content. Is there something else I am supposed to do to get it
to start? (am I supposed to select something from one of the
menus (File, Edit, View, Sort, etc.)?

In the meantime,I will assume that there
is not anything else I am supposed to do and
that somehow the installation became messed up. When I hear back
about an extension on the trial license, I should be able to re-install
everything, and try again.

Thanks again,
T e r r y

Is there something else I am supposed to do to get it to start?

No, that should do it. At the very least, you should see a line which shows the “[System_Time]” taking 13.237 seconds and “tletspec” taking 0.0309278 seconds. Definitely not a blank field.

At list point, unfortunately, my only advice would be to start over with a fresh install and hope that what ever is causing the configuration file error is also causing this problem. If not, then we’ll continue until we figure it out.

  • Mat