@@ -18,6 +18,7 @@ typedef struct options_t {
1818 char * transport ;
1919 unsigned iterations ;
2020 unsigned msg_size ;
21+ na_bool_t use_progress_thread ;
2122} options_t ;
2223
2324static void run_mpi_benchmark (options_t * options ) {
@@ -67,7 +68,7 @@ static void run_mona_benchmark(options_t* options) {
6768 MPI_Comm_size (MPI_COMM_WORLD , & size );
6869 MPI_Comm_rank (MPI_COMM_WORLD , & rank );
6970
70- mona_instance_t mona = mona_init_thread (options -> transport , NA_TRUE , NULL , NA_FALSE );
71+ mona_instance_t mona = mona_init_thread (options -> transport , NA_TRUE , NULL , options -> use_progress_thread );
7172 ASSERT_MESSAGE (mona != MONA_INSTANCE_NULL , "Could not initialize Mona instance" );
7273
7374 char addr_str [128 ];
@@ -138,8 +139,9 @@ static void parse_options(int argc, char** argv, options_t* options) {
138139 options -> msg_size = 128 ;
139140 options -> transport = (char * )default_transport ;
140141 options -> method = NULL ;
142+ options -> use_progress_thread = NA_FALSE ;
141143
142- while ((c = getopt (argc , argv , "i:s:m:t:h " )) != -1 ) {
144+ while ((c = getopt (argc , argv , "i:s:m:t:hp " )) != -1 ) {
143145 switch (c )
144146 {
145147 case 'h' :
@@ -158,6 +160,9 @@ static void parse_options(int argc, char** argv, options_t* options) {
158160 case 't' :
159161 options -> transport = optarg ;
160162 break ;
163+ case 'p' :
164+ options -> use_progress_thread = NA_TRUE ;
165+ break ;
161166 case '?' :
162167 if (optopt == 'i' || optopt == 's' || optopt == 'm' )
163168 fprintf (stderr , "Option -%c requires an argument.\n" , optopt );
0 commit comments