Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
DispatcherHostCUDA.h
Go to the documentation of this file.
1#ifndef PROTEUS_FRONTEND_DISPATCHER_HOST_CUDA_H
2#define PROTEUS_FRONTEND_DISPATCHER_HOST_CUDA_H
3
4#if PROTEUS_ENABLE_CUDA
5
8
9namespace proteus {
10
11class DispatcherHostCUDA : public DispatcherHost {
12public:
13 static DispatcherHostCUDA &instance() {
14 static DispatcherHostCUDA D;
15 return D;
16 }
17
18 StringRef getDeviceArch() const override {
19 return JitEngineDeviceCUDA::instance().getDeviceArch();
20 }
21
22private:
23 DispatcherHostCUDA() : DispatcherHost("DispatcherHostCUDA") {
24 // Preserve CUDA cache labels when the implementation goes through host JIT.
25 TargetModel = TargetModelType::HOST_CUDA;
26 }
27};
28
29} // namespace proteus
30
31#endif
32
33#endif // PROTEUS_FRONTEND_DISPATCHER_HOST_CUDA_H
Definition MemoryCache.h:27