1.1 --- a/orte/test/system/Makefile Fri Dec 28 16:52:21 2012 +0000
1.2 +++ b/orte/test/system/Makefile Fri Dec 28 16:52:51 2012 +0000
1.3 @@ -1,4 +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 orte_dfs
1.5 +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 opal_interface orte_spin segfault 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_dfs
1.6
1.7 all: $(PROGS)
1.8
2.1 --- a/orte/test/system/mcast.c Fri Dec 28 16:52:21 2012 +0000
2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
2.3 @@ -1,159 +0,0 @@
2.4 -/* -*- C -*-
2.5 - *
2.6 - * $HEADER$
2.7 - *
2.8 - */
2.9 -
2.10 -#include <stdio.h>
2.11 -#include <stdlib.h>
2.12 -#include <sys/types.h>
2.13 -#include <sys/mman.h>
2.14 -#include <sys/stat.h>
2.15 -#include <netinet/in.h>
2.16 -#include <signal.h>
2.17 -#include <pthread.h>
2.18 -#include <unistd.h>
2.19 -#include <time.h>
2.20 -#include <fcntl.h>
2.21 -#include <string.h>
2.22 -#include <errno.h>
2.23 -
2.24 -int main(int argc, char* argv[])
2.25 -{
2.26 - int rc, i;
2.27 - char hostname[512];
2.28 - pid_t pid;
2.29 - int32_t i32=1;
2.30 - int xmit, recv;
2.31 - uint8_t ttl = 1;
2.32 - uint16_t port=0;
2.33 - struct sockaddr_in rx, inaddr;
2.34 - struct ip_mreq req;
2.35 - int addrlen;
2.36 - uint32_t channel;
2.37 - uint8_t bytes[256];
2.38 - struct timespec ts, tsrem;
2.39 - int flags;
2.40 - fd_set fdset;
2.41 - fd_set errset;
2.42 - struct timeval tv;
2.43 - char *nprocstr;
2.44 - int nprocs;
2.45 -
2.46 - gethostname(hostname, 512);
2.47 - pid = getpid();
2.48 -
2.49 - printf("orte_mcast: Node %s Pid %ld\n", hostname, (long)pid);
2.50 -
2.51 - nprocstr = getenv("OMPI_COMM_WORLD_SIZE");
2.52 - nprocs = strtol(nprocstr, NULL, 10);
2.53 -
2.54 - /* create a recv socket */
2.55 - recv = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
2.56 - if(recv < 0) {
2.57 - fprintf(stderr,"%d: rmcast:init: socket() failed\n", (int)pid);
2.58 - exit(1);
2.59 - }
2.60 -
2.61 - flags = 1;
2.62 - if (setsockopt (recv, SOL_SOCKET, SO_REUSEADDR, (const char *)&flags, sizeof(flags)) < 0) {
2.63 - fprintf(stderr, "rmcast:basic: unable to set the SO_REUSEADDR option\n");
2.64 - exit(1);
2.65 - }
2.66 - memset(&rx, 0, sizeof(rx));
2.67 - rx.sin_family = AF_INET;
2.68 - rx.sin_addr.s_addr = htonl(0xEFFF0001);
2.69 - rx.sin_port = htons(5002);
2.70 -
2.71 - /* bind the socket */
2.72 - if (bind(recv, (struct sockaddr*)&rx, sizeof(rx)) < 0) {
2.73 - fprintf(stderr, "%d: rmcast:init: bind()\n", (int)pid);
2.74 - exit(1);
2.75 - }
2.76 -
2.77 - /* set membership to "any" */
2.78 - memset(&req, 0, sizeof (req));
2.79 - req.imr_multiaddr.s_addr = htonl(0xEFFF0001);
2.80 - req.imr_interface.s_addr = htonl(INADDR_ANY);
2.81 -
2.82 - if ((setsockopt(recv, IPPROTO_IP, IP_ADD_MEMBERSHIP,
2.83 - (void *)&req, sizeof (req))) < 0) {
2.84 - fprintf(stderr, "%d: rmcast:init: sockopt()\n", (int)pid);
2.85 - exit(1);
2.86 - }
2.87 -
2.88 - /* create a xmit socket */
2.89 - xmit = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
2.90 - if(xmit < 0) {
2.91 - fprintf(stderr,"%d: rmcast:init: socket() failed\n", (int)pid);
2.92 - exit(1);
2.93 - }
2.94 -
2.95 - /* set the multicast flags */
2.96 - if ((setsockopt(xmit, IPPROTO_IP, IP_MULTICAST_TTL,
2.97 - (void *)&ttl, sizeof(ttl))) < 0) {
2.98 - fprintf(stderr,"%d: rmcast:init: socketopt() failed\n", (int)pid);
2.99 - exit(1);
2.100 - }
2.101 -
2.102 - flags = 1;
2.103 - if (setsockopt (xmit, SOL_SOCKET, SO_REUSEADDR, (const char *)&flags, sizeof(flags)) < 0) {
2.104 - fprintf(stderr, "rmcast:basic: unable to set the SO_REUSEADDR option\n");
2.105 - exit(1);
2.106 - }
2.107 - memset(&inaddr, 0, sizeof(inaddr));
2.108 - inaddr.sin_family = AF_INET;
2.109 - inaddr.sin_addr.s_addr = htonl(0xEFFF0001);
2.110 - inaddr.sin_port = htons(5002);
2.111 - addrlen = sizeof(struct sockaddr_in);
2.112 -
2.113 - /* set membership to "any" */
2.114 - memset(&req, 0, sizeof (req));
2.115 - req.imr_multiaddr.s_addr = htonl(0xEFFF0001);
2.116 - req.imr_interface.s_addr = htonl(INADDR_ANY);
2.117 -
2.118 - if ((setsockopt(xmit, IPPROTO_IP, IP_ADD_MEMBERSHIP,
2.119 - (void *)&req, sizeof (req))) < 0) {
2.120 - fprintf(stderr, "setsockopt() failed\n");
2.121 - exit(1);
2.122 - }
2.123 - if ((rc = sendto(xmit, (char*)bytes, 256, 0, (struct sockaddr *)&inaddr, sizeof(struct sockaddr_in))) != 256) {
2.124 - fprintf(stderr, "%d: send error %d\n", (int)pid, errno);
2.125 - exit(1);
2.126 - }
2.127 - fprintf(stderr, "%d: MESSAGE SENT\n", (int)pid);
2.128 -
2.129 - ts.tv_sec = 0;
2.130 - ts.tv_nsec = 450*1000;
2.131 -
2.132 - while (nanosleep(&ts, &tsrem) < 0) {
2.133 - ts = tsrem;
2.134 - }
2.135 -
2.136 - tv.tv_sec = 1;
2.137 - tv.tv_usec = 100*1000;
2.138 - FD_ZERO(&fdset);
2.139 - FD_ZERO(&errset);
2.140 - FD_SET(recv, &fdset);
2.141 -
2.142 - for (i=0; i < nprocs; i++) {
2.143 - while ((rc = select(recv+1,
2.144 - &fdset /* read-fds */, 0 /* write-fds */,
2.145 - &errset /* error-fds */, NULL)) < 0) {
2.146 - fprintf(stderr, "select\n");
2.147 - }
2.148 - if (0 == rc) {
2.149 - fprintf(stderr, "select failed to find anything - errno %d\n", errno);
2.150 - exit(0);
2.151 - }
2.152 - fprintf(stderr, "%d: MESSAGE ARRIVED...READING DATA\n", (int)pid);
2.153 -
2.154 - addrlen = sizeof(rx);
2.155 - rc = recvfrom(recv, bytes, 256, 0, (struct sockaddr *)&rx, &addrlen);
2.156 -
2.157 - fprintf(stderr, "%d: RECVD %d bytes\n", (int)pid, rc);
2.158 - }
2.159 -
2.160 -
2.161 - exit(0);
2.162 -}
3.1 --- a/orte/test/system/mcast_recv.c Fri Dec 28 16:52:21 2012 +0000
3.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
3.3 @@ -1,173 +0,0 @@
3.4 -/* -*- C -*-
3.5 - *
3.6 - * $HEADER$
3.7 - *
3.8 - */
3.9 -
3.10 -#include <stdio.h>
3.11 -#include <stdlib.h>
3.12 -#include <sys/types.h>
3.13 -#include <sys/mman.h>
3.14 -#include <sys/stat.h>
3.15 -#include <netinet/in.h>
3.16 -#include <signal.h>
3.17 -#include <pthread.h>
3.18 -#include <unistd.h>
3.19 -#include <time.h>
3.20 -#include <fcntl.h>
3.21 -#include <string.h>
3.22 -#include <errno.h>
3.23 -
3.24 -int main(int argc, char* argv[])
3.25 -{
3.26 - int rc, i;
3.27 - char hostname[512];
3.28 - pid_t pid;
3.29 - struct timeval tv;
3.30 - int xmit, recv;
3.31 - struct sockaddr_in rx, inaddr;
3.32 - struct ip_mreq req;
3.33 - fd_set fdset;
3.34 - fd_set errset;
3.35 - int flags;
3.36 - int addrlen;
3.37 - struct timespec ts, tsrem;
3.38 - uint8_t ttl = 1;
3.39 - uint8_t bytes[256];
3.40 - char *nprocstr;
3.41 - int nprocs;
3.42 -
3.43 - gethostname(hostname, 512);
3.44 - pid = getpid();
3.45 -
3.46 - printf("orte_mcast_recv: Node %s Pid %ld\n",
3.47 - hostname, (long)pid);
3.48 -
3.49 - nprocstr = getenv("OMPI_COMM_WORLD_SIZE");
3.50 - nprocs = strtol(nprocstr, NULL, 10);
3.51 -
3.52 - /* create a xmit socket */
3.53 - xmit = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
3.54 - if(xmit < 0) {
3.55 - fprintf(stderr,"%d: rmcast:init: socket() failed\n", (int)pid);
3.56 - exit(1);
3.57 - }
3.58 -
3.59 - /* set the multicast flags */
3.60 - if ((setsockopt(xmit, IPPROTO_IP, IP_MULTICAST_TTL,
3.61 - (void *)&ttl, sizeof(ttl))) < 0) {
3.62 - fprintf(stderr,"%d: rmcast:init: socketopt() failed\n", (int)pid);
3.63 - exit(1);
3.64 - }
3.65 -
3.66 - flags = 1;
3.67 - if (setsockopt (xmit, SOL_SOCKET, SO_REUSEADDR, (const char *)&flags, sizeof(flags)) < 0) {
3.68 - fprintf(stderr, "rmcast:basic: unable to set the SO_REUSEADDR option\n");
3.69 - exit(1);
3.70 - }
3.71 - memset(&inaddr, 0, sizeof(inaddr));
3.72 - inaddr.sin_family = AF_INET;
3.73 - inaddr.sin_addr.s_addr = htonl(0xEFFF0001);
3.74 - inaddr.sin_port = htons(5002);
3.75 - addrlen = sizeof(struct sockaddr_in);
3.76 -
3.77 - /* set membership to "any" */
3.78 - memset(&req, 0, sizeof (req));
3.79 - req.imr_multiaddr.s_addr = htonl(0xEFFF0001);
3.80 - req.imr_interface.s_addr = htonl(INADDR_ANY);
3.81 -
3.82 - if ((setsockopt(xmit, IPPROTO_IP, IP_ADD_MEMBERSHIP,
3.83 - (void *)&req, sizeof (req))) < 0) {
3.84 - fprintf(stderr, "setsockopt() failed\n");
3.85 - exit(1);
3.86 - }
3.87 -
3.88 - /* create a recv socket */
3.89 - recv = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
3.90 - if(recv < 0) {
3.91 - fprintf(stderr,"%d: rmcast:init: socket() failed\n", (int)pid);
3.92 - exit(1);
3.93 - }
3.94 -
3.95 - flags = 1;
3.96 - if (setsockopt (recv, SOL_SOCKET, SO_REUSEADDR, (const char *)&flags, sizeof(flags)) < 0) {
3.97 - fprintf(stderr, "rmcast:basic: unable to set the SO_REUSEADDR option\n");
3.98 - exit(1);
3.99 - }
3.100 - memset(&rx, 0, sizeof(rx));
3.101 - rx.sin_family = AF_INET;
3.102 - rx.sin_addr.s_addr = htonl(0xEFFF0001);
3.103 - rx.sin_port = htons(5002);
3.104 -
3.105 - /* bind the socket */
3.106 - if (bind(recv, (struct sockaddr*)&rx, sizeof(rx)) < 0) {
3.107 - fprintf(stderr, "%d: rmcast:init: bind()\n", (int)pid);
3.108 - exit(1);
3.109 - }
3.110 -
3.111 - /* set membership to "any" */
3.112 - memset(&req, 0, sizeof (req));
3.113 - req.imr_multiaddr.s_addr = htonl(0xEFFF0001);
3.114 - req.imr_interface.s_addr = htonl(INADDR_ANY);
3.115 -
3.116 - if ((setsockopt(recv, IPPROTO_IP, IP_ADD_MEMBERSHIP,
3.117 - (void *)&req, sizeof (req))) < 0) {
3.118 - fprintf(stderr, "%d: rmcast:init: sockopt()\n", (int)pid);
3.119 - exit(1);
3.120 - }
3.121 -
3.122 - tv.tv_sec = 1;
3.123 - tv.tv_usec = 100*1000;
3.124 - FD_ZERO(&fdset);
3.125 - FD_ZERO(&errset);
3.126 - FD_SET(recv, &fdset);
3.127 -
3.128 - while ((rc = select(recv+1,
3.129 - &fdset /* read-fds */, 0 /* write-fds */,
3.130 - &errset /* error-fds */, NULL)) < 0) {
3.131 - fprintf(stderr, "select\n");
3.132 - }
3.133 - if (0 == rc) {
3.134 - fprintf(stderr, "select failed to find anything - errno %d\n", errno);
3.135 - exit(0);
3.136 - }
3.137 - fprintf(stderr, "%d: MESSAGE ARRIVED...READING DATA\n", (int)pid);
3.138 -
3.139 - addrlen = sizeof(rx);
3.140 - rc = recvfrom(recv, bytes, 256, 0, (struct sockaddr *)&rx, &addrlen);
3.141 -
3.142 - fprintf(stderr, "%d: RECVD %d bytes...SENDING RESPONSE\n", (int)pid, rc);
3.143 - /* send a reply */
3.144 - if ((rc = sendto(xmit, (char*)bytes, 256, 0, (struct sockaddr *)&inaddr, sizeof(struct sockaddr_in))) != 256) {
3.145 - fprintf(stderr, "%d: send error %d\n", (int)pid, errno);
3.146 - exit(1);
3.147 - }
3.148 - fprintf(stderr, "%d: RESPONSE SENT\n", (int)pid);
3.149 -
3.150 - ts.tv_sec = 0;
3.151 - ts.tv_nsec = 450*1000;
3.152 -
3.153 - while (nanosleep(&ts, &tsrem) < 0) {
3.154 - ts = tsrem;
3.155 - }
3.156 -
3.157 - for (i=1; i < nprocs; i++) {
3.158 - while ((rc = select(recv+1,
3.159 - &fdset /* read-fds */, 0 /* write-fds */,
3.160 - &errset /* error-fds */, NULL)) < 0) {
3.161 - fprintf(stderr, "select\n");
3.162 - }
3.163 - if (0 == rc) {
3.164 - fprintf(stderr, "select failed to find anything - errno %d\n", errno);
3.165 - exit(0);
3.166 - }
3.167 - fprintf(stderr, "%d: MESSAGE ARRIVED...READING DATA\n", (int)pid);
3.168 -
3.169 - addrlen = sizeof(rx);
3.170 - rc = recvfrom(recv, bytes, 256, 0, (struct sockaddr *)&rx, &addrlen);
3.171 -
3.172 - fprintf(stderr, "%d: RECVD %d bytes\n", (int)pid, rc);
3.173 - }
3.174 -
3.175 - exit(0);
3.176 -}
4.1 --- a/orte/test/system/orte_db.c Fri Dec 28 16:52:21 2012 +0000
4.2 +++ b/orte/test/system/orte_db.c Fri Dec 28 16:52:51 2012 +0000
4.3 @@ -24,8 +24,8 @@
4.4 int rc;
4.5 char hostname[512];
4.6 pid_t pid;
4.7 - orte_proc_t proc;
4.8 -
4.9 + orte_proc_t *proc;
4.10 +
4.11 if (0 > (rc = orte_init(&argc, &argv, ORTE_PROC_NON_MPI))) {
4.12 fprintf(stderr, "orte_db: couldn't init orte - error code %d\n", rc);
4.13 return rc;
4.14 @@ -34,20 +34,20 @@
4.15 gethostname(hostname, 512);
4.16 pid = getpid();
4.17
4.18 - OBJ_CONSTRUCT(&proc, orte_proc_t);
4.19 - if (ORTE_SUCCESS != (rc = orte_db.store("test-insert", &proc, ORTE_PROC))) {
4.20 + proc = OBJ_NEW(orte_proc_t);
4.21 + if (ORTE_SUCCESS != (rc = orte_db.store(ORTE_PROC_MY_NAME, "test-insert", proc, ORTE_PROC))) {
4.22 ORTE_ERROR_LOG(rc);
4.23 }
4.24 - if (ORTE_SUCCESS != (rc = orte_db.fetch("test-insert", &proc, ORTE_PROC))) {
4.25 + if (ORTE_SUCCESS != (rc = orte_db.fetch(ORTE_PROC_MY_NAME, "test-insert", (void**)&proc, ORTE_PROC))) {
4.26 ORTE_ERROR_LOG(rc);
4.27 }
4.28 - if (ORTE_SUCCESS != (rc = orte_db.store("test-insert2", &proc, ORTE_PROC))) {
4.29 + if (ORTE_SUCCESS != (rc = orte_db.store(ORTE_PROC_MY_NAME, "test-insert2", proc, ORTE_PROC))) {
4.30 ORTE_ERROR_LOG(rc);
4.31 }
4.32 - if (ORTE_SUCCESS != (rc = orte_db.fetch("test-insert2", &proc, ORTE_PROC))) {
4.33 + if (ORTE_SUCCESS != (rc = orte_db.fetch(ORTE_PROC_MY_NAME, "test-insert2", (void**)&proc, ORTE_PROC))) {
4.34 ORTE_ERROR_LOG(rc);
4.35 }
4.36 - OBJ_DESTRUCT(&proc);
4.37 + OBJ_RELEASE(proc);
4.38
4.39 orte_finalize();
4.40 return 0;
5.1 --- a/orte/test/system/orte_mcast.c Fri Dec 28 16:52:21 2012 +0000
5.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
5.3 @@ -1,199 +0,0 @@
5.4 -/* -*- C -*-
5.5 - *
5.6 - * $HEADER$
5.7 - *
5.8 - */
5.9 -#include <stdio.h>
5.10 -#include <unistd.h>
5.11 -
5.12 -#include "opal/dss/dss.h"
5.13 -#include "opal/mca/event/event.h"
5.14 -#include "opal/util/output.h"
5.15 -
5.16 -#include "orte/util/proc_info.h"
5.17 -#include "orte/util/name_fns.h"
5.18 -#include "orte/runtime/orte_globals.h"
5.19 -#include "orte/runtime/runtime.h"
5.20 -#include "orte/runtime/orte_wait.h"
5.21 -#include "orte/mca/errmgr/errmgr.h"
5.22 -#include "orte/mca/rmcast/rmcast.h"
5.23 -#include "orte/mca/grpcomm/grpcomm.h"
5.24 -
5.25 -static void cbfunc(int status,
5.26 - orte_rmcast_channel_t channel,
5.27 - orte_rmcast_seq_t seq_num,
5.28 - orte_rmcast_tag_t tag,
5.29 - orte_process_name_t *sender,
5.30 - opal_buffer_t *buf, void *cbdata);
5.31 -static void cbfunc_buf_snt(int status,
5.32 - orte_rmcast_channel_t channel,
5.33 - orte_rmcast_seq_t seq_num,
5.34 - orte_rmcast_tag_t tag,
5.35 - orte_process_name_t *sender,
5.36 - opal_buffer_t *buf, void *cbdata);
5.37 -
5.38 -static void cbfunc_iovec(int status,
5.39 - orte_rmcast_channel_t channel,
5.40 - orte_rmcast_seq_t seq_num,
5.41 - orte_rmcast_tag_t tag,
5.42 - orte_process_name_t *sender,
5.43 - struct iovec *msg, int count, void* cbdata);
5.44 -
5.45 -static int datasize=1024;
5.46 -static orte_rmcast_seq_t recvd_seq_num=0;
5.47 -static orte_rmcast_seq_t sent_seq_num=0;
5.48 -
5.49 -static void send_data(int fd, short flags, void *arg)
5.50 -{
5.51 - opal_buffer_t buf, *bfptr;
5.52 - int32_t *i32;
5.53 - struct iovec iovec_array[3];
5.54 - int rc, i;
5.55 - opal_event_t *tmp = (opal_event_t*)arg;
5.56 - struct timeval now;
5.57 -
5.58 - bfptr = OBJ_NEW(opal_buffer_t);
5.59 - i32 = (int32_t*)malloc(datasize*sizeof(int32_t));
5.60 - for (i=0; i < datasize; i++) {
5.61 - i32[i] = -1;
5.62 - }
5.63 - opal_dss.pack(bfptr, i32, datasize, OPAL_INT32);
5.64 - if (ORTE_SUCCESS != (rc = orte_rmcast.send_buffer_nb(ORTE_RMCAST_GROUP_OUTPUT_CHANNEL,
5.65 - ORTE_RMCAST_TAG_OUTPUT, bfptr,
5.66 - cbfunc_buf_snt, NULL))) {
5.67 - ORTE_ERROR_LOG(rc);
5.68 - return;
5.69 - }
5.70 - sent_seq_num++;
5.71 - /* create an iovec array */
5.72 - for (i=0; i < 3; i++) {
5.73 - iovec_array[i].iov_base = (uint8_t*)malloc(datasize);
5.74 - iovec_array[i].iov_len = datasize;
5.75 - }
5.76 - /* send it out */
5.77 - if (ORTE_SUCCESS != (rc = orte_rmcast.send(ORTE_RMCAST_GROUP_OUTPUT_CHANNEL,
5.78 - ORTE_RMCAST_TAG_OUTPUT,
5.79 - iovec_array, 3))) {
5.80 - ORTE_ERROR_LOG(rc);
5.81 - return;
5.82 - }
5.83 - sent_seq_num++;
5.84 -
5.85 - if (0 == (sent_seq_num % 100)) {
5.86 - opal_output(0, "SENT SEQ_NUM %d", sent_seq_num);
5.87 - }
5.88 -
5.89 - /* reset the timer */
5.90 - now.tv_sec = 0;
5.91 - now.tv_usec = 1000;
5.92 - opal_event_evtimer_add(tmp, &now);
5.93 -}
5.94 -
5.95 -int main(int argc, char* argv[])
5.96 -{
5.97 - int rc, i;
5.98 - char hostname[512];
5.99 - pid_t pid;
5.100 - opal_buffer_t buf, *bfptr;
5.101 - int32_t i32=1;
5.102 - struct iovec iovec_array[3];
5.103 -
5.104 - if (0 > (rc = orte_init(&argc, &argv, ORTE_PROC_NON_MPI))) {
5.105 - fprintf(stderr, "orte_mcast: couldn't init orte - error code %d\n", rc);
5.106 - return rc;
5.107 - }
5.108 -
5.109 - gethostname(hostname, 512);
5.110 - pid = getpid();
5.111 -
5.112 - if (1 < argc) {
5.113 - datasize = strtol(argv[1], NULL, 10);
5.114 - }
5.115 -
5.116 - printf("orte_mcast: Node %s Name %s Pid %ld datasize %d\n",
5.117 - hostname, ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), (long)pid, datasize);
5.118 -
5.119 -
5.120 -
5.121 - if (0 == ORTE_PROC_MY_NAME->vpid) {
5.122 - orte_grpcomm.barrier();
5.123 -
5.124 - /* wake up every 5 seconds and send something */
5.125 - ORTE_TIMER_EVENT(0, 1000, send_data);
5.126 - } else {
5.127 - /* setup to recv data on our channel */
5.128 - if (ORTE_SUCCESS != (rc = orte_rmcast.recv_buffer_nb(ORTE_RMCAST_GROUP_OUTPUT_CHANNEL,
5.129 - ORTE_RMCAST_TAG_OUTPUT,
5.130 - ORTE_RMCAST_PERSISTENT,
5.131 - cbfunc, NULL))) {
5.132 - ORTE_ERROR_LOG(rc);
5.133 - }
5.134 - if (ORTE_SUCCESS != (rc = orte_rmcast.recv_nb(ORTE_RMCAST_GROUP_OUTPUT_CHANNEL,
5.135 - ORTE_RMCAST_TAG_OUTPUT,
5.136 - ORTE_RMCAST_PERSISTENT,
5.137 - cbfunc_iovec, NULL))) {
5.138 - ORTE_ERROR_LOG(rc);
5.139 - }
5.140 - orte_grpcomm.barrier(); /* ensure the public recv is ready */
5.141 - }
5.142 - opal_event_dispatch(orte_event_base);
5.143 -
5.144 -blast:
5.145 - orte_finalize();
5.146 - return 0;
5.147 -}
5.148 -
5.149 -static void cbfunc(int status,
5.150 - orte_rmcast_channel_t channel,
5.151 - orte_rmcast_seq_t seq_num,
5.152 - orte_rmcast_tag_t tag,
5.153 - orte_process_name_t *sender,
5.154 - opal_buffer_t *buffer, void *cbdata)
5.155 -{
5.156 - int32_t i32, rc;
5.157 -
5.158 - /* retrieve the value sent */
5.159 - rc = 1;
5.160 - opal_dss.unpack(buffer, &i32, &rc, OPAL_INT32);
5.161 -
5.162 - if (0 < recvd_seq_num) {
5.163 - if ((seq_num - recvd_seq_num) != 1) {
5.164 - opal_output(0, "%s MESSAGE LOST seq %d recvd_seq %d",
5.165 - ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), seq_num, recvd_seq_num);
5.166 - }
5.167 - }
5.168 - recvd_seq_num = seq_num;
5.169 - if (0 == (recvd_seq_num % 100)) {
5.170 - opal_output(0, "RECVD SEQ_NUM %d", recvd_seq_num);
5.171 - }
5.172 -
5.173 -}
5.174 -
5.175 -static void cbfunc_iovec(int status,
5.176 - orte_rmcast_channel_t channel,
5.177 - orte_rmcast_seq_t seq_num,
5.178 - orte_rmcast_tag_t tag,
5.179 - orte_process_name_t *sender,
5.180 - struct iovec *msg, int count, void* cbdata)
5.181 -{
5.182 - if (0 < recvd_seq_num) {
5.183 - if ((seq_num - recvd_seq_num) != 1) {
5.184 - opal_output(0, "%s MESSAGE LOST seq %d recvd_seq %d",
5.185 - ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), seq_num, recvd_seq_num);
5.186 - }
5.187 - }
5.188 - recvd_seq_num = seq_num;
5.189 - if (0 == (recvd_seq_num % 100)) {
5.190 - opal_output(0, "RECVD SEQ_NUM %d", recvd_seq_num);
5.191 - }
5.192 -}
5.193 -
5.194 -static void cbfunc_buf_snt(int status,
5.195 - orte_rmcast_channel_t channel,
5.196 - orte_rmcast_seq_t seq_num,
5.197 - orte_rmcast_tag_t tag,
5.198 - orte_process_name_t *sender,
5.199 - opal_buffer_t *buf, void *cbdata)
5.200 -{
5.201 - OBJ_RELEASE(buf);
5.202 -}
6.1 --- a/orte/test/system/orte_spawn.c Fri Dec 28 16:52:21 2012 +0000
6.2 +++ b/orte/test/system/orte_spawn.c Fri Dec 28 16:52:51 2012 +0000
6.3 @@ -28,6 +28,7 @@
6.4 orte_process_name_t name;
6.5 struct iovec msg;
6.6 orte_vpid_t i;
6.7 +
6.8
6.9 if (0 > (rc = orte_init(&argc, &argv, ORTE_PROC_NON_MPI))) {
6.10 fprintf(stderr, "couldn't init orte - error code %d\n", rc);
6.11 @@ -47,7 +48,12 @@
6.12 getcwd(cwd, sizeof(cwd));
6.13 app->cwd = strdup(cwd);
6.14 app->user_specified_cwd = false;
6.15 -
6.16 + /*===================================*/
6.17 + char *host_list[] = {"vm2", "vm3", "vm4", NULL};
6.18 + app->dash_host = host_list;
6.19 + jdata->dyn_alloc_enabled = 1;
6.20 + /*==================================*/
6.21 +
6.22 /* add the app to the job data */
6.23 opal_pointer_array_add(jdata->apps, app);
6.24 jdata->num_apps = 1;
7.1 --- a/orte/test/system/sysinfo.c Fri Dec 28 16:52:21 2012 +0000
7.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
7.3 @@ -1,67 +0,0 @@
7.4 -/* -*- C -*-
7.5 - *
7.6 - * $HEADER$
7.7 - *
7.8 - * The most basic of applications
7.9 - */
7.10 -
7.11 -#include <stdio.h>
7.12 -#include "orte/constants.h"
7.13 -
7.14 -#include <sys/sysctl.h>
7.15 -
7.16 -#include "opal/mca/sysinfo/sysinfo.h"
7.17 -#include "opal/mca/sysinfo/base/base.h"
7.18 -
7.19 -#include "orte/runtime/runtime.h"
7.20 -
7.21 -int main(int argc, char* argv[])
7.22 -{
7.23 - char *keys[] = {
7.24 - OPAL_SYSINFO_CPU_TYPE,
7.25 - OPAL_SYSINFO_CPU_MODEL,
7.26 - OPAL_SYSINFO_NUM_CPUS,
7.27 - OPAL_SYSINFO_MEM_SIZE,
7.28 - NULL
7.29 - };
7.30 - opal_list_t values;
7.31 - opal_sysinfo_value_t *info;
7.32 - opal_list_item_t *item;
7.33 - char *model;
7.34 -
7.35 - if (ORTE_SUCCESS != orte_init(&argc, &argv, ORTE_PROC_NON_MPI)) {
7.36 - fprintf(stderr, "Failed orte_init\n");
7.37 - exit(1);
7.38 - }
7.39 -
7.40 - OBJ_CONSTRUCT(&values, opal_list_t);
7.41 -
7.42 - opal_sysinfo_base_open();
7.43 - opal_sysinfo_base_select();
7.44 -
7.45 - opal_sysinfo.query(keys, &values);
7.46 -
7.47 - while (NULL != (item = opal_list_remove_first(&values))) {
7.48 - info = (opal_sysinfo_value_t*)item;
7.49 - fprintf(stderr, "Key: %s Value: ", info->key);
7.50 - if (OPAL_INT64 == info->type) {
7.51 - fprintf(stderr, "%ld\n", (long int)info->data.i64);
7.52 - } else if (OPAL_STRING == info->type) {
7.53 - fprintf(stderr, "%s\n", info->data.str);
7.54 - }
7.55 - OBJ_RELEASE(info);
7.56 - }
7.57 -
7.58 - OBJ_DESTRUCT(&values);
7.59 -
7.60 - opal_sysinfo_base_close();
7.61 -
7.62 - model = getenv("OMPI_MCA_cpu_model");
7.63 - fprintf(stderr, "Envar cpu_model: %s\n", (NULL == model) ? "NULL" : model);
7.64 -
7.65 - if (ORTE_SUCCESS != orte_finalize()) {
7.66 - fprintf(stderr, "Failed orte_finalize\n");
7.67 - exit(1);
7.68 - }
7.69 - return 0;
7.70 -}