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

97 Коммитов

Автор SHA1 Сообщение Дата
Nathan Hjelm
4d92c9989e more c99 updates
This commit does two things. It removes checks for C99 required
headers (stdlib.h, string.h, signal.h, etc). Additionally it removes
definitions for required C99 types (intptr_t, int64_t, int32_t, etc).

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-06-25 10:14:13 -06:00
Ralph Castain
869041f770 Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
Gilles Gouaillardet
b896ce7c4a opal/ddt: fix opal_dt_swap_bytes
fix a bug from commit open-mpi/ompi@ef74566734
2015-05-28 16:00:03 +09:00
George Bosilca
ef74566734 Optimize the heterogeneous case when there are multiple
identical types.
2015-05-27 01:07:29 -04:00
George Bosilca
79d5e2a92b Use C99 array initialization. Add a comment about
the limitations of the functions generated with
COPY_TYPE_HETEROGENEOUS.
2015-05-27 00:44:17 -04:00
Gilles Gouaillardet
bc105afb10 opal/ddt: add copy functions for complex types
long double internal representation is arch specific,
and no conversion is done (yet), so MPI_LONG_DOUBLE should not
be used (yet) in heterogeneous mode
2015-05-26 16:59:36 +09:00
Gilles Gouaillardet
e47cb9636d Revert "opal_pack_homogeneous_contig_with_gaps_function: correctly handle contiguous ddt made of more than one basic type"
This reverts commit e4846746f4.
2015-05-22 17:25:33 +09:00
Gilles Gouaillardet
e4846746f4 opal_pack_homogeneous_contig_with_gaps_function: correctly handle contiguous ddt made of more than one basic type
Fix an issue that can only be seen on an heterogeneous cluster when sending MPI_LONG_INT type and friends
2015-05-22 15:44:08 +09:00
Gilles Gouaillardet
c809aace47 initialize common symbols from opal
A few uninitialized common symbols are remaining:

common symbols generated by flex :
 * opal/util/keyval/keyval_lex.l: opal_util_keyval_yyleng
 * opal/util/keyval/keyval_lex.o: opal_util_keyval_yytext
 * opal/util/show_help_lex.l: opal_show_help_yyleng
 * opal/util/show_help_lex.l: opal_show_help_yytext

common symbol generated by "external" hwloc library:
 * opal/mca/hwloc/hwloc191/hwloc/src/components.o: component_map
2015-05-08 09:48:51 +09:00
George Bosilca
5905bd2ff9 As the pStack pointer changes during the execution it is not
safe to free it. Instead, keep a copy of the original location
to be able to free the correct memory region.
2015-03-05 13:36:21 -05:00
George Bosilca
3c489ea5d5 Use malloc instead of alloca as some users could use very large arrays
of datatypes. Thanks Bogdan Sataric for the bug report.
2015-03-05 12:24:28 -05:00
Jeff Squyres
4f1139590f datatypes: trivial spelling fix
s/commited/committed/gi
2015-02-27 18:16:01 -08:00
Nathan Hjelm
44fb8369ff opal/convertor: add a function to get the pointer for an offset (instead of the current offset)
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-02-13 11:46:37 -07:00
George Bosilca
7f4c5fa96f Add the displacement of the element to the
safeguard check.
2015-02-10 20:13:36 -05:00
George Bosilca
da83b084f5 Shifting the datatype around should alter it's true LB and UB. 2015-01-19 02:28:17 -05:00
George Bosilca
3ae89dc686 Clarify some of the comments. 2015-01-19 02:26:59 -05:00
Rolf vandeVaart
9ee8e1dcf4 With PGI compile we need stdarg.h for va_list define 2014-12-11 16:14:57 -05:00
rolfv
f471b09ae9 Add support for CUDA Unified memory. Basically, add a new flag and disable some
optimizations when that flag is detected.  Lightly reviewed by bosilca.
2014-12-10 05:46:00 -08:00
George Bosilca
e640673372 Refactor the datatype engine to reduce the critical path for the most
trivial (and thus used) datatype usages. Make the gaps_contiguous
pack and unpack functions similar.
2014-12-02 16:23:41 +09:00
George Bosilca
0b0c7ea28b Fix a subtle bug in the convertor where the lb of the datatype
can be added twice (for partially packed datatypes). Thanks to
the Fujitsu's MPI development team for the bug report and the
patch.
2014-11-29 19:46:02 -05:00
Nathan Hjelm
1b564f62bd Revert "Merge pull request #275 from hjelmn/btlmod"
This reverts commit ccaecf0fd6, reversing
changes made to 6a19bf85dd.
2014-11-19 23:22:43 -07:00
Nathan Hjelm
b75bb8aea7 Update pml for btl changes 2014-11-19 11:33:02 -07:00
rolfv
3e29eaf1d6 Fix CUDA compile error 2014-10-24 12:28:03 -07:00
George Bosilca
63ba754f3f Remove unnecessary includes from the datatype 2014-10-15 21:49:32 -04:00
Ralph Castain
552c9ca5a0 George did the work and deserves all the credit for it. Ralph did the merge, and deserves whatever blame results from errors in it :-)
WHAT:    Open our low-level communication infrastructure by moving all necessary components (btl/rcache/allocator/mpool) down in OPAL

