Skip to content

Commit

Permalink
Merge pull request #1113 from DARMA-tasking/1111-over-2gib-send-bug
Browse files Browse the repository at this point in the history
1111 Fix for large message sends
  • Loading branch information
lifflander authored Nov 13, 2020
2 parents f0c4480 + 90c9305 commit 9dd92a0
Show file tree
Hide file tree
Showing 17 changed files with 919 additions and 228 deletions.
1 change: 1 addition & 0 deletions src/vt/configs/arguments/app_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ struct AppConfig {
bool vt_diag_csv_base_units = false;

bool vt_pause = false;
std::size_t vt_max_mpi_send_size = 1ull << 30;

bool vt_debug_all = false;
bool vt_debug_verbose = false;
Expand Down
13 changes: 13 additions & 0 deletions src/vt/configs/arguments/args.cc
Original file line number Diff line number Diff line change
Expand Up @@ -485,6 +485,18 @@ void ArgConfig::addConfigFileArgs(CLI::App& app) {
a2->group(configGroup);
}

void ArgConfig::addRuntimeArgs(CLI::App& app) {
auto max_size = "Maximum MPI send size (causes larger messages to be split "
"into multiple MPI sends)";

auto a1 = app.add_option(
"--vt_max_mpi_send_size", config_.vt_max_mpi_send_size, max_size, true
);

auto configRuntime = "Runtime";
a1->group(configRuntime);
}

class VtFormatter : public CLI::Formatter {
public:
std::string make_usage(const CLI::App *, std::string name) const override {
Expand Down Expand Up @@ -537,6 +549,7 @@ std::tuple<int, std::string> ArgConfig::parse(int& argc, char**& argv) {
addUserArgs(app);
addSchedulerArgs(app);
addConfigFileArgs(app);
addRuntimeArgs(app);

std::tuple<int, std::string> result = parseArguments(app, /*out*/ argc, /*out*/ argv);
if (std::get<0>(result) not_eq -1) {
Expand Down
1 change: 1 addition & 0 deletions src/vt/configs/arguments/args.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ struct ArgConfig : runtime::component::Component<ArgConfig> {
void addUserArgs(CLI::App& app);
void addSchedulerArgs(CLI::App& app);
void addConfigFileArgs(CLI::App& app);
void addRuntimeArgs(CLI::App& app);

void postParseTransform();

Expand Down
2 changes: 1 addition & 1 deletion src/vt/configs/types/types_type.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ using UniqueIndexBitType = uint64_t;
/// Used for hold an identifier for a group
using GroupType = uint64_t;
/// Used for hold the size of a message
using MsgSizeType = int32_t;
using MsgSizeType = int64_t;
/// Used for hold a phase for load balancing
using PhaseType = uint64_t;
/// Used for hold a sub-phase for load balancing
Expand Down
Loading

0 comments on commit 9dd92a0

Please sign in to comment.