void shmem_putmem_nbi_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe) { MCA_SPML_CALL(put_nb(FPTR_2_VOID_PTR(target), OMPI_FINT_2_INT(*length), FPTR_2_VOID_PTR(source), OMPI_FINT_2_INT(*pe), NULL)); }
void shmem_put_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe) { shmem_put(FPTR_2_VOID_PTR(target), FPTR_2_VOID_PTR(source), OMPI_FINT_2_INT(*length), OMPI_FINT_2_INT(*pe)); }
void shmem_get128_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe) { MCA_SPML_CALL(get(oshmem_ctx_default, FPTR_2_VOID_PTR(source), OMPI_FINT_2_INT(*len) * 16, FPTR_2_VOID_PTR(target), OMPI_FINT_2_INT(*pe))); }
void shmem_get64_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe) { MCA_SPML_CALL(get(FPTR_2_VOID_PTR(source), OMPI_FINT_2_INT(*len) * 8, FPTR_2_VOID_PTR(target), OMPI_FINT_2_INT(*pe))); }
void shmem_put128_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe) { MCA_SPML_CALL(put(FPTR_2_VOID_PTR(target), OMPI_FINT_2_INT(*length) * 16, FPTR_2_VOID_PTR(source), OMPI_FINT_2_INT(*pe))); }
void shmem_integer_get_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe) { size_t integer_type_size = 0; ompi_datatype_type_size(&ompi_mpi_integer.dt, &integer_type_size); MCA_SPML_CALL(get(oshmem_ctx_default, FPTR_2_VOID_PTR(source), OMPI_FINT_2_INT(*len) * integer_type_size, FPTR_2_VOID_PTR(target), OMPI_FINT_2_INT(*pe))); }
void shmem_logical_put_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe) { size_t logical_type_size = 0; ompi_datatype_type_size(&ompi_mpi_logical.dt, &logical_type_size); MCA_SPML_CALL(put(oshmem_ctx_default, FPTR_2_VOID_PTR(target), OMPI_FINT_2_INT(*length) * logical_type_size, FPTR_2_VOID_PTR(source), OMPI_FINT_2_INT(*pe))); }
void shmem_character_get_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe) { size_t character_type_size = 0; ompi_datatype_type_size(&ompi_mpi_character.dt, &character_type_size); MCA_SPML_CALL(get(FPTR_2_VOID_PTR(source), OMPI_FINT_2_INT(*len) * character_type_size, FPTR_2_VOID_PTR(target), OMPI_FINT_2_INT(*pe))); }
void shmem_complex_put_nbi_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe) { size_t complex_type_size = 0; ompi_datatype_type_size(&ompi_mpi_cplex.dt, &complex_type_size); MCA_SPML_CALL(put_nb(FPTR_2_VOID_PTR(target), OMPI_FINT_2_INT(*length) * complex_type_size, FPTR_2_VOID_PTR(source), OMPI_FINT_2_INT(*pe), NULL)); }
void shmem_double_put_nbi_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe) { size_t double_precision_type_size = 0; ompi_datatype_type_size(&ompi_mpi_dblprec.dt, &double_precision_type_size); MCA_SPML_CALL(put_nb(FPTR_2_VOID_PTR(target), OMPI_FINT_2_INT(*length) * double_precision_type_size, FPTR_2_VOID_PTR(source), OMPI_FINT_2_INT(*pe), NULL)); }
void shmem_real8_set_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe) { ompi_fortran_real8_t out_value = 0; MCA_ATOMIC_CALL(cswap(FPTR_2_VOID_PTR(target), (void *)&out_value, NULL, FPTR_2_VOID_PTR(value), sizeof(out_value), OMPI_FINT_2_INT(*pe))); }
void shmem_int8_add_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe) { ompi_fortran_integer8_t out_value = 0; oshmem_op_t* op = oshmem_op_sum_fint8; MCA_ATOMIC_CALL(fadd(FPTR_2_VOID_PTR(target), (void *)&out_value, FPTR_2_VOID_PTR(value), sizeof(out_value), OMPI_FINT_2_INT(*pe), op)); }
ompi_fortran_integer4_t shmem_int4_swap_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe) { ompi_fortran_integer4_t out_value = 0; MCA_ATOMIC_CALL(cswap(FPTR_2_VOID_PTR(target), (void *)&out_value, NULL, FPTR_2_VOID_PTR(value), sizeof(out_value), OMPI_FINT_2_INT(*pe))); return out_value; }
MPI_Fint shmem_swap_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe) { size_t integer_type_size = 0; MPI_Fint out_value = 0; ompi_datatype_type_size(&ompi_mpi_integer.dt, &integer_type_size); MCA_ATOMIC_CALL(cswap(FPTR_2_VOID_PTR(target), (void *)&out_value, NULL, FPTR_2_VOID_PTR(value), integer_type_size, OMPI_FINT_2_INT(*pe))); return out_value; }
void shmem_iget64_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe) { int i; int length = OMPI_FINT_2_INT(*len); int tst_c = OMPI_FINT_2_INT(*tst); int sst_c = OMPI_FINT_2_INT(*sst); for (i=0; i<length; i++) { MCA_SPML_CALL(get((uint8_t *)FPTR_2_VOID_PTR(source) + i * sst_c * 8, 8, (uint8_t *)FPTR_2_VOID_PTR(target) + i * tst_c * 8, OMPI_FINT_2_INT(*pe))); } }
void shmem_integer_iget_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe) { int i; int length = OMPI_FINT_2_INT(*len); int tst_c = OMPI_FINT_2_INT(*tst); int sst_c = OMPI_FINT_2_INT(*sst); size_t integer_type_size = 0; ompi_datatype_type_size(&ompi_mpi_integer.dt, &integer_type_size); for (i=0; i<length; i++) { MCA_SPML_CALL(get((uint8_t *)FPTR_2_VOID_PTR(source) + i * sst_c * integer_type_size, integer_type_size, (uint8_t *)FPTR_2_VOID_PTR(target) + i * tst_c * integer_type_size, OMPI_FINT_2_INT(*pe))); } }
void shmem_int8_inc_f(FORTRAN_POINTER_T target, MPI_Fint *pe) { ompi_fortran_integer8_t value = 1; MCA_ATOMIC_CALL(add(oshmem_ctx_default, FPTR_2_VOID_PTR(target), value, sizeof(value), OMPI_FINT_2_INT(*pe))); }
void shmem_double_iput_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe) { int i; int length = OMPI_FINT_2_INT(*len); int tst_c = OMPI_FINT_2_INT(*tst); int sst_c = OMPI_FINT_2_INT(*sst); size_t double_type_size = 0; ompi_datatype_type_size(&ompi_mpi_dblprec.dt, &double_type_size); for (i=0; i<length; i++) { MCA_SPML_CALL(put((uint8_t*)FPTR_2_VOID_PTR(target) + i * tst_c * double_type_size, double_type_size, (uint8_t*)FPTR_2_VOID_PTR(source) + i * sst_c * double_type_size, OMPI_FINT_2_INT(*pe))); } }
ompi_fortran_integer8_t shmem_int8_swap_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe) { ompi_fortran_integer8_t out_value = 0; MCA_ATOMIC_CALL(swap(oshmem_ctx_default, FPTR_2_VOID_PTR(target), (void *)&out_value, FPTR_2_INT(value, sizeof(out_value)), sizeof(out_value), OMPI_FINT_2_INT(*pe))); return out_value; }
ompi_fortran_real4_t shmem_real4_fetch_f(FORTRAN_POINTER_T target, MPI_Fint *pe) { ompi_fortran_real4_t out_value = 0; ompi_fortran_real4_t value = 0; MCA_ATOMIC_CALL(fadd(oshmem_ctx_default, FPTR_2_VOID_PTR(target), (void *)&out_value, value, sizeof(out_value), OMPI_FINT_2_INT(*pe))); return out_value; }
void shmem_int4_inc_f(FORTRAN_POINTER_T target, MPI_Fint *pe) { ompi_fortran_integer4_t out_value = 0; ompi_fortran_integer4_t value = 1; oshmem_op_t* op = oshmem_op_sum_fint4; MCA_ATOMIC_CALL(fadd(FPTR_2_VOID_PTR(target), (void *)&out_value, (const void*)&value, sizeof(out_value), OMPI_FINT_2_INT(*pe), op)); }
ompi_fortran_real4_t shmem_real4_fetch_f(FORTRAN_POINTER_T target, MPI_Fint *pe) { ompi_fortran_real4_t out_value = 0; oshmem_op_t* op = oshmem_op_sum_freal4; int value = 0; MCA_ATOMIC_CALL(fadd(FPTR_2_VOID_PTR(target), (void *)&out_value, (const void *)&value, sizeof(out_value), OMPI_FINT_2_INT(*pe), op)); return out_value; }
FORTRAN_POINTER_T* shmem_ptr_f(FORTRAN_POINTER_T target, MPI_Fint *pe) { return (FORTRAN_POINTER_T *)shmem_ptr(FPTR_2_VOID_PTR(target), OMPI_FINT_2_INT(*pe)); }