1
1
Граф коммитов

54 Коммитов

Автор SHA1 Сообщение Дата
George Bosilca
3e35dbee30 Add a helper function to find out if a couple datatype & count represent a contiguous
memory layout.

This commit was SVN r7357.
2005-09-13 21:59:34 +00:00
George Bosilca
a5871ffc23 Report back the correct position when the caller use ompi_convertor_set_position. That should
fix Tim's problems.

This commit was SVN r7353.
2005-09-13 20:29:50 +00:00
George Bosilca
5b1303edef Correctly handle the convertor flags.
This commit was SVN r7298.
2005-09-11 18:51:47 +00:00
George Bosilca
6b2d154df3 Add more debug messages to the pack and unpack functions.
This commit was SVN r7297.
2005-09-11 18:51:06 +00:00
George Bosilca
95497b156e Cleanup the flags when we clone or copy a convertor. Add safety checks for the set_position function.
This commit was SVN r7296.
2005-09-11 18:49:46 +00:00
George Bosilca
df26395a83 Add some mask to cleanup the convertor flags.
This commit was SVN r7295.
2005-09-11 18:48:50 +00:00
George Bosilca
41c2dc6a79 Call the new unpack function from the new_unpack.c
The cleanup of the pack/unpack framework will follow shortly.

This commit was SVN r7286.
2005-09-09 23:38:31 +00:00
George Bosilca
35676f0c75 Do not forget to update the max_data before returning to the upper level.
This commit was SVN r7285.
2005-09-09 23:37:44 +00:00
George Bosilca
06d9c594ef A new unpack framework based on the pack. Quicker and simpler and hopefully less
error prone.

This commit was SVN r7284.
2005-09-09 23:37:02 +00:00
George Bosilca
778468a5b6 Add comment about how to compile these 2 tests.
This commit was SVN r7248.
2005-09-09 06:17:19 +00:00
George Bosilca
b2bb2393fc Remove all useless debug stuff.
This commit was SVN r7247.
2005-09-09 06:16:44 +00:00
George Bosilca
63fb0f3341 Correct the eager problem for some devices. The bug was because we stop packing too early, not on the
data where I have to start the next time, but on the place where I detect there is no more space in the
iovecs. That lead to a wrong computation of the displacement on the next call to pack.

Additionally, I change some macros on statis inline functions. They allow me to go inside step by step
with a debugger. They will go back to macros one I'm 100% sure they cannot generate any more errors.

This commit was SVN r7246.
2005-09-09 06:07:37 +00:00
George Bosilca
8280ce8f6d A new flag has been added. To detect when the convertor has finish its work a complex condition
was computed. This informations can be updated on the convertor flag by the pack/unpack function,
making the test a lot simpler. The pack/unpack functions will be modified soon.

This commit was SVN r7245.
2005-09-09 06:04:29 +00:00
George Bosilca
3693816d08 Update the old datatype test and add a new one based on the test Tim wrote.
This commit was SVN r7244.
2005-09-09 06:01:59 +00:00
George Bosilca
d27f17f406 Solve the reference count problem. As the MPI functions always use the ompi_ddt_set_args
and ompi_ddt_release_args functions, increase the reference count for the used datatypes here
not in the dt_add.c. Tus, we have a correct reference count for all data-type independing if
the datatypes are used in MPI or directly in others modules.

This commit was SVN r7225.
2005-09-07 20:10:24 +00:00
George Bosilca
f0b4553757 Correctly set the include for the ddt_test.
This commit was SVN r7217.
2005-09-07 17:05:29 +00:00
Brian Barrett
ed56e743b7 * update configure.ac to use the modern version of AC_INIT and
AM_INIT_AUTOMAKE, instead of the deprecated version.
* Work around dumbness in modern AC_INIT that requires the version
  number to be set at autoconf time (instead of at configure time, as
  it was before).  Set the version number, minus the subversion r number,
  at autoconf time.  Override the internal variables to include the r
  number (if needed) at configure time.  Basically, the right thing
  should always happen.  The only place it might not is the version
  reported as part of configure --help will not have an r number.
* Since AM_INIT_AUTOMAKE taks a list of options, no need to specify
  them in all the Makefile.am files.
* Addes support for subdir-objects, meaning that object files are put
  in the directory containing source files, even if the Makefile.am is
  in another directory.  This should start making it feasible to
  reduce the number of Makefile.am files we have in the tree, which
  will greatly reduce the time to run autogen and configure.

This commit was SVN r7211.
2005-09-07 05:54:53 +00:00
George Bosilca
0eabdd9498 The correct way to detect if a contiguous datatpe has gaps around (in the begining or at the
end) is to check the size and the extent (not the true extent).
If there are gaps we should adapt the source and the destination to match these gaps
(especially if the gaps are in the begining).

This commit was SVN r7060.
2005-08-26 22:41:04 +00:00
Jeff Squyres
c2387ca74e Fix incorrect declaration (wrong name)
This commit was SVN r7001.
2005-08-24 10:48:07 +00:00
Jeff Squyres
e256cdc59b Fix function declaration types and functions (verified by looking at
the functions -- they return things like OMPI_SUCCESS).

This commit was SVN r6981.
2005-08-23 12:36:32 +00:00
Rainer Keller
145cb07562 - Helpful debug code by George.
This commit was SVN r6934.
2005-08-19 10:39:34 +00:00
Jeff Squyres
cf16a521c8 Ensure to get ompi/include/constants.h
This commit was SVN r6845.
2005-08-12 21:42:07 +00:00
George Bosilca
ea0cf322f3 Taking care of the source pointer.
This commit was SVN r6691.
2005-08-01 17:09:46 +00:00
George Bosilca
8e1f169ffd When we copy a convertor we should copy it's flags too. Otherwise the informations inside will
not match the flags (uninitialized).

This commit was SVN r6681.
2005-07-29 00:17:02 +00:00
George Bosilca
10d95144b6 Add a global local architecture. It is required by the proc.c file as all new procs by default
have the same architecture as the current one.

This commit was SVN r6678.
2005-07-29 00:12:33 +00:00
George Bosilca
4304115e0a Activate the assert as now the ddt engine handle correctly the ref count on the datatypes.
This commit was SVN r6502.
2005-07-14 22:02:43 +00:00
George Bosilca
1dfbd0e296 For contiguous datatype set the type in the stack and compute the displacement depending
on the basic type where we have to start.

This commit was SVN r6497.
2005-07-14 19:27:58 +00:00
Tim Woodall
76e287a29a George - the change you made breaks the btls - as they
think the data is contiguous - and the convertor routine
you've changed this to doesn't support returning the correct
offset into the user buffer when a NULL address is provided
in the iovec array

This commit was SVN r6496.
2005-07-14 19:21:07 +00:00
George Bosilca
269a939a09 Do not allow the macro to execute if there is nothing to do.
Correctly compute the next displacement, if we stop in the middle of a conversion.

This commit was SVN r6495.
2005-07-14 19:16:25 +00:00
George Bosilca
77e4e5d1d4 The new pack function should get intensively tested. It should be the default one use
all the time. There is a performance problem (it's a lot slower than the optimized versions)
but otherwise it will never get tested intensively.

This commit was SVN r6467.
2005-07-13 21:29:14 +00:00
George Bosilca
b01c7ee66b The flags should be set to zero when we allocate the convertor.
This commit was SVN r6466.
2005-07-13 21:27:54 +00:00
George Bosilca
8641a794f8 They get freed in just one place. It's useless to have a macro for that.
This commit was SVN r6465.
2005-07-13 21:27:12 +00:00
Galen Shipman
dcbda13a72 Various bug fixes..
This commit was SVN r6464.
2005-07-13 21:13:30 +00:00
George Bosilca
7ca76f83aa pedantic ...
This commit was SVN r6451.
2005-07-12 21:53:47 +00:00
George Bosilca
02828d3c97 Finally I get the time to implement a correct reference count for datatypes. The problem
was that some datatypes can be used in order to create additional datatypes. In such cases
they should not get destroyed otherwise the user will not be able to retrieve how a 
datatype was created. So I decide to never increase the reference count for any predefined
datatypes (as we already know they will never get destroyed, except on finalize). For
the others, every time a datatype is user by another one I increase the reference count.
When I destroy a datatype, I parse (the internal structure args) and release one ref count
on all not predefined datatypes used by this one. Thus the datatypes get cleaned. The main
problem with this approach is the recursivity as this function can trigger another call
to itself (but I dont think it will be an issue).

This commit was SVN r6450.
2005-07-12 21:52:30 +00:00
George Bosilca
59d886e6c7 pedantic ...
This commit was SVN r6433.
2005-07-12 05:31:30 +00:00
George Bosilca
3551f97329 Give a change to all datatype to get an optimized version. Even the contiguous ones ...
This commit was SVN r6432.
2005-07-12 05:31:12 +00:00
George Bosilca
a4548c9e89 This optimization require that the true extent of the data is equal to the size of the data. Not the extent.
This commit was SVN r6431.
2005-07-12 05:30:35 +00:00
George Bosilca
07ad024ed3 OMPI_ARCH_LONGLONGISxx is a mask so we can get the length of a long long.
This commit was SVN r6430.
2005-07-12 05:29:33 +00:00
George Bosilca
717fa6c34f The ompi_ddt_optimize_short function is local to the datatype engine. Do not export it !
This commit was SVN r6429.
2005-07-12 05:28:39 +00:00
George Bosilca
b226af1176 Tolerate the datatype with ZERO elements. They can have an optimized expression (sic!) ... Anyway there is a
warning message when we try to pack suck kind of datatypes.

This commit was SVN r6388.
2005-07-08 07:00:18 +00:00
George Bosilca
d38c8b6895 Be nice and remember the real type of the last data. Optimizing the optimization leads to strange behaviours ...
This commit was SVN r6387.
2005-07-08 06:50:43 +00:00
George Bosilca
6c6b18eb20 Quit when there is no more space in the iovec.
This commit was SVN r6386.
2005-07-08 06:49:07 +00:00
George Bosilca
9a448ece15 A more cleaner version of the pack function. It does not (yet!) have all the optimizations
from the old version but they will get inside quickly. 

This commit was SVN r6381.
2005-07-07 23:07:43 +00:00
George Bosilca
e3e49ae42f Force the usage of the new pack function.
This commit was SVN r6380.
2005-07-07 23:06:39 +00:00
George Bosilca
c502b6b38c Declare the global "local" convertor. This one can be used for all pack/unpack
direct calls.

This commit was SVN r6379.
2005-07-07 23:06:04 +00:00
George Bosilca
d0df88316e Declare and initialize the 2 predefined convertors.
This commit was SVN r6378.
2005-07-07 23:03:59 +00:00
George Bosilca
d796186911 If there is no datatype attached to the convertor there is nothing to release. This bug
happens only with the 2 predefined convertors ...

This commit was SVN r6377.
2005-07-07 23:03:19 +00:00
George Bosilca
8dea323088 Remember the last type when we do the datatype optimization.
This commit was SVN r6376.
2005-07-07 23:01:51 +00:00
Brian Barrett
a13166b500 * rename ompi_output to opal_output
This commit was SVN r6329.
2005-07-03 23:31:27 +00:00