#!/bin/bash # ============================================================================= # BOMLIP-CSP: Crystal Structure Relaxation Configuration # ============================================================================= # # [Input Parameters] # TARGET_FOLDER Directory containing crystal structure files to optimize. # MOLECULE_SINGLE Number of atoms per molecule (default: 64). # # [Compute Parameters] # N_GPUS Number of GPUs to use for optimization. # GPU_OFFSET Starting GPU device index. # NUM_WORKERS Number of parallel workers distributing the files. # BATCH_SIZE Number of crystal structures to process in a single batch. # NUM_THREADS Number of CPU threads per process. # BIND_CORES Comma-separated list of core ranges for each worker, e.g. # '0-15,16-31,...'. Must match --num_workers count. # # [Optimization Parameters] # MAX_STEPS Maximum optimization steps per structure (default: 100). # FMAX Force convergence criterion in eV/A (default: 0.01). # SCALAR_PRESSURE Scalar pressure for cell optimization in GPa (default: 0.0006). # SKIP_SECOND_STAGE Whether to skip the second optimization stage (true/false). # # [Optimizer Parameters] # OPTIMIZER1 Optimizer for the first stage. Choices: # LBFGS, QuasiNewton, BFGS, BFGSLineSearch, BFGSFusedLS. # OPTIMIZER2 Optimizer for the second stage. Same choices as OPTIMIZER1. # FILTER1 Cell filter for the first stage: none / UnitCellFilter. # FILTER2 Cell filter for the second stage: none / UnitCellFilter. # # [Model Parameters] # MODEL ML potential model to use. Choices: # mace, chgnet, sevennet, uma-s-1. # CUEQ Whether to use cuEquivariance Library (true/false). # USE_ORDERED_FILES Whether to sort files by atomic number descending (true/false). # COMPILE_MODE torch.compile mode: none / default / reduce-overhead / # max-autotune / max-autotune-no-cudagraphs. # # [Profiling Parameters] # PROFILE Enable profiling. Set to 'false' to disable, 'true' for # basic profiling, or a JSON string with options for # wait, warmup, active, repeat. # # [Path Parameters] # OUTPUT_PATH Absolute path for output files. Leave empty "" for # auto-generated timestamped directory. # ============================================================================= TARGET_FOLDER="${PROJECT_DIR}/csp_results/structures" MOLECULE_SINGLE=13 N_GPUS=8 GPU_OFFSET=0 NUM_WORKERS=8 BATCH_SIZE=25 NUM_THREADS=4 BIND_CORES="" MAX_STEPS=50 FMAX=0.01 SCALAR_PRESSURE=0.0006 SKIP_SECOND_STAGE=false OPTIMIZER1="BFGSFusedLS" OPTIMIZER2="BFGS" FILTER1="UnitCellFilter" FILTER2="UnitCellFilter" MODEL="mace" CUEQ=true USE_ORDERED_FILES=false COMPILE_MODE="" PROFILE="false" OUTPUT_PATH=""