11 #include <stk_util/parallel/BroadcastArg.hpp> 26 size_t buffer_length = 0;
34 for (
int i = 0; i < argc; ++i) {
39 buffer_length = s.size();
40 buffer =
new char[buffer_length];
42 std::copy(s.begin(), s.end(), buffer);
48 int lengths_buffer[2];
49 lengths_buffer[0] =
m_argc;
50 lengths_buffer[1] = buffer_length;
52 MPI_Bcast(lengths_buffer, 2, MPI_INT, 0, parallel_machine);
54 MPI_Bcast(buffer, buffer_length, MPI_BYTE, 0, parallel_machine);
57 int lengths_buffer[2];
58 MPI_Bcast(lengths_buffer, 2, MPI_INT, 0, parallel_machine);
60 m_argc = lengths_buffer[0];
61 buffer_length = lengths_buffer[1];
62 buffer =
new char[buffer_length];
64 MPI_Bcast(buffer, buffer_length, MPI_BYTE, 0, parallel_machine);
73 for (
int i = 0; i < argc; ++i) {
BroadcastArg(ParallelMachine parallel_machine, int argc, char **argv)
int m_argc
The broadcasted argc.
char ** m_argv
The broadcasted argv.
unsigned parallel_machine_rank(ParallelMachine parallel_machine)
Member function parallel_machine_rank ...