Parent Directory
|
Revision Log
Links to HEAD: | (view) (annotate) |
Sticky Revision: |
Branch commit Added some missing files. In python can ask a data object if it- isReady(), isConstant(), isLazy().
Branch commit It compiles but doesn't do much.
Branch of branch moreshared_from_1812 at revision 1857.
Branch commit Merging trunk changes upto and including 1849.
Branch commit Removing test files from branch.
Branch commit. Added getPtr to DataAbstract. Passes all unit tests.
Branch commit Passes all unit tests. Still resorting to special python versions of getDomain to get around type conversion.
Branch commit. First experiments with shared_ptr. There is a crash on exit due to deallocating the NullDomain object twice. (One from shared_ptr and once in global destructors)
Branching to experiment with proxies and shared pointers.
Copyright updated in all files
Added python-level methods getMPISizeWorld() and getMPIRankWorld() for MPI process info. Test suite run_inputOutput.py runs on any number of cores now, hybrid may still be a problem.
All about making DataEmpty instances throw. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Exposed getDim from AbstractDomain to python to fix bug. Added isEmpty member to DataAbstract to allow it to throw is queries are made about a DataEmpty instance. Added exceptions to DataAbstract, DataEmpty and Data to prevent calls being made against DataEmpty objects. The following still work as expected on DataEmpty instances copy, getDomain, getFunctionSpace, isEmpty, isExpanded, isProtected, isTagged, setprotection. You can also call interpolate, however it should throw if you try to change FunctionSpaces.
Fixed serialization of I/O for MPI...code didn't compile without MPI
Serialized parallel I/O when writing mesh or data to NetCDF file on multiple MPI processors. Added domain method getMPIComm() to complement getMPISize() and getMPIRank().
Added Data::copySelf() [Note: this is exposed as copy() in python]. This method returns a pointer to a deep copy of the target. There are c++ tests but no python tests for this yet. All DataAbstracts now have a deepCopy() which simplifies the implementation of the compy methods.
Merged noarrayview branch onto trunk.
method returning reference id added to FunctionSpace class
getListOfTags method added to FunctionSpace class
Merge in /branches/windows_from_1456_trunk_1620_merged_in branch. You will find a preserved pre-merge trunk in tags under tags/trunk_at_1625. That will be useful for diffing & checking on my stupidity. Here is a list of the conflicts and their resolution at this point in time. ================================================================================= (LLWS == looks like white space). finley/src/Assemble_addToSystemMatrix.c - resolve to branch - unused var. may be wrong..... finley/src/CPPAdapter/SystemMatrixAdapter.cpp - resolve to branch - LLWS finley/src/CPPAdapter/MeshAdapter.cpp - resolve to branch - LLWS paso/src/PCG.c - resolve to branch - unused var fixes. paso/src/SolverFCT.c - resolve to branch - LLWS paso/src/FGMRES.c - resolve to branch - LLWS paso/src/Common.h - resolve to trunk version. It's omp.h's include... not sure it's needed, but for the sake of saftey..... paso/src/Functions.c - resolve to branch version, indentation/tab removal and return error on bad unimplemented Paso_FunctionCall. paso/src/SolverFCT_solve.c - resolve to branch version, unused vars paso/src/SparseMatrix_MatrixVector.c - resolve to branch version, unused vars. escript/src/Utils.cpp - resloved to branch, needs WinSock2.h escript/src/DataExpanded.cpp - resolved to branch version - LLWS escript/src/DataFactory.cpp - resolve to branch version ================================================================================= This currently passes tests on linux (debian), but is not checked on windows or Altix yet. This checkin is to make a trunk I can check out for windows to do tests on it. Known outstanding problem is in the operator=() method of exceptions causing warning messages on the intel compilers. May the God of doughnuts have mercy on my soul.
Added python method printParallelThreadCounts() to tell how many MPI CPUs and OpenMP threads we are using (for testing hybrid runs)
Merge the changes to these few files with the windows port branch to test just these changes under linux and altix.
some more work on the transport solver.
new upwinding algorithm (still fails)
And get the *(&(*&(* name right
Restore the trunk that existed before the windows changes were committed to the (now moved to branches) old trunk.
Make a temp copy of the trunk before checking in the windows changes
explicit upwinding scheme added.
finley interface to paso's transport solver added.
Copied a handful of files from trunk-mpi-branch into trunk
The MPI branch is hereby closed. All future work should be in trunk. Previously in revision 1295 I merged the latest changes to trunk into trunk-mpi-branch. In this revision I copied all files from trunk-mpi-branch over the corresponding trunk files. I did not use 'svn merge', it was a copy.
New python method getVersion() which returns the Subversion revision from which escript was compiled
Some changes to make things run on windows. There is still a problem with netcdf an long file names on windows but there is the suspicion that this is a bigger problem related to boost (compiler options). In fact runs with large numbers of iteration/time steps tend to create seg faults.
This version passes the tests on windows except for * vtk * netCDF The version needs to be tested on altix and linux
problem with reset of faulty PDE rhs fixed.
reduced integration schemes are implemented now for grad, integrate, etc. Tests still to be added.
first steps toward reduced element integration order. The escript bit is done but the finley part still needs work.
clear name tagging is supported now.
In VC++ boost has problems with numarray arguments from python. This fixes that problem by taking python::object arguments from the python level and converting it into python::numeric::array on the C++ level. This hasn't been tested with VC++ yet. Moreover the two Data methods dealing with big numarrays as argument and return value have been removed.
netCDF can now be switched off at compilation. Consequently load and dump of data objects is not available then.
The set/getRefVal functions of Data objects have been removed (mainly to avoid later problems with MPI). Moreover, a faster access to the reference id of samples has been introduced. I don't think that anybody will profit form this at this stage but it will allow a faster dump of data objects.
escript data objects can now be saved to netCDF files, see http://www.unidata.ucar.edu/software/netcdf/. Currently only constant data are implemented with expanded and tagged data to follow. There are two new functions to dump a data object s=Data(...) s.dump(<filename>) and to recover it s=load(<filename>, domain) Notice that the function space of s is recovered but domain is still need. dump and load will replace archive and extract. The installation needs now the netCDF installed.
setValueOfDataPoint accepts double value as argument now
I have done some clarification on functions that allow to access individual data point values in a Data object. The term "data point number" is always local on a MPI process and referes to the value (data_point_in_sample, sample) as a single identifyer (data_point_in_sample + sample * number_data_points_per_sample). a "global data point number" referes to a tuple of a processour id and local data point number. The function convertToNumArrayFromSampleNo has been removed now and convertToNumArrayFromDPNo renamed to getValueOfDataPoint. There are two new functions: getNumberOfDataPoints setValueOfDataPoint This allows you to do things like: in=Data(..) out=Data(..) for i in xrange(in.getNumberOfDataPoints()) in_loc=in.getValueOfDataPoint(i) out_loc=< some operations on in_loc> out.setValueOfDataPoint(i,out_loc) Also mindp is renamed to minGlobalDataPoint and there is a new function getValueOfGlobalDataPoint. While in MPI the functions getNumberOfDataPoints and getValueOfDataPoint are working locally on each process (so the code above is executed in parallel). the latter allows getting a single value across all processors.
access to the number of samples added
Added erf (error function) implementation
Tensor products for Data objects are now computed by a C++ method C_GeneralTensorProduct, which calls C function matrix_matrix_product to do the actual calculation. Can perform product with either input transposed in place, meaning without first computing the transpose in a separate step.
the new function swap_axes + tests added. (It replaces swap).
new function _swap. Python wrapper + testing is still missing.
function added to manually free unused memory in the memory manager
coordinates, element size and normals returned by corresponding FunctionSpace mesthods are now protected against updates. So +=, -=, *=, /=, setTaggedValue, fillFromNumArray will through an excpetion. The FunctionSpace class does nut buffer the oordinates, element size and normals yet.
Modified the following python methods in escript/py_src/util.py to call faster C++ methods: escript_trace escript_transpose escript_symmetric escript_nonsymmetric
new FunctionSpace method setTags added
now float**Data is running
test with tagged data pass now
DataVariable removed. it is not used.
+ NEW BUILD SYSTEM This commit contains the new build system with cross-platform support. Most things work are before though you can have more control. ENVIRONMENT settings have changed: + You no longer require LD_LIBRARY_PATH or PYTHONPATH to point to the esysroot for building and testing performed via scons + ACcESS altix users: It is recommended you change your modules to load the latest intel compiler and other libraries required by boost to match the setup in svn (you can override). The correct modules are as follows module load intel_cc.9.0.026 export MODULEPATH=${MODULEPATH}:/data/raid2/toolspp4/modulefiles/gcc-3.3.6 module load boost/1.33.0/python-2.4.1 module load python/2.4.1 module load numarray/1.3.3
More copyright information.
test_utilOnFinley fixed (did run the tests that still fail)
some steps towards eigenvalue and eigenvector calculation
modify whereZero etc methods to also accept a tolerance parameter
rationalise #includes and forward declarations
restructure escript source tree move src/Data/* -> src remove inc modify #includes and cpppath settings accordingly
reorganised esysUtils to remove inc directory
intreface for setting the number of threads from python
Updated link to epydoc generated documentation on the web site.
length method is removed as it is too slow. use length in util.py instead
move all directories from trunk/esys2 into trunk and remove esys2
Merge of development branch dev-02 back to main trunk on 2005-10-25
Merge of development branch dev-02 back to main trunk on 2005-09-15
Merge of development branch dev-02 back to main trunk on 2005-09-01
Merge of development branch dev-02 back to main trunk on 2005-08-23
erge of development branch dev-02 back to main trunk on 2005-08-12
Merge of development branch back to main trunk on 2005-07-22
Merge of development branch back to main trunk on 2005-07-08
Merge of development branch back to main trunk on 2005-06-09
Merge of development branch back to main trunk on 2005-05-06
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
ViewVC Help | |
Powered by ViewVC 1.1.26 |