Parent Directory
|
Revision Log
Links to HEAD: | (view) (annotate) |
Sticky Revision: |
First iteration: - cleanup of main SConstruct file - new template options file with commented options - moved our extensions to the "proper" place according to scons docs - fixed a regex issue in wrapper script - this version works on guineapig and shake75
Branch to rework scons scripts, copy from rev 3210.
more clean up in AMG
GS and Jacobi are now used through the same interface.
first iteration on Paso code clean up
some modifications to the GaussSeidel
The MPI and sequational GAUSS_SEIDEL have been merged. The couring and main diagonal pointer is now manged by the patternm which means that they are calculated once only even if the preconditioner is deleted.
Hybrid MPI/OpenMP versioned Gauss_Seidel preconditioner is added. To use it, use "SolverOptions.GAUSS_SEIDEL_MPI" in python script.
FCT solver rewritten
Added MPI aware MIS
Don't panic. Updating copyright stamps
The first version of the new AMG preconditioner. It need a lot of polishing for efficiency. Old AMG now called AMLI preconditioner.
Updating copyright notices
paso returns now some diagnostics. SCSL has been removed.
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.....
Prepare this file for the possibility of dynamic linkage. SVN is doing something weird to me... I'm sure I committed this change already...
Create Pattern_coupling.h as there were too many modules that implicitly defined these functions. This checkin is to test the minimum number of files this change allows me to include to get Pattern_coupling.c to compile correctly on the Altix.
This is prep for AMG solver. It is only a copy from RILU not actual AMG
Firs version of symmetric Gauss-Seidel preconditioner with coloring
Copyright updated in all files
a robister version of the upwinding scheme
MINRES solver is added to escript. Additional 16 tests are added to run_simplesolve for MINRES and TFQMR solvers
Branch scons-dev is hereby closed. Some parts of scons scripts have been re-written.
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.
Changes needed for windows. This still does not work on and has not run on linux and the altix. There are a few changes in names in the scons script, in particular _libs is used rather than _lib and _libs is always a list. By default on windows MSVC is used. The location of python is at C:\Program Files\python<version>, boost at C:\Program Files\boost and netcdf at C:\Program Files\netcdf.
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
mmio moced to paso
eigenvalues: compiles and passes tests on altix now
performance monitoring added. complies without PAPI.
change includes to use PasoUtil.h, and add remainder of includes to SConscript include install
add mechanism to install .h files to inc directories (still need to specify full lists of .h files to install)
remove redundant inc dir from paso src tree
ILU has been replicated is called RILU (recursive ILU) now. ILU will now be reimplemented.
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.
SCSL interface has moved
turns out Install() targets should also be made Default() targets if you want them to actually reliably work!
now automatically build unit tests as required based on dependencies between unit tests and libraries
pass in cc/cxx settings from config file
pass in static archiver flags
pass in top level install directory for finley/escript/bruce/paso libraries when building via top level scons script
push platform dependent compiler flags and include directories up to library level scons files - these will eventually be brought in from external config files
pass in value for esysroot and use this to determine include file locations
added first draft of scons construct/config scripts for paso library
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 |