Skip to content
Snippets Groups Projects
Commit c42fe448 authored by Moe Jette's avatar Moe Jette
Browse files

Disable pthread_create() for PMI_send when TotalView is running for

    better performance.
parent 21212a44
No related branches found
No related tags found
No related merge requests found
...@@ -10,6 +10,8 @@ documents those changes that are of interest to users and admins. ...@@ -10,6 +10,8 @@ documents those changes that are of interest to users and admins.
are expecting to get back. No srun_node_id anymore passed around in are expecting to get back. No srun_node_id anymore passed around in
a slurm_msg_t a slurm_msg_t
-- Remove sched/wiki plugin (use sched/wiki2 for now) -- Remove sched/wiki plugin (use sched/wiki2 for now)
-- Disable pthread_create() for PMI_send when TotalView is running for
better performance.
* Changes in SLURM 1.2.0-pre2 * Changes in SLURM 1.2.0-pre2
============================= =============================
......
...@@ -187,7 +187,14 @@ static void *_agent(void *x) ...@@ -187,7 +187,14 @@ static void *_agent(void *x)
msg_args = xmalloc(sizeof(struct msg_arg)); msg_args = xmalloc(sizeof(struct msg_arg));
msg_args->bar_ptr = &args->barrier_xmit_ptr[j]; msg_args->bar_ptr = &args->barrier_xmit_ptr[j];
msg_args->kvs_ptr = &kvs_set; msg_args->kvs_ptr = &kvs_set;
if (pthread_create(&msg_id, &attr, _msg_thread, if (agent_max_cnt == 1) {
/* TotalView slows down a great deal for
* pthread_create() calls, so just send the
* messages inline when TotalView is in use
* or for some other reason we only want
* one pthread. */
_msg_thread((void *) msg_args);
} else if (pthread_create(&msg_id, &attr, _msg_thread,
(void *) msg_args)) { (void *) msg_args)) {
fatal("pthread_create: %m"); fatal("pthread_create: %m");
} }
......
...@@ -1102,6 +1102,7 @@ void set_options(const int argc, char **argv) ...@@ -1102,6 +1102,7 @@ void set_options(const int argc, char **argv)
* is really attached */ * is really attached */
opt.parallel_debug = true; opt.parallel_debug = true;
MPIR_being_debugged = 1; MPIR_being_debugged = 1;
pmi_server_max_threads(1);
break; break;
case LONG_OPT_USAGE: case LONG_OPT_USAGE:
_usage(); _usage();
......
...@@ -67,7 +67,7 @@ if { [test_bluegene] } { ...@@ -67,7 +67,7 @@ if { [test_bluegene] } {
# Adjust time limits as needed for large task counts */ # Adjust time limits as needed for large task counts */
# times are here vv # times are here vv
set timeout [expr $max_job_delay + 60] set timeout [expr $max_job_delay + 60]
spawn $srun -l -N$node_cnt -n8 -O -t1 --pmi-threads=3 $file_prog_get spawn $srun -l -N$node_cnt -n8 -O -t1 --threads=1 $file_prog_get
expect { expect {
-re "FAILURE" { -re "FAILURE" {
send_user "\nFAILURE: some error occured\n" send_user "\nFAILURE: some error occured\n"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment