2017-12-21 07:45:38 +08:00
|
|
|
/*
|
2021-05-17 02:51:16 +08:00
|
|
|
* Copyright (C) 2020-2021 Intel Corporation
|
2017-12-21 07:45:38 +08:00
|
|
|
*
|
2019-02-27 18:39:32 +08:00
|
|
|
* SPDX-License-Identifier: MIT
|
2017-12-21 07:45:38 +08:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
2020-10-16 18:41:41 +08:00
|
|
|
#include "shared/source/utilities/stackvec.h"
|
2019-02-27 18:39:32 +08:00
|
|
|
|
2020-10-16 18:41:41 +08:00
|
|
|
#include "opencl/source/api/cl_types.h"
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2019-03-26 18:59:46 +08:00
|
|
|
namespace NEO {
|
2020-01-14 21:32:11 +08:00
|
|
|
class ClDevice;
|
|
|
|
|
2020-10-16 18:41:41 +08:00
|
|
|
class ClDeviceVector : public StackVec<ClDevice *, 1> {
|
2017-12-21 07:45:38 +08:00
|
|
|
public:
|
2020-01-14 21:32:11 +08:00
|
|
|
ClDeviceVector() = default;
|
|
|
|
ClDeviceVector(const ClDeviceVector &) = default;
|
|
|
|
ClDeviceVector &operator=(const ClDeviceVector &) = default;
|
|
|
|
ClDeviceVector(const cl_device_id *devices,
|
|
|
|
cl_uint numDevices);
|
2020-10-29 00:18:37 +08:00
|
|
|
void toDeviceIDs(std::vector<cl_device_id> &devIDs) const;
|
2017-12-21 07:45:38 +08:00
|
|
|
};
|
|
|
|
|
2019-03-26 18:59:46 +08:00
|
|
|
} // namespace NEO
|