prif_private_s Submodule


Uses

  • module~~prif_private_s~~UsesGraph module~prif_private_s prif_private_s module~prif prif module~prif_private_s->module~prif iso_c_binding iso_c_binding module~prif->iso_c_binding

Used by


Contents


Variables

TypeVisibilityAttributesNameInitial
type(prif_team_type), private :: current_team
type(team_data), private, target:: initial_team
type(c_ptr), private :: non_symmetric_heap_mspace

Interfaces

interface

  • module module subroutine assert(assertion, description, diagnostics)

    Arguments

    TypeIntentOptionalAttributesName
    logical, intent(in) :: assertion
    character(len=*), intent(in) :: description
    class(*), intent(in), optional :: diagnostics

interface

  • function caf_allocate(mspace, bytes) result(ptr) bind(c)

    Arguments

    TypeIntentOptionalAttributesName
    type(c_ptr), intent(in), value:: mspace
    integer(kind=c_size_t), intent(in), value:: bytes

    Return Value type(c_ptr)

interface

  • subroutine caf_allocate_remaining(mspace, allocated_space, allocated_size) bind(c)

    Arguments

    TypeIntentOptionalAttributesName
    type(c_ptr), intent(in), value:: mspace
    type(c_ptr), intent(out) :: allocated_space
    integer(kind=c_size_t), intent(out) :: allocated_size

interface

  • subroutine caf_caffeinate(symmetric_heap, symmetric_heap_start, symmetric_heap_size, non_symmetric_heap, initial_team) bind(c)

    Arguments

    TypeIntentOptionalAttributesName
    type(c_ptr), intent(out) :: symmetric_heap
    integer(kind=c_intptr_t), intent(out) :: symmetric_heap_start
    integer(kind=c_intptr_t), intent(out) :: symmetric_heap_size
    type(c_ptr), intent(out) :: non_symmetric_heap
    type(c_ptr), intent(out) :: initial_team

interface

  • subroutine caf_co_broadcast(a, source_image, nelem, team) bind(c)

    void c_co_broadcast(CFI_cdesc_t * a_desc, int source_image, int num_elements, gex_TM_t team);

    Arguments

    TypeIntentOptionalAttributesName
    type(*) :: a(..)
    integer(kind=c_int), value:: source_image
    integer(kind=c_int), value:: nelem
    type(c_ptr), value:: team

interface

  • subroutine caf_co_max(a, result_image, num_elements, team) bind(c)

    void c_co_max(CFI_cdesc_t* a_desc, int result_image, size_t num_elements, gex_TM_t team);

    Arguments

    TypeIntentOptionalAttributesName
    type(*) :: a(..)
    integer(kind=c_int), value:: result_image
    integer(kind=c_size_t), value:: num_elements
    type(c_ptr), value:: team

interface

  • subroutine caf_co_min(a, result_image, num_elements, team) bind(c)

    void c_co_min(CFI_cdesc_t* a_desc, int result_image, size_t num_elements, gex_TM_t team);

    Arguments

    TypeIntentOptionalAttributesName
    type(*) :: a(..)
    integer(kind=c_int), value:: result_image
    integer(kind=c_size_t), value:: num_elements
    type(c_ptr), value:: team

interface

  • subroutine caf_co_reduce(a, result_image, num_elements, coll_reducesub, client_data, team) bind(c)

    void caf_co_reduce(CFI_cdesc_t a_desc, int result_image, int num_elements, gex_Coll_ReduceFn_t user_op, void* client_data)

    Arguments

    TypeIntentOptionalAttributesName
    type(*) :: a(..)
    integer(kind=c_int), value:: result_image
    integer(kind=c_size_t), value:: num_elements
    type(c_funptr), value:: coll_reducesub
    type(c_ptr), value:: client_data
    type(c_ptr), value:: team

interface

  • subroutine caf_co_sum(a, result_image, num_elements, team) bind(c)

    void c_co_sum(CFI_cdesc_t* a_desc, int result_image, size_t num_elements, gex_TM_t team);

    Arguments

    TypeIntentOptionalAttributesName
    type(*) :: a(..)
    integer(kind=c_int), value:: result_image
    integer(kind=c_size_t), value:: num_elements
    type(c_ptr), value:: team

interface

  • module function caf_convert_base_addr(addr, image) result(ptr) bind(c)

    Arguments

    TypeIntentOptionalAttributesName
    type(c_ptr), intent(in), value:: addr
    integer(kind=c_int), intent(in), value:: image

    Return Value integer(kind=c_intptr_t)

interface

  • subroutine caf_deallocate(mspace, mem) bind(c)

    Arguments

    TypeIntentOptionalAttributesName
    type(c_ptr), intent(in), value:: mspace
    type(c_ptr), intent(in), value:: mem

