clang
3.9.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
llvm.src
tools
clang
include
clang
Basic
Cuda.h
Go to the documentation of this file.
1
//===--- Cuda.h - Utilities for compiling CUDA code ------------*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
10
#ifndef LLVM_CLANG_BASIC_CUDA_H
11
#define LLVM_CLANG_BASIC_CUDA_H
12
13
namespace
llvm {
14
class
StringRef;
15
}
// namespace llvm
16
17
namespace
clang {
18
19
enum class
CudaVersion
{
20
UNKNOWN
,
21
CUDA_70
,
22
CUDA_75
,
23
CUDA_80
,
24
};
25
const
char
*
CudaVersionToString
(
CudaVersion
V);
26
27
// No string -> CudaVersion conversion function because there's no canonical
28
// spelling of the various CUDA versions.
29
30
enum class
CudaArch
{
31
UNKNOWN
,
32
SM_20
,
33
SM_21
,
34
SM_30
,
35
SM_32
,
36
SM_35
,
37
SM_37
,
38
SM_50
,
39
SM_52
,
40
SM_53
,
41
SM_60
,
42
SM_61
,
43
SM_62
,
44
};
45
const
char
*
CudaArchToString
(
CudaArch
A);
46
47
// The input should have the form "sm_20".
48
CudaArch
StringToCudaArch
(llvm::StringRef
S
);
49
50
enum class
CudaVirtualArch
{
51
UNKNOWN
,
52
COMPUTE_20
,
53
COMPUTE_30
,
54
COMPUTE_32
,
55
COMPUTE_35
,
56
COMPUTE_37
,
57
COMPUTE_50
,
58
COMPUTE_52
,
59
COMPUTE_53
,
60
COMPUTE_60
,
61
COMPUTE_61
,
62
COMPUTE_62
,
63
};
64
const
char
*
CudaVirtualArchToString
(
CudaVirtualArch
A);
65
66
// The input should have the form "compute_20".
67
CudaVirtualArch
StringToCudaVirtualArch
(llvm::StringRef
S
);
68
69
/// Get the compute_xx corresponding to an sm_yy.
70
CudaVirtualArch
VirtualArchForCudaArch
(
CudaArch
A);
71
72
/// Get the earliest CudaVersion that supports the given CudaArch.
73
CudaVersion
MinVersionForCudaArch
(
CudaArch
A);
74
75
}
// namespace clang
76
77
#endif
clang::CudaArch::SM_32
clang::StringToCudaVirtualArch
CudaVirtualArch StringToCudaVirtualArch(llvm::StringRef S)
Definition:
Cuda.cpp:102
clang::CudaVirtualArch::COMPUTE_20
clang::CudaArch
CudaArch
Definition:
Cuda.h:30
clang::CudaArchToString
const char * CudaArchToString(CudaArch A)
Definition:
Cuda.cpp:23
clang::CudaVersion::UNKNOWN
clang::CudaVersion::CUDA_75
clang::CudaVirtualArch::COMPUTE_53
clang::CudaVirtualArch::COMPUTE_32
clang::StringToCudaArch
CudaArch StringToCudaArch(llvm::StringRef S)
Definition:
Cuda.cpp:55
clang::CudaVirtualArch::COMPUTE_62
clang::CudaArch::SM_30
clang::CudaArch::SM_53
clang::CudaArch::SM_62
clang::CudaArch::SM_60
clang::CudaVirtualArch::COMPUTE_52
clang::CudaArch::SM_20
clang::CudaVersion::CUDA_80
clang::CudaVirtualArch::COMPUTE_35
clang::CudaVersionToString
const char * CudaVersionToString(CudaVersion V)
Definition:
Cuda.cpp:9
clang::CudaArch::SM_21
clang::CudaVirtualArchToString
const char * CudaVirtualArchToString(CudaVirtualArch A)
Definition:
Cuda.cpp:72
clang::CudaVirtualArch::COMPUTE_30
S
Sema & S
Definition:
AnalysisBasedWarnings.cpp:1473
clang::CudaVirtualArch::COMPUTE_37
clang::CudaVersion
CudaVersion
Definition:
Cuda.h:19
clang::CudaVirtualArch
CudaVirtualArch
Definition:
Cuda.h:50
clang::CudaArch::SM_61
clang::MinVersionForCudaArch
CudaVersion MinVersionForCudaArch(CudaArch A)
Get the earliest CudaVersion that supports the given CudaArch.
Definition:
Cuda.cpp:149
clang::CudaVirtualArch::COMPUTE_60
clang::CudaVirtualArch::COMPUTE_61
clang::VirtualArchForCudaArch
CudaVirtualArch VirtualArchForCudaArch(CudaArch A)
Get the compute_xx corresponding to an sm_yy.
Definition:
Cuda.cpp:118
clang::CudaVersion::CUDA_70
clang::CudaVirtualArch::COMPUTE_50
clang::CudaArch::SM_50
clang::CudaArch::SM_35
clang::CudaArch::SM_52
clang::CudaArch::SM_37
Generated on Wed Aug 31 2016 16:58:01 for clang by
1.8.6