You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/advanced/acceleration/cuda.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,7 +44,7 @@ The ABACUS program will automatically determine whether the current ELPA support
44
44
## Run with the GPU support by editing the INPUT script:
45
45
46
46
In `INPUT` file we need to set the input parameter [device](../input_files/input-main.md#device) to `gpu`. If this parameter is not set, ABACUS will try to determine if there are available GPUs.
47
-
- Set `ks_solver`: For the PW basis, CG, BPCGand Davidson methods are supported on GPU; set the input parameter [ks_solver](../input_files/input-main.md#ks_solver) to `cg`, `bpcg`or `dav`. For the LCAO basis, `cusolver`, `cusolvermp` and `elpa`is supported on GPU.
47
+
- Set `ks_solver`: For the PW basis, CG, BPCG, Davidson, and Davidson subspace methods are supported on GPU; set the input parameter [ks_solver](../input_files/input-main.md#ks_solver) to `cg`, `bpcg`, `dav`, or `dav_subspace`. For the LCAO basis, `cusolver`, `cusolvermp`, and `elpa`are supported on GPU.
48
48
-**single-card**: ABACUS allows for single-GPU acceleration. You can run ABACUS without any MPI process by command `abacus`, and `ks_solver cusolver` is recommended for the LCAO basis. *note: avoid using `mpirun -n 1 abacus`*.
49
49
-**multi-cards**: ABACUS allows for multi-GPU acceleration. If you have multiple GPU cards, you can run ABACUS with several MPI processes, and each process will utilize one GPU card. For example, the command `mpirun -n 2 abacus` will by default launch two GPUs for computation. If you only have one card, this command will only start one GPU. *note: the number of MPI processes SHOULD be equal to the number of GPU cards, unless you are using MPS in your computer.*
50
50
@@ -58,4 +58,4 @@ PW basis:
58
58
59
59
LCAO basis:
60
60
- Unless there is a specific reason, avoid using multiple GPUs, as it can be slower than using a single GPU. This is because the generalized eigenvalue solution of the LCAO basis set will incur additional communication overhead when calculated on multiple cards. When the memory limit of a GPU card makes it insufficient to complete the task, it is recommended to use multiple cards for calculation.
61
-
- When using elpa on GPUs, some ELPA internal logs will be output.
61
+
- When using elpa on GPUs, some ELPA internal logs will be output.
-**Description**: Number of different atom species in the calculation.
602
613
-**Default**: 0
603
614
615
+
### cell_replica
616
+
617
+
-**Type**: Three Integers
618
+
-**Description**: Replicate the input STRU by Na, Nb, and Nc along its lattice vectors for distributed MDCell workflows. This parameter is only used for classical potentials or machine-learned interatomic potentials. The default is 1 1 1, which preserves the input structure.
619
+
-**Default**: 1 1 1
620
+
604
621
### calculation
605
622
606
623
-**Type**: String
@@ -634,6 +651,7 @@
634
651
- nep: Neuroevolution Potential
635
652
- ks-lr: Kohn-Sham density functional theory + LR-TDDFT (Under Development Feature)
636
653
- lr: LR-TDDFT with given KS orbitals (Under Development Feature)
654
+
- dfpt: density functional perturbation theory (Under Development Feature)
637
655
-**Default**: ksdft
638
656
639
657
### symmetry
@@ -3504,15 +3522,28 @@
3504
3522
### md_restartfreq
3505
3523
3506
3524
-**Type**: Integer
3507
-
-**Description**: The output frequency of OUT.{suffix}/STRIU/, which are used to restart molecular dynamics calculations, see md_restart in detail.
3525
+
-**Description**: The output frequency of OUT.{suffix}/STRU_MD_*, which are used to restart molecular dynamics calculations, see md_restart in detail. Set to 0 to disable MD restart output.
3508
3526
-**Default**: 5
3509
3527
3510
3528
### md_dumpfreq
3511
3529
3512
3530
-**Type**: Integer
3513
-
-**Description**: The output frequency of OUT.${suffix}/MD_dump in molecular dynamics calculations, which including the information of lattices and atoms.
3531
+
-**Description**: The output frequency of OUT.${suffix}/MD_dump in molecular dynamics calculations, which includes lattice and atomic information. Set to 0 to disable MD_dump output.
3514
3532
-**Default**: 1
3515
3533
3534
+
### md_neighbor_skin
3535
+
3536
+
-**Type**: Real
3537
+
-**Description**: The extra neighbor-list radius in Angstrom for MDCell molecular dynamics. This parameter is only used for classical potentials or machine-learned interatomic potentials. A positive value reuses the cutoff-plus-skin candidate list until an atom has moved by half this distance; 0 rebuilds the list every force evaluation.
3538
+
-**Default**: 0.0
3539
+
-**Unit**: Angstrom
3540
+
3541
+
### md_out_force
3542
+
3543
+
-**Type**: Boolean
3544
+
-**Description**: Whether to output the TOTAL-FORCE table in OUT.${suffix}/running_md.log for MDCell molecular dynamics. This does not affect force calculation or molecular dynamics integration.
3545
+
-**Default**: True
3546
+
3516
3547
### dump_force
3517
3548
3518
3549
-**Type**: Boolean
@@ -3535,8 +3566,8 @@
3535
3566
3536
3567
-**Type**: Integer
3537
3568
-**Description**: The random seed to initialize random numbers used in molecular dynamics calculations.
3538
-
-< 0: No srand() function is called.
3539
-
->= 0: The function srand(md_seed) is called.
3569
+
-< 0: Each MPI rank uses the default seed 1 plus its rank.
3570
+
->= 0: Each MPI rank uses md_seed plus its rank.
3540
3571
-**Default**: -1
3541
3572
3542
3573
### md_tfreq
@@ -5170,3 +5201,49 @@
5170
5201
-**Default**: 0.656
5171
5202
5172
5203
[back to top](#full-list-of-input-keywords)
5204
+
5205
+
## Density functional perturbation theory
5206
+
5207
+
### dfpt_qmesh
5208
+
5209
+
-**Type**: Vector of Int (1 or 3 values)
5210
+
-**Description**: Set the Monkhorst-Pack q mesh (gamma-centered) for DFPT phonon calculations. The q mesh must be commensurate with the ground-state k mesh: k + q must be a point of the k list (modulo a reciprocal lattice vector). For example, a 4x4x4 KPT mesh is commensurate with dfpt_qmesh values of 1, 2, or 4 along each direction. This parameter is ignored when dfpt_qfile is set.
5211
+
-**Default**: 1 1 1
5212
+
5213
+
### dfpt_qfile
5214
+
5215
+
-**Type**: String
5216
+
-**Description**: Set the file containing the q points for DFPT, in the same format as the KPT file (Q_POINTS card: Gamma/Monkhorst-Pack mesh, or an explicit Direct/Cartesian list; symmetry reduction is not applied to file q lists). When set, it overrides dfpt_qmesh. Each q point must still be commensurate with the ground-state k mesh.
5217
+
-**Default**: ""
5218
+
5219
+
### dfpt_compute_q0
5220
+
5221
+
-**Type**: Boolean
5222
+
-**Description**: Whether to compute the macroscopic dielectric tensor (epsilon_inf) and the Born effective charges at q = 0 within the same DFPT run. Requires a q point at Gamma (the default dfpt_qmesh 1 1 1).
5223
+
-**Default**: false
5224
+
5225
+
### dfpt_loto
5226
+
5227
+
-**Type**: Boolean
5228
+
-**Description**: Whether to apply the Lyddane-Sachs-Teller non-analytic correction to the Gamma-point dynamical matrix, which splits the longitudinal and transverse optical modes. Requires dfpt_compute_q0 to be true, since the correction is built from epsilon_inf and the Born effective charges.
5229
+
-**Default**: false
5230
+
5231
+
### dfpt_conv_thr
5232
+
5233
+
-**Type**: Real
5234
+
-**Description**: Set the convergence threshold of the self-consistent DFPT cycle: the iteration stops when the relative residual of the first-order density ||drho_out - drho_in|| / ||drho_out|| drops below this value for every displacement.
5235
+
-**Default**: 1.0e-8
5236
+
5237
+
### dfpt_max_iter
5238
+
5239
+
-**Type**: Integer
5240
+
-**Description**: Set the maximum number of self-consistent DFPT iterations for each atomic displacement.
5241
+
-**Default**: 100
5242
+
5243
+
### dfpt_mix_beta
5244
+
5245
+
-**Type**: Real
5246
+
-**Description**: Set the plain-mixing coefficient of the first-order density in the self-consistent DFPT cycle. The response Jacobian has strongly negative eigenvalues on the smallest-G shells (Coulomb stiffness), so beta must stay below 2 / (1 + |lambda_min|); the default 0.4 keeps margin up to |lambda_min| ~ 3. A larger value accelerates convergence for weakly screened systems but may diverge.
Copy file name to clipboardExpand all lines: docs/parameters.yaml
+85-4Lines changed: 85 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,14 @@ parameters:
17
17
default_value: "0"
18
18
unit: ""
19
19
availability: ""
20
+
- name: cell_replica
21
+
category: System variables
22
+
type: Three Integers
23
+
description: |
24
+
Replicate the input STRU by Na, Nb, and Nc along its lattice vectors for distributed MDCell workflows. This parameter is only used for classical potentials or machine-learned interatomic potentials. The default is 1 1 1, which preserves the input structure.
25
+
default_value: 1 1 1
26
+
unit: ""
27
+
availability: ""
20
28
- name: calculation
21
29
category: System variables
22
30
type: String
@@ -53,6 +61,7 @@ parameters:
53
61
* nep: Neuroevolution Potential
54
62
* ks-lr: Kohn-Sham density functional theory + LR-TDDFT (Under Development Feature)
55
63
* lr: LR-TDDFT with given KS orbitals (Under Development Feature)
64
+
* dfpt: density functional perturbation theory (Under Development Feature)
56
65
default_value: ksdft
57
66
unit: ""
58
67
availability: ""
@@ -1449,18 +1458,34 @@ parameters:
1449
1458
category: Molecular dynamics
1450
1459
type: Integer
1451
1460
description: |
1452
-
The output frequency of OUT.{suffix}/STRIU/, which are used to restart molecular dynamics calculations, see md_restart in detail.
1461
+
The output frequency of OUT.{suffix}/STRU_MD_*, which are used to restart molecular dynamics calculations, see md_restart in detail. Set to 0 to disable MD restart output.
1453
1462
default_value: "5"
1454
1463
unit: ""
1455
1464
availability: ""
1456
1465
- name: md_dumpfreq
1457
1466
category: Molecular dynamics
1458
1467
type: Integer
1459
1468
description: |
1460
-
The output frequency of OUT.${suffix}/MD_dump in molecular dynamics calculations, which including the information of lattices and atoms.
1469
+
The output frequency of OUT.${suffix}/MD_dump in molecular dynamics calculations, which includes lattice and atomic information. Set to 0 to disable MD_dump output.
1461
1470
default_value: "1"
1462
1471
unit: ""
1463
1472
availability: ""
1473
+
- name: md_neighbor_skin
1474
+
category: Molecular dynamics
1475
+
type: Real
1476
+
description: |
1477
+
The extra neighbor-list radius in Angstrom for MDCell molecular dynamics. This parameter is only used for classical potentials or machine-learned interatomic potentials. A positive value reuses the cutoff-plus-skin candidate list until an atom has moved by half this distance; 0 rebuilds the list every force evaluation.
1478
+
default_value: "0.0"
1479
+
unit: Angstrom
1480
+
availability: ""
1481
+
- name: md_out_force
1482
+
category: Molecular dynamics
1483
+
type: Boolean
1484
+
description: |
1485
+
Whether to output the TOTAL-FORCE table in OUT.${suffix}/running_md.log for MDCell molecular dynamics. This does not affect force calculation or molecular dynamics integration.
1486
+
default_value: "True"
1487
+
unit: ""
1488
+
availability: ""
1464
1489
- name: dump_force
1465
1490
category: Molecular dynamics
1466
1491
type: Boolean
@@ -1490,8 +1515,8 @@ parameters:
1490
1515
type: Integer
1491
1516
description: |
1492
1517
The random seed to initialize random numbers used in molecular dynamics calculations.
1493
-
* < 0: No srand() function is called.
1494
-
* >= 0: The function srand(md_seed) is called.
1518
+
* < 0: Each MPI rank uses the default seed 1 plus its rank.
1519
+
* >= 0: Each MPI rank uses md_seed plus its rank.
1495
1520
default_value: "-1"
1496
1521
unit: ""
1497
1522
availability: ""
@@ -3022,6 +3047,62 @@ parameters:
3022
3047
default_value: "-1 2 -1 2"
3023
3048
unit: primitive cells
3024
3049
availability: "lr_solver==plot and exciton_plot_format in [slice, both]"
3050
+
- name: dfpt_qmesh
3051
+
category: Density functional perturbation theory
3052
+
type: Vector of Int (1 or 3 values)
3053
+
description: |
3054
+
Set the Monkhorst-Pack q mesh (gamma-centered) for DFPT phonon calculations. The q mesh must be commensurate with the ground-state k mesh: k + q must be a point of the k list (modulo a reciprocal lattice vector). For example, a 4x4x4 KPT mesh is commensurate with dfpt_qmesh values of 1, 2, or 4 along each direction. This parameter is ignored when dfpt_qfile is set.
3055
+
default_value: 1 1 1
3056
+
unit: ""
3057
+
availability: ""
3058
+
- name: dfpt_qfile
3059
+
category: Density functional perturbation theory
3060
+
type: String
3061
+
description: |
3062
+
Set the file containing the q points for DFPT, in the same format as the KPT file (Q_POINTS card: Gamma/Monkhorst-Pack mesh, or an explicit Direct/Cartesian list; symmetry reduction is not applied to file q lists). When set, it overrides dfpt_qmesh. Each q point must still be commensurate with the ground-state k mesh.
3063
+
default_value: "\"\""
3064
+
unit: ""
3065
+
availability: ""
3066
+
- name: dfpt_compute_q0
3067
+
category: Density functional perturbation theory
3068
+
type: Boolean
3069
+
description: |
3070
+
Whether to compute the macroscopic dielectric tensor (epsilon_inf) and the Born effective charges at q = 0 within the same DFPT run. Requires a q point at Gamma (the default dfpt_qmesh 1 1 1).
3071
+
default_value: "false"
3072
+
unit: ""
3073
+
availability: ""
3074
+
- name: dfpt_loto
3075
+
category: Density functional perturbation theory
3076
+
type: Boolean
3077
+
description: |
3078
+
Whether to apply the Lyddane-Sachs-Teller non-analytic correction to the Gamma-point dynamical matrix, which splits the longitudinal and transverse optical modes. Requires dfpt_compute_q0 to be true, since the correction is built from epsilon_inf and the Born effective charges.
3079
+
default_value: "false"
3080
+
unit: ""
3081
+
availability: ""
3082
+
- name: dfpt_conv_thr
3083
+
category: Density functional perturbation theory
3084
+
type: Real
3085
+
description: |
3086
+
Set the convergence threshold of the self-consistent DFPT cycle: the iteration stops when the relative residual of the first-order density ||drho_out - drho_in|| / ||drho_out|| drops below this value for every displacement.
3087
+
default_value: "1.0e-8"
3088
+
unit: ""
3089
+
availability: ""
3090
+
- name: dfpt_max_iter
3091
+
category: Density functional perturbation theory
3092
+
type: Integer
3093
+
description: |
3094
+
Set the maximum number of self-consistent DFPT iterations for each atomic displacement.
3095
+
default_value: "100"
3096
+
unit: ""
3097
+
availability: ""
3098
+
- name: dfpt_mix_beta
3099
+
category: Density functional perturbation theory
3100
+
type: Real
3101
+
description: |
3102
+
Set the plain-mixing coefficient of the first-order density in the self-consistent DFPT cycle. The response Jacobian has strongly negative eigenvalues on the smallest-G shells (Coulomb stiffness), so beta must stay below 2 / (1 + |lambda_min|); the default 0.4 keeps margin up to |lambda_min| ~ 3. A larger value accelerates convergence for weakly screened systems but may diverge.
0 commit comments