StarPU Handbook
Multiformat Data Interface

Data Structures

struct  starpu_multiformat_data_interface_ops
 
struct  starpu_multiformat_interface
 

Macros

#define STARPU_MULTIFORMAT_GET_CPU_PTR(interface)
 
#define STARPU_MULTIFORMAT_GET_CUDA_PTR(interface)
 
#define STARPU_MULTIFORMAT_GET_OPENCL_PTR(interface)
 
#define STARPU_MULTIFORMAT_GET_MIC_PTR(interface)
 
#define STARPU_MULTIFORMAT_GET_NX(interface)
 

Functions

void starpu_multiformat_data_register (starpu_data_handle_t *handle, int home_node, void *ptr, uint32_t nobjects, struct starpu_multiformat_data_interface_ops *format_ops)
 

Detailed Description


Data Structure Documentation

◆ starpu_multiformat_data_interface_ops

struct starpu_multiformat_data_interface_ops

The different fields are:

Data Fields
size_t cpu_elemsize

the size of each element on CPUs

size_t opencl_elemsize

the size of each element on OpenCL devices

struct starpu_codelet * cpu_to_opencl_cl

pointer to a codelet which converts from CPU to OpenCL

struct starpu_codelet * opencl_to_cpu_cl

pointer to a codelet which converts from OpenCL to CPU

size_t cuda_elemsize

the size of each element on CUDA devices

struct starpu_codelet * cpu_to_cuda_cl

pointer to a codelet which converts from CPU to CUDA

struct starpu_codelet * cuda_to_cpu_cl

pointer to a codelet which converts from CUDA to CPU

size_t mic_elemsize

the size of each element on MIC devices

struct starpu_codelet * cpu_to_mic_cl

pointer to a codelet which converts from CPU to MIC

struct starpu_codelet * mic_to_cpu_cl

pointer to a codelet which converts from MIC to CPU

◆ starpu_multiformat_interface

struct starpu_multiformat_interface

todo

Data Fields
enum starpu_data_interface_id id
void * cpu_ptr
void * cuda_ptr
void * opencl_ptr
void * mic_ptr
uint32_t nx
struct
starpu_multiformat_data_interface_ops *
ops

Macro Definition Documentation

◆ STARPU_MULTIFORMAT_GET_CPU_PTR

#define STARPU_MULTIFORMAT_GET_CPU_PTR (   interface)

returns the local pointer to the data with CPU format.

◆ STARPU_MULTIFORMAT_GET_CUDA_PTR

#define STARPU_MULTIFORMAT_GET_CUDA_PTR (   interface)

returns the local pointer to the data with CUDA format.

◆ STARPU_MULTIFORMAT_GET_OPENCL_PTR

#define STARPU_MULTIFORMAT_GET_OPENCL_PTR (   interface)

returns the local pointer to the data with OpenCL format.

◆ STARPU_MULTIFORMAT_GET_MIC_PTR

#define STARPU_MULTIFORMAT_GET_MIC_PTR (   interface)

returns the local pointer to the data with MIC format.

◆ STARPU_MULTIFORMAT_GET_NX

#define STARPU_MULTIFORMAT_GET_NX (   interface)

returns the number of elements in the data.

Function Documentation

◆ starpu_multiformat_data_register()

void starpu_multiformat_data_register ( starpu_data_handle_t handle,
int  home_node,
void *  ptr,
uint32_t  nobjects,
struct starpu_multiformat_data_interface_ops format_ops 
)

Register a piece of data that can be represented in different ways, depending upon the processing unit that manipulates it. It allows the programmer, for instance, to use an array of structures when working on a CPU, and a structure of arrays when working on a GPU. nobjects is the number of elements in the data. format_ops describes the format.