COMPMID-2205: CL runtime context.
CL Interfaces implemented.
Concrete classes implemented.
One test (ActivationLayer) ported to the new interface.
Change-Id: I283808bec36ccfc2f13fe048c45cbbee698ce525
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1998
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/arm_compute/runtime/CL/CLBufferAllocator.h b/arm_compute/runtime/CL/CLBufferAllocator.h
index 19a3e62..7724022 100644
--- a/arm_compute/runtime/CL/CLBufferAllocator.h
+++ b/arm_compute/runtime/CL/CLBufferAllocator.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -26,19 +26,25 @@
#include "arm_compute/runtime/IAllocator.h"
-#include "arm_compute/core/CL/OpenCL.h"
-#include "arm_compute/runtime/CL/CLScheduler.h"
-
#include <cstddef>
namespace arm_compute
{
+class CLCoreRuntimeContext;
/** Default OpenCL cl buffer allocator implementation */
class CLBufferAllocator final : public IAllocator
{
public:
- /** Default constructor */
- explicit CLBufferAllocator(cl::Context context = CLScheduler::get().context());
+ /** Default constructor
+ *
+ * @param[in] ctx A runtime context.
+ */
+ CLBufferAllocator(CLCoreRuntimeContext *ctx = nullptr);
+
+ /** Default copy constructor */
+ CLBufferAllocator(const CLBufferAllocator &) = default;
+ /** Default copy assignment operator */
+ CLBufferAllocator &operator=(const CLBufferAllocator &) = default;
// Inherited methods overridden:
void *allocate(size_t size, size_t alignment) override;
@@ -46,7 +52,7 @@
std::unique_ptr<IMemoryRegion> make_region(size_t size, size_t alignment) override;
private:
- cl::Context _context;
+ CLCoreRuntimeContext *_ctx;
};
} // arm_compute
#endif /*__ARM_COMPUTE_CLBUFFERALLOCATOR_H__ */