1
1

Add output of the compound command size to the timing reports

This commit was SVN r12423.
Этот коммит содержится в:
Ralph Castain 2006-11-03 16:11:37 +00:00
родитель 60e27c77e7
Коммит 761c8beeb7
3 изменённых файлов: 15 добавлений и 1 удалений

Просмотреть файл

@ -95,6 +95,7 @@ typedef struct {
opal_mutex_t wait_for_compound_mutex; opal_mutex_t wait_for_compound_mutex;
opal_condition_t compound_cmd_condition; opal_condition_t compound_cmd_condition;
int compound_cmd_waiting; int compound_cmd_waiting;
bool timing;
} orte_gpr_proxy_globals_t; } orte_gpr_proxy_globals_t;
extern orte_gpr_proxy_globals_t orte_gpr_proxy_globals; extern orte_gpr_proxy_globals_t orte_gpr_proxy_globals;

Просмотреть файл

@ -213,7 +213,7 @@ orte_gpr_proxy_component_init(bool *allow_multi_user_threads, bool *have_hidden_
int *priority) int *priority)
{ {
orte_process_name_t name; orte_process_name_t name;
int ret; int ret, value;
if (orte_gpr_proxy_globals.debug) { if (orte_gpr_proxy_globals.debug) {
opal_output(0, "gpr_proxy_init called"); opal_output(0, "gpr_proxy_init called");
@ -280,6 +280,14 @@ orte_gpr_proxy_component_init(bool *allow_multi_user_threads, bool *have_hidden_
} }
orte_gpr_proxy_globals.num_trigs = 0; orte_gpr_proxy_globals.num_trigs = 0;
/* check to see if we want timing information */
mca_base_param_reg_int_name("orte", "timing",
"Request that critical timing loops be measured",
false, false, 0, &value);
if (value != 0) {
orte_gpr_proxy_globals.timing = true;
}
initialized = true; initialized = true;
return &orte_gpr_proxy; return &orte_gpr_proxy;
} else { } else {

Просмотреть файл

@ -114,6 +114,11 @@ int orte_gpr_proxy_exec_compound_cmd(void)
OPAL_THREAD_LOCK(&orte_gpr_proxy_globals.wait_for_compound_mutex); OPAL_THREAD_LOCK(&orte_gpr_proxy_globals.wait_for_compound_mutex);
rc = ORTE_SUCCESS; rc = ORTE_SUCCESS;
if (orte_gpr_proxy_globals.timing) {
opal_output(0, "gpr_proxy [%ld]: compound cmd size %lu", (long)ORTE_PROC_MY_NAME->vpid,
(unsigned long)orte_gpr_proxy_globals.compound_cmd->bytes_used);
}
if (0 > orte_rml.send_buffer(orte_process_info.gpr_replica, orte_gpr_proxy_globals.compound_cmd, ORTE_RML_TAG_GPR, 0)) { if (0 > orte_rml.send_buffer(orte_process_info.gpr_replica, orte_gpr_proxy_globals.compound_cmd, ORTE_RML_TAG_GPR, 0)) {
ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE); ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE);
rc = ORTE_ERR_COMM_FAILURE; rc = ORTE_ERR_COMM_FAILURE;