Online Documentation - Statistics - FAQ - Plugin Parts (All, Dependencies) - Class hierarchy
New in Version 22.2 22.3 22.4 22.5 23.0 23.1 23.2 23.3 23.4 23.5 24.0 24.1
The list of the topics, classes, interfaces, controls, modules, global methods by category, global methods by name, screenshots, licenses and examples.
Platforms to show: All Mac Windows Linux Cross-Platform
Back to CLProgramMBS class.
CLProgramMBS.Binaries as String()
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
For each device in program, the binary returned can be the binary specified for the device when program is created with Constructor or it can be the executable binary generated by BuildProgram. If program is created with Constructor (with Source code), the binary returned is the binary generated by BuildProgram. The bits returned can be an implementation-specific intermediate representation (a.k.a. IR) or device specific executable bits or both. The decision on which information is returned in the binary is up to the OpenCL implementation.
Each entry in this array is used by the implementation as the location in memory where to copy the program binary for a specific device, if there is a binary available.
Lasterror is set.
CLProgramMBS.BinarySizes as UInt64()
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
The size of the array is the number of devices associated with program. If a binary is not available for a device(s), a size of zero is returned.
Lasterror is set.
CLProgramMBS.BuildLog(device as CLDeviceMBS) as string
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
If build status of program for device is kBuildNone, an empty string is returned.
Lasterror is set.
CLProgramMBS.BuildOptions(device as CLDeviceMBS) as string
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
If build status of program for device is kBuildNone, an empty string is returned.
Lasterror is set.
CLProgramMBS.BuildProgram(device as CLDeviceMBS, options as string = "")
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
See other BuildProgram method for details
See also:
CLProgramMBS.BuildProgram(devices() as CLDeviceMBS, options as string = "")
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
devices | Optional, a list of devices you want to build for. If you specify no device, you build for all devices. |
device | Optional, the device you want to build for. If you specify no device, you build for all devices. |
options | A string that describes the build options to be used for building the program executable. The list of supported options is described in "Build Options" below. |
See also:
CLProgramMBS.BuildProgram(options as string = "")
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
See other BuildProgram method for details
Lasterror is set.
See also:
CLProgramMBS.BuildStatus(device as CLDeviceMBS) as Int64
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
See kBuild* constants.
Lasterror is set.
CLProgramMBS.Constructor(context as CLContextMBS, devices() as CLDeviceMBS, binaries() as string, status() as Integer)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
context: Must be a valid OpenCL context.
devices: a list of devices that are in context. The binaries are loaded for devices specified in this list.
The devices associated with the program object will be the list of devices specified by devices. The list of devices specified by devices must be devices associated with context.
binaries: An array of strings containing the program binaries to be loaded for devices specified by devices. For each device given by devices(i), the string with the program binary for that device is given by binaries(i).
The program binaries specified by binaries contain the bits that describe the program executable that will be run on the device(s) associated with context. The program binary can consist of either or both of device-specific executable(s), and/or implementation-specific intermediate representation (IR) which will be converted to the device-specific executable.
sttaus: Returns whether the program binary for each device specified in devices was loaded successfully or not. It is an array of ubound -1 and is filled by the plugin.
Lasterror is set.
OpenCL allows applications to create a program object using the program source or binary and build appropriate program executables. This allows applications to determine whether they want to use the pre-built offline binary or load and compile the program source and use the executable compiled/linked online as the program executable. This can be very useful as it allows applications to load and build program executables online on its first instance for appropriate OpenCL devices in the system. These executables can now be queried and cached by the application. Future instances of the application launching will no longer need to compile and build the program executables. The cached executables can be read and loaded by the application, which can help significantly reduce the application initialization time.
See also:
CLProgramMBS.Constructor(context as CLContextMBS, line as string)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
context: Must be a valid OpenCL context.
line: A string with all the lines of the program.
The devices associated with the program object are the devices associated with context.
OpenCL allows applications to create a program object using the program source or binary and build appropriate program executables. This allows applications to determine whether they want to use the pre-built offline binary or load and compile the program source and use the executable compiled/linked online as the program executable. This can be very useful as it allows applications to load and build program executables online on its first instance for appropriate OpenCL devices in the system. These executables can now be queried and cached by the application. Future instances of the application launching will no longer need to compile and build the program executables. The cached executables can be read and loaded by the application, which can help significantly reduce the application initialization time.
An OpenCL program consists of a set of kernels that are identified as functions declared with the __kernel qualifier in the program source. OpenCL programs may also contain auxiliary functions and constant data that can be used by __kernel functions. The program executable can be generated online or offline by the OpenCL compiler for the appropriate target device(s).
Lasterror is set.
See also:
CLProgramMBS.Constructor(context as CLContextMBS, lines() as string)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
context: Must be a valid OpenCL context.
lines: An array of strings that make up the source code.
The devices associated with the program object are the devices associated with context.
OpenCL allows applications to create a program object using the program source or binary and build appropriate program executables. This allows applications to determine whether they want to use the pre-built offline binary or load and compile the program source and use the executable compiled/linked online as the program executable. This can be very useful as it allows applications to load and build program executables online on its first instance for appropriate OpenCL devices in the system. These executables can now be queried and cached by the application. Future instances of the application launching will no longer need to compile and build the program executables. The cached executables can be read and loaded by the application, which can help significantly reduce the application initialization time.
An OpenCL program consists of a set of kernels that are identified as functions declared with the __kernel qualifier in the program source. OpenCL programs may also contain auxiliary functions and constant data that can be used by __kernel functions. The program executable can be generated online or offline by the OpenCL compiler for the appropriate target device(s).
Lasterror is set.
See also:
CLProgramMBS.Context as CLContextMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
Lasterror is set.
CLProgramMBS.CreateKernelsInProgram(maxKernels as Integer = 100) as CLKernelMBS()
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
maxKernels: maximum number of kernels to return.
Kernel objects are not created for any __kernel functions in program that do not have the same function definition across all devices for which a program executable has been successfully built.
Kernel objects can only be created once you have a program object with a valid program source or binary loaded into the program object and the program executable has been successfully built for one or more devices associated with program. No changes to the program executable are allowed while there are kernel objects associated with a program object. This means that calls to BuildProgram return kInvalidOperation (in lasterror) if there are kernel objects attached to a program object. The OpenCL context associated with program will be the context associated with kernel. The list of devices associated with program are the devices associated with kernel. Devices associated with a program object for which a valid program executable has been built can be used to execute kernels declared in the program object.
Lasterror is set.
CLProgramMBS.Devices as CLDeviceMBS()
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
This can be the devices associated with context on which the program object has been created or can be a subset of devices that are specified when a progam object is created.
CLProgramMBS.NumDevices as UInt32
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
Lasterror is set.
CLProgramMBS.ReferenceCount as UInt32
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
Lasterror is set.
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | OpenCL | MBS MacFrameworks Plugin | 11.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
The source string returned is a concatenation of all source strings specified to Constructor.
The items on this page are in the following plugins: MBS MacFrameworks Plugin.