Parent Directory
|
Revision Log
Sticky Revision: |
Some statistical print outs are added in solver and loadMM to Paso_SparseMatrix method is added
some modifications to the iterative solver to make them easier to use. There are also improved versions of the Darcy flux solver and the incompressible solver.
Two changes. 1. Move blocktimer from escript to esysUtils. 2. Make it possible to link to paso as a DLL or .so. Should have no effect on 'nix's In respect of 1., blocktimer had begun to spring up everywhere, so for the moment I thought it best to move it to the only other library that pops up all over the place. In respect of 2., paso needed to be a DLL in order to use the windows intelc /fast option, which does aggressive multi-file optimisations. Even in its current form, it either vectorises or parallelises hundreds more loops in the esys system than appear in the pragmas. In achieving 2. I have not been too delicate in adding PASO_DLL_API declarations to the .h files in paso/src. Only toward the end of the process of the conversion, when the number of linker errors dropped below 20, say, did I choosy about what functions in a header I declared PASO_DLL_API. As a result, there are likely to be many routines declared as external functions symbols that are in fact internal to the paso DLL. Why is this an issue? It prevents the intelc compiler from getting aggressive on the paso module. With pain there is sometimes gain. At least all the DLL rules in windows give good (non-microsoft) compiler writers a chance to really shine. So, if you should see a PASO_DLL_API on a function in a paso header file, and think to yourself, "that function is only called in paso, why export it?", then feel free to delete the PASO_DLL_API export declaration. Here's hoping for no breakage.....
More warning removal.
Should work now
Firs version of symmetric Gauss-Seidel preconditioner with coloring
Copyright updated in all files
Fixes for the JacobeanFreeNewton scheme. Still needs to be tested under OPENMP but runs under MPI.
MINRES solver is added to escript. Additional 16 tests are added to run_simplesolve for MINRES and TFQMR solvers
Fixed nightly tests for savanna (no longer running in PBS cause can't compile on compute node). Modified domain.print_mesh_info() to tell how many elements are owned by a node and how many are in the overlap. Instrumented the preconditioner step.
TFQMR solver is added to PASO solver. It is not parallelised yet.
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.
Modification to allow mixed mode execution. In order to keep the code portable accross platform all MPI calls within parallel regions have been moved.
some changes to make the implementatiopn of a upwind MPI version easier
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
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.
A few changes in the build mechanism and the file structure so scons can build release tar files: * paso/src/Solver has been moved to paso/src * all test_.py are now run_.py files and are assumed to be passing python tests. they can run by scons py_tests and are part of the release test set * escript/py_src/test_ are moved to escript/test/python and are installed in to the build directory (rather then the PYTHONPATH). * all py files in test/python which don't start with run_ or test_ are now 'local_py_tests'. they are installed i by not run automatically. * CppUnitTest is now treated as a escript module (against previous decisions). * scons realse builds nor tar/zip files with relvant source code (src and tests in seperate files) the python tests don't pass yet due to path problems.
+ 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
Prepended all paso source files with new Copyright notice
eigenvalues: compiles and passes tests on altix now
The sparse solver can be called by paso now. the building has been change to reduce some code redundancy: now all scons SCscripts are importing scons/esys_options.py which imports platform specific settings.
a better way of representing the matrix format type is introduced. this is needed for the Paradiso and UMFPACK interface
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
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 |