Lines Matching +full:opencl +full:- +full:clhpp
2 // Copyright (c) 2008-2023 The Khronos Group Inc.
8 // http://www.apache.org/licenses/LICENSE-2.0
19 * \brief C++ bindings for OpenCL 1.0, OpenCL 1.1, OpenCL 1.2,
20 * OpenCL 2.0, OpenCL 2.1, OpenCL 2.2, and OpenCL 3.0.
23 * Derived from the OpenCL 1.x C++ bindings written by
29 * Tom Deakin and Simon McIntosh-Smith, July 2013
30 * James Price, 2015-
32 * \date 2019-09-18
45 * http://khronosgroup.github.io/OpenCL-CLHPP/
49 * https://github.com/KhronosGroup/OpenCL-CLHPP/releases
53 * https://github.com/KhronosGroup/OpenCL-CLHPP
59 * reasonable to define C++ bindings for OpenCL.
61 * The interface is contained with a single C++ header file \em opencl.hpp and all
64 * bindings; it is enough to simply include \em opencl.hpp.
71 * fixes in the new header as well as additional OpenCL 2.0 features.
73 * reason we release it as opencl.hpp rather than a new version of cl.hpp.
77 * Due to the evolution of the underlying OpenCL API the 2.0 C++ bindings
79 * and the range of valid underlying OpenCL runtime versions supported.
83 * decimal values representing OpenCL runtime versions. The default for
84 * the target is 300, representing OpenCL 3.0. The minimum is defined as 200.
89 * Note that this is a compile-time setting, and so affects linking against
105 * custom interface-compatible versions using the CL_HPP_NO_STD_ARRAY,
109 * The OpenCL 1.x versions of the C++ bindings included a size_t wrapper
112 * In the 2.0 version we have replaced this with a std::array-based interface.
116 * Finally, the program construction interface used a clumsy vector-of-pairs
118 * vector-of-vectors and vector-of-strings design. However, for backward
122 * In OpenCL 2.0 OpenCL C is not entirely backward compatibility with
123 * earlier versions. As a result a flag must be passed to the OpenCL C
124 * compiled to request OpenCL 2.0 compilation of kernels with 1.2 as
127 * For those cases the compilation defaults to OpenCL C 2.0.
130 * If more fine-grained decisions on a per-kernel bases are required
137 * - CL_HPP_TARGET_OPENCL_VERSION
139 * Defines the target OpenCL runtime version to build the header
140 * against. Defaults to 300, representing OpenCL 3.0.
142 * - CL_HPP_MINIMUM_OPENCL_VERSION
144 * Defines the minimum OpenCL runtime version to build the header
145 * against. Defaults to 200, representing OpenCL 2.0.
147 * - CL_HPP_NO_STD_STRING
150 * defined and may be defined by the user before opencl.hpp is
153 * - CL_HPP_NO_STD_VECTOR
156 * defined and may be defined by the user before opencl.hpp is
159 * - CL_HPP_NO_STD_ARRAY
162 * defined and may be defined by the user before opencl.hpp is
165 * - CL_HPP_NO_STD_UNIQUE_PTR
169 * defined by the user before opencl.hpp is included.
171 * - CL_HPP_ENABLE_EXCEPTIONS
176 * - CL_HPP_ENABLE_SIZE_T_COMPATIBILITY
178 * Backward compatibility option to support cl.hpp-style size_t
185 * - CL_HPP_ENABLE_PROGRAM_CONSTRUCTION_FROM_ARRAY_COMPATIBILITY
190 * - CL_HPP_CL_1_2_DEFAULT_BUILD
192 * Default to OpenCL C 1.2 compilation rather than OpenCL C 2.0
197 * - CL_HPP_USE_CL_SUB_GROUPS_KHR
201 * - CL_HPP_USE_DX_INTEROP
205 * - CL_HPP_USE_IL_KHR
218 * compiled using special command-line options (such as "-pthread") on some
225 #include <CL/opencl.hpp>
241 if (platver.find("OpenCL 2.") != std::string::npos ||
242 platver.find("OpenCL 3.") != std::string::npos) {
243 // Note: an OpenCL 3.x platform may not support all required features!
248 std::cout << "No OpenCL 2.0 or newer platform found.\n";
249 return -1;
255 return -1;
273 …utput[get_global_id(0)] = inputA[get_global_id(0)] + inputB[get_global_id(0)] + val + *(aNum->bar);
300 vectorAddProgram.build("-cl-std=CL2.0");
315 // Get and run kernel that initializes the program-scope global
330 fooPointer->bar = anSVMInt.get();
400 # pragma message("opencl.hpp: USE_DX_INTEROP is deprecated. Define CL_HPP_USE_DX_INTEROP instead")
404 # pragma message("opencl.hpp: __CL_ENABLE_EXCEPTIONS is deprecated. Define CL_HPP_ENABLE_EXCEPTIONS…
408 # pragma message("opencl.hpp: __NO_STD_VECTOR is deprecated. Define CL_HPP_NO_STD_VECTOR instead")
412 # pragma message("opencl.hpp: __NO_STD_STRING is deprecated. Define CL_HPP_NO_STD_STRING instead")
416 # pragma message("opencl.hpp: VECTOR_CLASS is deprecated. Alias cl::vector instead")
419 # pragma message("opencl.hpp: STRING_CLASS is deprecated. Alias cl::string instead.")
422 # pragma message("opencl.hpp: __CL_USER_OVERRIDE_ERROR_STRINGS is deprecated. Define CL_HPP_USER_OV…
429 # pragma message("opencl.hpp: __USE_DEV_VECTOR is no longer supported. Expect compilation errors")
432 # pragma message("opencl.hpp: __USE_DEV_STRING is no longer supported. Expect compilation errors")
437 # pragma message("opencl.hpp: CL_HPP_TARGET_OPENCL_VERSION is not defined. It will default to 300 (…
447 …a message("opencl.hpp: CL_HPP_TARGET_OPENCL_VERSION is not a valid value (100, 110, 120, 200, 210,…
452 /* Forward target OpenCL version to C headers if necessary */
473 # pragma message("opencl.hpp: CL_HPP_MINIMUM_OPENCL_VERSION is not a valid value (100, 110, 120, 20…
519 #error Visual studio 2013 or another C++11-supporting compiler required
523 #include <OpenCL/opencl.h>
525 #include <CL/opencl.h>
539 // in case they are not pre-defined
624 // Define size_type appropriately to allow backward-compatibility
630 * OpenCL C calls that require arrays of size_t values, whose
698 * \brief The OpenCL C++ bindings are defined within this namespace.
1131 size_type numBinaries = param->size(); in getInfoHelper()
1174 /* Specialization for reference-counted types. This depends on the
1200 param->resize(elements); in getInfoHelper()
1230 param->assign(value.begin(), value.end() - 1); in getInfoHelper()
1234 param->assign(""); in getInfoHelper()
1271 /* Specialization for reference-counted types. This depends on the
1288 err = param->retain(); in getInfoHelper()
1656 // Flags deprecated in OpenCL 2.0
1923 * OpenCL 1.2 devices do have retain/release.
1953 * OpenCL 1.1 devices do not have retain/release.
2107 highVersion += versionInfo[index]-'0'; in getVersion()
2113 lowVersion += versionInfo[index]-'0'; in getVersion()
2400 //! \brief Default constructor - performs no initialization.
2417 this->image_channel_data_type = rhs.image_channel_data_type; in operator =()
2418 this->image_channel_order = rhs.image_channel_order; in operator =()
2467 //! \brief Default constructor - initializes to nullptr.
2551 clGetHostTimer(this->get(), &retVal); in getHostTimer()
2575 clGetDeviceAndHostTimer(this->get(), &(retVal.first), &(retVal.second)); in getDeviceAndHostTimer()
2728 //! \brief Default constructor - initializes to nullptr.
2827 // API-owned objects. in getDevices()
2829 devices->resize(ids.size()); in getDevices()
2849 * \param devices returns a vector of OpenCL D3D10 devices found. The cl::Device
2850 * values returned in devices can be used to identify a specific OpenCL
2854 * - CL_SUCCESS if the function is executed successfully.
2856 * The application can query specific capabilities of the OpenCL device(s)
2920 // API-owned objects. in getDevices()
2922 devices->resize(ids.size()); in getDevices()
2959 platforms->resize(ids.size()); in get()
3036 devices->resize(ids.size()); in createSubDevices()
3084 devices->resize(ids.size()); in createSubDevices()
3110 * Unload the OpenCL compiler.
3111 * \note Deprecated for OpenCL 1.2. Use Platform::unloadCompiler instead.
3443 //! \brief Default constructor - initializes to nullptr.
3446 /*! \brief Constructor from cl_context - takes ownership.
3454 /*! \brief Assignment operator from cl_context - takes ownership.
3527 formats->assign(value.begin(), value.end()); in getSupportedImageFormats()
3531 formats->clear(); in getSupportedImageFormats()
3641 //! \brief Default constructor - initializes to nullptr.
3644 /*! \brief Constructor from cl_event - takes ownership.
3655 /*! \brief Assignment operator from cl_event - takes ownership.
3787 //! \brief Default constructor - initializes to nullptr.
3827 //! \brief Default constructor - initializes to nullptr.
3830 /*! \brief Constructor from cl_mem - takes ownership.
3844 /*! \brief Assignment operator from cl_mem - takes ownership.
3890 * value - not the Memory class instance.
3907 // Pre-declare copy functions
3999 // Pre-declare SVM map function
4010 * STL-like allocator class for managing SVM objects provided for convenience.
4014 …* The allocator should not be used to construct a unique_ptr if we are using coarse-grained SVM mo…
4015 …* the coarse-grained management behaviour would behave incorrectly with respect to reference count…
4082 * If the allocator is coarse-grained, this will take ownership to allow
4106 // If allocation was coarse-grained then map it in allocate()
4154 p->~U(); in destroy()
4263 /*! \brief Vector alias to simplify contruction of coarse-grained SVM containers.
4269 /*! \brief Vector alias to simplify contruction of fine-grained SVM containers.
4275 /*! \brief Vector alias to simplify contruction of fine-grained SVM containers that support platfor…
4323 * their corresponding values. The non-empty list must
4375 * their corresponding values. The non-empty list must
4417 size_type size = sizeof(DataType)*(endIterator - startIterator); in Buffer()
4458 //! \brief Default constructor - initializes to nullptr.
4461 /*! \brief Constructor from cl_mem - takes ownership.
4471 /*! \brief Assignment from cl_mem - performs shallow copy.
4513 /*! \brief Class interface for creating OpenCL buffers from ID3D10Buffer's.
4569 //! \brief Default constructor - initializes to nullptr.
4572 /*! \brief Constructor from cl_mem - takes ownership.
4582 /*! \brief Assignment from cl_mem - performs shallow copy.
4629 //! \brief Default constructor - initializes to nullptr.
4632 /*! \brief Constructor from cl_mem - takes ownership.
4642 /*! \brief Assignment from cl_mem - performs shallow copy.
4699 //! \brief Default constructor - initializes to nullptr.
4702 /*! \brief Constructor from cl_mem - takes ownership.
4712 /*! \brief Assignment from cl_mem - performs shallow copy.
4743 //! \brief Default constructor - initializes to nullptr.
4746 /*! \brief Constructor from cl_mem - takes ownership.
4756 /*! \brief Assignment from cl_mem - performs shallow copy.
4834 //! \brief Default constructor - initializes to nullptr.
4837 /*! \brief Constructor from cl_mem - takes ownership.
4847 /*! \brief Assignment from cl_mem - performs shallow copy.
4897 /*! \brief Constructor from cl_mem - takes ownership.
4957 /*! \brief Constructor from cl_mem - takes ownership.
5006 // Run-time decision based on the actual platform in Image2D()
5009 useCreateImage = (version >= 0x10002); // OpenCL 1.2 or above in Image2D()
5058 * Requires OpenCL 2.0 or newer or OpenCL 1.2 and the
5104 * The channel order may differ as described in the OpenCL
5159 //! \brief Default constructor - initializes to nullptr.
5162 /*! \brief Constructor from cl_mem - takes ownership.
5172 /*! \brief Assignment from cl_mem - performs shallow copy.
5196 * \note Deprecated for OpenCL 1.2. Please use ImageGL instead.
5230 //! \brief Default constructor - initializes to nullptr.
5233 /*! \brief Constructor from cl_mem - takes ownership.
5243 /*! \brief Assignment from cl_mem - performs shallow copy.
5303 /*! \brief Constructor from cl_mem - takes ownership.
5350 // Run-time decision based on the actual platform in Image3D()
5353 useCreateImage = (version >= 0x10002); // OpenCL 1.2 or above in Image3D()
5401 //! \brief Default constructor - initializes to nullptr.
5404 /*! \brief Constructor from cl_mem - takes ownership.
5414 /*! \brief Assignment from cl_mem - performs shallow copy.
5466 //! \brief Default constructor - initializes to nullptr.
5469 /*! \brief Constructor from cl_mem - takes ownership.
5479 /*! \brief Assignment from cl_mem - performs shallow copy.
5497 * was performed by OpenCL anyway.
5527 /*! \brief Constructor from cl_mem - takes ownership.
5611 //! \brief Default constructor - initializes to nullptr.
5614 /*! \brief Constructor from cl_mem - takes ownership.
5624 /*! \brief Assignment from cl_mem - performs shallow copy.
5673 //! \brief Default constructor - initializes to nullptr.
5719 /*! \brief Constructor from cl_sampler - takes ownership.
5730 /*! \brief Assignment operator from cl_sampler - takes ownership.
5780 //! \brief Default constructor - resulting range has zero dimensions.
5789 //! \brief Constructs one-dimensional range.
5798 //! \brief Constructs two-dimensional range.
5807 //! \brief Constructs three-dimensional range.
5816 //! \brief Constructs one-dimensional range.
5819 //! \brief Constructs two-dimensional range.
5822 //! \brief Constructs three-dimensional range.
5857 //! \brief A zero-dimensional range.
5924 //! \brief Default constructor - initializes to nullptr.
5927 /*! \brief Constructor from cl_kernel - takes ownership.
5938 /*! \brief Assignment operator from cl_kernel - takes ownership.
6138 /*! \brief Enable fine-grained system SVM.
6140 * \note It is only possible to enable fine-grained system SVM if all devices
6143 * \param svmEnabled True if fine-grained system SVM is requested. False otherwise.
6145 * if no devices in the context support fine-grained system SVM.
6232 Kernel retValue(clCloneKernel(this->get(), &error)); in clone()
6278 "-cl-std=CL2.0", in Program()
6315 "-cl-std=CL2.0", in Program()
6403 * Program constructor to allow construction of program from SPIR-V or another IL.
6405 * Requires OpenCL 2.1 or newer or the cl_khr_il_program extension.
6441 "-cl-std=CL2.0", in Program()
6457 * Program constructor to allow construction of program from SPIR-V or another IL
6460 * Requires OpenCL 2.1 or newer or the cl_khr_il_program extension.
6494 "-cl-std=CL2.0", in Program()
6511 * Construct a program object from a list of devices and a per-device list of binaries.
6512 * \param context A valid OpenCL context in which to construct the program.
6513 * \param devices A vector of OpenCL device objects for which the program will be created.
6521 …* \param err if non-nullptr will be set to CL_SUCCESS on successful operation or one of the follow…
6525 …* CL_INVALID_DEVICE if OpenCL devices listed in devices are not in the list of devices associate…
6527 …* CL_OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL imple…
6571 binaryStatus->resize(numDevices); in Program()
6578 ? &binaryStatus->front() in Program()
6591 * \param kernelNames Semi-colon separated list of builtin kernel names
6625 /*! \brief Constructor from cl_program - takes ownership.
6828 kernels->resize(value.size()); in createKernels()
6866 /*! \brief Sets a SPIR-V specialization constant.
6883 /*! \brief Sets a SPIR-V specialization constant.
6991 param->resize(numBinaries); in getInfo()
7187 // Run-time decision based on the actual platform in CommandQueue()
7190 useWithProperties = (version >= 0x20000); // OpenCL 2.0 or above in CommandQueue()
7253 // Run-time decision based on the actual platform in CommandQueue()
7256 useWithProperties = (version >= 0x20000); // OpenCL 2.0 or above in CommandQueue()
7318 // Run-time decision based on the actual platform in CommandQueue()
7321 useWithProperties = (version >= 0x20000); // OpenCL 2.0 or above in CommandQueue()
7385 // Run-time decision based on the actual platform in CommandQueue()
7388 useWithProperties = (version >= 0x20000); // OpenCL 2.0 or above in CommandQueue()
7436 // Run-time decision based on the actual platform in CommandQueue()
7439 useWithProperties = (version >= 0x20000); // OpenCL 2.0 or above in CommandQueue()
7487 // Run-time decision based on the actual platform in CommandQueue()
7490 useWithProperties = (version >= 0x20000); // OpenCL 2.0 or above in CommandQueue()
7555 /*! \brief Constructor from cl_command_queue - takes ownership.
7606 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueReadBuffer()
7607 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueReadBuffer()
7631 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueWriteBuffer()
7632 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueWriteBuffer()
7655 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueCopyBuffer()
7656 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueCopyBuffer()
7694 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueReadBufferRect()
7695 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueReadBufferRect()
7762 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueWriteBufferRect()
7763 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueWriteBufferRect()
7828 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueCopyBufferRect()
7829 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueCopyBufferRect()
7872 * The pattern type must be an accepted OpenCL data type.
7897 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueFillBuffer()
7898 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueFillBuffer()
7931 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueReadImage()
7932 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueReadImage()
7987 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueWriteImage()
7988 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueWriteImage()
8039 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueCopyImage()
8040 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueCopyImage()
8073 * This is a four component RGBA floating-point, signed integer
8098 (events != nullptr) ? (cl_uint)events->size() : 0, in enqueueFillImage()
8099 (events != nullptr && events->size() > 0) ? (cl_event*)&events->front() : NULL, in enqueueFillImage()
8111 * This is a four component RGBA floating-point, signed integer
8156 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueCopyImageToBuffer()
8157 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueCopyImageToBuffer()
8204 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueCopyBufferToImage()
8205 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueCopyBufferToImage()
8248 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueMapBuffer()
8249 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueMapBuffer()
8282 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueMapImage()
8283 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueMapImage()
8318 …* This function is specifically for transferring data between the host and a coarse-grained SVM bu…
8331 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueMemcpySVM()
8332 (events != nullptr && events->size() > 0) ? (cl_event *) &events->front() : nullptr, in enqueueMemcpySVM()
8342 *Enqueues a command that will copy data from one coarse-grained SVM buffer to another.
8357 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueMemcpySVM()
8358 (events != nullptr && events->size() > 0) ? (cl_event *) &events->front() : nullptr, in enqueueMemcpySVM()
8368 * Enqueues a command that will allow the host to update a region of a coarse-grained SVM buffer.
8386 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueMemcpySVM()
8387 (events != nullptr && events->size() > 0) ? (cl_event *) &events->front() : nullptr, in enqueueMemcpySVM()
8411 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueMemFillSVM()
8412 (events != nullptr && events->size() > 0) ? (cl_event *) &events->front() : nullptr, in enqueueMemFillSVM()
8422 … * Enqueues a command that fills a region of a coarse-grained SVM buffer with a specified pattern.
8436 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueMemFillSVM()
8437 (events != nullptr && events->size() > 0) ? (cl_event *) &events->front() : nullptr, in enqueueMemFillSVM()
8447 …* Enqueues a command that will allow the host to fill a region of a coarse-grained SVM buffer with…
8461 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueMemFillSVM()
8462 (events != nullptr && events->size() > 0) ? (cl_event *) &events->front() : nullptr, in enqueueMemFillSVM()
8472 … * Enqueues a command that will allow the host to update a region of a coarse-grained SVM buffer.
8487 (events != nullptr) ? (cl_uint)events->size() : 0, in enqueueMapSVM()
8488 (events != nullptr && events->size() > 0) ? (cl_event*)&events->front() : nullptr, in enqueueMapSVM()
8500 … * Enqueues a command that will allow the host to update a region of a coarse-grained SVM buffer.
8515 (events != nullptr) ? (cl_uint)events->size() : 0, in enqueueMapSVM()
8516 (events != nullptr && events->size() > 0) ? (cl_event*)&events->front() : nullptr, in enqueueMapSVM()
8527 … * Enqueues a command that will allow the host to update a region of a coarse-grained SVM buffer.
8541 (events != nullptr) ? (cl_uint)events->size() : 0, in enqueueMapSVM()
8542 (events != nullptr && events->size() > 0) ? (cl_event*)&events->front() : nullptr, in enqueueMapSVM()
8563 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueUnmapMemObject()
8564 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueUnmapMemObject()
8577 * Enqueues a command that will release a coarse-grained SVM buffer back to the OpenCL runtime.
8590 (events != nullptr) ? (cl_uint)events->size() : 0, in enqueueUnmapSVM()
8591 (events != nullptr && events->size() > 0) ? (cl_event*)&events->front() : nullptr, in enqueueUnmapSVM()
8602 * Enqueues a command that will release a coarse-grained SVM buffer back to the OpenCL runtime.
8615 (events != nullptr) ? (cl_uint)events->size() : 0, in enqueueUnmapSVM()
8616 (events != nullptr && events->size() > 0) ? (cl_event*)&events->front() : nullptr, in enqueueUnmapSVM()
8627 * Enqueues a command that will release a coarse-grained SVM buffer back to the OpenCL runtime.
8640 (events != nullptr) ? (cl_uint)events->size() : 0, in enqueueUnmapSVM()
8641 (events != nullptr && events->size() > 0) ? (cl_event*)&events->front() : nullptr, in enqueueUnmapSVM()
8672 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueMarkerWithWaitList()
8673 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueMarkerWithWaitList()
8702 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueBarrierWithWaitList()
8703 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueBarrierWithWaitList()
8738 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueMigrateMemObjects()
8739 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueMigrateMemObjects()
8755 * @param sizes - The length from each pointer to migrate.
8771 (events != nullptr) ? (cl_uint)events->size() : 0, in enqueueMigrateSVM()
8772 (events != nullptr && events->size() > 0) ? (cl_event*)&events->front() : nullptr, in enqueueMigrateSVM()
8800 * @param sizes - The length from each pointer to migrate.
8837 * @param sizes - The length from the beginning of each container to migrate.
8887 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueNDRangeKernel()
8888 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueNDRangeKernel()
8908 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueTask()
8909 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueTask()
8932 (mem_objects != nullptr) ? (cl_uint) mem_objects->size() : 0, in enqueueNativeKernel()
8933 … (mem_objects->size() > 0 ) ? reinterpret_cast<const cl_mem *>(mem_objects->data()) : nullptr, in enqueueNativeKernel()
8934 … (mem_locs != nullptr && mem_locs->size() > 0) ? (const void **) &mem_locs->front() : nullptr, in enqueueNativeKernel()
8935 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueNativeKernel()
8936 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueNativeKernel()
8987 (mem_objects != nullptr) ? (cl_uint) mem_objects->size() : 0, in enqueueAcquireGLObjects()
8988 …(mem_objects != nullptr && mem_objects->size() > 0) ? (const cl_mem *) &mem_objects->front(): null… in enqueueAcquireGLObjects()
8989 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueAcquireGLObjects()
8990 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueAcquireGLObjects()
9009 (mem_objects != nullptr) ? (cl_uint) mem_objects->size() : 0, in enqueueReleaseGLObjects()
9010 …(mem_objects != nullptr && mem_objects->size() > 0) ? (const cl_mem *) &mem_objects->front(): null… in enqueueReleaseGLObjects()
9011 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueReleaseGLObjects()
9012 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueReleaseGLObjects()
9052 (mem_objects != nullptr) ? (cl_uint) mem_objects->size() : 0, in enqueueAcquireD3D10Objects()
9053 …(mem_objects != nullptr && mem_objects->size() > 0) ? (const cl_mem *) &mem_objects->front(): null… in enqueueAcquireD3D10Objects()
9054 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueAcquireD3D10Objects()
9055 (events != nullptr) ? (cl_event*) &events->front() : nullptr, in enqueueAcquireD3D10Objects()
9085 (mem_objects != nullptr) ? (cl_uint) mem_objects->size() : 0, in enqueueReleaseD3D10Objects()
9086 …(mem_objects != nullptr && mem_objects->size() > 0) ? (const cl_mem *) &mem_objects->front(): null… in enqueueReleaseD3D10Objects()
9087 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueReleaseD3D10Objects()
9088 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueReleaseD3D10Objects()
9131 … std::call_once(ext_memory_initialized_, initMemoryExtension, this->getInfo<CL_QUEUE_DEVICE>()); in enqueueAcquireExternalMemObjects()
9139 (events_wait != nullptr) ? static_cast<cl_uint>(events_wait->size()) : 0, in enqueueAcquireExternalMemObjects()
9140 …(events_wait != nullptr && events_wait->size() > 0) ? reinterpret_cast<const cl_event*>(events_wai… in enqueueAcquireExternalMemObjects()
9160 … std::call_once(ext_memory_initialized_, initMemoryExtension, this->getInfo<CL_QUEUE_DEVICE>()); in enqueueReleaseExternalMemObjects()
9168 (events_wait != nullptr) ? static_cast<cl_uint>(events_wait->size()) : 0, in enqueueReleaseExternalMemObjects()
9169 …(events_wait != nullptr && events_wait->size() > 0) ? reinterpret_cast<const cl_event*>(events_wai… in enqueueReleaseExternalMemObjects()
9304 /*! \brief Constructor from cl_command_queue - takes ownership.
9345 * function will return the pre-existing queue.
9375 * function will return the pre-existing queue.
9403 * function will return the pre-existing queue.
9497 size_type size = sizeof(DataType)*(endIterator - startIterator); in Buffer()
9548 size_type size = sizeof(DataType)*(endIterator - startIterator); in Buffer()
9630 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueMapBuffer()
9631 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueMapBuffer()
9646 * update a region of a coarse-grained SVM buffer.
9670 * update a region of a coarse-grained SVM buffer.
9694 * update a region of a coarse-grained SVM buffer.
9734 (events != nullptr) ? (cl_uint)events->size() : 0, in enqueueUnmapMemObject()
9735 (events != nullptr && events->size() > 0) ? (cl_event*)&events->front() : nullptr, in enqueueUnmapMemObject()
9747 * Enqueues to the default queue a command that will release a coarse-grained
9748 * SVM buffer back to the OpenCL runtime.
9769 * Enqueues to the default queue a command that will release a coarse-grained
9770 * SVM buffer back to the OpenCL runtime.
9790 * Enqueues to the default queue a command that will release a coarse-grained
9791 * SVM buffer back to the OpenCL runtime.
9874 size_type length = endIterator-startIterator; in copy()
9913 size_type length = endIterator-startIterator; in copy()
9936 * Blocking SVM map operation - performs a blocking map underneath.
9945 * Blocking SVM map operation - performs a blocking map underneath.
10604 //----------------------------------------------------------------------------------------------
10719 * Backward compatibility class to ensure that cl.hpp code works with opencl.hpp.
10955 (events_wait_list != nullptr) ? (cl_uint) events_wait_list->size() : 0, in enqueueWaitSemaphores()
10956 …(events_wait_list != nullptr && events_wait_list->size() > 0) ? (cl_event*) &events_wait_list->fro… in enqueueWaitSemaphores()
10983 (events_wait_list != nullptr) ? (cl_uint) events_wait_list->size() : 0, in enqueueSignalSemaphores()
10984 …(events_wait_list != nullptr && events_wait_list->size() > 0) ? (cl_event*) &events_wait_list->fro… in enqueueSignalSemaphores()
11005 //! \brief Default constructor - initializes to nullptr.
11091 (events != nullptr) ? (cl_uint) events->size() : 0, in enqueueCommandBuffer()
11092 (events != nullptr && events->size() > 0) ? (cl_event*) &events->front() : nullptr, in enqueueCommandBuffer()
11111 (sync_points_vec != nullptr) ? (cl_uint) sync_points_vec->size() : 0, in commandBarrierWithWaitList()
11112 … (sync_points_vec != nullptr && sync_points_vec->size() > 0) ? &sync_points_vec->front() : nullptr, in commandBarrierWithWaitList()
11147 (sync_points_vec != nullptr) ? (cl_uint) sync_points_vec->size() : 0, in commandCopyBuffer()
11148 … (sync_points_vec != nullptr && sync_points_vec->size() > 0) ? &sync_points_vec->front() : nullptr, in commandCopyBuffer()
11191 (sync_points_vec != nullptr) ? (cl_uint) sync_points_vec->size() : 0, in commandCopyBufferRect()
11192 … (sync_points_vec != nullptr && sync_points_vec->size() > 0) ? &sync_points_vec->front() : nullptr, in commandCopyBufferRect()
11227 (sync_points_vec != nullptr) ? (cl_uint) sync_points_vec->size() : 0, in commandCopyBufferToImage()
11228 … (sync_points_vec != nullptr && sync_points_vec->size() > 0) ? &sync_points_vec->front() : nullptr, in commandCopyBufferToImage()
11263 (sync_points_vec != nullptr) ? (cl_uint) sync_points_vec->size() : 0, in commandCopyImage()
11264 … (sync_points_vec != nullptr && sync_points_vec->size() > 0) ? &sync_points_vec->front() : nullptr, in commandCopyImage()
11299 (sync_points_vec != nullptr) ? (cl_uint) sync_points_vec->size() : 0, in commandCopyImageToBuffer()
11300 … (sync_points_vec != nullptr && sync_points_vec->size() > 0) ? &sync_points_vec->front() : nullptr, in commandCopyImageToBuffer()
11335 (sync_points_vec != nullptr) ? (cl_uint) sync_points_vec->size() : 0, in commandFillBuffer()
11336 … (sync_points_vec != nullptr && sync_points_vec->size() > 0) ? &sync_points_vec->front() : nullptr, in commandFillBuffer()
11369 (sync_points_vec != nullptr) ? (cl_uint) sync_points_vec->size() : 0, in commandFillImage()
11370 … (sync_points_vec != nullptr && sync_points_vec->size() > 0) ? &sync_points_vec->front() : nullptr, in commandFillImage()
11406 (sync_points_vec != nullptr) ? (cl_uint) sync_points_vec->size() : 0, in commandNDRangeKernel()
11407 … (sync_points_vec != nullptr && sync_points_vec->size() > 0) ? &sync_points_vec->front() : nullptr, in commandNDRangeKernel()
11512 //! \brief Default constructor - initializes to nullptr.
11552 //-------------------------------------------------------------------------------------------------…