KlassenKlassenKlassenKlassen | | | | Operatoren

query_available_compute_devicesT_query_available_compute_devicesQueryAvailableComputeDevicesquery_available_compute_devicesQueryAvailableComputeDevicesQueryAvailableComputeDevices (Operator)

Name

query_available_compute_devicesT_query_available_compute_devicesQueryAvailableComputeDevicesquery_available_compute_devicesQueryAvailableComputeDevicesQueryAvailableComputeDevices — Abfragen der Liste verfügbarer Compute Devices.

Signatur

query_available_compute_devices( : : : DeviceIdentifier)

Herror T_query_available_compute_devices(Htuple* DeviceIdentifier)

Herror query_available_compute_devices(HTuple* DeviceIdentifier)

HTuple HComputeDevice::QueryAvailableComputeDevices()

void QueryAvailableComputeDevices(HTuple* DeviceIdentifier)

static HTuple HComputeDevice::QueryAvailableComputeDevices()

void HOperatorSetX.QueryAvailableComputeDevices([out] VARIANT* DeviceIdentifier)

VARIANT HComputeDeviceX.QueryAvailableComputeDevices()

static void HOperatorSet.QueryAvailableComputeDevices(out HTuple deviceIdentifier)

static HTuple HComputeDevice.QueryAvailableComputeDevices()

Beschreibung

Gibt die Liste aller verfügbaren Compute Devices zurück. Mittels get_compute_device_infoget_compute_device_infoGetComputeDeviceInfoget_compute_device_infoGetComputeDeviceInfoGetComputeDeviceInfo können Eigenschaften eines Devices abgefragt werden. open_compute_deviceopen_compute_deviceOpenComputeDeviceopen_compute_deviceOpenComputeDeviceOpenComputeDevice öffnet ein Device in HALCON.

Gegenwärtig unterstützt HALCON nur OpenCL kompatible GPUs, welche die OpenCL Erweiterung cl_khr_byte_addressable_store und Image Objekte unterstützen. Falls Sie sich nicht sicher sind, ob ein bestimmtes Device unterstützt wird, wenden Sie sich bitte an den Hersteller.

Momentan ist es nicht möglich OpenCL mittels Windows Remote Desktop zu verwenden, da dieser den Zugriff auf den Grafiktreiber unterbindet. Mittels einer VNC Lösung ist es aber möglich, OpenCL über eine remote Verbindung zu verwenden.

Es wird empfohlen die jeweils aktuellsten Grafiktreiber zu installieren. Um auf Linuxsystemen auf die Grafikkarte zugreifen zu können sollte der Benutzer Mitglied der Gruppe 'video' sein.

Parallelisierung

Parameter

DeviceIdentifierDeviceIdentifierDeviceIdentifierDeviceIdentifierDeviceIdentifierdeviceIdentifier (output_control)  integer-array HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Liste von verfügbaren Compute Devices.

Beispiel (HDevelop)

query_available_compute_devices (DeviceIdentifiers)
for Index := 0 to |DeviceIdentifiers|-1 by 1
    get_compute_device_info (DeviceIdentifiers[Index], 'name', DeviceName)
    get_compute_device_info (DeviceIdentifiers[Index], 'vendor', DeviceVendor)
    if (DeviceVendor == 'NVIDIA Corporation' and \
        DeviceName == 'GeForce 8800 Ultra')
        open_compute_device (DeviceIdentifiers[Index], DeviceHandle)
        break
    endif
endfor
*
init_compute_device (DeviceHandle, 'derivate_gauss')
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')

Ergebnis

query_available_compute_devicesquery_available_compute_devicesQueryAvailableComputeDevicesquery_available_compute_devicesQueryAvailableComputeDevicesQueryAvailableComputeDevices gibt 2 (H_MSG_TRUE) zurück.

Nachfolger

get_compute_device_infoget_compute_device_infoGetComputeDeviceInfoget_compute_device_infoGetComputeDeviceInfoGetComputeDeviceInfo, open_compute_deviceopen_compute_deviceOpenComputeDeviceopen_compute_deviceOpenComputeDeviceOpenComputeDevice

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren