Warning, /AID2E-framework/examples/panda_scheduler_config.yml is written in an unsupported language. File is not indexed.
0001 # AID2E PanDAiDDS Scheduler Configuration Example
0002 # This shows how to configure the PanDAiDDS runner via YAML
0003
0004 # Example 1: Minimal PanDA configuration (name auto-generated from username)
0005 scheduler:
0006 runner_type: "PanDAiDDSRunner"
0007 parameters:
0008 cloud: "US"
0009 queue: "BNL_PanDA_1"
0010 max_walltime: 3600 # 1 hour in seconds
0011 core_count: 1
0012 total_memory: 2000 # MB
0013 output_location: "./panda_output"
0014 monitor_interval: 60
0015
0016 ---
0017 # Example 2: Full PanDA configuration with explicit name
0018 scheduler:
0019 runner_type: "PanDAiDDSRunner"
0020 parameters:
0021 name: "user.scientist.epic_tracking_opt" # Must start with 'user.<username>'
0022 cloud: "US"
0023 queue: "BNL_PanDA_1"
0024 source_dir: null # null means use current directory
0025 source_dir_parent_level: 1
0026 exclude_source_files:
0027 - "(^|/)\\..*" # Hidden files
0028 - ".*\\.log"
0029 - ".*\\.json"
0030 - "__pycache__"
0031 - "work"
0032 - "OUTDIR"
0033 max_walltime: 7200 # 2 hours
0034 core_count: 4
0035 total_memory: 8000 # 8GB
0036 enable_separate_log: true
0037 job_dir: "/tmp/panda_jobs"
0038 max_retries: 3
0039 output_location: "./panda_output"
0040 monitor_interval: 120
0041
0042 ---
0043 # Example 3: Using environment variable for username
0044 # Set PANDA_USERNAME=myuser before running
0045 # The name will be auto-generated as: user.myuser.aid2e_job
0046 scheduler:
0047 runner_type: "PanDAiDDSRunner"
0048 parameters:
0049 # name omitted - will auto-generate from $PANDA_USERNAME or system username
0050 cloud: "US"
0051 queue: "ORNL_Frontier"
0052 max_walltime: 10800 # 3 hours
0053 core_count: 8
0054 total_memory: 16000 # 16GB
0055 output_location: "./panda_output"
0056
0057 ---
0058 # Example 4: Complete optimization config with PanDA scheduler
0059 problem:
0060 name: "EPIC Tracking Optimization"
0061 type: "simulation"
0062
0063 objectives:
0064 - name: "tracking_efficiency"
0065 direction: "maximize"
0066 computation:
0067 steps:
0068 stages:
0069 - name: "evaluate_tracking_efficiency"
0070 script:
0071 path: "scripts/run_epic_simulation.py"
0072 output_file: "metrics_{job_id}.json"
0073 timeout_sec: 3600
0074 produces_objective: true
0075 metrics_keys: ["efficiency"]
0076
0077 - name: "ghost_rate"
0078 direction: "minimize"
0079 computation:
0080 steps:
0081 stages:
0082 - name: "evaluate_ghost_rate"
0083 script:
0084 path: "scripts/run_epic_simulation.py"
0085 output_file: "metrics_{job_id}.json"
0086 timeout_sec: 3600
0087 produces_objective: true
0088 metrics_keys: ["ghosts"]
0089
0090 design_space:
0091 path: "tracking_params.json"
0092
0093 optimizer:
0094 kind: "BO"
0095 max_iterations: 50
0096
0097 bo:
0098 surrogate_model:
0099 name: "SAASBO" # Sparse Axis-Aligned Subspace Bayesian Optimization
0100
0101 acquisition_function:
0102 name: "qNEHVI" # Noisy Expected Hypervolume Improvement
0103
0104 parameters:
0105 initial_design: "sobol"
0106 n_initial_samples: 20
0107 batch_size: 5
0108 parallel_evaluations: 5
0109
0110 scheduler:
0111 runner_type: "PanDAiDDSRunner"
0112 parameters:
0113 name: "user.physicist.epic_tracking"
0114 cloud: "US"
0115 queue: "BNL_PanDA_1"
0116 max_walltime: 7200
0117 core_count: 2
0118 total_memory: 4000
0119 enable_separate_log: true
0120 max_retries: 3
0121 output_location: "./epic_panda_output"
0122 monitor_interval: 90
0123
0124 metadata:
0125 project: "EPIC Tracking Optimization"
0126 description: "Optimize tracking detector parameters using PanDA distributed execution"
0127 version: "0.1.0"