Commit 189ccd91 by Francois Gygi

rel1_11_2 Fixed buffer allocation problem in SlaterDet::write


git-svn-id: http://qboxcode.org/svn/qb/trunk@154 cba15fb0-1239-40c8-b417-11db7ca47a34
parent eaea4460
......@@ -3,7 +3,7 @@
// SlaterDet.C
//
////////////////////////////////////////////////////////////////////////////////
// $Id: SlaterDet.C,v 1.21 2003-11-27 01:15:51 fgygi Exp $
// $Id: SlaterDet.C,v 1.22 2003-12-04 18:39:59 fgygi Exp $
#include "SlaterDet.h"
#include "FourierTransform.h"
......@@ -771,6 +771,10 @@ void SlaterDet::print(ostream& os, string encoding)
for ( int n = 0; n < nst(); n++ )
{
// Barrier to limit the number of messages sent to task 0
// that don't have a receive posted
ctxt_.barrier();
// check if state n resides on mype
if ( c_.pc(n) == ctxt_.mycol() )
{
......@@ -896,6 +900,10 @@ void SlaterDet::write(FILE* outfile, string encoding)
for ( int n = 0; n < nst(); n++ )
{
// Barrier to limit the number of messages sent to task 0
// that don't have a receive posted
ctxt_.barrier();
// check if state n resides on mype
if ( c_.pc(n) == ctxt_.mycol() )
{
......
......@@ -43,10 +43,21 @@ determine library search path, even if makefile specifies another path.
Created a libxerces-c.a using objects in $XERCESCDIR/lib and linked statically.
This will avoid the problem of needing libxerces-c.so when using qbox.
--------------------------------------------------------------------------------
rel1_11_2 2003-12-04
Fixed Elan allocation failure problem in SlaterDet::write. Problem was caused
by the large number of buffers allocated by the elan lib for all the messages
sent to task 0 before a receive was posted for them. A barrier in the loop
over states limits the number of messages sent to task 0 at any given time.
Note: the problem likely doesn't show on AIX since the MPI implementation may
limit the number of buffered received messages. The barrier is added in the
AIX code too (SlaterDet::print).
--------------------------------------------------------------------------------
rel1_11_1
Fixed uninitialized var eta_ in MDIonicStepper that caused errors on AIX.
Known problem: elan allocation failure on mcr when writing h2o64 sample
using 140 tasks on 70 nodes. Possible bug in SlaterDet::write if USE_CSTDIO_LFS.
When running on AIX (using SlaterDet::print instead of SlaterDet::write) no
problem arises, and memory usage per node is low.
--------------------------------------------------------------------------------
rel1_11_0
BOSampleStepper: changed to do extrapolation and ionic move before
......
......@@ -3,9 +3,9 @@
// qb.C
//
////////////////////////////////////////////////////////////////////////////////
// $Id: qb.C,v 1.24 2003-12-02 20:27:43 fgygi Exp $
// $Id: qb.C,v 1.25 2003-12-04 18:39:59 fgygi Exp $
const char* const release = "1.11.1";
const char* const release = "1.11.2";
const char* const xmlns_url = "http://www.llnl.gov/casc/fpmd/qbox/1.0";
#include <iostream>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment