-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_cpu_cas, surf_cpu, "Logging specific to the SURF CPU IMPROVED module");
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_cpu_cas, surf_cpu, "Logging specific to the SURF CPU module");
+
+/***********
+ * Options *
+ ***********/
+
+static simgrid::config::Flag<std::string>
+ cpu_optim_opt("cpu/optim", "Optimization algorithm to use for CPU resources. ", "Lazy",
+
+ std::map<std::string, std::string>({
+ {"Lazy", "Lazy action management (partial invalidation in lmm + heap in action remaining)."},
+ {"TI", "Trace integration. Highly optimized mode when using availability traces (only available "
+ "for the Cas01 CPU model for now)."},
+ {"Full", "Full update of remaining and variables. Slow but may be useful when debugging."},
+ }),
+
+ [](std::string const&) {
+ xbt_assert(_sg_cfg_init_status < 2,
+ "Cannot change the optimization algorithm after the initialization");
+ });