Exemplo n.º 1
0
int comex_nbput(void *src, void *dst, int bytes,
        int proc, comex_group_t group, comex_request_t *hdl)
{
    int rc;
    rc = comex_put(src, dst, bytes, proc, group);
    return rc;
}   
Exemplo n.º 2
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.º 3
0
int comex_putv(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) {
            assert(src[j] && dst[j] && bytes && limit);
            comex_put(src[j], dst[j], bytes, proc, group);
        }
    }
    return COMEX_SUCCESS;
}
Exemplo n.º 4
0
int PARMCI_PutValueLong(long src, void *dst, int proc)
{
    return comex_put(&src, dst, sizeof(long), proc, COMEX_GROUP_WORLD);
}
Exemplo n.º 5
0
int PARMCI_PutValueInt(int src, void *dst, int proc)
{
    return comex_put(&src, dst, sizeof(int), proc, COMEX_GROUP_WORLD);
}
Exemplo n.º 6
0
int PARMCI_PutValueDouble(double src, void *dst, int proc)
{
    return comex_put(&src, dst, sizeof(double), proc, COMEX_GROUP_WORLD);
}
Exemplo n.º 7
0
int PARMCI_Put(void *src, void *dst, int bytes, int proc)
{
    return comex_put(src, dst, bytes, proc, COMEX_GROUP_WORLD);
}