Remote Memory Access ==================== 类型定义 -------- .. _ACLSHMEM_TYPENAME_FUN: .. doxygendefine:: ACLSHMEM_TYPENAME_FUN :project: ACLSHMEM_API UB初始化接口 ------------ .. doxygenfunction:: aclshmemx_aicore_init :project: ACLSHMEM_API 同步接口 -------- ACLSHMEM_PUT ^^^^^^^^^^^^ .. cpp:function:: ACLSHMEM_DEVICE_PREFIX void aclshmem_putmem(__gm__ void *dest, __gm__ const void *source, size_t nelems, int pe) .. cpp:function:: ACLSHMEM_HOST_PREFIX void aclshmem_putmem(void *dest, const void *source, size_t bytes, int pe) .. cpp:function:: ACLSHMEM_DEVICE_PREFIX void aclshmem_TYPENAME_put(__gm__ TYPE *dest, __gm__ const TYPE *source, size_t nelems, int pe) 同步接口。将本PE上的连续数据复制到指定PE上的对称地址。 TYPENAME及TYPE的可选值见 :ref:`ACLSHMEM_TYPENAME_FUN`。 :param dest: [in] 目标数据在对称内存上的地址。 :param source: [in] 源数据在本PE上的地址。 :param nelems: [in] 目标数据和源数据的元素数量。 :param pe: [in] 远端PE的PE id。 ACLSHMEM_P ^^^^^^^^^^ .. cpp:function:: ACLSHMEM_DEVICE_PREFIX void aclshmem_TYPENAME_p(__gm__ TYPE *dest, TYPE value, int pe) 同步接口。将单个TYPE类型的元素复制到指定PE上的对称地址。 TYPENAME及TYPE的可选值见 :ref:`ACLSHMEM_TYPENAME_FUN`。 :param dest: [in] 目标数据在对称内存上的地址。 :param value: [in] 需要put的值。 :param pe: [in] 目标PE的PE id。 ACLSHMEM_GET ^^^^^^^^^^^^ .. cpp:function:: ACLSHMEM_DEVICE_PREFIX void aclshmem_getmem(__gm__ void *dest, __gm__ const void *source, size_t nelems, int pe) .. cpp:function:: ACLSHMEM_HOST_PREFIX void aclshmem_getmem(void *dest, const void *source, size_t bytes, int pe) .. cpp:function:: ACLSHMEM_DEVICE_PREFIX void aclshmem_TYPENAME_get(__gm__ TYPE *dest, __gm__ const TYPE *source, size_t nelems, int pe) 同步接口。从指定PE将对称内存上的连续数据复制到本PE的地址。 TYPENAME及TYPE的可选值见 :ref:`ACLSHMEM_TYPENAME_FUN`。 :param dest: [in] 目标数据在本PE上的地址。 :param source: [in] 源数据在对称内存上的地址。 :param nelems: [in] 目标数据和源数据的元素数量。 :param pe: [in] 远端PE的PE id。 ACLSHMEM_G ^^^^^^^^^^ .. cpp:function:: ACLSHMEM_DEVICE_PREFIX TYPE aclshmem_TYPENAME_g(__gm__ const TYPE *source, int pe) 同步接口。从指定PE的对称内存上获取单个TYPE类型的元素。 TYPENAME及TYPE的可选值见 :ref:`ACLSHMEM_TYPENAME_FUN`。 :param source: [in] 目标数据在对称内存上的地址。 :param pe: [in] 目标PE的PE id。 异步接口 -------- ACLSHMEM_PUT_NBI ^^^^^^^^^^^^^^^^ .. cpp:function:: ACLSHMEM_DEVICE_PREFIX void aclshmem_putmem_nbi(__gm__ void *dest, __gm__ const void *source, size_t nelems, int pe) .. cpp:function:: ACLSHMEM_HOST_PREFIX void aclshmem_putmem_nbi(void *dest, const void *source, size_t bytes, int pe) .. cpp:function:: ACLSHMEM_DEVICE_PREFIX void aclshmem_TYPENAME_put_nbi(__gm__ TYPE *dest, __gm__ const TYPE *source, size_t nelems, int pe) 异步接口。将本PE上的连续数据复制到指定PE上的对称地址。 TYPENAME及TYPE的可选值见 :ref:`ACLSHMEM_TYPENAME_FUN`。 :param dest: [in] 目标数据在对称内存上的地址。 :param source: [in] 源数据在本PE上的地址。 :param nelems: [in] 目标数据和源数据的元素数量。 :param pe: [in] 远端PE的PE id。 ACLSHMEM_GET_NBI ^^^^^^^^^^^^^^^^ .. cpp:function:: ACLSHMEM_DEVICE_PREFIX void aclshmem_getmem_nbi(__gm__ void *dest, __gm__ const void *source, size_t nelems, int pe) .. cpp:function:: ACLSHMEM_HOST_PREFIX void aclshmem_getmem_nbi(void *dest, const void *source, size_t bytes, int pe) .. cpp:function:: ACLSHMEM_DEVICE_PREFIX void aclshmem_TYPENAME_get_nbi(__gm__ TYPE *dest, __gm__ const TYPE *source, size_t nelems, int pe) 异步接口。从指定PE将对称内存上的连续数据复制到本PE的地址。 TYPENAME及TYPE的可选值见 :ref:`ACLSHMEM_TYPENAME_FUN`。 :param dest: [in] 目标数据在本PE上的地址。 :param source: [in] 源数据在对称内存上的地址。 :param nelems: [in] 目标数据和源数据的元素数量。 :param pe: [in] 远端PE的PE id。 ACLSHMEMX_PUT_NBI ^^^^^^^^^^^^^^^^^ .. doxygenfunction:: aclshmemx_putmem_nbi :project: ACLSHMEM_API .. cpp:function:: ACLSHMEM_DEVICE_PREFIX void aclshmemx_TYPENAME_put_nbi(__gm__ TYPE *dest, __ubuf__ const TYPE *source, size_t nelems, int pe) 异步接口。将本PE UB上的连续数据复制到指定PE上的对称地址。 TYPENAME及TYPE的可选值见 :ref:`ACLSHMEM_TYPENAME_FUN`。 :param dest: [in] 目标数据在对称内存上的地址。 :param source: [in] 源数据在本PE UB上的地址。 :param nelems: [in] 目标数据和源数据的元素数量。 :param pe: [in] 远端PE的PE id。 ACLSHMEMX_GET_NBI ^^^^^^^^^^^^^^^^^ .. doxygenfunction:: aclshmemx_getmem_nbi :project: ACLSHMEM_API .. cpp:function:: ACLSHMEM_DEVICE_PREFIX void aclshmemx_TYPENAME_get_nbi(__ubuf__ TYPE *dest, __gm__ const TYPE *source, size_t nelems, int pe) 异步接口。从指定PE上的对称地址复制连续数据到本PE UB上。 TYPENAME及TYPE的可选值见 :ref:`ACLSHMEM_TYPENAME_FUN`。 :param dest: [in] 目标数据在本PE UB上的地址。 :param source: [in] 源数据在对称内存上的地址。 :param nelems: [in] 目标数据和源数据的元素数量。 :param pe: [in] 远端PE的PE id。