Skip to content

Commit 1a566b9

Browse files
authored
Merge pull request #2427 from rhc54/topic/iof
Enable buffered IOF output
2 parents 0afdd41 + fcedad8 commit 1a566b9

File tree

10 files changed

+441
-260
lines changed

10 files changed

+441
-260
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ test/simple/simpfabric
173173
test/simple/get_put_example
174174
test/simple/simpvni
175175
test/simple/hybrid
176+
test/simple/asyncio
176177

177178
test/sshot/daemon
178179
test/sshot/generate

EXCEPTIONS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ PMIX_IOF_OUTPUT_TO_DIRECTORY "pmix.iof.dir" // (char*) direct ap
5454
PMIX_IOF_OUTPUT_TO_FILE "pmix.iof.file" // (char*) direct application output into files of form
5555
// "<filename>.rank" with both stdout and stderr redirected into it
5656
PMIX_IOF_RANK_OUTPUT "pmix.iof.rank" // (bool) Tag output with the rank it came from
57+
PMIX_IOF_OUTPUT_RAW "pmix.iof.raw" // (bool) Do not buffer output to be written as complete lines - output
58+
// characters as the stream delivers them
5759
PMIX_NODE_OVERSUBSCRIBED "pmix.ndosub" // (bool) true if number of procs from this job on this node
5860
// exceeds the number of slots allocated to it
5961
PMIX_SINGLETON "pmix.singleton" // (char*) String representation (nspace.rank) of proc ID for the singleton
@@ -179,6 +181,8 @@ PMIX_IOF_FILE_ONLY "pmix.iof.fonly" // (bool) output onl
179181
PMIX_IOF_FILE_PATTERN "pmix.iof.fpt" // (bool) Specified output file is to be treated as a pattern and not
180182
// automatically annotated by nspace, rank, or other parameters
181183
PMIX_IOF_LOCAL_OUTPUT "pmix.iof.local" // (bool) Write output streams to local stdout/err
184+
PMIX_IOF_OUTPUT_RAW "pmix.iof.raw" // (bool) Do not buffer output to be written as complete lines - output
185+
// characters as the stream delivers them
182186
PMIX_IOF_MERGE_STDERR_STDOUT "pmix.iof.mrg" // (bool) merge stdout and stderr streams from application procs
183187
PMIX_IOF_OUTPUT_TO_DIRECTORY "pmix.iof.dir" // (char*) direct application output into files of form
184188
// "<directory>/<jobid>/rank.<rank>/stdout[err]"

include/pmix_common.h.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -906,6 +906,8 @@ typedef uint32_t pmix_rank_t;
906906
// The original output stream(s) destination is restored upon
907907
// termination of the tool.
908908
#define PMIX_IOF_LOCAL_OUTPUT "pmix.iof.local" // (bool) Write output streams to local stdout/err
909+
#define PMIX_IOF_OUTPUT_RAW "pmix.iof.raw" // (bool) Do not buffer output to be written as complete lines - output
910+
// characters as the stream delivers them
909911

910912
/* Attributes for controlling contents of application setup data */
911913
#define PMIX_SETUP_APP_ENVARS "pmix.setup.env" // (bool) harvest and include relevant envars

src/class/pmix_list.h

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,12 @@ struct pmix_list_item_t {
119119
typedef struct pmix_list_item_t pmix_list_item_t;
120120

121121
/* static initializer for pmix_list_t */
122-
#define PMIX_LIST_ITEM_STATIC_INIT \
123-
{ \
124-
.super = PMIX_OBJ_STATIC_INIT(pmix_object_t), .pmix_list_next = NULL, \
125-
.pmix_list_prev = NULL, .item_free = 0 \
122+
#define PMIX_LIST_ITEM_STATIC_INIT \
123+
{ \
124+
.super = PMIX_OBJ_STATIC_INIT(pmix_object_t), \
125+
.pmix_list_next = NULL, \
126+
.pmix_list_prev = NULL, \
127+
.item_free = 0 \
126128
}
127129

128130
/**
@@ -164,10 +166,11 @@ struct pmix_list_t {
164166
typedef struct pmix_list_t pmix_list_t;
165167

166168
/* static initializer for pmix_list_t */
167-
#define PMIX_LIST_STATIC_INIT \
168-
{ \
169-
.super = PMIX_OBJ_STATIC_INIT(pmix_object_t), \
170-
.pmix_list_sentinel = PMIX_LIST_ITEM_STATIC_INIT, .pmix_list_length = 0 \
169+
#define PMIX_LIST_STATIC_INIT \
170+
{ \
171+
.super = PMIX_OBJ_STATIC_INIT(pmix_object_t), \
172+
.pmix_list_sentinel = PMIX_LIST_ITEM_STATIC_INIT, \
173+
.pmix_list_length = 0 \
171174
}
172175

173176
/** Cleanly destruct a list

0 commit comments

Comments
 (0)