All the components required for inter-process communications are currently deeply integrated in the OMPI layer. Several groups/institutions have express interest in having a more generic communication infrastructure, without all the OMPI layer dependencies.  This communication layer should be made available at a different software level, available to all layers in the Open MPI software stack. As an example, our ORTE layer could replace the current OOB and instead use the BTL directly, gaining access to more reactive network interfaces than TCP.  Similarly, external software libraries could take advantage of our highly optimized AM (active message) communication layer for their own purpose.  UTK with support from Sandia, developped a version of Open MPI where the entire communication infrastucture has been moved down to OPAL (btl/rcache/allocator/mpool). Most of the moved components have been updated to match the new schema, with few exceptions (mainly BTLs where I have no way of compiling/testing them). Thus, the completion of this RFC is tied to being able to completing this move for all BTLs. For this we need help from the rest of the Open MPI community, especially those supporting some of the BTLs.  A non-exhaustive list of BTLs that qualify here is: mx, portals4, scif, udapl, ugni, usnic.

This commit was SVN r32317.
2014-07-26 00:47:28 +00:00
George Bosilca
6290f6cc58 Correctly deal with partially converted datatypes both
during the unpack and during the positioning.

Fixes trac:4610.

This commit was SVN r31904.

The following Trac tickets were found above:
  Ticket 4610 --> https://svn.open-mpi.org/trac/ompi/ticket/4610
2014-05-29 21:53:44 +00:00
Rolf vandeVaart
71998ad67b Change one argument to use const. Matches better how function is called.
This commit was SVN r31741.
2014-05-13 18:55:41 +00:00
Ralph Castain
11faab1091 The final step of the RFC: convert the <foo>libdir and friends to fit their respective code areas, and equate them all at the top. Note that we can't entirely separate things as the opal_install_dirs framework can't handle separated locations for the various trees.
This commit was SVN r31679.
2014-05-08 02:01:35 +00:00
George Bosilca
8a8218349a Datatype with count of zero do not generate traffic in the type map, nor
have any impact on the type signature.

Fixes trac:4597.
cmr=v1.8.2:reviewer=ompi-rm1.8

This commit was SVN r31635.

The following Trac tickets were found above:
  Ticket 4597 --> https://svn.open-mpi.org/trac/ompi/ticket/4597
2014-05-05 21:49:18 +00:00
George Bosilca
1cddb2aae8 Correctly save the displacement for the case where the convertor is not
completed. As we need to have the right displacement at the beginning
of the next call, we should save the position relative to the beginning
of the buffer and not to the last loop.

This commit was SVN r31387.
2014-04-14 04:46:58 +00:00
George Bosilca
373f97cdae Remove a non-necessary label.
This commit was SVN r31380.
2014-04-14 00:20:30 +00:00
George Bosilca
7853f82567 Reshape all the packing/unpacking functions to use the same skeleton. Rewrite the
generic_unpacking to take advantage of the same capabilitites.

This commit was SVN r31370.
2014-04-11 20:06:56 +00:00
Jeff Squyres
da87b506bd Remove warnings identified by clang 3.4
* Remove unused static functions
 * Remove unused static variables

cmr=v1.8:reviewer=hjelmn

This commit was SVN r31023.
2014-03-12 13:17:54 +00:00
Jeff Squyres
0243353feb There's no reason for these files to be executable; remove the
svn:executable property.

This commit was SVN r30750.
2014-02-17 19:15:58 +00:00
Rolf vandeVaart
791a3a5ec6 Fix CUDA-aware support with sendi optimization. Need to make sure copy function
is initialized.

This commit was SVN r30437.
2014-01-27 18:35:01 +00:00
Brian Barrett
8b778903d8 Fix longstanding issue with our multi-project support. Rather than using
pkg{data,lib,includedir}, use our own ompi{data,lib,includedir}, which is
always set to {datadir,libdir,includedir}/openmpi.  This will keep us from
having help files in prefix/share/open-rte when building without Open MPI,
but in prefix/share/openmpi when building with Open MPI.

This commit was SVN r30140.
2014-01-07 22:11:15 +00:00
George Bosilca
5aa0837250 Init all fields (valgrind cleanup).
This commit was SVN r30046.
2013-12-21 23:24:29 +00:00
George Bosilca
178c340992 rearrange the fields to remove a gap in the datatype.
This commit was SVN r30020.
2013-12-20 15:57:56 +00:00
George Bosilca
7178492dd5 Correctly initialize and finalize all the datatype classes. No memory leaks on the
datatype engine subsists.

