New "feature" request
J. Foug
jim_fougeron at yahoo.com
Thu Feb 26 08:07:42 CET 2004
I would love some interface (function(s) or data objects), which reported certain "build envirionment" information. I have wanted something like this for a while but never asked. With the recent anouncement of the FFT problem, it has again risen up as an issue. I am the current maintainer of the OpenPFGW project, and we use GMP for our expression parser, and for some smaller number exponentation. We use the FFT library from George Woltman (GIMPS) for the big stuff.
Currently, there is no way for an application to know :
1. What CPU (--build=*-*.*) this build was intended for.
2. If alloca (or malloc) are used.
3. if FFT was enabled.
4. Tuning values (basecase, karatusba, toom-n, fft, ...)
5. Other issues (mostly any --enable-* or --disable-* which change the defaults).
Yes, some of the above IS available in the header files. However, I currently provide many prebuild Win32 DLL's of GMP (I build about 10 different libgmp-3.dll's for different CPU's), A user can simply use the prebuilt PFGW.exe (or WinPFGW.exe), with no DLL, and the built in i386 non-alloca GMP will work. However, by simply placing the proper DLL into the path (or in the same dir as the exe), PFGW will use the DLL. Thus I have one exe (it is pretty big, at around 3MB), and numerous builds of DLL's. This provides a relatively simple distribution set, which is easy for users who do not want to mess with fully building PFGW (and or GMP). Most user fall into that category.
However, it is not possible to determine if a "bad" GMP dll is being used (with the FFT problems). Before, I wanted these data to simply be able to "nag" the user, due to non-optimal GMP (of course providing a way to allow the user to turn off the nagging). However, this now becomes more of a critical issue than the "non-optimal" concern. Currently the only interface I can find have been: gmp_version (_GMP_MP_VERSION and others are just #defines in the header).
I would think having ./configure build a .c file that was simply exported data values would be all that is needed.
Thanks, Jim.
---------------------------------
Do you Yahoo!?
Get better spam protection with Yahoo! Mail
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /list-archives/gmp-discuss/attachments/20040226/0e680648/attachment.htm
More information about the gmp-discuss
mailing list