From 06986ba36051cd7a4f48dd4a124a05db070c31b7 Mon Sep 17 00:00:00 2001 From: Abena Laast Date: Wed, 9 Aug 2023 22:47:26 +0000 Subject: [PATCH 1/2] Add es gin config files --- .../es/gin_configs/blackbox_learner.gin | 17 +++++++++++++++++ .../es/gin_configs/blackbox_trainer.gin | 11 +++++++++++ compiler_opt/es/gin_configs/inlining.gin | 16 ++++++++++++++++ compiler_opt/es/gin_configs/inlining_o3.gin | 16 ++++++++++++++++ compiler_opt/es/gin_configs/regalloc.gin | 16 ++++++++++++++++ 5 files changed, 76 insertions(+) create mode 100644 compiler_opt/es/gin_configs/blackbox_learner.gin create mode 100644 compiler_opt/es/gin_configs/blackbox_trainer.gin create mode 100644 compiler_opt/es/gin_configs/inlining.gin create mode 100644 compiler_opt/es/gin_configs/inlining_o3.gin create mode 100644 compiler_opt/es/gin_configs/regalloc.gin diff --git a/compiler_opt/es/gin_configs/blackbox_learner.gin b/compiler_opt/es/gin_configs/blackbox_learner.gin new file mode 100644 index 00000000..879f9fab --- /dev/null +++ b/compiler_opt/es/gin_configs/blackbox_learner.gin @@ -0,0 +1,17 @@ +import compiler_opt.es.blackbox_learner +import compiler_opt.rl.gin_external_configurables +import compiler_opt.es.blackbox_optimizers + +# Blackbox learner config +BlackboxLearnerConfig.total_steps = 20000 +BlackboxLearnerConfig.blackbox_optimizer = %blackbox_optimizers.Algorithm.MONTE_CARLO +BlackboxLearnerConfig.est_type = %blackbox_optimizers.EstimatorType.ANTITHETIC +BlackboxLearnerConfig.fvalues_normalization = True +BlackboxLearnerConfig.hyperparameters_update_method = %blackbox_optimizers.UpdateMethod.NO_METHOD +BlackboxLearnerConfig.num_top_directions = 0 +BlackboxLearnerConfig.num_ir_repeats_within_worker = 1 +BlackboxLearnerConfig.num_ir_repeats_across_worker = 1 +BlackboxLearnerConfig.num_exact_evals = 64 +BlackboxLearnerConfig.total_num_perturbations = 384 +BlackboxLearnerConfig.precision_parameter = 0.025 +BlackboxLearnerConfig.step_size = 0.005 diff --git a/compiler_opt/es/gin_configs/blackbox_trainer.gin b/compiler_opt/es/gin_configs/blackbox_trainer.gin new file mode 100644 index 00000000..73dfd518 --- /dev/null +++ b/compiler_opt/es/gin_configs/blackbox_trainer.gin @@ -0,0 +1,11 @@ +import compiler_opt.es.es_worker +# List of flags to add to clang compilation command. The flag names should +# match the actual flags provided to clang. An example for AFDO reinjection: +# train_eval.additional_flags=('-fprofile-sample-use=/path/to/gwp.afdo','-fprofile-remapping-file=/path/to/prof_remap.txt') +train.additional_compilation_flags=() + +# List of flags to remove from clang compilation command. The flag names +# should match the actual flags provided to clang.' +train.delete_compilation_flags=('-split-dwarf-file','-split-dwarf-output','-fthinlto-index','-fprofile-sample-use','-fprofile-remapping-file') + +train.worker_class=@es_worker.ESWorker \ No newline at end of file diff --git a/compiler_opt/es/gin_configs/inlining.gin b/compiler_opt/es/gin_configs/inlining.gin new file mode 100644 index 00000000..b360cd1a --- /dev/null +++ b/compiler_opt/es/gin_configs/inlining.gin @@ -0,0 +1,16 @@ +import compiler_opt.rl.gin_external_configurables +import compiler_opt.rl.inlining.config + +include 'compiler_opt/rl/inlining/gin_configs/common.gin' + +# Inlining model settings +ActorDistributionNetwork.preprocessing_combiner=@tf.keras.layers.Concatenate() +ActorDistributionNetwork.fc_layer_params=(64, 64, 64, 64) +ActorDistributionNetwork.dropout_layer_params=None +ActorDistributionNetwork.activation_fn=@tf.keras.activations.relu + +inlining.config.get_observation_processing_layer_creator.quantile_file_dir='/cns/oz-d/home/mlcompileropt-dev/llvm_inlining/muppet_20210707/vocab/' +inlining.config.get_observation_processing_layer_creator.with_sqrt = False +inlining.config.get_observation_processing_layer_creator.with_z_score_normalization = False + +policy_utils.create_actor_policy.actor_network_ctor = @actor_distribution_network.ActorDistributionNetwork \ No newline at end of file diff --git a/compiler_opt/es/gin_configs/inlining_o3.gin b/compiler_opt/es/gin_configs/inlining_o3.gin new file mode 100644 index 00000000..7c28329a --- /dev/null +++ b/compiler_opt/es/gin_configs/inlining_o3.gin @@ -0,0 +1,16 @@ +import compiler_opt.rl.gin_external_configurables +import compiler_opt.rl.inlining.config + +include 'compiler_opt/rl/inlining/gin_configs/common.gin' + +# Inlining model settings +ActorDistributionNetwork.preprocessing_combiner=@tf.keras.layers.Concatenate() +ActorDistributionNetwork.fc_layer_params=(64, 64, 64, 64) +ActorDistributionNetwork.dropout_layer_params=None +ActorDistributionNetwork.activation_fn=@tf.keras.activations.relu + +inlining.config.get_observation_processing_layer_creator.quantile_file_dir='/cns/oz-d/home/mlcompileropt-dev/llvm_inlining/vocab/' +inlining.config.get_observation_processing_layer_creator.with_sqrt = False +inlining.config.get_observation_processing_layer_creator.with_z_score_normalization = False + +policy_utils.create_actor_policy.actor_network_ctor = @actor_distribution_network.ActorDistributionNetwork \ No newline at end of file diff --git a/compiler_opt/es/gin_configs/regalloc.gin b/compiler_opt/es/gin_configs/regalloc.gin new file mode 100644 index 00000000..c19a7c1e --- /dev/null +++ b/compiler_opt/es/gin_configs/regalloc.gin @@ -0,0 +1,16 @@ +import compiler_opt.rl.regalloc.config +import compiler_opt.rl.regalloc.regalloc_network + +include 'compiler_opt/rl/regalloc/gin_configs/common.gin' + +# Regalloc model settings +RegAllocNetwork.preprocessing_combiner=@tf.keras.layers.Concatenate() +RegAllocNetwork.fc_layer_params=(64, 64, 64, 64) +RegAllocNetwork.dropout_layer_params=None +RegAllocNetwork.activation_fn=@tf.keras.activations.relu + +regalloc.config.get_observation_processing_layer_creator.quantile_file_dir='compiler_opt/rl/regalloc/vocab' +regalloc.config.get_observation_processing_layer_creator.with_sqrt = False +regalloc.config.get_observation_processing_layer_creator.with_z_score_normalization = False + +policy_utils.create_actor_policy.actor_network_ctor = @regalloc_network.RegAllocNetwork \ No newline at end of file From e192ba774cc9454d5c4b1c5e424afb8ef03dc6cf Mon Sep 17 00:00:00 2001 From: Abena Laast Date: Fri, 11 Aug 2023 16:30:39 +0000 Subject: [PATCH 2/2] Update worker class source location --- compiler_opt/es/gin_configs/blackbox_trainer.gin | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler_opt/es/gin_configs/blackbox_trainer.gin b/compiler_opt/es/gin_configs/blackbox_trainer.gin index 73dfd518..990f4e88 100644 --- a/compiler_opt/es/gin_configs/blackbox_trainer.gin +++ b/compiler_opt/es/gin_configs/blackbox_trainer.gin @@ -1,4 +1,4 @@ -import compiler_opt.es.es_worker +import compiler_opt.es.blackbox_learner_test # List of flags to add to clang compilation command. The flag names should # match the actual flags provided to clang. An example for AFDO reinjection: # train_eval.additional_flags=('-fprofile-sample-use=/path/to/gwp.afdo','-fprofile-remapping-file=/path/to/prof_remap.txt') @@ -8,4 +8,4 @@ train.additional_compilation_flags=() # should match the actual flags provided to clang.' train.delete_compilation_flags=('-split-dwarf-file','-split-dwarf-output','-fthinlto-index','-fprofile-sample-use','-fprofile-remapping-file') -train.worker_class=@es_worker.ESWorker \ No newline at end of file +train.worker_class=@blackbox_learner_test.ESWorker \ No newline at end of file