Ejemplo n.º 1
0
static int is_valid_base_atomic_op(enum fi_op op)
{	
	int ret;

	ret = fi_atomicvalid(ep, datatype, op, count);
	if (ret) {
		fprintf(stderr, "Provider doesn't support %s"
				" base atomic operation\n", get_fi_op_name(op));
		return 0;
	}
	
	return 1;		
}
Ejemplo n.º 2
0
static inline int atomicvalid_DTxOP(int DT_MAX, int OPS_MAX, int DT[],
                                    int OPS[], atomic_support_lv atomic_sup)
{
    int i, j, ret = 0;
    size_t atomic_size;

    for(i=0; i<DT_MAX; i++) {
      for(j=0; j<OPS_MAX; j++) {
        ret = fi_atomicvalid(shmem_transport_ofi_epfd, DT[i],
                        OPS[j], &atomic_size);
         if(atomicvalid_rtncheck(ret, atomic_size, atomic_sup,
                            SHMEM_OpName[OPS[j]],
                            SHMEM_DtName[DT[i]]))
           return ret;
      }
    }

    return 0;
}