This commit was SVN r30019.
2013-12-20 15:57:10 +00:00
Jeff Squyres
e4097c5cc9 George pointed out that r29991 wasn't quite right. This patch is
added on top of r29991 and:

 * Consolidates the _debug variables in opal_datatype_internal.h and
   opal_convertor.h
 * Puts the DO_DEBUG macros back in the .c files, because they are
   slightly different from each other

Refs trac:4004

This commit was SVN r29992.

The following SVN revision numbers were found above:
  r29991 --> open-mpi/ompi@a88e143127

The following Trac tickets were found above:
  Ticket 4004 --> https://svn.open-mpi.org/trac/ompi/ticket/4004
2013-12-19 22:54:27 +00:00
Jeff Squyres
a88e143127 Fixes trac:3989: opal_pack_debug was instantiated as a bool in one file
and extern'ed s an int in another.  This caused a SIBGUS on
Solaris/SPARC.

This commit properly moves the extern to a .h file so that it's the
same in all files.  It also moves the DO_DEBUG to the header file,
because it was defined to the same thing in multiple .c files.

cmr=v1.7.4:reviewer=bosilca:subject=fix SPARC SIGBUS in opal convertor code

This commit was SVN r29991.

The following Trac tickets were found above:
  Ticket 3989 --> https://svn.open-mpi.org/trac/ompi/ticket/3989
2013-12-19 21:38:51 +00:00
George Bosilca
3d72ccf1f4 Don't reset the convertor to the default size and buffer as it
should be already set to the right value. This fixes a problem
identified by Guillaume Gouaillardet, where using a single 
persistent receive leads to leaking the convertor stack memory.

Refs trac:3956
cmr=v1.7.4:reviewer=jsquyres:subject=Correctly handle the convertor internal stack for persistent receives.

This commit was SVN r29920.

The following Trac tickets were found above:
  Ticket 3956 --> https://svn.open-mpi.org/trac/ompi/ticket/3956
2013-12-15 18:16:38 +00:00
George Bosilca
43b4d76913 Fix a corner case for a non-contiguous send convertor where the
convertor accepted to be set to a position in the middle of a
predefined datatype. Once set there is was unable to provide the
second part of the datatype. This fix force the convertor to be
aligned on predefined datatypes boundaries for any non-contiguous
send convertor.

This commit was SVN r29285.
2013-09-28 16:46:21 +00:00
George Bosilca
55273f1c98 Cleanup spaces, nothing else.
This commit was SVN r29197.
2013-09-18 00:07:58 +00:00
Nathan Hjelm
7929fb9dea Cleanup complex datatypes and update datatypes and operator code to use C99.
This commit changes the underlying opal complex datatypes to match the
C99 types: float _Complex, double _Complex, and long double _Complex. The
fortran and C++ types now are aliases to these basic types instead of
structure types. The operators in ompi/mca/op/base now work on only the
C99 types and the fortran types use these operators if the fortran type
matches a C complex type (this should almost always be the case.)

C99 is not is use in both the datatype and operator code and should make
the code both cleaner and much less fragile.

This commit was SVN r29193.
2013-09-17 17:49:42 +00:00
George Bosilca
30b910b54d More info in the debug mode.
This commit was SVN r29002.
2013-08-06 09:08:43 +00:00
Nathan Hjelm
99adeb7f6e Fix support for complex datatypes when fortran is not available but _Complex is
This commit was SVN r28951.
2013-07-25 19:08:21 +00:00
Nathan Hjelm
c4c69b4ddf MPI-3: add support for large counts using derived datatypes
Add support for MPI_Count type and MPI_COUNT datatype and add the required
MPI-3 functions MPI_Get_elements_x, MPI_Status_set_elements_x,
MPI_Type_get_extent_x, MPI_Type_get_true_extent_x, and MPI_Type_size_x.
This commit adds only the C bindings. Fortran bindins will be added in
another commit. For now the MPI_Count type is define to have the same size
as MPI_Offset. The type is required to be at least as large as MPI_Offset
and MPI_Aint. The type was initially intended to be a ssize_t (if it was
the same size as a long long) but there were issues compiling romio with
that definition (despite the inclusion of stddef.h).

I updated the datatype engine to use size_t instead of uint32_t to support
large datatypes. This will require some review to make sure that 1) the
changes are beneficial, 2) nothing was broken by the change (I doubt
anything was), and 3) there are no performance regressions due to this
change.

Increase the maximum number of predifined datatypes to support MPI_Count

Put common get_elements code to ompi/datatype/ompi_datatype_get_elements.c

Update MPI_Get_count to reflect changes in MPI-3 (return MPI_UNDEFINED when the count is too large for an int)

This commit was SVN r28932.
2013-07-23 15:35:14 +00:00
George Bosilca
a6c3477e89 Remove useless include.
This commit was SVN r28646.
2013-06-15 16:07:30 +00:00
Rolf vandeVaart
62ab008017 Fix SEGV because missing CUDA initialization.
This commit was SVN r28601.
2013-06-07 18:31:36 +00:00