12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- /*
- * This file is part of the StarPU Handbook.
- * Copyright (C) 2009--2011 Universit@'e de Bordeaux 1
- * Copyright (C) 2010, 2011, 2012, 2013 Centre National de la Recherche Scientifique
- * Copyright (C) 2011, 2012 Institut National de Recherche en Informatique et Automatique
- * See the file version.doxy for copying conditions.
- */
- /*! \defgroup API_Multiformat_Data_Interface Multiformat Data Interface
- \struct starpu_multiformat_data_interface_ops
- \ingroup API_Multiformat_Data_Interface
- The different fields are:
- \var starpu_multiformat_data_interface_ops::cpu_elemsize
- the size of each element on CPUs
- \var starpu_multiformat_data_interface_ops::opencl_elemsize
- the size of each element on OpenCL devices
- \var starpu_multiformat_data_interface_ops::cpu_to_opencl_cl
- pointer to a codelet which converts from CPU to OpenCL
- \var starpu_multiformat_data_interface_ops::opencl_to_cpu_cl
- pointer to a codelet which converts from OpenCL to CPU
- \var starpu_multiformat_data_interface_ops::cuda_elemsize
- the size of each element on CUDA devices
- \var starpu_multiformat_data_interface_ops::cpu_to_cuda_cl
- pointer to a codelet which converts from CPU to CUDA
- \var starpu_multiformat_data_interface_ops::cuda_to_cpu_cl
- pointer to a codelet which converts from CUDA to CPU
- \var starpu_multiformat_data_interface_ops::mic_elemsize
- the size of each element on MIC devices
- \var starpu_multiformat_data_interface_ops::cpu_to_mic_cl
- pointer to a codelet which converts from CPU to MIC
- \var starpu_multiformat_data_interface_ops::mic_to_cpu_cl
- pointer to a codelet which converts from MIC to CPU
- \struct starpu_multiformat_interface
- todo
- \ingroup API_Multiformat_Data_Interface
- \var starpu_multiformat_interface::id
- \var starpu_multiformat_interface::cpu_ptr
- \var starpu_multiformat_interface::cuda_ptr
- \var starpu_multiformat_interface::opencl_ptr
- \var starpu_multiformat_interface::mic_ptr
- \var starpu_multiformat_interface::nx
- \var starpu_multiformat_interface::ops
- \fn void starpu_multiformat_data_register(starpu_data_handle_t *handle, unsigned home_node, void *ptr, uint32_t nobjects, struct starpu_multiformat_data_interface_ops *format_ops)
- \ingroup API_Multiformat_Data_Interface
- 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. \p nobjects is the number of elements in the data. \p format_ops
- describes the format.
- \def STARPU_MULTIFORMAT_GET_CPU_PTR(interface)
- \ingroup API_Multiformat_Data_Interface
- returns the local pointer to the data with CPU format.
- \def STARPU_MULTIFORMAT_GET_CUDA_PTR(interface)
- \ingroup API_Multiformat_Data_Interface
- returns the local pointer to the data with CUDA format.
- \def STARPU_MULTIFORMAT_GET_OPENCL_PTR(interface)
- \ingroup API_Multiformat_Data_Interface
- returns the local pointer to the data with OpenCL format.
- \def STARPU_MULTIFORMAT_GET_MIC_PTR(interface)
- \ingroup API_Multiformat_Data_Interface
- returns the local pointer to the data with MIC format.
- \def STARPU_MULTIFORMAT_GET_NX(interface)
- \ingroup API_Multiformat_Data_Interface
- returns the number of elements in the data.
- */
|