misc: apply maint/spellcheck.sh -all

This fixes the spelling errors for the rest of the repository, excluding
the files excluded in spellcheck.sh.
Esse commit está contido em:
Hui Zhou
2021-03-10 17:13:06 -06:00
commit 394df8648a
59 arquivos alterados com 127 adições e 127 exclusões
+8 -8
Ver Arquivo
@@ -22,12 +22,12 @@
# MPI_Info objects can be accessed before MPI_Init{_thread}.
# Generate C API interface functions inlcuding man page notes and error
# Generate C API interface functions including man page notes and error
checking using Python scripts.
# Generate Fortran mpi_f08 binding using Python scripts.
# Support explict --without-cuda configure option.
# Support explicit --without-cuda configure option.
===============================================================================
Changes in 3.4
@@ -36,7 +36,7 @@
# ch4 replaces ch3 as the default device configuration. If no network
module is specified at configuration-time, MPICH will search the
user environment in order to select one to build. The user will be
prompted to choose if no preferred network library is dectected.
prompted to choose if no preferred network library is detected.
# Add support for Yaksa datatype engine (default in ch4).
@@ -211,7 +211,7 @@
# Added experimental support for Open Fabrics Interfaces (OFI) version 1.0.0.
https://github.com/ofiwg/libfabric (thanks to Intel for code contribution)
# The Myrinet MX network module, which had a life cyle from 1.1 till
# The Myrinet MX network module, which had a life cycle from 1.1 till
3.1.2, has now been deleted.
# Several other minor bug fixes, memory leak fixes, and code cleanup.
@@ -1227,7 +1227,7 @@ www.mcs.anl.gov/mpi/mpich2/mpich2_1_0_6changes.htm.
- Many enhancements to MPE
- Enhanced support for features and idiosyncracies of Fortran 77 and
- Enhanced support for features and idiosyncrasies of Fortran 77 and
Fortran 90 compilers, including gfortran, g95, and xlf
- Enhanced support for C++ compilers that do not fully support abstract
@@ -1241,13 +1241,13 @@ www.mcs.anl.gov/mpi/mpich2/mpich2_1_0_6changes.htm.
- Man pages for mpiexec and mpif90
- Enhancements for developers, including a more flexible and general
mechanism for inserting logging and information messages, controlable
mechanism for inserting logging and information messages, controllable
with --mpich-dbg-xxx command line arguments or MPICH_DBG_XXX environment
variables.
- Note to developers:
This release contains many changes to the structure of the CH3
device implementation (in src/mpid/ch3), including signficant
device implementation (in src/mpid/ch3), including significant
reworking of the files (many files have been combined into fewer files
representing logical grouping of functions). The next release of
MPICH2 will contain even more significant changes to the device
@@ -1278,7 +1278,7 @@ www.mcs.anl.gov/mpi/mpich2/mpich2_1_0_6changes.htm.
and provides count of real drawables in preview drawables.
- new slog2 tools, slog2filter and slog2updater, which both are logfile
format convertors. slog2filter removes undesirable categories of
format converters. slog2filter removes undesirable categories of
drawables as well as alters the slog2 file structure. slog2updater
is a slog2filter that reads in older logfile format, 2.0.5, and
writes out the latest format 2.0.6.
+1 -1
Ver Arquivo
@@ -725,7 +725,7 @@ If the C compiler that is used to build MPICH libraries supports both
multiple weak symbols and multiple aliases of common symbols, the
Fortran binding can support multiple Fortran compilers. The
multiple weak symbols support allow MPICH to provide different name
mangling scheme (of subroutine names) required by differen Fortran
mangling scheme (of subroutine names) required by different Fortran
compilers. The multiple aliases of common symbols support enables
MPICH to equal different common block symbols of the MPI Fortran
constant, e.g. MPI_IN_PLACE, MPI_STATUS_IGNORE. So they are understood
+1 -1
Ver Arquivo
@@ -873,7 +873,7 @@ if [ $do_geterrmsgs = "yes" ] ; then
fi
rm -f .err .err2
else
# Incase it exists but has zero size
# In case it exists but has zero size
rm -f .err
fi
if [ -s unusederr.txt ] ; then
+5 -5
Ver Arquivo
@@ -113,12 +113,12 @@ mpif_cmblk_t MPIFCMB;
define aliased symbols if they are in the same file.
*/
/*
We can't do the following comparision in one test:
We can't do the following comparison in one test:
ilogical = (( &mpifcmb == ptr && &MPIFCMB == ptr ) ? TRUE : FALSE) ;
illogical = (( &mpifcmb == ptr && &MPIFCMB == ptr ) ? TRUE : FALSE) ;
because some compiler, like gcc 4.4.2's -O* optimizes the code
such that the ilogical expression is FALSE. The likely reason is that
such that the illogical expression is FALSE. The likely reason is that
mpifcmb and MPIFCMB are defined in the same scope in which C optimizer
may have treated them as different objects (with different addresses),
&mpifcmb != &MPIFCMB, before actually running the test and hence the
@@ -304,7 +304,7 @@ AC_LANG_POP(C)
dnl
dnl PAC_F2C_ATTR_ALIGNED_SIZE(ARRAY_SIZE, [OUTPUT_VAR], [MIN_ALIGNMENT])
dnl
dnl ARRAY_SIZE : Size of the integer array within the fortran commmon block.
dnl ARRAY_SIZE : Size of the integer array within the fortran common block.
dnl OUTPUT_VAR : Optional variable to be set.
dnl if test succeeds, set OUTPUT_VAR=$pac_f2c_attr_aligned_str.
dnl if test fails, set OUTPUT_VAR="unknown".
@@ -337,7 +337,7 @@ dnl i.e. ac_fc_werror_flag=yes, because compiler like pgf77 at version 10.x)
dnl has non-zero stderr output if a fortran program is used in the linking.
dnl The stderr contains the name of fortran program even if the linking is
dnl successful. We could avoid the non-zero stderr output in pgf77 by
dnl compiling everthing into object files and linking all the object files
dnl compiling everything into object files and linking all the object files
dnl with pgf77. Doing that would need us to use AC_TRY_EVAL instead of
dnl AC_LINK_IFELSE, so "diff" approach is used instead.
#
+1 -1
Ver Arquivo
@@ -1,5 +1,5 @@
dnl This is from crypt.to/autoconf-archive, slightly modified.
dnl It defines bool as int if it is not availalbe
dnl It defines bool as int if it is not available
dnl
AC_DEFUN([AX_CXX_BOOL],
[AC_CACHE_CHECK(whether the compiler recognizes bool as a built-in type,
+1 -1
Ver Arquivo
@@ -695,7 +695,7 @@ AC_LANG_POP([Fortran 77])
dnl PAC_PROG_F77_IN_C_LIBS
dnl
dnl Find the essential libraries that are needed to use the C linker to
dnl create a program that includes a trival Fortran code.
dnl create a program that includes a trivial Fortran code.
dnl
dnl For example, all pgf90 compiled objects include a reference to the
dnl symbol pgf90_compiled, found in libpgf90 .
+1 -1
Ver Arquivo
@@ -112,7 +112,7 @@ EOF
if test "$NOG2C" != "1" ; then
trial_LIBS="$trial_LIBS -lg2c"
fi
# Discard libs that are not availble:
# Discard libs that are not available:
save_IFS="$IFS"
# Make sure that IFS includes a space, or the tests that run programs
# may fail
+4 -4
Ver Arquivo
@@ -123,7 +123,7 @@ fi # is not cross compiling
dnl
dnl ------------------------------------------------------------------------
dnl Special characteristics that have no autoconf counterpart but that
dnl we need as part of the Fortran 90 support. To distinquish these, they
dnl we need as part of the Fortran 90 support. To distinguish these, they
dnl have a [PAC] prefix.
dnl
dnl At least one version of the Cray compiler needs the option -em to
@@ -274,7 +274,7 @@ AC_COMPILE_IFELSE([],[
rm -rf conftest.dSYM
rm -f conftest.$ac_ext
dnl Create the conftest here so the test isn't created everytime inside loop.
dnl Create the conftest here so the test isn't created every time inside loop.
AC_LANG_CONFTEST([AC_LANG_PROGRAM([],[use conf])])
# Save the original FCFLAGS
@@ -312,7 +312,7 @@ if test "X$pac_cv_fc_module_incflag" = "X" ; then
# fullpathname.pc
# The "fullpathname.pc" is generated, I believe, when a module is
# compiled.
# Intel compilers use a wierd system: -cl,filename.pcl . If no file is
# Intel compilers use a weird system: -cl,filename.pcl . If no file is
# specified, work.pcl and work.pc are created. However, if you specify
# a file, it must contain the name of a file ending in .pc . Ugh!
pac_cv_fc_module_incflag="unknown"
@@ -1143,7 +1143,7 @@ END INTERFACE TEST_ASSUMED_RANK_ASYNC
CONTAINS
! Test TS 29113 asychronous attribute and optional
! Test TS 29113 asynchronous attribute and optional
SUBROUTINE test1(buf, count, ierr)
INTEGER, ASYNCHRONOUS :: buf(*)
INTEGER :: count
+1 -1
Ver Arquivo
@@ -3,7 +3,7 @@ dnl We need routines to check that make works. Possible problems with
dnl make include
dnl
dnl It is really gnumake, and contrary to the documentation on gnumake,
dnl it insists on screaming everytime a directory is changed. The fix
dnl it insists on screaming every time a directory is changed. The fix
dnl is to add the argument --no-print-directory to the make
dnl
dnl It is really BSD 4.4 make, and can't handle 'include'. For some
+3 -3
Ver Arquivo
@@ -63,7 +63,7 @@ Turning off Fortran (-nof77 being assumed)])
WDEF="-D$FORTRANNAMES"
fi
# Delete confftest files with any extension. This catches the case
# where auxillary files, such as coverage files, are removed.
# where auxiliary files, such as coverage files, are removed.
rm -f confftest.*
])dnl
dnl
@@ -804,7 +804,7 @@ EOF
$CC $USER_CFLAGS -I$MPI_INCLUDE_DIR -o conftest$EXEEXT mpitest.c $MPI_LIB > /dev/null 2>&1
if test -x conftest$EXEEXT ; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_MPI_GREQUEST,1,[Define if generalized requests avaliable])
AC_DEFINE(HAVE_MPI_GREQUEST,1,[Define if generalized requests available])
DEFINE_HAVE_MPI_GREQUEST="#define HAVE_MPI_GREQUEST 1"
else
AC_MSG_RESULT(no)
@@ -827,7 +827,7 @@ EOF
$CC $USER_CFLAGS -I$MPI_INCLUDE_DIR -o conftest$EXEEXT mpitest.c $MPI_LIB > /dev/null 2>&1
if test -x conftest$EXEEXT ; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_MPI_GREQUEST_EXTENTIONS,1,[Define if non-standard generalized requests extensions avaliable])
AC_DEFINE(HAVE_MPI_GREQUEST_EXTENTIONS,1,[Define if non-standard generalized requests extensions available])
DEFINE_HAVE_MPI_GREQUEST_EXTENSIONS="#define HAVE_MPI_GREQUEST_EXTENSIONS 1"
else
AC_MSG_RESULT(no)
+1 -1
Ver Arquivo
@@ -16,7 +16,7 @@ dnl to config.log, i.e. AC_TRY_EVAL does not log anything to config.log.
dnl If autoconf provides AC_COMMAND_IFELSE or AC_EVAL_IFELSE,
dnl AC_COMMAND_IFELSE dnl should be replaced by the official autoconf macros.
dnl
dnl PAC_COMMAND_IFELSE(COMMMAND,[ACTION-IF-RUN-OK],[ACTION-IF-RUN-FAIL])
dnl PAC_COMMAND_IFELSE(COMMAND,[ACTION-IF-RUN-OK],[ACTION-IF-RUN-FAIL])
dnl
AC_DEFUN([PAC_COMMAND_IFELSE],[
AS_IF([PAC_RUNLOG([$1])],[
+1 -1
Ver Arquivo
@@ -192,7 +192,7 @@ case "$enable_sharedlibs" in
# our base approach. Disabling for now
dnl LT_PREREQ([2.2.6])
dnl LT_INIT([disable-shared])
AC_MSG_ERROR([To use this test verison, edit aclocal_shl.m4])
AC_MSG_ERROR([To use this test version, edit aclocal_shl.m4])
# Likely to be
# either CC or CC_SHL is libtool $cc
CC_SHL='${LIBTOOL} --mode=compile ${CC}'
+10 -10
Ver Arquivo
@@ -687,7 +687,7 @@ dnl lead to weird AM_CONDITIONAL errors and potentially other problems.
# support for this language. This should save a bit of configure time and also
# prevent user complaints like ticket #1570.
#
# NOTE: we are skipping overiding CXX as some modules (e.g. ucx) may depend on CXX
# NOTE: we are skipping overriding CXX as some modules (e.g. ucx) may depend on CXX
#
AS_IF([test "x$enable_f77" = "xno"],[F77=no])
AS_IF([test "x$enable_fc" = "xno"],[FC=no])
@@ -1153,7 +1153,7 @@ fi
# * MPID_MAX_THREAD_LEVEL, set in one of the device subconfigure.m4,
# determines the maximum thread level, typically MPI_THREAD_MULTIPLE.
# If missing, equivallent to single.
# * --enable-threads, explict user config option, raise error if beyond
# * --enable-threads, explicit user config option, raise error if beyond
# MPID_MAX_THREAD_LEVEL.
# It default to MPID_MAX_THREAD_LEVEL.
# * MPICH_THREAD_LEVEL is set by enable_threads
@@ -1461,7 +1461,7 @@ if test "$enable_romio" = "yes" ; then
# make it possible to "#include" mpio.h at build time
#
# This ought to be sufficient, but there is also a symlink setup in
# src/include to accomodate current mpicc limitations. See
# src/include to accommodate current mpicc limitations. See
# src/mpi/Makefile.mk for more info.
PAC_APPEND_FLAG([-I${main_top_builddir}/src/mpi/romio/include],[CPPFLAGS])
@@ -1601,7 +1601,7 @@ AC_SUBST(pm_name)
# Step 2:
# Once we've selected the process manager (or managers), we can
# check that we have a compatible PMI implemenatation.
# check that we have a compatible PMI implementation.
# with-pmi
if test "$with_pmi" != "no" ; then
if test "$with_pmi" = "default" -o "$with_pmi" = "yes" ; then
@@ -2675,11 +2675,11 @@ PAC_C_GNU_ATTRIBUTE
PAC_C_BUILTIN_EXPECT
PAC_C_STATIC_ASSERT
# We need to check for the endianess in order to implement the
# We need to check for the endianness in order to implement the
# "external32" representations. This defines "WORDS_BIGENDIAN when
# the system is bigendian.
# As of autoconf 2.62, this macro takes an additional argument for systems
# that can produce object files for either endianess.
# that can produce object files for either endianness.
# With the as-always-incompatible-with-every-version autoconf, the
# arguments for this macro *changed* in 2.62 to
# (if-bigendian,if-littleendian,unknown,universal)
@@ -2702,7 +2702,7 @@ case $byteOrdering in
AC_DEFINE(WORDS_UNIVERSAL_ENDIAN,1,[Define if configure will not tell us, for universal binaries])
;;
unknown)
AC_MSG_ERROR([Unable to determine endianess])
AC_MSG_ERROR([Unable to determine endianness])
;;
esac
@@ -3143,7 +3143,7 @@ fi
if test -n "$MPIR_REAL16_CTYPE" ; then
AC_DEFINE_UNQUOTED(MPIR_REAL16_CTYPE,$MPIR_REAL16_CTYPE,[C type to use for MPI_REAL16])
fi
# For complex 8/16/32, we assume that these are 2 consequetive real4/8/16
# For complex 8/16/32, we assume that these are 2 consecutive real4/8/16
#
# Search for the integer types
for type in char short int long long_long ; do
@@ -4675,7 +4675,7 @@ AC_ARG_ENABLE(checkpointing,
)
# Update the cache first with the results of the previous configure steps
# We don't use the subdir cache because ensuring that the cache is consistant
# We don't use the subdir cache because ensuring that the cache is consistent
# with the way in which configure wishes to use it is very difficult and
# too prone to error.
dnl PAC_SUBDIR_CACHE(always)
@@ -5219,7 +5219,7 @@ if test "X$enable_shared" = "Xyes" ; then
fi
# Set F08 versions of datatypes, which have type MPI_Datatype and are not integers anymore.
# If the correspoinding F77 datatypes exist, i.e., not MPI_DATATYPE_NULL, we simply use their
# If the corresponding F77 datatypes exist, i.e., not MPI_DATATYPE_NULL, we simply use their
# integer value (already converted into decimal) in F08 counterparts. Otherwise, we use
# MPI_VAL value of F08 MPI_DATATYPE_NULL.
# We put the code at the end to ensure all F77 datatypes have been set.
+1 -1
Ver Arquivo
@@ -338,7 +338,7 @@ for details. A typical example is:
to ensure that the process with rank 0 runs on your workstation.
The arguments between `:'s in this syntax are called ``argument sets,''
since they apply to a set of processes. More argments are described in
since they apply to a set of processes. More arguments are described in
the \textit{User's Guide}.
\end{enumerate}
+2 -2
Ver Arquivo
@@ -179,7 +179,7 @@ standard.
The predefined operations are
+I MPI_MAX - return the maximum
. MPI_MIN - return the minumum
. MPI_MIN - return the minimum
. MPI_SUM - return the sum
. MPI_PROD - return the product
. MPI_LAND - return the logical and
@@ -403,7 +403,7 @@ Special value for error codes array:
. MPI_T_PVAR_CLASS_PERCENTAGE - percentage utilization of a resource
. MPI_T_PVAR_CLASS_HIGHWATERMARK - high watermark of a resource
. MPI_T_PVAR_CLASS_LOWWATERMARK - low watermark of a resource
. MPI_T_PVAR_CLASS_COUNTER - number of occurances of an event
. MPI_T_PVAR_CLASS_COUNTER - number of occurrences of an event
. MPI_T_PVAR_CLASS_AGGREGATE - aggregate value over an event (e.g.,
sum of all memory allocations)
. MPI_T_PVAR_CLASS_TIMER - aggretate time spent executing event
+2 -2
Ver Arquivo
@@ -76,7 +76,7 @@ Isend/Irecv scenerio
Persistent requests
- We need to allow the method the opportunity to register memory reused in a
persistant sent. We suggest accomplishing this by calling CA_register_mem()
persistent sent. We suggest accomplishing this by calling CA_register_mem()
during the MPI_<op>_init() and CA_unregister_mem() during the
MPI_Request_free().
@@ -134,7 +134,7 @@ receives (which is the approach we should reward :)).
- we decided to use a single unexpected queue since having multiple unexpected
queues requires timestamp to order the messages. the timestamp counter is a
point of global contention, just like the global unexpect queue.
point of global contention, just like the global unexpected queue.
- this same argument can be applied to the posted queue case, but allowing for
multiple queues here creates a much nicer search situation for the case where
+3 -3
Ver Arquivo
@@ -87,11 +87,11 @@
Theoretically, a MPI communicator could be tagged to allow
unrealiable delivery, QoS, etc. We haven't thought much what
impact this has on our design, but we probably don't want to
prevent these capabilites.
prevent these capabilities.
* Communication subsystem components
- virtual connnections
- virtual connections
allows late binding to a communication device (method)
@@ -148,7 +148,7 @@
- reliability
Under a default environemnt, MPI messages are inherently reliable
Under a default environment, MPI messages are inherently reliable
which means that some methods may need concern themselves with
acknowledgments and retransmission if the underlying network does
not guarantee reliability.
+1 -1
Ver Arquivo
@@ -155,7 +155,7 @@ Action [Post Send Data],
// at one time, amortizing the cost of checking for buffers and checking
// flow control over a set of outgoing packets. We are uncertain how
// packing multiple buffers then posting multiple sends will affect
// peformance, but clearly amortizing costs when sending straight out of
// performance, but clearly amortizing costs when sending straight out of
// the user buffer will be a win.
if there are more data packets to send
+2 -2
Ver Arquivo
@@ -7,12 +7,12 @@ State [Unbound]
State [Bound, Unconnected]
Event [VC-Open]
/* An operation involved outgoing communcation was requested for this
/* An operation involved outgoing communication was requested for this
* virtual connection. Before we can perform such a request, we need
* to establish a real connection with the destination process. We
* also may need to initialize at least the receive side state machine
* now so that any unexpected incoming packets arriving shortly after
* connection establishment are properly handled. We could intialize
* connection establishment are properly handled. We could initialize
* send state machine, but it can't actually start sending until the
* connection has been established.
*/
+2 -2
Ver Arquivo
@@ -16,7 +16,7 @@ src/binding/c/errnames.txt, and src/include/mpir_impl.h.
## Master API config file
The master config file -- maint/mpi_standards_api.txt is a direct
transcription from mpi-standard repository. It contains entries as follwing:
transcription from mpi-standard repository. It contains entries as following:
---- quote ----
MPI_Send:
@@ -118,7 +118,7 @@ The above example customizes the function, MPI_Example, with a short description
extra man page notes, custom error checking code, early_return code, and custom
body of routine.
The customizations are place holders to allow flexibility dealing with arbitary
The customizations are place holders to allow flexibility dealing with arbitrary
complex code that it is too complex to deal with within the python script.
However, for most functions, most of the custom parts can be omitted. For example,
the following:
+1 -1
Ver Arquivo
@@ -32,7 +32,7 @@ PARAM:
...
---- end of ch4_api.txt
Section headings, i.e. "Non Native API", "Native API", and "PARAM", need start at the begining of the line immediately followed by ':'. All other specifications require to be start with some spaces.
Section headings, i.e. "Non Native API", "Native API", and "PARAM", need start at the beginning of the line immediately followed by ':'. All other specifications require to be start with some spaces.
The api is specified with "name", followed by ':', followed by "return type". Flexible spaces are allowed.
+1 -1
Ver Arquivo
@@ -66,7 +66,7 @@ Brian's notes from this file:
reminder: envelope = (context (communicator), source_rank, tag)
QUESTION: what exactly are the semantics of a block? Sends to the same
destination are definitely ordered. Sends to different desinations could
destination are definitely ordered. Sends to different destinations could
proceed in parallel. Should they?
example:
+2 -2
Ver Arquivo
@@ -136,7 +136,7 @@ Concepts
- virtual connection structures
- low-level connnection management (sockets, etc.) should be handled
- low-level connection management (sockets, etc.) should be handled
entirely by the device and probably driven by a state machine
@@ -304,7 +304,7 @@ Structures that cross layers
layers, but not vice versa. To increase cache locality and reduce memory
allocation, the device (and methods) report the amount of space they need in
these structures so that the highest layer can allocate sufficient space.
pointer arithmatic, etc.
pointer arithmetic, etc.
Virtual connection
+3 -3
Ver Arquivo
@@ -58,7 +58,7 @@ MPI_Start(request, error)
the right thing (tm).
- we chose not to convert handles to structure pointers since the handles may
cointain quick access to common information avoiding pointer dereferences.
contain quick access to common information avoiding pointer dereferences.
in some cases, an associated structure may not even exist.
the implication here is that many of the non-persistent MPI_Xsend routines
@@ -85,7 +85,7 @@ MPI_Ssend(buf, count, datatype, dest, tag, comm, error)
as much data as possible. If the entire message could not be sent
"immediately" then queue the request for later processing. (We need a
progress engine to ensure that later happens. */
/* Build up a segement unless the datatype is "trivial" */
/* Build up a segment unless the datatype is "trivial" */
/* Wait until entire message is sent */
@@ -174,7 +174,7 @@ MPI_Ssend(buf, count, datatype, dest, tag, comm, error)
reminder: envelope = (context (communicator), source_rank, tag)
QUESTION: what exactly are the semantics of a block? Sends to the same
destination are definitely ordered. Sends to different desinations could
destination are definitely ordered. Sends to different destinations could
proceed in parallel. Should they?
example:
+1 -1
Ver Arquivo
@@ -212,7 +212,7 @@ MPI_Accumulate(origin_addr, origin_count, origin_datatype,
{
target_offset = win.displ * target_disp;
target_addr = win.base + target_offset;
/* peform requested operation */
/* perform requested operation */
}
else if (origin_byte_count < EAGER_MAX)
{
+1 -1
Ver Arquivo
@@ -76,7 +76,7 @@ MPID_Win_fence
Q: Should we perform a barrier here? If we eliminate the barrier,
then all processes still waiting for operations to complete will
have to enqueue incoming requests from the next epoch until the
operations from the currrent epoch are complete. Not performing the
operations from the current epoch are complete. Not performing the
barrier complicates the RMA operations, but the performance benefit
may be significant for some cases. (What are they? How common are
they?)
+1 -1
Ver Arquivo
@@ -46,7 +46,7 @@
Q: How do the three synchronization mechanisms play together? What
is required in order to switch from one mechanism to another? The
standard talks about this briefly, but I am still somewhat confused
about what happens when a transistions occurs from active (fence)
about what happens when a transitions occurs from active (fence)
synchronization to scalable or passive synchronization. It seems as
though active synchronization always has open access and exposure
epochs unless the assertion MPI_MODE_NOSUCCEED is specified.
+3 -3
Ver Arquivo
@@ -217,7 +217,7 @@ another example, looking at shmem combined with remote access
two pairs of processes on same nodes
shared memory lock on single node allows one process to look directly into the
window information so that he doesn't ahve to go through the agent of the other
window information so that he doesn't have to go through the agent of the other
process on the local node. that same lock will be used by the communication
agent for a given process to ensure that things are kept sane in the off-node
case; in other words, this lock is utilized by processes on the same node
@@ -325,7 +325,7 @@ have as much as we do in the fence case.
the accumulate is odd as usual. if you're the only person in the target's
group, then you don't have to do the element-wise locking/atomicity (or
window-wise locking/unlocking depending on implementaiton).
window-wise locking/unlocking depending on implementation).
brian: it would be helpful for the origin to know if he needs to lock or not
during accumulate operations. this would allow him to know if he needs to lock
@@ -482,7 +482,7 @@ operation was requested during this access epoch. After Win_complete() detects
that all get operations have completed, if the flag is not set, it will
decrements the reference counts of the logged datatypes and free the access
epoch structure. If the flag is set, the datatype reference counts may only be
decremented once an explicit ackowledgement has been received from the target
decremented once an explicit acknowledgement has been received from the target
informing the origin that all operations requested by that access
epoch have been completed.
+1 -1
Ver Arquivo
@@ -50,7 +50,7 @@ MPI_Win_create
(MPIR_Win).
* Create a copy of the communcator provided by the user so the
window has its own communcation context.
window has its own communication context.
Q: Which layer (MPI/ADI3) should manage (be responsible for
creating, destroying, etc.) the MPIR_Win object?
+1 -1
Ver Arquivo
@@ -23,7 +23,7 @@ Important issues with passive target accumulate
Unless multiple threads (and processors) are present on the target
system to process accumulation operations, serialization is
eminent, and the best optmization is to not have a ton of
eminent, and the best optimization is to not have a ton of
multi-threading optimizations in the way slowing things down. This
suggests that two implementations may be necessary: one using
threads and one that doesn't.
+1 -1
Ver Arquivo
@@ -1,6 +1,6 @@
Below is the current design for passive target RMA on top of CH3.
We assume that there is some asychronous agent (thread) that
We assume that there is some asynchronous agent (thread) that
periodically pokes the progress engine, i.e., periodically calls
MPID_Progress_test(). We need to do a general poke of the progress
engine because we don't know whether there will be passive target RMA
+1 -1
Ver Arquivo
@@ -11,7 +11,7 @@ aware of and makes progress on one-sided as well as send-recv ops.
* An asynchronous agent kicks in periodically. The agent could be a
thread, process, or signal handler. The agent calls the general
progress function MPID_Make_progress and therefore makes progres on
progress function MPID_Make_progress and therefore makes progress on
everything.
(Q: If the agent is a process, how does it access the request queue
on the main MPI process?)
+2 -2
Ver Arquivo
@@ -89,9 +89,9 @@ MPID_shm_Win_fence
* set (or clear) preceding put flag based on the assertions
NOTE: To reduce unncessary cache and write buffer flushes, the
NOTE: To reduce unnecessary cache and write buffer flushes, the
barrier (above) could be replaced with an alltoall gather of the
operation occuring between node pairs. Using this information, we
operation occurring between node pairs. Using this information, we
could eliminate flushes except when an operation actually affected
the local window.
+2 -2
Ver Arquivo
@@ -38,13 +38,13 @@ Communication operations (requests)
* MPI_Put(origin_addr, origin_count, origin_datatype,
target_rank, target_disp, target_count, target_datatype, win)
* target buffer must not overlap with other communcation operations during
* target buffer must not overlap with other communication operations during
the same exposure epoch
* MPI_Get(origin_addr, origin_count, origin_datatype,
target_rank, target_disp, target_count, target_datatype, win)
* target buffer must not overlap with other communcation operations during
* target buffer must not overlap with other communication operations during
the same exposure epoch
* MPI_Accumulate(origin_addr, origin_count, origin_datatype,
+4 -4
Ver Arquivo
@@ -16,7 +16,7 @@ MPIR_Copy_data(src_addr, src_count, src_datatype,
* this is a safe operation.
*
* NOTE: This code assumes that the (dest_count, dest_datatype)
* represents enough space to accomodate (src_count, src_datatype) and
* represents enough space to accommodate (src_count, src_datatype) and
* that enough space exists in the dest buffer to cover (dest_count,
* dest_datatype). This implies that truncation and buffer overruns
* errors must be caught before this routine is called.
@@ -40,7 +40,7 @@ MPIR_Copy_data(src_addr, src_count, src_datatype,
else if (MPIR_Datatype_iscontig(src_count, src_datatype))
{
/*
* The data arrangment at the src buffer is contiguous, but not at the
* The data arrangement at the src buffer is contiguous, but not at the
* dest. We should be able to "unpack" the data directly into the dest
* buffer.
*/
@@ -48,7 +48,7 @@ MPIR_Copy_data(src_addr, src_count, src_datatype,
else if (MPIR_Datatype_iscontig(dest_count, dest_datatype))
{
/*
* The data arrangment at the dest buffer is contiguous, but not at the
* The data arrangement at the dest buffer is contiguous, but not at the
* src. We should be able to "pack" the data directly into the dest
* buffer.
*/
@@ -139,7 +139,7 @@ MPIR_Win_verify_dt_op_compat(src_count, src_datatype,
{
/*
* NOTE: The standard does not define what the application should
* expect when truncation occurs. We could peform the operation on as
* expect when truncation occurs. We could perform the operation on as
* much data as possible before rc =ing an error, but that would only
* delay reporting the error to the application. Besides, a portable
* application cannot rely on any of the operations being completed, so
+2 -2
Ver Arquivo
@@ -318,7 +318,7 @@ separated by commas), with their current values, to the processes being run by
\item[\texttt{-genv <name> <value>}]The \item{-genv} options have the same
meaning as their corresponding \texttt{-env} version, except they apply to all
executables, not just the current executable (in the case that the colon
syntax is used to specify multiple execuables).
syntax is used to specify multiple executables).
\item[\texttt{-genvnone}]Like \texttt{-envnone}, but for all executables
\item[\texttt{-genvlist <list>}]Like \texttt{-envlist}, but for all executables
\item[\texttt{-usize <n>}]Specify the value returned for the value of the
@@ -330,7 +330,7 @@ attribute \texttt{MPI\_UNIVERSE\_SIZE}.
exited if there is an abnormal exit
\end{description}
In addition to the commandline argments, the \texttt{gforker} \texttt{mpiexec}
In addition to the commandline arguments, the \texttt{gforker} \texttt{mpiexec}
provides a number of environment variables that can be used to control the
behavior of \texttt{mpiexec}:
+1 -1
Ver Arquivo
@@ -1,3 +1,3 @@
This directory contains programs that may be useful for developers. These
are not example programs; rather, they may be used to explore the
behavior of the MPI implemenation in some special cases.
behavior of the MPI implementation in some special cases.
+2 -2
Ver Arquivo
@@ -125,7 +125,7 @@ const char *default_filename = "pmandel.pgm";
abs(z=z^2+c) > diverge_value
-julia Plot a Julia set instead of a Mandelbrot set
-jx # -jy # The Julia point that defines the set
-alternate # Plot an alternate Mandelbrot equation (varient 1 or 2 so far)
-alternate # Plot an alternate Mandelbrot equation (variant 1 or 2 so far)
*/
int myid;
@@ -881,7 +881,7 @@ void check_mand_params(int *m_max_iterations,
#if PROMPT
if (*m_pixels_across == NOVALUE || *m_pixels_down == NOVALUE) {
/* grab unspecified limits */
printf("Enter pixel size (horizonal by vertical, i.e. 256 256): ");
printf("Enter pixel size (horizontal by vertical, i.e. 256 256): ");
scanf(" %d %d", &*m_pixels_across, &*m_pixels_down);
}
#endif
+2 -2
Ver Arquivo
@@ -125,7 +125,7 @@ const char *default_filename = "pmandel.pgm";
abs(z=z^2+c) > diverge_value
-julia Plot a Julia set instead of a Mandelbrot set
-jx # -jy # The Julia point that defines the set
-alternate # Plot an alternate Mandelbrot equation (varient 1 or 2 so far)
-alternate # Plot an alternate Mandelbrot equation (variant 1 or 2 so far)
*/
int myid;
@@ -1006,7 +1006,7 @@ void check_mand_params(int *m_max_iterations,
#if PROMPT
if (*m_pixels_across == NOVALUE || *m_pixels_down == NOVALUE) {
/* grab unspecified limits */
printf("Enter pixel size (horizonal by vertical, i.e. 256 256): ");
printf("Enter pixel size (horizontal by vertical, i.e. 256 256): ");
scanf(" %d %d", &*m_pixels_across, &*m_pixels_down);
}
#endif
+2 -2
Ver Arquivo
@@ -113,7 +113,7 @@ const char *default_filename = "pmandel.pgm";
abs(z=z^2+c) > diverge_value
-julia Plot a Julia set instead of a Mandelbrot set
-jx # -jy # The Julia point that defines the set
-alternate # Plot an alternate Mandelbrot equation (varient 1 or 2 so far)
-alternate # Plot an alternate Mandelbrot equation (variant 1 or 2 so far)
*/
int myid;
@@ -846,7 +846,7 @@ void check_mand_params(int *m_max_iterations,
#if PROMPT
if (*m_pixels_across == NOVALUE || *m_pixels_down == NOVALUE) {
/* grab unspecified limits */
printf("Enter pixel size (horizonal by vertical, i.e. 256 256): ");
printf("Enter pixel size (horizontal by vertical, i.e. 256 256): ");
scanf(" %d %d", &*m_pixels_across, &*m_pixels_down);
}
#endif
+2 -2
Ver Arquivo
@@ -119,7 +119,7 @@ const char *default_filename = "pmandel.pgm";
abs(z=z^2+c) > diverge_value
-julia Plot a Julia set instead of a Mandelbrot set
-jx # -jy # The Julia point that defines the set
-alternate # Plot an alternate Mandelbrot equation (varient 1 or 2 so far)
-alternate # Plot an alternate Mandelbrot equation (variant 1 or 2 so far)
*/
int myid;
@@ -877,7 +877,7 @@ void check_mand_params(int *m_max_iterations,
#if PROMPT
if (*m_pixels_across == NOVALUE || *m_pixels_down == NOVALUE) {
/* grab unspecified limits */
printf("Enter pixel size (horizonal by vertical, i.e. 256 256): ");
printf("Enter pixel size (horizontal by vertical, i.e. 256 256): ");
scanf(" %d %d", &*m_pixels_across, &*m_pixels_down);
}
#endif
+3 -3
Ver Arquivo
@@ -127,7 +127,7 @@ const char *default_filename = "pmandel.pgm";
abs(z=z^2+c) > diverge_value
-julia Plot a Julia set instead of a Mandelbrot set
-jx # -jy # The Julia point that defines the set
-alternate # Plot an alternate Mandelbrot equation (varient 1 or 2 so far)
-alternate # Plot an alternate Mandelbrot equation (variant 1 or 2 so far)
*/
int myid;
@@ -491,7 +491,7 @@ int main(int argc, char *argv[])
}
} else {
for (;;) {
/*printf("child[%d] receiveing bounds.\n", pid);fflush(stdout); */
/*printf("child[%d] receiving bounds.\n", pid);fflush(stdout); */
MPI_Recv(&x_min, 1, MPI_DOUBLE, 0, 0, parent, MPI_STATUS_IGNORE);
MPI_Recv(&x_max, 1, MPI_DOUBLE, 0, 0, parent, MPI_STATUS_IGNORE);
MPI_Recv(&y_min, 1, MPI_DOUBLE, 0, 0, parent, MPI_STATUS_IGNORE);
@@ -959,7 +959,7 @@ void check_mand_params(int *m_max_iterations,
#if PROMPT
if (*m_pixels_across == NOVALUE || *m_pixels_down == NOVALUE) {
/* grab unspecified limits */
printf("Enter pixel size (horizonal by vertical, i.e. 256 256): ");
printf("Enter pixel size (horizontal by vertical, i.e. 256 256): ");
scanf(" %d %d", &*m_pixels_across, &*m_pixels_down);
}
#endif
+1 -1
Ver Arquivo
@@ -6,7 +6,7 @@ m4_init
dnl get the real version values
m4_include([maint/version.m4])dnl
dnl The m4sugar langauage switches the default diversion to "KILL", and causes
dnl The m4sugar language switches the default diversion to "KILL", and causes
dnl all normal output to be thrown away. We switch to the default (0) diversion
dnl to restore output.
m4_divert_push([])dnl
+1 -1
Ver Arquivo
@@ -148,7 +148,7 @@ EOF
esac
done
# Move everthing into a device-specific directory
# Move everything into a device-specific directory
webloc="$weblocbase/$device"
if [ "$update_web" = yes ] ; then
if [ ! -d $webloc ] ; then mkdir -p $webloc ; fi
+1 -1
Ver Arquivo
@@ -14,7 +14,7 @@ chop $WWWRoot;
# $URLBase = "http://";
# End of line character (\r\n is DOS-friendly)
$eol = "\r\n";
# Number of colums in table of names
# Number of columns in table of names
$TableCols = 3;
#
# Process arguments for any changes
+4 -4
Ver Arquivo
@@ -1,6 +1,6 @@
This file contains the named document blocks for use in generating the
documentation. This is divided into several main blocks:
Threads and interrups/signals
Threads and interrupts/signals
Fortran
Misc MPI (e.g., status null)
Error classes
@@ -256,7 +256,7 @@ N*/
N*/
/*N MPI_ERR_PERM_KEY
. MPI_ERR_ARG - Invalid argument; the error code associated with this
error indicates an attempt to free or chnage an MPI permanent keyval (e.g.,
error indicates an attempt to free or change an MPI permanent keyval (e.g.,
'MPI_TAG_UB').
N*/
/*N MPI_ERR_UNKNOWN
@@ -301,7 +301,7 @@ N*/
to indicate which requests have not completed. In most cases, only
one request with an error will be detected in each call to an MPI routine
that tests multiple requests. The requests that have not been processed
(because an error occured in one of the requests) will have their
(because an error occurred in one of the requests) will have their
'MPI_ERROR' field marked with 'MPI_ERR_PENDING'.
N*/
/*N MPI_ERR_PENDING
@@ -314,7 +314,7 @@ N*/
'MPI_Start' or 'MPI_Startall', not a persistent request.
N*/
/*N MPI_ERR_BUFFER_ALIAS
. MPI_ERR_BUFFER - This error class is associcated with an error code that
. MPI_ERR_BUFFER - This error class is associated with an error code that
indicates that two buffer arguments are `aliased`; that is, the
describe overlapping storage (often the exact same storage). This
is prohibited in MPI (because it is prohibited by the Fortran
+1 -1
Ver Arquivo
@@ -57,7 +57,7 @@ Supported options:
--help - this output (optional)
--debug - enable some debugging output (optional)
--namespace=STR - use STR as variable/type prefix in generated code (optional, default=$ns)
--alt-namespace=STR - use STR as alternaive variable/type prefix in generated code (optional, default=$alt_ns)
--alt-namespace=STR - use STR as alternative variable/type prefix in generated code (optional, default=$alt_ns)
--header=STR - specify the header file name (optional, default=$header_file)
--c-file=STR - specify the C file name (optional, default=$c_file)
--readme-file=STR - specify the readme file name (optional, default=$readme_file)
+7 -7
Ver Arquivo
@@ -94,7 +94,7 @@ else {
}
# Setup before processing the files
if ($build_test_pgm && -d "test/mpi/errhan") {
# Get current directory incase we need it for the error message
# Get current directory in case we need it for the error message
my $curdir = `pwd`;
open( TESTFD, ">test/mpi/errhan/errcode.c" ) or die "Cannot create test program errcode.c in $curdir/test/mpi/errhan\n";
print TESTFD "/*\
@@ -180,7 +180,7 @@ typedef struct msgpair {
}
#
# We also need a way to create the records
# We then hash these on the first occurance (or precompute the hashes?)
# We then hash these on the first occurrence (or precompute the hashes?)
#
# The error messages are output in the following form:
# typedef struct {const char short[], const long[]} namemap;
@@ -206,7 +206,7 @@ sub CreateErrMsgMapping {
s/#.*$//;
my ($mpiname,$num,$shortmsg) = split(/\s\s*/);
if (!defined($shortmsg)) {
# Incase there is no short message entry (!)
# In case there is no short message entry (!)
$shortmsg = "";
}
if ($shortmsg ne "")
@@ -255,7 +255,7 @@ sub CreateErrMsgMapping {
$seenfile = $generic_loc{$key};
if ($key =~ /^\*\*/) {
# If the message begins with text, assume that it is a
# litteral message
# literal message
print STDERR "Shortname $key for generic messages has no expansion (first seen in file $seenfile)\n";
print STDERR "(Add expansion to $sourcefile)\n";
}
@@ -281,8 +281,8 @@ sub CreateErrMsgMapping {
# Generate the mapping of short to long names
print $OUTFD "\nstatic const int generic_msgs_len = $num;\n";
# The sentinals should be hardcoded into the source file that
# uses this file to ensure that the sentinal tests are ok.
# The sentinels should be hardcoded into the source file that
# uses this file to ensure that the sentinel tests are ok.
my $sentinal1 = "0xacebad03";
my $sentinal2 = "0xcb0bfa11";
print $OUTFD "static const msgpair generic_err_msgs[] = {\n";
@@ -541,7 +541,7 @@ sub AddTestCall {
# Read an errnames file. This allows us to distribute the errnames.txt
# files in the relevant modules, rather than making them part of one
# single main file.
# This updates the global hashs longnames and longnamesDefined
# This updates the global hashes longnames and longnamesDefined
# ReadErrnamesFile( filename )
# ==========================================================================
sub ReadErrnamesFile {
+1 -1
Ver Arquivo
@@ -425,7 +425,7 @@ sub CheckAllInfo {
# There are two possibilities:
# One of the values is cached and the other is an exception
# value, in which case we reject the cached value
# The other possiblity is a conflict, which we report.
# The other possibility is a conflict, which we report.
print STDERR "\nInconsistent value for state of $key:\n";
print STDERR "Old : $stateNames{$key} in $stateLoc{$key}\n";
+2 -2
Ver Arquivo
@@ -9,7 +9,7 @@
# of routines for processing files and maintaining a cache of the results.
# It uses a more sophisticated
# approach to avoid rescanning all files by keeping track of local changes
# It does this on a directory-by-directory basis as a comprimise between
# It does this on a directory-by-directory basis as a compromise between
# doing the minimal work but limiting the number and size of the "extra"
# files. In this case, for each directory, the following dot file is
# produced (with a <name> provided depending on use:
@@ -58,7 +58,7 @@
# Data structures
# Within a directory
# fileInfo{filename} = extracted info
# filesUpdated[] = array of file names that match critera
# filesUpdated[] = array of file names that match criteria
# fileInCache{filename} = comparison info
#
# -------------------------------------------------------------------------
+1 -1
Ver Arquivo
@@ -12,7 +12,7 @@ from local_python import RE
def main():
binding_dir = "src/binding"
f08_dir = "src/binding/fortran/use_mpi_f08"
func_list = load_C_func_list(binding_dir, True) # supress noise
func_list = load_C_func_list(binding_dir, True) # suppress noise
# FIXME: until romio interface is generated
func_list.extend(get_mpiio_func_list())
func_list.extend(get_type_create_f90_func_list())
+1 -1
Ver Arquivo
@@ -234,7 +234,7 @@ close HFILE;
# FIXME: This is RLOG specific and should be placed in the appropriate
# RLOG directory, not common.
# FIXME: It would also make more sense for the RLOG_Describe_state routine
# to perform the random color assignement when provided with an empty
# to perform the random color assignment when provided with an empty
# or null color string, rather than including all of this code in what is
# otherwise an RLOG-specific file.
+3 -3
Ver Arquivo
@@ -60,13 +60,13 @@ $annoteFiles = 0;
$annoteBaseDir = "";
%AnnoteFilesMap = (); # Clear the list of files
%AnnoteMissed = (); # Clear the mapping of filenames to "missed;total" lines
%AnnoteFilesToOrig = (); # Map from annoted file key to original name (used for
%AnnoteFilesToOrig = (); # Map from annotated file key to original name (used for
# indexing into AnnoteMissed)
$gDebug = 0;
$gDebugDetail = 0;
# The line leaders are used to provide a common set of expressions to match
# the begining of a line. This matches the output from the gcov tools.
# the beginning of a line. This matches the output from the gcov tools.
# There are two of these because the output from the tools associtated with
# gcc version 2.x and 3.x are different.
# As, apparently is 4.x.
@@ -783,7 +783,7 @@ sub ExpandDir {
$otherdirs[$#otherdirs+1] = "$dir/$filename";
}
elsif ($filename =~ /(.*\.gcov)$/) {
# Check for the presense of a "merged" gcov file and use instead
# Check for the presence of a "merged" gcov file and use instead
if (-f "$dir/$filename.merge") {
$files[$#files + 1] = "$dir/$filename.merge";
}
+1 -1
Ver Arquivo
@@ -7,7 +7,7 @@
# This hook prevent from pushing a branch that is not rebased on
# latest MPICH main branch.
#
# It fetchs the hash of the latest main branch from github and compares
# It fetches the hash of the latest main branch from github and compares
# the local branch. It returns 1 if either the hash of the latest
# main branch does not exist in the local git repo or the branch needs
# rebasing.
+7 -7
Ver Arquivo
@@ -700,13 +700,13 @@ I said B<human-readable> and not B<geek-readable>. The sort of files that
your average manager or secretary should be able to look at and make
sense of.
L<YAML::Tiny> does not generate comments, it won't necesarily preserve the
L<YAML::Tiny> does not generate comments, it won't necessarily preserve the
order of your hashes, and it will normalise if reading in and writing out
again.
It only supports a very basic subset of the full YAML specification.
Usage is targetted at files like Perl's META.yml, for which a small and
Usage is targeted at files like Perl's META.yml, for which a small and
easily-embeddable module is extremely attractive.
Features will only be added if they are human readable, and can be written
@@ -746,7 +746,7 @@ JSON, with the additional limitation that only simple keys are supported.
As a result, all possible YAML Tiny documents should be able to be
transformed into an equivalent JSON document, although the reverse is
not necesarily true (but will be true in simple cases).
not necessarily true (but will be true in simple cases).
As a result of these simplifications the YAML Tiny specification should
be implementable in a relatively small amount of code in any language
@@ -804,7 +804,7 @@ B<Loading Failure Points>
YAML Tiny parsers and emitters are not expected to recover from adapt to
errors. The specific error modality of any implementation is not dictated
(return codes, exceptions, etc) but is expected to be consistant.
(return codes, exceptions, etc) but is expected to be consistent.
=head2 4. Syntax
@@ -905,7 +905,7 @@ Indentation spaces work as per the YAML specification in all cases.
Comments work as per the YAML specification in all simple cases.
Support for indented multi-line comments is B<not> required.
Seperation spaces work as per the YAML specification in all cases.
Separation spaces work as per the YAML specification in all cases.
B<YAML Tiny Character Stream>
@@ -938,7 +938,7 @@ Support for the document boundary marker "---" is required.
Support for the document boundary market "..." is B<not> required.
If necesary, a document boundary should simply by indicated with a
If necessary, a document boundary should simply by indicated with a
"---" marker, with not preceding "..." marker.
Support for empty streams (containing no documents) is required.
@@ -961,7 +961,7 @@ Support for nodes optional anchor and tag properties are B<not> required.
Support for node anchors is B<not> required.
Supprot for node tags is B<not> required.
Support for node tags is B<not> required.
Support for alias nodes is B<not> required.
+2 -2
Ver Arquivo
@@ -756,7 +756,7 @@ def check_large_parameters(func):
# Set func['_poly_impl']
if 'poly_impl' in func:
# always prefer explict .poly_impl directive
# always prefer explicit .poly_impl directive
func['_poly_impl'] = func['poly_impl']
elif 'code-large_count' in func:
# { -- large_count } code block exist
@@ -2113,7 +2113,7 @@ def get_impl_param(func, param):
def get_polymorph_param_and_arg(s):
# s is a polymorph spec, e.g. "MPIR_Attr_type attr_type=MPIR_ATTR_PTR"
# Note: we assum limit of single extra param for now (which is sufficient)
# Note: we assume limit of single extra param for now (which is sufficient)
RE.match(r'^\s*(.+?)\s*(\w+)\s*=\s*(.+)', s)
extra_param = RE.m.group(1) + ' ' + RE.m.group(2)
extra_arg = RE.m.group(3)
+1 -1
Ver Arquivo
@@ -24,7 +24,7 @@ def split_line_with_break(s, tail, N=100):
tlist.append(s)
n = len(s)
elif RE.match(r'(.*?\()(.*)', s):
# line with function pattern, match indent at openning parenthesis
# line with function pattern, match indent at opening parenthesis
s_lead, s_next = RE.m.group(1,2)
n_lead = len(s_lead)
+2 -2
Ver Arquivo
@@ -77,7 +77,7 @@ def dump_f08_wrappers_c(func):
p5 = func['parameters'][i + 4]
dump_buf(p['name'], True)
dump_buf(p2['name'], False)
# arbitary: only recvbuf may be sub-array
# arbitrary: only recvbuf may be sub-array
if RE.match(r'mpi_i?reduce_scatter', func['name'], re.IGNORECASE):
dump_p(p3)
dump_p(p4)
@@ -420,7 +420,7 @@ def dump_f08_wrappers_f(func):
need_check_int_kind = True
if not has_comm_size:
if RE.search(r'alltoallw', func['name'], re.IGNORECASE):
# always need the lenght for types array
# always need the length for types array
use_list = convert_list_pre
else:
use_list = convert_list_1
+1 -1
Ver Arquivo
@@ -207,7 +207,7 @@ sub StripComments {
$comment_line = $1;
$curline =~ s/\/\*.*?\*\///s;
print "Removed comment, now is $curline\n" if $debug;
# Keep looking for comments incase the line has multiple
# Keep looking for comments in case the line has multiple
# comments
}
else {