/* * Copyright (C) 2020-2021 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once #include #include namespace NEO { class ExecutionEnvironment; class MockDevice; class SubDevice; struct UltDeviceFactory { UltDeviceFactory(uint32_t rootDevicesCount, uint32_t subDevicesCount); UltDeviceFactory(uint32_t rootDevicesCount, uint32_t subDevicesCount, ExecutionEnvironment &executionEnvironment); ~UltDeviceFactory(); static void prepareDeviceEnvironments(ExecutionEnvironment &executionEnvironment, uint32_t rootDevicesCount); static bool initializeMemoryManager(ExecutionEnvironment &executionEnvironment); std::vector rootDevices; std::vector subDevices; }; } // namespace NEO