#!/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). # BFGS_CPU_THREADS Number of threads for BFGS CPU eigh parallel execution # 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_1" #TARGET_FOLDER="/data/wangleping/csp_data/perf_46" TARGET_FOLDER="/data/wangleping/csp_data/perf_v2_sorted/perf_v2_92" MOLECULE_SINGLE=46 N_GPUS=8 GPU_OFFSET=0 NUM_WORKERS=32 BATCH_SIZE=32 NUM_THREADS=1 BIND_CORES="" MAX_STEPS=3000 FMAX=0.01 SCALAR_PRESSURE=0.0006 SKIP_SECOND_STAGE=false OPTIMIZER1="BFGSFusedLS" OPTIMIZER2="BFGS" FILTER1="UnitCellFilter" FILTER2="UnitCellFilter" MODEL="mace" CUEQ=true BFGS_CPU_THREADS=16 USE_ORDERED_FILE=true COMPILE_MODE="" PROFILE="false" OUTPUT_PATH=""