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.
Copy file name to clipboardExpand all lines: docs/advanced/input_files/input-main.md
+26-4Lines changed: 26 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,7 @@
8
8
-[System variables](#system-variables)
9
9
-[suffix](#suffix)
10
10
-[ntype](#ntype)
11
+
-[cell\_replica](#cell_replica)
11
12
-[calculation](#calculation)
12
13
-[esolver\_type](#esolver_type)
13
14
-[symmetry](#symmetry)
@@ -356,6 +357,8 @@
356
357
-[md\_restart](#md_restart)
357
358
-[md\_restartfreq](#md_restartfreq)
358
359
-[md\_dumpfreq](#md_dumpfreq)
360
+
-[md\_neighbor\_skin](#md_neighbor_skin)
361
+
-[md\_out\_force](#md_out_force)
359
362
-[dump\_force](#dump_force)
360
363
-[dump\_vel](#dump_vel)
361
364
-[dump\_virial](#dump_virial)
@@ -601,6 +604,12 @@
601
604
-**Description**: Number of different atom species in the calculation.
602
605
-**Default**: 0
603
606
607
+
### cell_replica
608
+
609
+
-**Type**: Three Integers
610
+
-**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.
611
+
-**Default**: 1 1 1
612
+
604
613
### calculation
605
614
606
615
-**Type**: String
@@ -3504,15 +3513,28 @@
3504
3513
### md_restartfreq
3505
3514
3506
3515
-**Type**: Integer
3507
-
-**Description**: The output frequency of OUT.{suffix}/STRIU/, which are used to restart molecular dynamics calculations, see md_restart in detail.
3516
+
-**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
3517
-**Default**: 5
3509
3518
3510
3519
### md_dumpfreq
3511
3520
3512
3521
-**Type**: Integer
3513
-
-**Description**: The output frequency of OUT.${suffix}/MD_dump in molecular dynamics calculations, which including the information of lattices and atoms.
3522
+
-**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
3523
-**Default**: 1
3515
3524
3525
+
### md_neighbor_skin
3526
+
3527
+
-**Type**: Real
3528
+
-**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.
3529
+
-**Default**: 0.0
3530
+
-**Unit**: Angstrom
3531
+
3532
+
### md_out_force
3533
+
3534
+
-**Type**: Boolean
3535
+
-**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.
3536
+
-**Default**: True
3537
+
3516
3538
### dump_force
3517
3539
3518
3540
-**Type**: Boolean
@@ -3535,8 +3557,8 @@
3535
3557
3536
3558
-**Type**: Integer
3537
3559
-**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.
3560
+
-< 0: Each MPI rank uses the default seed 1 plus its rank.
3561
+
->= 0: Each MPI rank uses md_seed plus its rank.
Copy file name to clipboardExpand all lines: docs/parameters.yaml
+28-4Lines changed: 28 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
@@ -1449,18 +1457,34 @@ parameters:
1449
1457
category: Molecular dynamics
1450
1458
type: Integer
1451
1459
description: |
1452
-
The output frequency of OUT.{suffix}/STRIU/, which are used to restart molecular dynamics calculations, see md_restart in detail.
1460
+
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
1461
default_value: "5"
1454
1462
unit: ""
1455
1463
availability: ""
1456
1464
- name: md_dumpfreq
1457
1465
category: Molecular dynamics
1458
1466
type: Integer
1459
1467
description: |
1460
-
The output frequency of OUT.${suffix}/MD_dump in molecular dynamics calculations, which including the information of lattices and atoms.
1468
+
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
1469
default_value: "1"
1462
1470
unit: ""
1463
1471
availability: ""
1472
+
- name: md_neighbor_skin
1473
+
category: Molecular dynamics
1474
+
type: Real
1475
+
description: |
1476
+
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.
1477
+
default_value: "0.0"
1478
+
unit: Angstrom
1479
+
availability: ""
1480
+
- name: md_out_force
1481
+
category: Molecular dynamics
1482
+
type: Boolean
1483
+
description: |
1484
+
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.
1485
+
default_value: "True"
1486
+
unit: ""
1487
+
availability: ""
1464
1488
- name: dump_force
1465
1489
category: Molecular dynamics
1466
1490
type: Boolean
@@ -1490,8 +1514,8 @@ parameters:
1490
1514
type: Integer
1491
1515
description: |
1492
1516
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.
1517
+
* < 0: Each MPI rank uses the default seed 1 plus its rank.
0 commit comments