Alternative VE Offloading  3.0.2
VEO HMEM API

VE heterogeneous memory API functions. More...

Functions

int veo_is_ve_addr (const void *addr)
 check the address More...
 
void * veo_get_hmem_addr (void *addr)
 get a virtual address of VE or VH memory without identifier allocated by veo_alloc_hmem(). More...
 
int veo_get_max_proc_identifier (void)
 Get the number of identifiable VE processes. More...
 
int veo_get_proc_identifier_from_hmem (const void *addr)
 Get the number of VE process identifier from HMEM addr. More...
 

Detailed Description

VE heterogeneous memory API functions.

Include "ve_offload.h" header from VH program. Specify -lveo when you link VH program. Include "veo_hmem.h" header from VH program. Specify -lveohmem when you link VE program.

Function Documentation

int veo_is_ve_addr ( const void *  addr)

check the address

This function determines if the address is allocated by veo_alloc_hmem().

Parameters
[in]addra pointer to virtual address
Return values
1addr was allocated by veo_alloc_hmem().
0addr was not allocated by veo_alloc_hmem().
void* veo_get_hmem_addr ( void *  addr)

get a virtual address of VE or VH memory without identifier allocated by veo_alloc_hmem().

Parameters
[in]addra pointer to virtual address of VE or VH memory
Returns
a virtual address without identifier
Examples:
examples/VE/libmpive.c.
int veo_get_max_proc_identifier ( void  )

Get the number of identifiable VE processes.

Note
This API is a low-level API and is intended to be called by upper layer software. This API is not intended to be called by a user program.
Returns
the number of identifiable VE processes
int veo_get_proc_identifier_from_hmem ( const void *  addr)

Get the number of VE process identifier from HMEM addr.

Note
This API is a low-level API and is intended to be called by upper layer software. This API is not intended to be called by a user program.
Parameters
[in]addra pointer to VEMVA address with the identifier (HMEM addr)
Returns
a VE process identifer