1
1

Updates to make trunk run on Catamount again:

* Don't build the pstat component if all defines needed aren't there.
 * Update platform file to work better
 * Work around two places that depended on modex being operational

This commit was SVN r22536.
Этот коммит содержится в:
Brian Barrett 2010-02-03 05:07:40 +00:00
родитель 1ac217621c
Коммит 8b4825ff37
4 изменённых файлов: 47 добавлений и 26 удалений

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

@ -6,7 +6,7 @@ enable_pretty_print_stacktrace=no
enable_dlopen=no enable_dlopen=no
with_portals_config=redstorm with_portals_config=redstorm
with_memory_manager=none with_memory_manager=none
enable_mca_no_build=carto-file,maffinity,paffinity,pstat-linux,btl-sm,coll-hierarch,coll-sm,common-sm,mpool-sm,pml-dr,pml-v enable_mca_no_build=btl-sm,coll-hierarch,coll-sm,common-sm,mpool-sm,pml-dr,pml-v
enable_contrib_no_build=libnbc,vt enable_contrib_no_build=libnbc,vt
with_rte_support=no with_rte_support=no
enable_heterogeneous=no enable_heterogeneous=no
@ -17,6 +17,8 @@ enable_binaries=no
enable_script_wrapper_compilers=yes enable_script_wrapper_compilers=yes
ompi_cv_c_word_size_align=no ompi_cv_c_word_size_align=no
ompi_cv_f77_sizeof_CHARACTER=${ompi_cv_f77_sizeof_CHARACTER=1}
ompi_cv_f77_alignment_CHARACTER=${ompi_cv_f77_alignment_CHARACTER=1}
ompi_cv_f77_sizeof_LOGICAL=${ompi_cv_f77_sizeof_LOGICAL=4} ompi_cv_f77_sizeof_LOGICAL=${ompi_cv_f77_sizeof_LOGICAL=4}
ompi_cv_f77_alignment_LOGICAL=${ompi_cv_f77_alignment_LOGICAL=4} ompi_cv_f77_alignment_LOGICAL=${ompi_cv_f77_alignment_LOGICAL=4}
ompi_cv_f77_sizeof_LOGICALp1=${ompi_cv_f77_sizeof_LOGICALp1=1} ompi_cv_f77_sizeof_LOGICALp1=${ompi_cv_f77_sizeof_LOGICALp1=1}
@ -62,6 +64,8 @@ ompi_cv_f77_alignment_COMPLEXp32=${ompi_cv_f77_alignment_COMPLEXp32=8}
ompi_cv_f77_true_value=${ompi_cv_f77_true_value=-1} ompi_cv_f77_true_value=${ompi_cv_f77_true_value=-1}
ompi_cv_f90_sizeof_CHARACTER=${ompi_cv_f90_sizeof_CHARACTER=1}
ompi_cv_f90_alignment_CHARACTER=${ompi_cv_f90_alignment_CHARACTER=1}
ompi_cv_f90_sizeof_LOGICAL=${ompi_cv_f90_sizeof_LOGICAL=4} ompi_cv_f90_sizeof_LOGICAL=${ompi_cv_f90_sizeof_LOGICAL=4}
ompi_cv_f90_alignment_LOGICAL=${ompi_cv_f90_alignment_LOGICAL=4} ompi_cv_f90_alignment_LOGICAL=${ompi_cv_f90_alignment_LOGICAL=4}
ompi_cv_f90_sizeof_LOGICALp1=${ompi_cv_f90_sizeof_LOGICALp1=1} ompi_cv_f90_sizeof_LOGICALp1=${ompi_cv_f90_sizeof_LOGICALp1=1}

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

