Thanks! We'll prepare a new release tomorrow.
Synge, is there any other patch from the trunk that we want to include in 1.3.4?
Matthias
On 26 Jan 2009, at 20:15, Jeff Hammond wrote:
- The patched version compiles with "-O3" with GCC-4.3.1 on openSUSE
11.0 so the patch appears portable. 2. The tests produce the same results as GCC-4.2.4 and GCC-4.3.1 (with "-O0" on spinmc_factory.C), ie one error which is ignored. I attached the log files of "make tests" in case anyone is curious. 3. The performance under 4.3.1 is equivalent to that of 4.2.4:
==> test-4.2.4.log <== real 2m3.312s user 2m1.876s sys 0m0.524s
==> test-4.3-1.log <== real 2m5.470s user 2m4.132s sys 0m0.840s
My machine has been a little slower since I did a kernel update yesterday, to which I attribute the 2 second slowdown, if it is even reasonable to expect ALPS timings to be resolved on that scale.
Jeff
On Mon, Jan 26, 2009 at 9:54 PM, Matthias Troyer troyer@phys.ethz.ch wrote:
Jeff, could you please test this and if it works we'll make a 1.3.4 release tomorrow?
Matthias
On 26 Jan 2009, at 19:40, Synge Todo wrote:
The patch attached below seems to solve the problem (at least for gcc 4.3.2 on CentOS 5.2). I've already applied it to svn.
Synge
Index: abstractspinsim.h
--- abstractspinsim.h (revision 3082) +++ abstractspinsim.h (working copy) @@ -99,8 +99,6 @@ sweeps_(static_cast<uint64_t>(parms["SWEEPS"])), h_(parms.defined("h") ? TinyVector<double,MAT::dim>(parms["h"],parms) : (parms.defined("H") ? TinyVector<double,MAT::dim>(parms["H"],parms) : TinyVector<double,MAT::dim>(0.0))),
- h_normalized(h_*(1./std::sqrt(h_.get_length2()))),
- has_magnetic_field_(h_normalized.get_length2()>1.e-10),
sweeps_done_(0), thermalization_(parms.value_or_default("THERMALIZATION",sweeps_/ 10)), thermalization_fraction_(0.), @@ -117,6 +115,11 @@ g_(parms.defined("g") ? alps::evaluate<double>(parms["g"],parms) : 1.), print_sweeps_(parms.value_or_default("PRINT_SWEEPS",0)) {
- // 2009-01-27: wistaria@comp-phys.org
- // moved from the inilializaton list to avoid 'internal
compiler error' in gcc 4.3.x
- h_normalized = h_*(1./std::sqrt(h_.get_length2()));
- has_magnetic_field_ = h_normalized.get_length2()>1.e-10;
if (inhomogeneous()) boost::throw_exception(std::runtime_error("Disordered lattices not supported by the classical Monte Carlo program.\n"));
-- Jeff Hammond The University of Chicago http://home.uchicago.edu/~jhammond/ <test-4.2.4.log><test-4.3.1.log><test-4.3.1_no-opt.log>