A cross-check of the in-process C ABI: every public function against the
header, the inventory, both implementations, and the feature table. The
C ABI reference documents what each function does; this
page records where each one lives. The cpmd-public-abi-inventory,
stub-abi-symbol-coverage, and shared-dlopen-symbol-coverage
tests keep it true.
Sources checked¶
Source |
Role |
|---|---|
|
public declarations |
|
|
|
implementation in the default and OpenCPMD builds |
|
implementation in the stub build |
|
discovery functions shared by all builds |
Symbols¶
Columns: declared in a public header, implemented for the default and
OpenCPMD builds, implemented for the stub, and present as an abi.*
feature row.
Symbol |
Role |
Header |
Build |
Stub |
Feature row |
|---|---|---|---|---|---|
|
setup |
Y |
Y |
Y |
Y |
|
step, arrays |
Y |
Y |
Y |
Y |
|
step, arrays |
Y |
Y |
Y |
Y |
|
step, arrays |
Y |
Y |
Y |
Y |
|
MPI |
Y |
Y |
Y |
Y |
|
setup |
Y |
Y |
Y |
Y |
|
setup |
Y |
Y |
Y |
Y |
|
lifecycle |
Y |
Y |
Y |
Y |
|
step, arrays |
Y |
Y |
Y |
Y |
|
step, arrays |
Y |
Y |
Y |
Y |
|
step, arrays |
Y |
Y |
Y |
Y |
|
step, message |
Y |
Y |
Y |
Y |
|
step, message |
Y |
Y |
Y |
Y |
|
step, message |
Y |
Y |
Y |
Y |
|
step, message |
Y |
Y |
Y |
Y |
|
result size |
Y |
Y |
Y |
Y |
|
discovery |
Y |
Y |
Y |
Y |
|
lifecycle |
Y |
Y |
Y |
Y |
|
lifecycle |
Y |
Y |
Y |
Y |
|
setup |
Y |
Y |
Y |
Y |
|
setup |
Y |
Y |
Y |
Y |
|
setup |
Y |
Y |
Y |
Y |
|
result snapshot |
Y |
Y |
Y |
Y |
|
lifecycle |
Y |
Y |
Y |
Y |
|
lifecycle |
Y |
Y |
Y |
Y |
|
result snapshot |
Y |
Y |
Y |
Y |
|
result snapshot |
Y |
Y |
Y |
Y |
|
result snapshot |
Y |
Y |
Y |
Y |
|
result snapshot |
Y |
Y |
Y |
Y |
|
result snapshot |
Y |
Y |
Y |
Y |
|
result snapshot |
Y |
Y |
Y |
Y |
|
result snapshot |
Y |
Y |
Y |
Y |
|
result snapshot |
Y |
Y |
Y |
Y |
|
result snapshot |
Y |
Y |
Y |
Y |
|
result snapshot |
Y |
Y |
Y |
Y |
|
result snapshot |
Y |
Y |
Y |
Y |
|
result snapshot |
Y |
Y |
Y |
Y |
|
discovery |
Y |
Y |
Y |
Y |
|
discovery |
Y |
Y |
Y |
Y |
|
discovery |
Y |
Y |
Y |
Y |
40 symbols in abi_symbols, 40 with every column present.
Parser sections¶
The 25 sections OpenCPMD reads with inscan('&SECTION'), recorded in
opencpmd_inscan_sections and
schema/inventory/opencpmd_sections.txt:
ATOM, ATOMS, BASIS, CLAS, CPMD, DFT, EAM, EXTE, HARDNESS, INFO, LINRES, MOLSTATES, MTS, NLCC, PATH, PIMD, POTENTIAL, PROP, PTDDFT, RESP, SYSTEM, TDDFT, VDW, VECTORS, WAVEFUNCTION.
QMMM, PROPERTIES, BICANONICAL, and CDFT are &CPMD keywords, not
sections.