Parent Directory
|
Revision Log
Links to HEAD: | (view) (annotate) |
Sticky Revision: |
more work on the dary solver
Scons'ified escriptreader library and tools. Added checks and options for the Silo library which is required for escript2silo and optional for the library. Updated shake75 options file.
Paso Testing target 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.
So its not just the Mac that needed -Wno-strict-aliasing
Modifications to keep both the mac and linux happy.
UMF link check activated. BLAS check stil fails.
This commit cleans up the incompressible solver and adds a DarcyFlux solver in model module. Some documentation for both classes has been added. The convection code is only linear at the moment.
- Removed some deprecated directories. - Removed the pythfilter script for converting python doco into c++ stubs. The license was unspecified and we don't use it. - Suppressed long long warnings on gcc (the Mac complained). - svn:ignored Mac library suffixes in lib directory
Okay, so -isystem on the whole /usr/include directory appears to prevent compiling. I suspect this might be something about changing the priority of includes. Fixed.
Added the share_esysUtils and share_paso options both defaulting to False, to allow finer control over the nature of these libraries. Following log messages will explain.
Handle ESYS_STATIC_LIB more elegantly, and make it a two-liner to turn it into a DLL if needed.
Change -isystem to point to boost_path and python_path instead of to /usr/include
A fix to deal with boost1.34s badness
Ensure ESCRIPT_EXPORTS is defined only while compiling escript on windows. A similar comment applies to FINLEY_EXPORTS. SConstruct: Fixed a comment. reformatted the Export() call, and added IS_WINDOWS_PLATFORM to the exports.
I have changed the default scons options for gcc to be much more picky about warnings. By default warnings will be treated as errors; so a program with warnings won't compile. If you need to turn this off, usewarnings=no will work. The previous usepedantic oprtion is no longer turned on by default. This should have no effect on any of the other compilers. If anyone wants to jump in and supply sensible values for the fatalwarnings variable for their favourite compiler go ahead.
Grew tired of having to edit SConstruct every time I changed from MSVC to intelc. Added the tools_names option to allow control of tools in the Environment call from the options file. This only applies to the windows branch at present.
revert to MS compiler for now.
Fixed two typos that stopped the test suite from running. Also, gcc 4.3.2 issued several warnings not seen before: ignoring the return value of fscanf and using the wrong format with printf.
Repair to saveVTK similar to revision 1677 (there we got the number of offsets correct and in this revision we got the number of types correct). In case of MPI > 1 do not run saveDX tests since saveDX is not MPI parallel.
Copyright updated in all files
Merged noarrayview branch onto trunk.
Near line 288 of SConstruct. Fixed the HAVE_GETHOSTNAME environment variable setting. The the test had a "not" that should not be there, and the wrong env was being Append()'ed. On linux, this resulted in HAVE_GETHOSTNAME not being -D'ed. the strcpy at line 78 of escript/src/Utils.cpp was flagged by gcc as an error because strcpy is not declared on the compilation branch that compiles if HAVE_GETHOSTNAME is not set. I have not fixed this. Also, the hostname buffer is only 64 char long. Why limit the length of the hostname, admitting buffer overflow, in a .cpp file? Why use strcpy in C++?
Config variables such as boost_lib_path and netcdf_lib_path are stored in the wrapper script bin/finleypython so the user gets the proper environment automatically
Removed failing test until we fix a bug. Fixed several compiler warnings.
First version of a wrapper script that sets LD_LIBRARY_PATH and PYTHONPATH Not yet ready for general use
Test suite fails due to missing arg in call to Finley_Mesh_createMappings. Added NULL arg, but still need to find proper fix as loadMesh does not work. Adjusted SConstruct to delete pythonMPI if not compiled for MPI.
Added prefix/lib go LD_LIBRARY_PATH
Added newline at end of file TFQMR.c because it is an error for icc. Turned useumfpack off by default.
Branch scons-dev is hereby closed. Some parts of scons scripts have been re-written.
-pedantic_errors commented for compiling in MAC OS X
linux_gcc_eg_options.py: remove the std99 option, it is no longer needed as the code compiles without C 1999 extension (need for these extensions elinminated in windows port). Turn on all warnings except unknown pragmas. Should catch a lot of stuff. SConstruct: Impassioned plea system_dep.h: Add the standard incantation for dealing with const declarations in C code called from C and C++ blocktimer: Get the calling interface right for C code called from C and C++ and use __const as defined in system_dep.h (Should be re-factored into compiler_dep.h file). MeshAdapterFactory.cpp: Since we have (effectively) no control over netCDF policy, cast const char *'s to char *'s
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.
Improvements to Savanna configuration
Compiles and runs on Savanna (hostname service0)
Implemented ParMETIS for mesh partition optimization under MPI. Documented optimize=True in User Guide for Brick() and Rectangle().
Merge changes from windows port branch to test build on *nix not broken.
Set version number to 0 in case it's empty.
Recent fixes have remedied problems with running OpenMP/MPI mixed mode programming.
a waring is printed if the revision number could not be recovered.
typo fixed.
a hopefully more robust way of setting the revision number.
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
bug in interpolation at reduced face elements fixed.
some changes to get things going on the cognac.ivec.org.
Partial implementation of ReadMeshMPI. Will eventually replace ReadMesh but for now has a different name.
* rm and touch are not valid windows commands - use the scons provided methods.
If using MPI then disable OpenMP, because it doesn't work with both. Record in trunk/lib what options we compiled with: OpenMP, MPI, debug, bounds_check
First cut implementation of mesh.dump() using NetCDF. TagMap not saved yet. The code for Points probably works but has not been tested.
Modified scons target release_src to include lib/ and include/ since their presence is required for a build. Modified mydomain.print_mesh_info(True) to include more useful info about a distributed domain. Added mypde.getOperator().print_matrix_info(True) to tell about a distributed matrix.
Interval mesh type has been removed from the User Guide Adjusted getVersion method
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.
Minor repairs to scons files
Prepend various shareable library locations to PATH rather than appending. Add (empty) include directory to the repository. Impact of adding lib, include and esys dirs to repository. You will need to move these aside in any checked out tree before doing an update.
New python method getVersion() which returns the Subversion revision from which escript was compiled
Add the esys and lib directories to the repository. Remove the IS_WINDOWS_PLATFORM from the SConscripts, and do the logic once in SConstruct. SConstruct now includes example options files if the hostname_options file is not present. This needs some more work for the altix. The tests now depend upon the build target. This is important it seems, as there appears to be the possibility of calling linking different libraries against incompatible versions of sub-libraries. This addressed most of the exceptions we were getting on windows. All the useNetCDF logic is now done by SConstruct. Made the init_target part of the build alias so that __ini__.py is created on a fresh checkout. py_tests mostly pass on windows, only need to track down the exception in run_tests.
use env['PROGSUFFIX'] instead of IS_WINDOWS_PLATFORM for the RunUnitTest builder.
build is the default target, and will build a local installation in the source tree. A new install target will do a build and install in the system directories. The system dierctories are set up for altix/linux systems with a prefix of '/usr'
Started the removal of IS_WINDOWS_PLATFORM, and now insis that the windows options file be kept up to date, and be complete. boost_libs -> boost_lib.
Reduce the number of IS_WINDOWS_PLATFORM references in SConstruct. Change path to boost etc in windows_mscv71_options.py Some of these changes are present in windows_mscv71_options.py, more changes needed once I get the mscv71 build going properly.
Can now install into /usr with scons prefix=/usr and get a typical python package install. Setting PYTHONPATH and LD_LIBRARY_PATH is not necessary.
Build now works on systems where doxygen is not available. Repaired target scons guide_html_index to create HTML user guide.
Repaired all targets for: scons docs It runs all these targets: release_examples guide_pdf api_epydoc api_doxygen
once again: some changes to get the tests passed on windows.
As it turned out XAUTHORITY has to be imported into scons, too.
import of DISPLAY environment variable into scons ENV added. This is required to run pyvisi tests under XGL
The OMP_NUM_THREADS environment variable is now imported into the scons evironment.
some fixes from the windows version
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
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.
Install prefix: can now use scons prefix=/some/dir to build and install into another directory.
Just trying to get the intelc version going.
modifications to be compliant with _WIN32. The substitutes for asinh, acosh, atanh are still missing (erf will through an exception)
Data.cpp - indefed out the erf & inv. hyperbolics on windows. DataAlgorithmAdapterTestCase & DataTestCase - Fix the ifndef on _WIN32 & _INTEL_COMPILER SConstruct - chamges to the PATH so windows can find DLLs.
import of PATH
netCDF can now be switched off at compilation. Consequently load and dump of data objects is not available then.
some changes to make things run with python 2.3
johns local setting removed.
Tidied up some codes
bruce is switched off for now as it doesn't really do anything useful yet.
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.
first checkin of pycad (gmsh pythoin wrapper)
Added serial execution build options for running on the altix. In doing so, a minor bug in SConstruct was found and fixed. The correct libraries still need to be sorted after consulting Lutz and/or Ken.
Can now compile and run with MPI on shake71
new target for users guide
Interface to the direct solver library UMLPACK is no implemented.
first steps toward UMFPACK
frame for pyvisi set up
switched off pyvisi
removed personal testing code from SConscript
Large number of changes to Finley for meshing in MPI. - optimisation and neatening up of rectcanglular mesh generation code - first and second order 1D, 2D and 3D rectangular meshes are now available in finley and escript using MPI. - reduced meshes now generated in MPI, and interpolation to and from reduced data types now supported.
- small change to SConstruct to remove my testing code
- added directory pythonMPI to the source tree. this directory contains the c++ wrapper that is used to run python scripts in parallel for the MPI version of escript/finley - updated the SConstruct and ./scons/ess_options.py for conditional MPI compilation. To compile the MPI version on ESS uncomment the #define PASO_MPI in ./paso/src/Paso.h and add the command line option useMPI=yes when running scons. - fixed a compile time error in the MPI build in finley/src/CPPAdapter/MeshAdapterFactory.cpp
+ Merge of intelc_win32 branch (revision 741:755) with trunk. Tested on iVEC altix (run_tests and py_tests all pass)
Changes relating to the MPI version of escript The standard OpenMP version of escript is unchanged - updated data types (Finley_Mesh, Finley_NodeFile, etc) to store meshes over multiple MPI processes. - added CommBuffer code in Paso for communication of Data associated with distributed meshes - updates in Finley and Escript to support distributed data and operations on distributed data (such as interpolation). - construction of RHS in MPI, so that simple explicit schemes (such as /docs/examples/wave.py without IO and the Locator) can run in MPI. - updated mesh generation for first order line, rectangle and brick meshes and second order line meshes in MPI. - small changes to trunk/SConstruct and trunk/scons/ess_options.py to build the MPI version, these changes are turned off by default.
abstract added in users guide added
formatting errors in epydoc tags fixed
Fixed build of epydoc documentation. Now builds html in relase/doc/epydoc .
latex build documentation is working now
python tests compile and run but there is still a problem with dependencies'
python tests are allmost working
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.
pyvisi builds now. tests still to be fixed.
+ Fixed incorrect target path in SConstruct file + cognac now links with g++ compiled boost rather than intelc compiled boost due to compilation errors with intel c. (Finley will still compile and work with intel c though) - this is the same configuration as the access altix
+ Added basic_py_tests target which will run the basic set of python tests. The list of python tests was taken from autoscons
+ Modified the env (environment) creation for the ia64 platform to include PATH so it no longer complains about not being able to locate the intel compiler. This is related to the previous fix for windows. Seems it is a scons intelc.py bug.
compilation uses python version scons is running under now
+ Minor modification to how the ENV external environment is initialised. Originally this was done as part of the env = Environment( ENV = ...) construction. Unfortunately this doesn't work properly on windows as it clobbers the path edits performed by the tools = 'intelc'. The end result is icl is not found. Now the env is initialised without the ENV = and they are added in after construction. I suspect this is a bug in scons itself on the windows platform.
+ 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 info added.
mmio moced to paso
pyvisi compiles now
more work on pyvisi integration
eigenvalues: compiles and passes tests on altix now
can now specify target "build_docs" in order to build epydoc and doxygen documentation
minor comment and formatting changes
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.
the documenation build does not work at all except on our altix. has been switcehed of for now
Updated to allow for building of API documentation.
pass in pyinstall value from top-level scons script and add correct suffix in module level scons scipr
now automatically build unit tests as required based on dependencies between unit tests and libraries
setup scons configuration to make and install python code
allow compile options to be loaded from a config file specified on the command line to scons
collect all information needed to determine build configuration (ie: debug/nodebug, host, platform etc)
pass in top level install directory for finley/escript/bruce/paso libraries when building via top level scons script
add top level SConstruct file to enable coordinated building of all esys libraries
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 |