示例#1
0
文件: data_c.c 项目: psonawane27/SOS
void
shmem_get16(void *dest, const void *source, size_t nelems, int pe)
{
  SHMEM_ERR_CHECK_INITIALIZED();

  shmem_internal_get(dest, source, 2 * nelems, pe);
  shmem_internal_get_wait();
}
示例#2
0
文件: data_c.c 项目: psonawane27/SOS
void
shmemx_getmem_ct(shmemx_ct_t ct, void *target, const void *source, size_t len, int pe)
{
    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_get_ct(ct, target, source, len, pe);
    shmem_internal_get_wait();
}
示例#3
0
文件: data_f.c 项目: caomw/SOS
void
FC_SHMEM_GETMEM(void *target, void *source, fortran_integer_t *len, fortran_integer_t *pe)
{
    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_get(target, source, *len, *pe);
    shmem_internal_get_wait();
}
示例#4
0
文件: data_c.c 项目: psonawane27/SOS
void
shmem_int_get(int *target, const int *source, size_t len, int pe)
{
    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_get(target, source, sizeof(int) * len, pe);
    shmem_internal_get_wait();
}
示例#5
0
文件: data_c.c 项目: psonawane27/SOS
void
shmem_longlong_get(long long *target, const long long *source, size_t len, int pe)
{
    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_get(target, source, sizeof(long long) * len, pe);
    shmem_internal_get_wait();
}
示例#6
0
文件: data_c.c 项目: psonawane27/SOS
void
shmem_double_get(double *target, const double *source, size_t len, int pe)
{
    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_get(target, source, sizeof(double) * len, pe);
    shmem_internal_get_wait();
}
示例#7
0
文件: data_c.c 项目: psonawane27/SOS
void
shmem_char_get(char *target, const char *source, size_t len, int pe)
{
    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_get(target, source, sizeof(char) * len, pe);
    shmem_internal_get_wait();
}
示例#8
0
文件: data_f.c 项目: caomw/SOS
void
FC_SHMEM_REAL_GET(void *target, void *source, fortran_integer_t *len, fortran_integer_t *pe)
{
    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_get(target, source, SIZEOF_FORTRAN_REAL * *len, *pe);
    shmem_internal_get_wait();
}
示例#9
0
文件: data_c.c 项目: psonawane27/SOS
void
shmem_getmem(void *target, const void *source, size_t len, int pe)
{
    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_get(target, source, len, pe);
    shmem_internal_get_wait();
}
示例#10
0
文件: data_c.c 项目: psonawane27/SOS
double
shmem_double_g(const double *addr, int pe)
{
    double tmp = 0.0;

    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_get(&tmp, addr, sizeof(tmp), pe);
    shmem_internal_get_wait();
    return tmp;
}
示例#11
0
文件: data_c.c 项目: psonawane27/SOS
long long
shmem_longlong_g(const long long *addr, int pe)
{
    long long tmp = 0;

    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_get(&tmp, addr, sizeof(tmp), pe);
    shmem_internal_get_wait();
    return tmp;
}
示例#12
0
文件: data_c.c 项目: psonawane27/SOS
int
shmem_int_g(const int *addr, int pe)
{
    int tmp = 0;

    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_get(&tmp, addr, sizeof(tmp), pe);
    shmem_internal_get_wait();
    return tmp;
}
示例#13
0
文件: data_c.c 项目: psonawane27/SOS
char
shmem_char_g(const char *addr, int pe)
{
    char tmp = 0;

    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_get(&tmp, addr, sizeof(tmp), pe);
    shmem_internal_get_wait();
    return tmp;
}
示例#14
0
文件: data_c.c 项目: psonawane27/SOS
void
shmem_longlong_iget(long long *target, const long long *source, ptrdiff_t tst, ptrdiff_t sst, size_t len, int pe)
{
    SHMEM_ERR_CHECK_INITIALIZED();

    for ( ; len > 0 ; --len ) {
        shmem_internal_get(target, source, sizeof(long long), pe);
	target += tst;
	source += sst;
    }
    shmem_internal_get_wait();
}
示例#15
0
文件: data_c.c 项目: psonawane27/SOS
void
shmem_iget64(void *target, const void *source, ptrdiff_t tst, ptrdiff_t sst, size_t len, int pe)
{
    SHMEM_ERR_CHECK_INITIALIZED();

    for ( ; len > 0 ; --len ) {
        shmem_internal_get(target, source, sizeof(uint64_t), pe);
	target = (uint64_t*)target + tst;
	source = (uint64_t*)source + sst;
    }
    shmem_internal_get_wait();
}
示例#16
0
int64_t
FC_SHMEM_INT8_FINC(int64_t *target,
                   fortran_integer_t *pe)
{
    int64_t oldval, tmp = 1;

    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_fetch_atomic(target, &tmp, &oldval, 8, 
                                *pe, SHM_INTERNAL_SUM, SHM_INTERNAL_INT64);
    shmem_internal_get_wait();
    return oldval;
}
示例#17
0
float
FC_SHMEM_REAL4_SWAP(float *target,
                    float *value, 
                    fortran_integer_t *pe)
{
    float newval;

    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_swap(target, value, &newval, 4,
			*pe, SHM_INTERNAL_FLOAT);
    shmem_internal_get_wait();
    return newval;
}
示例#18
0
int64_t
FC_SHMEM_INT8_SWAP(int64_t *target,
                   int64_t *value, 
                   fortran_integer_t *pe)
{
    int64_t newval;

    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_swap(target, value, &newval, 8, 
			*pe, SHM_INTERNAL_INT64);
    shmem_internal_get_wait();
    return newval;
}
示例#19
0
fortran_integer_t
FC_SHMEM_SWAP(fortran_integer_t *target,
	      fortran_integer_t *value, 
	      fortran_integer_t *pe)
{
    fortran_integer_t newval;

    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_swap(target, value, &newval, SIZEOF_FORTRAN_INTEGER, 
			*pe, DTYPE_FORTRAN_INTEGER);
    shmem_internal_get_wait();
    return newval;
}
示例#20
0
int32_t
FC_SHMEM_INT4_FADD(int32_t *target,
                   int32_t *value, 
                   fortran_integer_t *pe)
{
    int32_t oldval;

    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_fetch_atomic(target, value, &oldval, 4, 
                                *pe, SHM_INTERNAL_SUM, SHM_INTERNAL_INT32);
    shmem_internal_get_wait();
    return oldval;
}
示例#21
0
double
FC_SHMEM_REAL8_SWAP(double *target,
                    double *value, 
                    fortran_integer_t *pe)
{
    double newval;

    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_swap(target, value, &newval, 8,
			*pe, SHM_INTERNAL_DOUBLE);
    shmem_internal_get_wait();
    return newval;
}
示例#22
0
int32_t
FC_SHMEM_INT4_CSWAP(int32_t *target,
                    int32_t *cond, 
                    int32_t *value, 
                    fortran_integer_t *pe)
{
    int32_t newval;

    SHMEM_ERR_CHECK_INITIALIZED();

    shmem_internal_cswap(target, value, &newval, cond, 
                         4, 
                         *pe, SHM_INTERNAL_INT32);
    shmem_internal_get_wait();
    return newval;
}
示例#23
0
文件: data_f.c 项目: caomw/SOS
void
FC_SHMEM_COMPLEX_IGET(void *targetp, void *sourcep, 
	       fortran_integer_t *tst, fortran_integer_t *sst,
	       fortran_integer_t *lenp, fortran_integer_t *pe)
{
    fortran_integer_t len = *lenp;
    char *target = (char*) targetp;
    char *source = (char*) sourcep;

    SHMEM_ERR_CHECK_INITIALIZED();

    for ( ; len > 0 ; --len ) {
        shmem_internal_get(target, source, SIZEOF_FORTRAN_COMPLEX, *pe);
	target += (*tst * SIZEOF_FORTRAN_COMPLEX);
	source += (*sst * SIZEOF_FORTRAN_COMPLEX);
    }
    shmem_internal_get_wait();
}