Коммит
5f68d655d6
@ -49,7 +49,7 @@ AC_DEFUN([MCA_opal_pmix_pmix2x_CONFIG],[
|
|||||||
opal_pmix_pmix2x_sm_flag=--disable-dstore
|
opal_pmix_pmix2x_sm_flag=--disable-dstore
|
||||||
fi
|
fi
|
||||||
|
|
||||||
opal_pmix_pmix2x_args="--with-pmix-symbol-rename=OPAL_MCA_PMIX3X_ $opal_pmix_pmix2x_sm_flag --without-tests-examples --disable-visibility --enable-embedded-libevent --with-libevent-header=\\\"opal/mca/event/$opal_event_base_include\\\" --enable-embedded-hwloc --with-hwloc-header=\\\"$opal_hwloc_base_include\\\""
|
opal_pmix_pmix2x_args="--with-pmix-symbol-rename=OPAL_MCA_PMIX3X_ $opal_pmix_pmix2x_sm_flag --without-tests-examples --disable-visibility --enable-embedded-libevent --with-libevent-header=\\\"opal/mca/event/$opal_event_base_include\\\""
|
||||||
AS_IF([test "$enable_debug" = "yes"],
|
AS_IF([test "$enable_debug" = "yes"],
|
||||||
[opal_pmix_pmix2x_args="--enable-debug $opal_pmix_pmix2x_args"
|
[opal_pmix_pmix2x_args="--enable-debug $opal_pmix_pmix2x_args"
|
||||||
CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $OPAL_VISIBILITY_CFLAGS -g"],
|
CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $OPAL_VISIBILITY_CFLAGS -g"],
|
||||||
|
@ -192,7 +192,6 @@ int pmix2x_store_local(const opal_process_name_t *proc, opal_value_t *val)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (NULL == job) {
|
if (NULL == job) {
|
||||||
OPAL_ERROR_LOG(OPAL_ERR_NOT_FOUND);
|
|
||||||
return OPAL_ERR_NOT_FOUND;
|
return OPAL_ERR_NOT_FOUND;
|
||||||
}
|
}
|
||||||
(void)strncpy(p.nspace, job->nspace, PMIX_MAX_NSLEN);
|
(void)strncpy(p.nspace, job->nspace, PMIX_MAX_NSLEN);
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sched.h>
|
#include <sched.h>
|
||||||
#include "opal/mca/hwloc/hwloc.h"
|
#include "opal/mca/hwloc/base/base.h"
|
||||||
#include "mpi.h"
|
#include "mpi.h"
|
||||||
|
|
||||||
#include "orte/util/proc_info.h"
|
#include "orte/util/proc_info.h"
|
||||||
@ -19,7 +19,7 @@ int main(int argc, char* argv[])
|
|||||||
{
|
{
|
||||||
int rank, size, rc;
|
int rank, size, rc;
|
||||||
hwloc_cpuset_t cpus;
|
hwloc_cpuset_t cpus;
|
||||||
char *bindings;
|
char *bindings = NULL;
|
||||||
cpu_set_t *mask;
|
cpu_set_t *mask;
|
||||||
int nrcpus, c;
|
int nrcpus, c;
|
||||||
size_t csize;
|
size_t csize;
|
||||||
@ -30,9 +30,12 @@ int main(int argc, char* argv[])
|
|||||||
MPI_Comm_size(MPI_COMM_WORLD, &size);
|
MPI_Comm_size(MPI_COMM_WORLD, &size);
|
||||||
|
|
||||||
gethostname(hostname, 1024);
|
gethostname(hostname, 1024);
|
||||||
cpus = hwloc_bitmap_alloc();
|
|
||||||
rc = hwloc_get_cpubind(opal_hwloc_topology, cpus, HWLOC_CPUBIND_PROCESS);
|
if (OPAL_SUCCESS == opal_hwloc_base_get_topology()) {
|
||||||
hwloc_bitmap_list_asprintf(&bindings, cpus);
|
cpus = hwloc_bitmap_alloc();
|
||||||
|
rc = hwloc_get_cpubind(opal_hwloc_topology, cpus, HWLOC_CPUBIND_PROCESS);
|
||||||
|
hwloc_bitmap_list_asprintf(&bindings, cpus);
|
||||||
|
}
|
||||||
|
|
||||||
printf("[%s;%d] Hello, World, I am %d of %d [%d local peers]: get_cpubind: %d bitmap %s\n",
|
printf("[%s;%d] Hello, World, I am %d of %d [%d local peers]: get_cpubind: %d bitmap %s\n",
|
||||||
hostname, (int)getpid(), rank, size, orte_process_info.num_local_peers, rc,
|
hostname, (int)getpid(), rank, size, orte_process_info.num_local_peers, rc,
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "opal/mca/hwloc/hwloc.h"
|
#include "opal/mca/hwloc/base/base.h"
|
||||||
#include "mpi.h"
|
#include "mpi.h"
|
||||||
|
|
||||||
#include "orte/util/proc_info.h"
|
#include "orte/util/proc_info.h"
|
||||||
@ -15,15 +15,17 @@ int main(int argc, char* argv[])
|
|||||||
{
|
{
|
||||||
int rank, size, rc;
|
int rank, size, rc;
|
||||||
hwloc_cpuset_t cpus;
|
hwloc_cpuset_t cpus;
|
||||||
char *bindings;
|
char *bindings = NULL;
|
||||||
|
|
||||||
MPI_Init(&argc, &argv);
|
MPI_Init(&argc, &argv);
|
||||||
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
|
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
|
||||||
MPI_Comm_size(MPI_COMM_WORLD, &size);
|
MPI_Comm_size(MPI_COMM_WORLD, &size);
|
||||||
|
|
||||||
cpus = hwloc_bitmap_alloc();
|
if (OPAL_SUCCESS == opal_hwloc_base_get_topology()) {
|
||||||
rc = hwloc_get_cpubind(opal_hwloc_topology, cpus, HWLOC_CPUBIND_PROCESS);
|
cpus = hwloc_bitmap_alloc();
|
||||||
hwloc_bitmap_list_asprintf(&bindings, cpus);
|
rc = hwloc_get_cpubind(opal_hwloc_topology, cpus, HWLOC_CPUBIND_PROCESS);
|
||||||
|
hwloc_bitmap_list_asprintf(&bindings, cpus);
|
||||||
|
}
|
||||||
|
|
||||||
printf("Hello, World, I am %d of %d [%d local peers]: get_cpubind: %d bitmap %s\n",
|
printf("Hello, World, I am %d of %d [%d local peers]: get_cpubind: %d bitmap %s\n",
|
||||||
rank, size, orte_process_info.num_local_peers, rc,
|
rank, size, orte_process_info.num_local_peers, rc,
|
||||||
|
@ -22,7 +22,7 @@ static void fill_cache_line_size(void)
|
|||||||
/* Look for the smallest L2 cache size */
|
/* Look for the smallest L2 cache size */
|
||||||
size = 4096;
|
size = 4096;
|
||||||
while (1) {
|
while (1) {
|
||||||
obj = opal_hwloc_base_get_obj_by_type(opal_hwloc_topology,
|
obj = opal_hwloc_base_get_obj_by_type(my_topology,
|
||||||
HWLOC_OBJ_CACHE, 2,
|
HWLOC_OBJ_CACHE, 2,
|
||||||
i, OPAL_HWLOC_LOGICAL);
|
i, OPAL_HWLOC_LOGICAL);
|
||||||
if (NULL == obj) {
|
if (NULL == obj) {
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user