@ -136,13 +136,20 @@ int ompi_comm_cid_init (void)
for ( i=0; i<numprocs; i++ ) { for ( i=0; i<numprocs; i++ ) {
thisproc = procs[i]; thisproc = procs[i];
if (OMPI_SUCCESS != (ret = ompi_modex_recv_string("MPI_THREAD_LEVEL", thisproc, &tlpointer, &size))) { ret = ompi_modex_recv_string("MPI_THREAD_LEVEL", thisproc, &tlpointer, &size);
return OMPI_ERROR; if (OMPI_SUCCESS == ret) {
} thread_level = *((uint8_t *) tlpointer);
thread_level = *((uint8_t *) tlpointer); if ( OMPI_THREADLEVEL_IS_MULTIPLE (thread_level) ) {
if ( OMPI_THREADLEVEL_IS_MULTIPLE (thread_level) ) { ompi_comm_world_thread_level_mult = 1;
ompi_comm_world_thread_level_mult = 1; break;
}
} else if (OMPI_ERR_NOT_IMPLEMENTED == ret) {
if (ompi_mpi_thread_multiple) {
ompi_comm_world_thread_level_mult = 1;
}
break; break;
} else {
return ret;
} }
} }

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

@ -151,25 +151,29 @@ int ompi_proc_set_arch(void)
proc = (ompi_proc_t*)item; proc = (ompi_proc_t*)item;
if (proc->proc_name.vpid != ORTE_PROC_MY_NAME->vpid) { if (proc->proc_name.vpid != ORTE_PROC_MY_NAME->vpid) {
if (OMPI_SUCCESS != (ret = ompi_modex_recv_key_value("OMPI_ARCH", proc, (void*)&(proc->proc_arch), OPAL_UINT32))) { ret = ompi_modex_recv_key_value("OMPI_ARCH", proc, (void*)&(proc->proc_arch), OPAL_UINT32);
if (OMPI_SUCCESS == ret) {
/* if arch is different than mine, create a new convertor for this proc */
if (proc->proc_arch != opal_local_arch) {
#if OPAL_ENABLE_HETEROGENEOUS_SUPPORT
OBJ_RELEASE(proc->proc_convertor);
proc->proc_convertor = opal_convertor_create(proc->proc_arch, 0);
#else
orte_show_help("help-mpi-runtime",
"heterogeneous-support-unavailable",
true, orte_process_info.nodename,
proc->proc_hostname == NULL ? "<hostname unavailable>" :
proc->proc_hostname);
OPAL_THREAD_UNLOCK(&ompi_proc_lock);
return OMPI_ERR_NOT_SUPPORTED;
#endif
}
} else if (OMPI_ERR_NOT_IMPLEMENTED == ret) {
proc->proc_arch = opal_local_arch;
} else {
OPAL_THREAD_UNLOCK(&ompi_proc_lock); OPAL_THREAD_UNLOCK(&ompi_proc_lock);
return ret; return ret;
} }
/* if arch is different than mine, create a new convertor for this proc */
if (proc->proc_arch != opal_local_arch) {
#if OPAL_ENABLE_HETEROGENEOUS_SUPPORT
OBJ_RELEASE(proc->proc_convertor);
proc->proc_convertor = opal_convertor_create(proc->proc_arch, 0);
#else
orte_show_help("help-mpi-runtime",
"heterogeneous-support-unavailable",
true, orte_process_info.nodename,
proc->proc_hostname == NULL ? "<hostname unavailable>" :
proc->proc_hostname);
OPAL_THREAD_UNLOCK(&ompi_proc_lock);
return OMPI_ERR_NOT_SUPPORTED;
#endif
}
} }
} }
OPAL_THREAD_UNLOCK(&ompi_proc_lock); OPAL_THREAD_UNLOCK(&ompi_proc_lock);

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

@ -34,7 +34,13 @@ AC_DEFUN([MCA_pstat_linux_CONFIG],[
;; ;;
esac esac
AS_IF([test "$pstat_linux_happy" = "yes"], AS_IF([test "$pstat_linux_happy" = "yes"],
[$1], [AC_CHECK_DECLS([HZ],
[$2]) [], [pstat_linux_happy="no"], [AC_INCLUDES_DEFAULT
#include <sys/param.h>
])])
AS_IF([test "$pstat_linux_happy" = "yes"],
[$1],
[$2])
]) ])