1#ifndef PROTEUS_CONFIG_HPP
2#define PROTEUS_CONFIG_HPP
26 return "ParallelThinLTO";
34 const char *EnvValue = std::getenv(
VarName);
35 return EnvValue ?
static_cast<bool>(std::stoi(EnvValue)) : Default;
40 const char *EnvValue = std::getenv(
VarName);
41 return EnvValue ? std::stoi(EnvValue) : Default;
47 const char *EnvValue = std::getenv(
VarName);
51 std::string EnvValueStr{EnvValue};
52 std::transform(EnvValueStr.begin(), EnvValueStr.end(), EnvValueStr.begin(),
54 if (EnvValueStr ==
"rtc")
56 if (EnvValueStr ==
"serial")
58 if (EnvValueStr ==
"parallel")
60 if (EnvValueStr ==
"thinlto")
63 Logger::outs(
"proteus") <<
"Unknown codegen option " << EnvValueStr
64 <<
", using default codegen option: "
101#if PROTEUS_ENABLE_CUDA
104 <<
"Warning: Proteus supports only RTC compilation for CUDA, "
105 "setting Codegen to RTC\n";
109#if PROTEUS_ENABLE_HIP
110#if LLVM_VERSION_MAJOR < 18
113 <<
"Warning: Proteus with LLVM < 18 supports only RTC compilation, "
114 "setting Codegen to RTC\n";
const char * VarName
Definition CompilerInterfaceDevice.cpp:20
CodegenOption ProteusCodegen
Definition Config.hpp:88
bool ProteusDisable
Definition Config.hpp:80
static Config & get()
Definition Config.hpp:71
bool ProteusUseLightweightKernelClone
Definition Config.hpp:86
bool ProteusRelinkGlobalsByCopy
Definition Config.hpp:82
bool ProteusSpecializeDims
Definition Config.hpp:79
bool ProteusDumpLLVMIR
Definition Config.hpp:81
bool ProteusUseStoredCache
Definition Config.hpp:76
int ProteusAsyncThreads
Definition Config.hpp:84
bool ProteusSpecializeArgs
Definition Config.hpp:78
bool ProteusEnableTimers
Definition Config.hpp:87
bool ProteusAsyncTestBlocking
Definition Config.hpp:85
bool ProteusSpecializeLaunchBounds
Definition Config.hpp:77
bool ProteusAsyncCompilation
Definition Config.hpp:83
static llvm::raw_ostream & outs(const std::string &Name)
Definition Logger.hpp:24
Definition JitEngine.cpp:21
int getEnvOrDefaultInt(const char *VarName, int Default)
Definition Config.hpp:38
CodegenOption
Definition Config.hpp:10
CodegenOption getEnvOrDefaultCG(const char *VarName, CodegenOption Default)
Definition Config.hpp:44
std::string toString(CodegenOption Option)
Definition Config.hpp:17
bool getEnvOrDefaultBool(const char *VarName, bool Default)
Definition Config.hpp:32