Problem building tuneup...

Torbjorn Granlund tg at gmplib.org
Sun Jun 26 15:49:44 CEST 2011


David Cleaver <wraithx at morpheus.net> writes:

  Yes, 'make tuneup.exe' does work for me.
  
Good!

(We might want to clarify the docs.  Did you read "Performance
optimization" or where did you fnd instructions on how to use tuneup?)

  Then I run into a problem running tuneup:
  $ ./tuneup
  Parameters for ./mpn/generic/gmp-mparam.h
  The system cannot find the path specified.
  The system cannot find the path specified.
  The system cannot find the path specified.
  
These must be error messages written by the system, not GMP.

  I see in tuneup.c the following line:
  fprintf (stderr, "Parameters for %s\n", GMP_MPARAM_H_SUGGEST);
  
  And I found in config.h that GMP_MPARAM_H_SUGGEST was set to:
  #define GMP_MPARAM_H_SUGGEST "./mpn/generic/gmp-mparam.h"
  
  I changed it to:
  #define GMP_MPARAM_H_SUGGEST "../mpn/generic/gmp-mparam.h"
  
  But I still get the following error:
  $ ./tuneup
  Parameters for ../mpn/generic/gmp-mparam.h
  The system cannot find the path specified.
  The system cannot find the path specified.
  The system cannot find the path specified.
  
No surprise, the path is relative to the place where you ran
'configure'.

The fact that generic/gmp-mparam.h is suggested means that you're using
GMP without assembly.  Running tuneup without assembly is the wrng
approach to GMP performance.

Did you intentionally disable assembly, or did 'configure' do that
without being asked?

  I looked through the code and found that these errors are related to
  the program trying to find out what the MHz of my processor is.
  However, most of the linux based files don't exist in Windows or MSYS.
  The program stops execution somewhere in speed_time_init(), probably
  due to not being able to determine cpu speed.  I know the cpu speed is
  stored in the windows registry under (for Windows >= Windows 2000):
  HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0\\~MHz
  
Bizarre if Windoze verbosely prints error messages for any innocent
attempt at opening a file.  What does it expect programs to do to try
opening files, without having these spurious error messages appear?

  However, I can't find an easy way to read the registry with generic C
  code.  I think the frequency can be calculated, but I'm not sure how
  reliable that would be.  What do you think the best way to proceed on
  this issue would be?
  
I really know nothing about these systems, I am afraid.  I don't know
about this 'registry' (although I have heard that something on Windoze
is called such).

-- 
Torbjörn


More information about the gmp-bugs mailing list