Exemplo n.º 1
0
int PARMCI_GetValueInt(void *src, int proc)
{
    int val;
    assert(COMEX_SUCCESS == 
            comex_get(src, &val, sizeof(int), proc, COMEX_GROUP_WORLD));
    return val;
}
Exemplo n.º 2
0
long PARMCI_GetValueLong(void *src, int proc)
{
    long val;
    assert(COMEX_SUCCESS == 
            comex_get(src, &val, sizeof(long), proc, COMEX_GROUP_WORLD));
    return val;
}
Exemplo n.º 3
0
double PARMCI_GetValueDouble(void *src, int proc)
{
    double val;
    assert(COMEX_SUCCESS == 
            comex_get(src, &val, sizeof(double), proc, COMEX_GROUP_WORLD));
    return val;
}
Exemplo n.º 4
0
int comex_nbget(void *src, void *dst, int bytes,
        int proc, comex_group_t group, comex_request_t *hdl)
{
    int rc;
    rc = comex_get(src, dst, bytes, proc, group);
    return 0;
}
Exemplo n.º 5
0
int comex_acc(int datatype, void *scale, void *src_ptr, void *dst_ptr,
                 int bytes, int proc, comex_group_t group)
{
    double *get_buf = (double *)l_state.acc_buf;
    double *_src_buf = (double *)src_ptr;
    double calc_scale = *(double *)scale;
    int m, limit;


    assert(bytes <= l_state.acc_buf_len);
    assert(datatype == COMEX_ACC_DBL);
    assert(get_buf);

    COMEXD_network_lock(proc);
    comex_get(dst_ptr, get_buf, bytes, proc, group);

    for (m=0, limit=bytes/sizeof(double); m<limit; ++m) {
        if (calc_scale == 1.0) {
            get_buf[m] += _src_buf[m];
        }
        else {
            get_buf[m] += calc_scale * _src_buf[m];
        }
    }

    comex_put(get_buf, dst_ptr, bytes, proc, group);
    COMEXD_network_unlock(proc);
    
    return 0;
}
Exemplo n.º 6
0
int comex_getv(comex_giov_t *iov, int iov_len, int proc, comex_group_t group)
{
    int i;
    for (i=0; i<iov_len; ++i) {
        int j;
        void **src = iov[i].src;
        void **dst = iov[i].dst;
        int bytes = iov[i].bytes;
        int limit = iov[i].count;
        for (j=0; j<limit; ++j) {
            comex_get(src[j], dst[j], bytes, proc, group);
        }
    } 
    return COMEX_SUCCESS;
}
Exemplo n.º 7
0
int PARMCI_Get(void *src, void *dst, int bytes, int proc)
{
    return comex_get(src, dst, bytes, proc, COMEX_GROUP_WORLD);
}