Add a filem test program and set ignores
This commit was SVN r27069.
Этот коммит содержится в:
родитель
01256c36c6
Коммит
335c0eafcf
@ -1,4 +1,4 @@
|
|||||||
PROGS = no_op sigusr_trap spin orte_nodename orte_spawn orte_loop_spawn orte_loop_child orte_abort get_limits orte_ring spawn_child orte_tool orte_no_op binom oob_stress iof_stress iof_delay radix orte_barrier orte_mcast opal_interface mcast mcast_recv orte_spin segfault sysinfo orte_exit orte_db orte_sensor test-time event-threads psm_keygen regex orte_errors evpri-test opal-evpri-test evpri-test2 mapper reducer opal_hotel
|
PROGS = no_op sigusr_trap spin orte_nodename orte_spawn orte_loop_spawn orte_loop_child orte_abort get_limits orte_ring spawn_child orte_tool orte_no_op binom oob_stress iof_stress iof_delay radix orte_barrier orte_mcast opal_interface mcast mcast_recv orte_spin segfault sysinfo orte_exit orte_db orte_sensor test-time event-threads psm_keygen regex orte_errors evpri-test opal-evpri-test evpri-test2 mapper reducer opal_hotel orte_filem
|
||||||
|
|
||||||
all: $(PROGS)
|
all: $(PROGS)
|
||||||
|
|
||||||
|
75
orte/test/system/orte_filem.c
Обычный файл
75
orte/test/system/orte_filem.c
Обычный файл
@ -0,0 +1,75 @@
|
|||||||
|
/* -*- C -*-
|
||||||
|
*
|
||||||
|
* $HEADER$
|
||||||
|
*
|
||||||
|
* Moving files
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "orte/runtime/runtime.h"
|
||||||
|
#include "orte/mca/errmgr/errmgr.h"
|
||||||
|
#include "orte/util/proc_info.h"
|
||||||
|
|
||||||
|
#include "orte/mca/filem/filem.h"
|
||||||
|
|
||||||
|
int main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
orte_filem_base_request_t fmreq;
|
||||||
|
orte_filem_base_process_set_t *fm;
|
||||||
|
orte_filem_base_file_set_t *fs;
|
||||||
|
int rc;
|
||||||
|
orte_vpid_t i;
|
||||||
|
|
||||||
|
if (argc != 3) {
|
||||||
|
fprintf(stderr, "usage: orte_filem <src-file> <dest-file>\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ORTE_SUCCESS != orte_init(&argc, &argv, ORTE_PROC_NON_MPI)) {
|
||||||
|
fprintf(stderr, "Failed orte_init\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (1 == orte_process_info.num_procs) {
|
||||||
|
fprintf(stderr, "Must invoke more than one process\n");
|
||||||
|
orte_finalize();
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* setup the filem request list */
|
||||||
|
OBJ_CONSTRUCT(&fmreq, orte_filem_base_request_t);
|
||||||
|
/* we want to move the files to the location of
|
||||||
|
* every process in this job
|
||||||
|
*/
|
||||||
|
for (i=0; i < orte_process_info.num_procs; i++) {
|
||||||
|
if (i != ORTE_PROC_MY_NAME->vpid) {
|
||||||
|
fm = OBJ_NEW(orte_filem_base_process_set_t);
|
||||||
|
fm->source.jobid = ORTE_PROC_MY_NAME->jobid;
|
||||||
|
fm->source.vpid = ORTE_PROC_MY_NAME->vpid;
|
||||||
|
fm->sink.jobid = ORTE_PROC_MY_NAME->jobid;;
|
||||||
|
fm->sink.vpid = i;
|
||||||
|
opal_list_append(&fmreq.process_sets, &fm->super);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fs = OBJ_NEW(orte_filem_base_file_set_t);
|
||||||
|
fs->local_target = strdup(argv[1]);
|
||||||
|
fs->remote_target = strdup(argv[2]);
|
||||||
|
fs->remote_hint = ORTE_FILEM_HINT_SHARED;
|
||||||
|
fs->target_flag = ORTE_FILEM_TYPE_FILE;
|
||||||
|
opal_list_append(&fmreq.file_sets, &fs->super);
|
||||||
|
|
||||||
|
|
||||||
|
/* move files - this blocks until the files have been moved */
|
||||||
|
if (ORTE_SUCCESS != (rc = orte_filem.put(&fmreq))) {
|
||||||
|
ORTE_ERROR_LOG(rc);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ORTE_SUCCESS != orte_finalize()) {
|
||||||
|
fprintf(stderr, "Failed orte_finalize\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
Загрузка…
Ссылка в новой задаче
Block a user