Add host APIs for querying device ctx and remote heap pointer (#200)
* Add host APIs for querying device ctx and remote heap pointer * Host API to query device pointer for ROCSHMEM_DEFAULT_CONTEXT, this is needed to support dynamic module initialization via device kernel library bitcode. * Host API to query remote symmetric heap pointer that can be used in custom device kernel for RMA operations. * Added rocshmem_ptr implementation within the Host Context class * Enables pointer retrieval functionality for symmetric data objects * Copy IPC pointers to host memory in RO host context --------- Co-authored-by: avinashkethineedi <avinash.kethineedi@amd.com>
This commit is contained in:
@@ -65,6 +65,29 @@ constexpr char VERSION[] = "3.0.0";
|
||||
*/
|
||||
__host__ void rocshmem_init(MPI_Comm comm = MPI_COMM_WORLD);
|
||||
|
||||
/**
|
||||
* @brief Query rocSHMEM context from host API
|
||||
*
|
||||
* @param[out] ctx Returns ROCSHMEM_CTX_DEFAULT device pointer that users
|
||||
* can query from one instance of rocshmem host library and
|
||||
* use use later for dynamic module initialization in
|
||||
* kernel bitcode device library in the same application
|
||||
*/
|
||||
__host__ void * rocshmem_get_device_ctx();
|
||||
|
||||
/**
|
||||
* @brief Query rocSHMEM remote symmetric heap pointer
|
||||
*
|
||||
* @param[in] dest local symmetric heap allocation pointer for current pe/device
|
||||
*
|
||||
* @param[in] pe remote PE
|
||||
*
|
||||
* @param[out] ptr Returns remote symmetric heap device pointer from host-side API.
|
||||
* This can be used to issue load/store from custom kernels
|
||||
* instead of using rocshmem device side get/put APIs for RMA operations.
|
||||
*/
|
||||
__host__ void *rocshmem_ptr(void *dest, int pe);
|
||||
|
||||
/**
|
||||
* @brief Initialize the rocSHMEM runtime and underlying transport layer
|
||||
* with an attempt to enable the requested thread support.
|
||||
|
||||
Reference in New Issue
Block a user