MCPcopy Create free account
hub / github.com/OpenPathGuidingLibrary/openpgl / Device

Class Device

openpgl/include/openpgl/cpp/Device.h:22–43  ·  view source on GitHub ↗

* @brief The Device class is a key component of OpenPGL. It is used to set * compute architecture and optimizations (e.g., SIMD) used for the implementation of * guiding structures (e.g., Field, SurfaceSamplingDistribution, or VolumeSamplingDistribution). */

Source from the content-addressed store, hash-verified

20 * guiding structures (e.g., Field, SurfaceSamplingDistribution, or VolumeSamplingDistribution).
21 */
22struct Device
23{
24 /**
25 * @brief Creates a new Device object.
26 *
27 * Creates a new Device object. The object can be optimized
28 * for different compute architechtures. On the CPU the device can be
29 * optimized for different SIMD architechtures (e.g., SSE4, AVX, or AVX-512)
30 *
31 * @param deviceType The device optimization type.
32 */
33 Device(PGL_DEVICE_TYPE deviceType, size_t numThreads = 0);
34
35 ~Device();
36
37 Device(const Device &) = delete;
38
39 friend struct openpgl::cpp::Field;
40
41 private:
42 PGLDevice m_deviceHandle{nullptr};
43};
44
45////////////////////////////////////////////////////////////
46/// Implementation

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected