BASIN Updates

From: Louis Kratz <lak24@drexel.edu>
Date: Thu Mar 30 2006 - 20:43:57 EST

The following are improvements made this week on BASIN towards an alpha
release, with attention payed to the task list I created last week.

BASIN now compiles with boost 1.33 on neptune.physics.drexel.edu,
functionality has not been verified. A full install with the latest
versions of boost will be tested when the configure script alterations
are completed.

A new executable BASIN-config will be created upon compile. This can be
used in the following way to ease compiling of C++ basin programs:
mpicxx `BASIN-config --cppflags` `BASIN-config --cxxflags`
myBASINProgram.C -o myBASINProgram `BASIN-config --ldflags`
`BASIN-config --libs`
The ` are back ticks, indicating an execution. This is created with the
settings and variables passed to configure. It links to the installed
directory of BASIN, so if you have installed BASIN locally, you may need
to alter your LD_LIBRARY_PATH environment variable:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/basin/usr/lib/basin

I have investigated python's memory use. Python allows the user to
explicitly delete memory via the del command. This will call the
destructor in a swig object:
>>> r=Region("mygrid.dat");
>>> del r; # This calls the region destructor
It is also worth noting that python does delete intermediate calculations:
>>> a=Attribute();b=Attribute();c=Attribute();
>>> d=a*b+c; #The intermediate values of a*b and a*b+c are deleted.
While this is useful, it does exhibit some interesting behavior,
specifically how many times a copy constructor is called during it, and
should be investigated further.
Swig and Python do not, however, properly implement the assignment operator.
>>> a=Region();
>>> c=a; # We would assume c becomes a complete copy of a, but in
actuality c is just a reference of a.
                # so no new memory is executed.
>>> del c; # this does not actually delete any distributed memory, just
the reference to a.
>>> del a; # deleted distributed memory.
BASIN does not, however, currently propagate destructors. This will be
implemented prior to the alpha release.

All of this with the execption of the boost-1.33 update information for
reasons stated above has been added to the user manual.

-Louis
Received on Thu Mar 30 20:43:35 2006

This archive was generated by hypermail 2.1.8 : Fri Aug 08 2008 - 19:25:03 EDT