1
1

The --output-filename option currently mixes the output from all processes with the same rank, but different jobids. Thus, the output from comm_spawn'd processes gets intermingled with their parents and each other.

Adding the jobid to the output filename solves the problem.

Thanks to Jody for pointing this out!

This commit was SVN r23380.
Этот коммит содержится в:
Ralph Castain 2010-07-12 21:43:49 +00:00
родитель 4a94ea53d3
Коммит 0b4081b162
2 изменённых файлов: 6 добавлений и 2 удалений

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

@ -207,7 +207,9 @@ static int hnp_push(const orte_process_name_t* dst_name, orte_iof_tag_t src_tag,
np = np / 10;
}
/* construct the filename */
asprintf(&outfile, "%s.%0*lu", orte_output_filename, numdigs, (unsigned long)proct->name.vpid);
asprintf(&outfile, "%s.%d.%0*lu", orte_output_filename,
(int)ORTE_LOCAL_JOBID(proct->name.jobid),
numdigs, (unsigned long)proct->name.vpid);
/* create the file */
fdout = open(outfile, O_CREAT|O_RDWR|O_TRUNC, 0644);
free(outfile);

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

@ -184,7 +184,9 @@ static int orted_push(const orte_process_name_t* dst_name, orte_iof_tag_t src_ta
np = np / 10;
}
/* construct the filename */
asprintf(&outfile, "%s.%0*lu", orte_output_filename, numdigs, (unsigned long)proct->name.vpid);
asprintf(&outfile, "%s.%d.%0*lu", orte_output_filename,
(int)ORTE_LOCAL_JOBID(proct->name.jobid),
numdigs, (unsigned long)proct->name.vpid);
/* create the file */
fdout = open(outfile, O_CREAT|O_RDWR|O_TRUNC, 0644);
free(outfile);