mailRe: [bug #20821] Optimisation failure / round error on windows 64 bit


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Troels Emtekær Linnet on June 20, 2013 - 15:18:
I think we should close the bug.

I will stay with python32 setyp for relax

Best
Troels

Troels Emtekær Linnet


2013/6/20 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Hi,

Sorry for all the hassles!  Normally you don't need the Microsoft
compiler to use relax as the C modules are pre-compiled for 32-bit
Python systems (http://www.nmr-relax.com/download.html#MS_Windows).
It's only relax developers who need to use this.  Sometimes users will
install non-supported software (64-bit Python, non-official Python,
etc.) and then they may require it.  But I can only support one
official Python release, currently only 2.7, for the MS Windows
distribution archive.

Once the relax_disp branch supports more models, then it will be
merged back into the relax trunk and probably released as relax 3.1.
Though first relax 3.0 will need to be released.  It may take a while
for relax 3.1 to come out with full support for relaxation dispersion
analyses, and hence pre-compiled modules.

As for the errors with 64-bit WinPython, it is probably safe to assume
that they have jumped the gun and bundled 64-bit Numpy for Windows
before it is ready to be shipped to users.  What is strange is that on
my Linux test system, I have self compiled 64-bit
Python+numpy+scipy+wxPython and I don't have any precision issues.
There is something fishy with this WinPython 2.7.5 version.

Cheers,

Edward



On 20 June 2013 14:09, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:
Hi Edward.

I have spent several hours, to try to fix this issue.

If you have winpython 64 bit, you need  - Visual Studio Professional 2012
to compile. This is because: target_functions\relax_fit.c
make an include to the header file #include <Python.h>

And if you only have "Visual Studio Express 2012 for Windows Desktop",
there will
be a link error. I think then Scons try to compile x86, and the header
files in python will not be
matched.

If you have professional, Scons try to compile amd64, and will find
the correct link in the header files.
(Or something like this )

This setup is listed here:
http://nmr-relax.kimlinnet.dk/index.php?title=Installation_windows_Python_x86-64_Visual_Studio_Express_Professional

But I am happy to announce, that with python 32 I have NO errors!
This setup is listed here:
http://nmr-relax.kimlinnet.dk/index.php?title=Installation_windows_Python_x86-32_Visual_Studio_Express_for_Windows_Desktop


Weird!


Troels Emtekær Linnet


2013/6/20 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Ok, then we'll have to go with that.  It's good that the icons are
back :)  Could I ask you to make one more small change to patch3
(https://gna.org/support/download.php?file_id=18123).  Could you add a
line or two to the comments with information about the WinPython
version that you are using, and anything else to do with WinPython
that you think might be important?  It would be good to make it clear
in the comments that this is not results from the official Python
sources.

Cheers,

Edward



On 20 June 2013 13:11, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:
The te, should have places=1, since else I get the error.

Traceback (most recent call last):
  File 
"C:\WinPython27\relax_disp_64\test_suite\system_tests\model_free.py",
line 1782, in test_opt_constr_cd_mt_S2_0_970_te_2048_Rex_0_149
    self.value_test(spin, select=select, s2=s2, te=te, rex=rex, 
chi2=chi2)
  File 
"C:\WinPython27\relax_disp_64\test_suite\system_tests\model_free.py",
line 3142, in value_test
    self.assertAlmostEqual(spin.te / 1e-12, te, places=2, msg=mesg)
AssertionError: Optimisation failure.


And I am enjoying the icons in the menu. :-)

/Troels



2013/6/20 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Does this work with places=2 or 3 for the te value?  That would be
better.  The precision is shocking, I have to say.  I would suggest
that in the comments, that something about this being the WinPython
distribution would also be useful for these precision records.  I
would not think that it is the Microsoft C compiler that is a problem,
but rather the numpy packages bundled with this Python derivative.
The Microsoft compiler has never been an issue before, so I would
suggest that the WinPython people have a precision bug in their code.
Or maybe they have deliberately turned down their precision so that it
appears as if their distribution is much faster than standard
Python+numpy?  Is it also WinPython that has problems with icons in
the menus?

Regards,

Edward


On 20 June 2013 09:18, Troels E. Linnet
<NO-REPLY.INVALID-ADDRESS@xxxxxxx> wrote:
Follow-up Comment #5, bug #20821 (project relax):

Reply to bug #20821: (https://gna.org/bugs/?20821) Optimisation 
failure /
round error on windows 64 bit

I experienced more precision problems.

I had a terrible need, to turn down precision, quite a lot.

So much, that I think something is wrong with the MS
Visual Studio Express """ Professional """ 64 bit compilation.

-            self.assertAlmostEqual(spin.s2, s2, msg=mesg)
+            self.assertAlmostEqual(spin.s2, s2, places=6, msg=mesg)

-            self.assertAlmostEqual(spin.te / 1e-12, te, 5, msg=mesg)
+            self.assertAlmostEqual(spin.te / 1e-12, te, places=1, 
msg=mesg)

-            self.assertAlmostEqual(spin.rex * (2.0 * pi *
cdp.spectrometer_frq[cdp.ri_ids[0]])**2, rex * (2.0 * pi *
cdp.spectrometer_frq[cdp.ri_ids[0]])**2, msg=mesg)
+            self.assertAlmostEqual(spin.rex * (2.0 * pi *
cdp.spectrometer_frq[cdp.ri_ids[0]])**2, rex * (2.0 * pi *
cdp.spectrometer_frq[cdp.ri_ids[0]])**2, places=4, msg=mesg)

        # Optimisation values.
        s2 = 0.9699999999999995
        te = 2048.000000000022283
        rex = 0.14900000000000566 / (2.0 * pi *
cdp.spectrometer_frq[cdp.ri_ids[0]])**2

My value
# s2: 0.9700002183674102 : Diff -2.18367410709e-07
# te: 2048.015293187 Diff: -0.0152931869779
# rex: 0.14899473115727899 Diff: 5.26884272667e-06

# 64-bit Windows 7 (https://gna.org/bugs/?20821).
# System: Windows
# Release: 7
# Version: 6.1.7601
# Architecture: 64bit WindowsPE
# Machine: AMD64
# Processor: Intel64 Family 6 Model 37 Stepping 2, GenuineIntel
# Python version: 2.7.5
# numpy version: 1.7.1
# Compilation: Visual Studio Express 2012, Professional, for 64 bit
compilation
# s2: 0.9700002183674102
# te: 2048.015293187
# rex: 0.14899473115727899
# chi2: 2.3195994119090742e-10
# iter: 116
# f_count: 411
# g_count: 411
# h_count: 0
# warning: None

(file #18123)
    _______________________________________________________

Additional Item Attachment:

File name: patch3                         Size:2 KB


    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?20821>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@xxxxxxx

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel



Related Messages


Powered by MHonArc, Updated Thu Jun 20 17:00:09 2013