UraniumCompute 0.1.0
A GPU accelerated parallel task scheduler
KernelCompiler.h
1#pragma once
2#include <UnCompute/Compilation/IKernelCompiler.h>
3#include <UnCompute/Memory/Ptr.h>
4
5namespace UN
6{
7 class DynamicLibrary;
8
9 class KernelCompiler final : public Object<IKernelCompiler>
10 {
11 Ptr<DynamicLibrary> m_DynamicLibrary;
12 DescriptorType m_Desc;
13
14 public:
15 ~KernelCompiler() override = default;
16
17 private:
18 [[nodiscard]] const DescriptorType& GetDesc() const override;
19 ResultCode Init(const DescriptorType& desc) override;
20 ResultCode Compile(const KernelCompilerArgs& args, HeapArray<Byte>* pResult) override;
21 };
22} // namespace UN
Fixed-size heap-allocated array.
Definition: HeapArray.h:14
Definition: KernelCompiler.h:10
Base class for dynamic reference counted objects.
Definition: Object.h:51
Shared smart pointer implementation that uses reference counting.
Definition: Ptr.h:44
Kernel compiler arguments that define a single compilation.
Definition: IKernelCompiler.h:65
Kernel compiler descriptor.
Definition: IKernelCompiler.h:22