public class SoDevice extends Inventor
There are specific implementations of this class for each type of device supported by Open Inventor. These classes may provide additional methods to query information specific to the device type. Currently the supported device types are:
SoCpuDevice
: A system CPU, including multiple cores.
SoGLDevice
: A GPU, managed through the OpenGL API.
A single physical device may be accessible as more than one type of logical device. For example, a GPU (graphics board) may be accessible as an OpenGL device and as a CUDA device. Using the query methods, you can determine the number of each type of device and specific information about each device such as the total memory.
Before using any CUDA or OpenCL devices, the application must initialize the corresponding module using SoCuda.init() or SoOpenCL.init() These methods should only be called after initializing Open Inventor (using SoXt.init() etc).
On most devices other than the CPU, a device "context" is necessary when using the device. Open Inventor provides classes to manage contexts for each type of device. See SoDeviceContext
and its derived classes SoCpuContext
, SoCudaContext, SoGLContext
and SoOpenCLContext.
Open Inventor provides classes to manage data objects (blocks of memory), called buffer objects, on each type of device. See SoBufferObject
and its derived classes SoCpuBufferObject
, SoCudaBufferObject, SoGLBufferObject
and SoOpenCLBufferObject.
On some devices, for example CUDA and OpenCL, Open Inventor provides a wrapper class that allows the application to call functions in the corresponding API using object oriented methods. See SoCudaApi and SoOpenCLApi.
Open Inventor also provides a set of classes that implement commonly used computing algorithms that operate on data buffer objects. See, for example: SoArithmetic
, SoConversion
, SoConvolution
and SoSeismic
. Some of these classes have device specific implementations, for example SoCudaConvolution and SoOpenCLConvolution.
Note: The word "device" is also used to refer to input devices such as the mouse and keyboard. These devices are associated with the viewer or render area and are represented by window system dependent classes. See, for example: SoWinDevice, SoQtDevice and SoXtDevice.
See also:
SoCpuDevice
, SoCudaDevice, SoGLDevice
, SoOpenCLDevice
Inventor.ConstructorCommand
VERBOSE_LEVEL, ZeroHandle
Modifier and Type | Method and Description |
---|---|
static SoDevice |
getDevice(int index)
Returns the
SoDevice pointed by index. |
java.lang.String |
getDeviceName()
Returns the name of this device.
|
static int |
getDevicesCount()
Returns the number of devices.
|
java.lang.String |
getDriverVersion()
Returns the driver version of this device.
|
int |
getLogicalUnits()
Returns the number of logical units of this device.
|
dispose, getAddress, getNativeResourceHandle, startInternalThreads, stopInternalThreads
public static int getDevicesCount()
public java.lang.String getDeviceName()
public java.lang.String getDriverVersion()
public int getLogicalUnits()
Generated on January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com