interface

  • subroutine caf_decaffeinate(exit_code) bind(c)

    void c_decaffeinate();

    Arguments

    TypeIntentOptionalAttributesName
    integer(kind=c_int), value:: exit_code

interface

  • pure function caf_elem_len(a) result(a_elem_len) bind(c)

    size_t caf_elem_len(CFI_cdesc_t* a_desc);

    Arguments

    TypeIntentOptionalAttributesName
    type(*), intent(in) :: a(..)

    Return Value integer(kind=c_size_t),target

interface

  • subroutine caf_establish_mspace(mspace, mem, mem_size) bind(c)

    Arguments

    TypeIntentOptionalAttributesName
    type(c_ptr), intent(out) :: mspace
    type(c_ptr), intent(in), value:: mem
    integer(kind=c_size_t), intent(in), value:: mem_size

interface

  • subroutine caf_form_team(current_team, new_team, team_number, new_index) bind(c)

    void caf_form_team(gex_TM_t current_team, gex_TM_t new_team, int64_t team_number, int new_index);

    Arguments

    TypeIntentOptionalAttributesName
    type(c_ptr), intent(in), value:: current_team
    type(c_ptr), intent(out) :: new_team
    integer(kind=c_int64_t), intent(in), value:: team_number
    integer(kind=c_int), intent(in), value:: new_index

interface

  • subroutine caf_get(image, dest, src, size) bind(c)

    void caf_get(int image, void* dest, intptr_t src, size_t size)

    Arguments

    TypeIntentOptionalAttributesName
    integer(kind=c_int), intent(in), value:: image
    type(c_ptr), intent(in), value:: dest
    integer(kind=c_intptr_t), intent(in), value:: src
    integer(kind=c_size_t), intent(in), value:: size

interface

  • pure function caf_is_f_string(a) bind(c)

    bool caf_is_f_string(CFI_cdesc_t* a_desc);

    Arguments

    TypeIntentOptionalAttributesName
    type(*), intent(in) :: a(..)

    Return Value logical(kind=c_bool)

interface

  • pure function caf_num_images(gex_team) bind(c)

    int caf_num_images(gex_TM_t gex_team);

    Arguments

    TypeIntentOptionalAttributesName
    type(c_ptr), value:: gex_team

    Return Value integer(kind=c_int)

interface

  • pure function caf_numeric_type(a) bind(c)

    bool caf_numeric_type(CFI_cdesc_t* a_desc);

    Arguments

    TypeIntentOptionalAttributesName
    type(*), intent(in) :: a(..)

    Return Value logical(kind=c_bool)

interface

  • subroutine caf_put(image, dest, src, size) bind(c)

    void caf_put(int image, intptr_t dest, void* src, size_t size)

    Arguments

    TypeIntentOptionalAttributesName
    integer(kind=c_int), intent(in), value:: image
    integer(kind=c_intptr_t), intent(in), value:: dest
    type(c_ptr), intent(in), value:: src
    integer(kind=c_size_t), intent(in), value:: size

interface

  • pure function caf_same_cfi_type(a, b) bind(c)

    bool caf_same_cfi_type(CFI_cdesc_t a_desc, CFI_cdesc_t a_desc);

    Arguments

    TypeIntentOptionalAttributesName
    type(*), intent(in) :: a(..)
    type(*), intent(in) :: b(..)

    Return Value logical(kind=c_bool)

interface

  • subroutine caf_sync_all() bind(c)

    void caf_sync_all();

    Arguments

    None

interface

  • function caf_this_image(gex_team) bind(c)

    int caf_this_image(gex_TM_t gex_team);

    Arguments

    TypeIntentOptionalAttributesName
    type(c_ptr), value:: gex_team

    Return Value integer(kind=c_int)


Functions

pure function as_c_ptr(i)

Arguments

TypeIntentOptionalAttributesName
integer(kind=c_intptr_t), intent(in) :: i

Return Value type(c_ptr)

pure function as_int(ptr)

Arguments

TypeIntentOptionalAttributesName
type(c_ptr), intent(in) :: ptr

Return Value integer(kind=c_intptr_t)

Arguments

None

Return Value logical

pure function optional_value(var) result(c_val)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in), optional :: var

Return Value integer(kind=c_int)


Subroutines

subroutine base_pointer(coarray_handle, image_num, ptr)

Arguments

TypeIntentOptionalAttributesName
type(prif_coarray_handle), intent(in) :: coarray_handle
integer(kind=c_int), intent(in) :: image_num
integer(kind=c_intptr_t), intent(out) :: ptr

Arguments

None

subroutine unimplemented(proc_name)

Arguments

TypeIntentOptionalAttributesName
character(len=*), intent(in) :: proc_name