mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-09 03:55:04 -05:00
feat(optimizer): option to disable optimizer cache
--optimizer-no-cache-on-disk
This commit is contained in:
Submodule compiler/concrete-optimizer updated: 20833cefac...d0654c0fa7
@@ -26,6 +26,7 @@ constexpr bool DEFAULT_STRATEGY_V0 = false;
|
||||
constexpr bool DEFAULT_USE_GPU_CONSTRAINTS = false;
|
||||
constexpr concrete_optimizer::Encoding DEFAULT_ENCODING =
|
||||
concrete_optimizer::Encoding::Auto;
|
||||
constexpr bool DEFAULT_CACHE_ON_DISK = true;
|
||||
|
||||
struct Config {
|
||||
double p_error;
|
||||
@@ -36,6 +37,7 @@ struct Config {
|
||||
double fallback_log_norm_woppbs;
|
||||
bool use_gpu_constraints;
|
||||
concrete_optimizer::Encoding encoding;
|
||||
bool cache_on_disk;
|
||||
};
|
||||
|
||||
constexpr Config DEFAULT_CONFIG = {
|
||||
@@ -47,6 +49,7 @@ constexpr Config DEFAULT_CONFIG = {
|
||||
DEFAULT_FALLBACK_LOG_NORM_WOPPBS,
|
||||
DEFAULT_USE_GPU_CONSTRAINTS,
|
||||
DEFAULT_ENCODING,
|
||||
DEFAULT_CACHE_ON_DISK,
|
||||
};
|
||||
|
||||
using Dag = rust::Box<concrete_optimizer::OperationDag>;
|
||||
|
||||
@@ -30,6 +30,7 @@ concrete_optimizer::Options options_from_config(optimizer::Config config) {
|
||||
/* .default_log_norm2_woppbs = */ config.fallback_log_norm_woppbs,
|
||||
/* .use_gpu_constraints = */ config.use_gpu_constraints,
|
||||
/* .encoding = */ config.encoding,
|
||||
/* .cache_on_disk = */ config.cache_on_disk,
|
||||
};
|
||||
return options;
|
||||
}
|
||||
|
||||
@@ -249,6 +249,12 @@ llvm::cl::opt<concrete_optimizer::Encoding> optimizerEncoding(
|
||||
llvm::cl::values(clEnumValN(concrete_optimizer::Encoding::Native, "crt",
|
||||
"Chineese Reminder Theorem representation")));
|
||||
|
||||
llvm::cl::opt<bool> optimizerNoCacheOnDisk(
|
||||
"optimizer-no-cache-on-disk",
|
||||
llvm::cl::desc("Optimizer cache is sync from/to disk. Usefull to debug "
|
||||
"cache issues."),
|
||||
llvm::cl::init(false));
|
||||
|
||||
llvm::cl::list<int64_t> fhelinalgTileSizes(
|
||||
"fhelinalg-tile-sizes",
|
||||
llvm::cl::desc(
|
||||
@@ -401,6 +407,7 @@ cmdlineCompilationOptions() {
|
||||
options.optimizerConfig.display = cmdline::displayOptimizerChoice;
|
||||
options.optimizerConfig.strategy_v0 = cmdline::optimizerV0;
|
||||
options.optimizerConfig.encoding = cmdline::optimizerEncoding;
|
||||
options.optimizerConfig.cache_on_disk = !cmdline::optimizerNoCacheOnDisk;
|
||||
|
||||
if (!std::isnan(options.optimizerConfig.global_p_error) &&
|
||||
options.optimizerConfig.strategy_v0) {
|
||||
|
||||
Reference in New Issue
Block a user