clang 24.0.0git
Cuda.cpp File Reference
#include "clang/Basic/Cuda.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/VersionTuple.h"
#include "llvm/TargetParser/NVPTXTargetParser.h"
#include <cassert>
#include "llvm/TargetParser/NVPTXTargetParser.def"

Go to the source code of this file.

Classes

struct  clang::CudaVersionMapEntry

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.

Macros

#define CUDA_ENTRY(major, minor)
#define NVPTX_GPU(NAME, KIND, VIRTUAL, SM_ID, MIN_VER, MAX_VER, SUFFIX)
#define NVPTX_GPU(NAME, KIND, VIRTUAL, SM_ID, MIN_VER, MAX_VER, SUFFIX)

Functions

const char * clang::CudaVersionToString (CudaVersion V)
CudaVersion clang::CudaStringToVersion (const llvm::Twine &S)
CudaVersion clang::ToCudaVersion (llvm::VersionTuple)
CudaVersion clang::MinVersionForOffloadArch (OffloadArch A)
 Get the earliest CudaVersion that supports the given OffloadArch.
CudaVersion clang::MaxVersionForOffloadArch (OffloadArch A)
 Get the latest CudaVersion that supports the given OffloadArch.
bool clang::CudaFeatureEnabled (llvm::VersionTuple, CudaFeature)
bool clang::CudaFeatureEnabled (CudaVersion, CudaFeature)
unsigned clang::CudaArchToID (OffloadArch Arch)
 Get the numeric ID (e.g. 700) of a CUDA architecture.
bool clang::IsNVIDIAAcceleratedOffloadArch (OffloadArch Arch)
 Check if the CUDA architecture is an accelerated variant (e.g. sm_90a).
bool clang::IsNVIDIAFamilySpecificOffloadArch (OffloadArch Arch)
 Check if the CUDA architecture is a family-specific variant (e.g. sm_100f).

Variables

static const CudaVersionMapEntry clang::CudaNameVersionMap []

Macro Definition Documentation

◆ CUDA_ENTRY

#define CUDA_ENTRY ( major,
minor )
Value:
{ \
#major "." #minor, CudaVersion::CUDA_##major##minor, \
llvm::VersionTuple(major, minor) \
}

Definition at line 16 of file Cuda.cpp.

◆ NVPTX_GPU [1/2]

#define NVPTX_GPU ( NAME,
KIND,
VIRTUAL,
SM_ID,
MIN_VER,
MAX_VER,
SUFFIX )
Value:
case llvm::NVPTX::GK_##KIND: \
return CudaVersion::MIN_VER;

◆ NVPTX_GPU [2/2]

#define NVPTX_GPU ( NAME,
KIND,
VIRTUAL,
SM_ID,
MIN_VER,
MAX_VER,
SUFFIX )
Value:
case llvm::NVPTX::GK_##KIND: \
return CudaVersion::MAX_VER;