relaxation_config.sh 2.95 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/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=""