Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Main Page
Namespaces
Classes
Files
File List
File Members
Loading...
Searching...
No Matches
include
proteus
CompilerInterfaceDevice.h
Go to the documentation of this file.
1
//===-- CompilerInterfaceDevice.h -- JIT entry point for GPU header --===//
2
//
3
// Part of the Proteus Project, under the Apache License v2.0 with LLVM
4
// Exceptions. See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
//===----------------------------------------------------------------------===//
10
11
#ifndef PROTEUS_COMPILERINTERFACEDEVICE_H
12
#define PROTEUS_COMPILERINTERFACEDEVICE_H
13
14
#if PROTEUS_ENABLE_CUDA
15
16
#include "
proteus/JitEngineDeviceCUDA.hpp
"
17
using
JitDeviceImplT =
proteus::JitEngineDeviceCUDA
;
18
19
#elif PROTEUS_ENABLE_HIP
20
21
#include "
proteus/JitEngineDeviceHIP.hpp
"
22
using
JitDeviceImplT =
proteus::JitEngineDeviceHIP
;
23
24
#else
25
#error \
26
"CompilerInterfaceDevice requires PROTEUS_ENABLE_CUDA or PROTEUS_ENABLE_HIP"
27
#endif
28
29
// The ABI of __jit_launch_kernel mirrors device-specific launchKernel and
30
// depends on the host arch: https://github.com/Olympus-HPC/proteus/issues/47.
31
extern
"C"
proteus::DeviceTraits<JitDeviceImplT>::DeviceError_t
32
__jit_launch_kernel
(
void
*
Kernel
, dim3 GridDim, dim3 BlockDim,
33
void
**KernelArgs, uint64_t ShmemSize,
void
*Stream);
34
35
#endif
Kernel
void * Kernel
Definition
CompilerInterfaceDevice.cpp:50
__jit_launch_kernel
proteus::DeviceTraits< JitDeviceImplT >::DeviceError_t __jit_launch_kernel(void *Kernel, dim3 GridDim, dim3 BlockDim, void **KernelArgs, uint64_t ShmemSize, void *Stream)
Definition
CompilerInterfaceDevice.cpp:57
JitEngineDeviceCUDA.hpp
JitEngineDeviceHIP.hpp
proteus::JitEngineDeviceCUDA
Definition
JitEngineDeviceCUDA.hpp:31
proteus::JitEngineDeviceHIP
Definition
JitEngineDeviceHIP.hpp:28
proteus::DeviceTraits
Definition
JitEngineDevice.hpp:174
Generated by
1.9.8