Operator Reference

activate_compute_deviceT_activate_compute_deviceActivateComputeDeviceActivateComputeDeviceactivate_compute_device (Operator)

activate_compute_deviceT_activate_compute_deviceActivateComputeDeviceActivateComputeDeviceactivate_compute_device — Activate a compute device.

Signature

activate_compute_device( : : DeviceHandle : )

Herror T_activate_compute_device(const Htuple DeviceHandle)

void ActivateComputeDevice(const HTuple& DeviceHandle)

void HComputeDevice::ActivateComputeDevice() const

static void HOperatorSet.ActivateComputeDevice(HTuple deviceHandle)

void HComputeDevice.ActivateComputeDevice()

def activate_compute_device(device_handle: HHandle) -> None

Description

activate_compute_deviceactivate_compute_deviceActivateComputeDeviceActivateComputeDeviceactivate_compute_device activates the compute device DeviceHandleDeviceHandleDeviceHandledeviceHandledevice_handle for the current HALCON thread. All subsequent HALCON operators called in this thread are executed on DeviceHandleDeviceHandleDeviceHandledeviceHandledevice_handle if they provide an implementation (see get_operator_infoget_operator_infoGetOperatorInfoGetOperatorInfoget_operator_info) for this device. Use deactivate_compute_devicedeactivate_compute_deviceDeactivateComputeDeviceDeactivateComputeDevicedeactivate_compute_device to deactivate DeviceHandleDeviceHandleDeviceHandledeviceHandledevice_handle.

Currently, only one compute device can be active for a HALCON thread. If a different device is active before activate_compute_deviceactivate_compute_deviceActivateComputeDeviceActivateComputeDeviceactivate_compute_device is called, this device is deactivated automatically.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: local (may only be called from the same thread in which the window, model, or tool instance was created).
  • Processed without parallelization.

Parameters

DeviceHandleDeviceHandleDeviceHandledeviceHandledevice_handle (input_control)  compute_device HComputeDevice, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Compute device handle.

Example (HDevelop)

open_compute_device (DeviceIdentifier, DeviceHandle)
read_image (Image, 'rings_and_nuts')
*
* Gaussian convolution on a compute device
activate_compute_device (DeviceHandle)
derivate_gauss (Image, DerivGauss, 5, 'none')
*
* Gaussian convolution on the CPU
deactivate_compute_device (DeviceHandle)
derivate_gauss (Image, DerivGauss, 5, 'none')

Result

activate_compute_deviceactivate_compute_deviceActivateComputeDeviceActivateComputeDeviceactivate_compute_device returns the value 2 ( H_MSG_TRUE) if DeviceHandleDeviceHandleDeviceHandledeviceHandledevice_handle is valid. Otherwise an exception will be raised.

Possible Predecessors

open_compute_deviceopen_compute_deviceOpenComputeDeviceOpenComputeDeviceopen_compute_device

See also

deactivate_compute_devicedeactivate_compute_deviceDeactivateComputeDeviceDeactivateComputeDevicedeactivate_compute_device, deactivate_all_compute_devicesdeactivate_all_compute_devicesDeactivateAllComputeDevicesDeactivateAllComputeDevicesdeactivate_all_compute_devices

Module

Foundation