Offline compilation of OpenCL kernel source code

Offline Compilation of OpenCL Kernel Sources Offline compilation of OpenCL kernel source code Aside from online compilation during application execution, OpenCL kernel sources can be compiled offline into binaries that can be loaded into the drivers using special API calls (e.g. clCreateProgramWithBinary or clCreateProgramWithIL). In addition to online compilation during application execution, the OpenCL kernel […]

Getting started with OpenCL on Microsoft Windows

Getting started with OpenCL on Microsoft Windows Get started with OpenCL on Microsoft Windows OpenCL is not native to the Windows operating system, and as such isn’t supported across the board of UWP (Universal Windows Platform) platforms (XBox, Hololens, IoT, PC) and the Microsoft Store. Windows as a traditional content creating platform however can build […]

Introduction to OpenCV: Java & Android – Using OpenCL in a CV application based on Android Camera Preview OpenCV v4.8.0

Previous tutorial: Android development using OpenCV Next tutorial: Installation in MacOS Original author Andrey Pavlenko Compatibility OpenCV >= 3.0 Warning This tutorial is obsolete. This guide is designed to help you use OpenCL ? in your Android Camera Preview based CV application. It was written for the Eclipse-based ADT tool (now deprecated by Google), but […]

Install CUDA and OPENCL on Ubuntu

Preface: I need to do some GPU parallel computing recently, so I got into CUDA and OPENCL. I have used some of both, and I just have some time. At the same time, I can record some learning processes and eliminate some pitfalls. This article is about environment installation. Basically, just follow along. No problem, […]

[High Performance Computing] Opencl syntax and related concepts (5): Affine transformation scaling of images

Directory Introduction host program Device side functions Zoom renderings Introduction To use affine transformation to achieve equal aspect ratio scaling of an image, you can follow these steps: Define the affine transformation matrix: First, define an affine transformation matrix to describe the scaling operation. This matrix is a 2×3 matrix containing parameters for translation, scaling […]

[High Performance Computing] Opencl syntax and related concepts (3) Events, memory

Event concept in opencl When talking about events in OpenCL, they represent status information for various stages of execution or operations. By using events, you can track and manage the progress and sequence of kernel execution and memory operations. The following are key concepts related to OpenCL events: Creating events: You can create events manually […]

[High Performance Computing] Opencl syntax and related concepts (4): Combined with opencv for image Gaussian blur processing

Directory Introduction to Gaussian Blur Main function: host side Device-side function: mywork.cl Comparison of renderings Introduction to Gaussian Blur Gaussian blur is a commonly used image processing technique used to reduce noise and details in images and achieve image smoothing. It is a convolution operation based on the Gaussian function, which achieves the blur effect […]

[High Performance Computing] Opencl syntax and related concepts (2): index, queue, kernel function

Directory Data parallelism and task parallelism Common features of heterogeneous programming languages opencl division method opencl context definition String-based program objects The same device, multiple command queues Example of executing multiple kernel functions simultaneously Data parallelism and task parallelism Data parallelism divides large-scale computing tasks into multiple subtasks and applies these subtasks to different data […]

OpenCL Programming Guide-9.2 Event objects, events generated on the host, events that affect execution on the host

Event Object Let’s further analyze the incident itself. Events are objects. Similar to all other objects in OpenCL, we define 3 functions to manage these objects: clGetEventInfo clRetainEvent clReleaseEvent The following function increments the reference count of the specified event object: cl_int clRetainEvent(cl_event event) Note that any OpenCL command that returns an event will implicitly […]

[High Performance Computing] opencl syntax and related concepts (1): workflow, examples

Directory The difference between opencl running on gpu and cpu opencl basic workflow and concepts Example of adding two numbers Related knowledge points Use identifiers to complete automatic copying of memory from host to device Global execution scope and local execution scope Index example example 1 Queue concept in opencl The difference between opencl running […]