Log of /trunk-mpi-branch/escript/src/Data.cpp
Parent Directory
|
Revision Log
Revision
1295 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Mon Sep 10 06:07:09 2007 UTC
(14 years, 11 months ago)
by
ksteube
File length: 76056 byte(s)
Diff to
previous 1276
Have now merged latest trunk features into MPI branch in preparation for
ending the MPI branch.
Compiles but has run time problems in bandwith reduction.
Revision
1276 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Fri Aug 24 05:30:41 2007 UTC
(14 years, 11 months ago)
by
gross
File length: 75869 byte(s)
Diff to
previous 1274
have added a few more tests for some new features. Unfortunately they have shown a problem but that is what tests are for.
Revision
1196 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 15 03:45:48 2007 UTC
(15 years, 2 months ago)
by
ksteube
File length: 76223 byte(s)
Diff to
previous 1188
Use of PAPI on solver is now enabled with papi_instrument_solver=1 in scons/ess_options.py.
Can instrument other blocks of code with blockpapi.c.
Added interval timers to grad, integrate and Assemble_PDE.
Revision
1188 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 4 01:52:07 2007 UTC
(15 years, 2 months ago)
by
ksteube
File length: 76077 byte(s)
Diff to
previous 1145
My recent addition of MPI_allReduce to Data::integrate is now ANSI-compliant.
Revision
1145 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Wed May 16 04:55:20 2007 UTC
(15 years, 2 months ago)
by
ksteube
File length: 75950 byte(s)
Diff to
previous 1142
vector<double> is not guaranteed to be contiguous memory...switch to using a double *
Revision
1140 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Tue May 15 03:23:17 2007 UTC
(15 years, 3 months ago)
by
ksteube
File length: 75614 byte(s)
Diff to
previous 1126
MPI branch trunk-mpi-branch has been merged with trunk through revision
1125, so changes in trunk since 1125 are not reflected in
trunk-mpi-branch.
Originally we parallelized revision 989, but after this merge it's
as if we'd parallelized revision 1125.
run_simplesolve.py runs on 1, 2, 4 CPUs.
Revision
1126 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Fri May 4 03:15:59 2007 UTC
(15 years, 3 months ago)
by
ksteube
File length: 78206 byte(s)
Diff to
previous 1087
Adjusted numNodes for MPI in Finley_Assemble_interpolate
Added MPI reduction to set up integrate()
Revision
1087 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Thu Apr 12 10:01:47 2007 UTC
(15 years, 4 months ago)
by
gross
File length: 77910 byte(s)
Diff to
previous 968
the MPI version of PASO.PCG is running.
There is a bug in the rectangular mesh generators but they need to be
revised in any case to clean up the code.
Revision
964 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Tue Feb 13 05:10:26 2007 UTC
(15 years, 6 months ago)
by
gross
Original Path:
trunk/escript/src/Data.cpp
File length: 81838 byte(s)
Diff to
previous 950
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.
Revision
950 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Tue Feb 6 07:01:11 2007 UTC
(15 years, 6 months ago)
by
gross
Original Path:
trunk/escript/src/Data.cpp
File length: 83954 byte(s)
Diff to
previous 924
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.
Revision
924 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Wed Jan 10 03:39:27 2007 UTC
(15 years, 7 months ago)
by
trankine
Original Path:
trunk/escript/src/Data.cpp
File length: 83884 byte(s)
Diff to
previous 922
Win32 port modifications
"or" is not a valid modifier under win intel compiler
* Data.cpp - incorrect "or"s
* DataExpanded.cpp - incorrect "or"s
Revision
921 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Fri Jan 5 00:54:37 2007 UTC
(15 years, 7 months ago)
by
gross
Original Path:
trunk/escript/src/Data.cpp
File length: 83284 byte(s)
Diff to
previous 876
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.
Revision
854 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Thu Sep 21 05:29:42 2006 UTC
(15 years, 10 months ago)
by
gross
Original Path:
trunk/escript/src/Data.cpp
File length: 82904 byte(s)
Diff to
previous 826
Some modifications to the binary operations +,-,*/, pow.
The code is a bit simpler now and more efficient has there is
no reseising required now. the resizing method has been removed as
it is very, very inefficient. Even serial code should be faster now.
It is now forbidden to do an inplace update of scalar data object with an object
of rank >0 as this is very slow (and does not make much sense).
Revision
813 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Mon Aug 21 02:08:47 2006 UTC
(15 years, 11 months ago)
by
ksteube
Original Path:
trunk/escript/src/Data.cpp
File length: 83823 byte(s)
Diff to
previous 804
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.
Revision
790 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 26 23:12:34 2006 UTC
(16 years ago)
by
bcumming
Original Path:
trunk/escript/src/Data.cpp
File length: 64492 byte(s)
Diff to
previous 783
changes to escript/py_src/pdetools.py and /escript/src/Data.h/.cpp to
make the Locator work in MPI. escript::Data::mindp now returns a 3 tuple,
with the MPI rank of the process on which the minimum value occurs
included. escript::Data::convertToNumArrayFromDPNo also takes the ProcNo
to perform the MPI reduction.
This had to be implemented in both the MPI and non-MPI versions to allow
the necesary changes to the Python code in pdetools.py. In the non-MPI
version ProcNo is set to 0. This works for the explicit scripts tested
thus far, however if it causes problems in your scripts contact Ben or
Lutz, or revert the three files (pdetools.py, Data.h and Data.cpp) to
the previous version.
Revision
783 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Tue Jul 18 01:32:50 2006 UTC
(16 years ago)
by
gross
Original Path:
trunk/escript/src/Data.cpp
File length: 62557 byte(s)
Diff to
previous 782
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.
Revision
782 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Tue Jul 18 00:47:47 2006 UTC
(16 years ago)
by
bcumming
Original Path:
trunk/escript/src/Data.cpp
File length: 60681 byte(s)
Diff to
previous 775
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.
Revision
775 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Mon Jul 10 04:00:08 2006 UTC
(16 years, 1 month ago)
by
ksteube
Original Path:
trunk/escript/src/Data.cpp
File length: 59356 byte(s)
Diff to
previous 757
Modified the following python methods in escript/py_src/util.py to
call faster C++ methods:
escript_trace
escript_transpose
escript_symmetric
escript_nonsymmetric
Revision
751 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 26 01:46:34 2006 UTC
(16 years, 1 month ago)
by
bcumming
Original Path:
trunk/escript/src/Data.cpp
File length: 54964 byte(s)
Diff to
previous 711
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.
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.