mdir 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mdir-0.2.1/.dockerignore +18 -0
- mdir-0.2.1/.github/ISSUE_TEMPLATE/config.yml +1 -0
- mdir-0.2.1/.github/ISSUE_TEMPLATE/defect.md +26 -0
- mdir-0.2.1/.github/workflows/ci-image.yml +85 -0
- mdir-0.2.1/.github/workflows/ci-llvm-part.yml +81 -0
- mdir-0.2.1/.github/workflows/ci.yml +134 -0
- mdir-0.2.1/.github/workflows/decisions.yml +22 -0
- mdir-0.2.1/.github/workflows/release-check.yml +22 -0
- mdir-0.2.1/.github/workflows/release-path.yml +24 -0
- mdir-0.2.1/.gitignore +9 -0
- mdir-0.2.1/CHANGELOG.md +807 -0
- mdir-0.2.1/CMakeLists.txt +64 -0
- mdir-0.2.1/CONTRIBUTING.md +81 -0
- mdir-0.2.1/LICENSE +21 -0
- mdir-0.2.1/PKG-INFO +216 -0
- mdir-0.2.1/README.md +193 -0
- mdir-0.2.1/changelog.d/README.md +25 -0
- mdir-0.2.1/cmake/BuildInfo.cmake +53 -0
- mdir-0.2.1/docs/ad-robust.md +177 -0
- mdir-0.2.1/docs/architecture.md +69 -0
- mdir-0.2.1/docs/building.md +266 -0
- mdir-0.2.1/docs/charmm.md +310 -0
- mdir-0.2.1/docs/compile-cache.md +924 -0
- mdir-0.2.1/docs/constraints.md +132 -0
- mdir-0.2.1/docs/conventions.md +103 -0
- mdir-0.2.1/docs/debugging.md +172 -0
- mdir-0.2.1/docs/decisions/D100.md +5 -0
- mdir-0.2.1/docs/decisions/D101.md +5 -0
- mdir-0.2.1/docs/decisions/D102.md +5 -0
- mdir-0.2.1/docs/decisions/D103.md +5 -0
- mdir-0.2.1/docs/decisions/D104.md +5 -0
- mdir-0.2.1/docs/decisions/D105.md +5 -0
- mdir-0.2.1/docs/decisions/D106.md +5 -0
- mdir-0.2.1/docs/decisions/D107.md +5 -0
- mdir-0.2.1/docs/decisions/D108.md +5 -0
- mdir-0.2.1/docs/decisions/D109.md +5 -0
- mdir-0.2.1/docs/decisions/D110.md +5 -0
- mdir-0.2.1/docs/decisions/D111.md +5 -0
- mdir-0.2.1/docs/decisions/D112.md +5 -0
- mdir-0.2.1/docs/decisions/D113.md +5 -0
- mdir-0.2.1/docs/decisions/D114.md +5 -0
- mdir-0.2.1/docs/decisions/D115.md +5 -0
- mdir-0.2.1/docs/decisions/D116.md +5 -0
- mdir-0.2.1/docs/decisions/D117.md +5 -0
- mdir-0.2.1/docs/decisions/D118.md +5 -0
- mdir-0.2.1/docs/decisions/D119.md +5 -0
- mdir-0.2.1/docs/decisions/D120.md +5 -0
- mdir-0.2.1/docs/decisions/D121.md +5 -0
- mdir-0.2.1/docs/decisions/D122.md +5 -0
- mdir-0.2.1/docs/decisions/D123.md +5 -0
- mdir-0.2.1/docs/decisions/D124.md +5 -0
- mdir-0.2.1/docs/decisions/D125.md +5 -0
- mdir-0.2.1/docs/decisions/D126.md +5 -0
- mdir-0.2.1/docs/decisions/D127.md +5 -0
- mdir-0.2.1/docs/decisions/D128.md +5 -0
- mdir-0.2.1/docs/decisions/D129.md +5 -0
- mdir-0.2.1/docs/decisions/D130.md +5 -0
- mdir-0.2.1/docs/decisions/D131.md +5 -0
- mdir-0.2.1/docs/decisions/D132.md +5 -0
- mdir-0.2.1/docs/decisions/D133.md +5 -0
- mdir-0.2.1/docs/decisions/D134.md +5 -0
- mdir-0.2.1/docs/decisions/D135.md +5 -0
- mdir-0.2.1/docs/decisions/D136.md +5 -0
- mdir-0.2.1/docs/decisions/D137.md +5 -0
- mdir-0.2.1/docs/decisions/D138.md +5 -0
- mdir-0.2.1/docs/decisions/D139.md +5 -0
- mdir-0.2.1/docs/decisions/D140.md +5 -0
- mdir-0.2.1/docs/decisions/D141.md +5 -0
- mdir-0.2.1/docs/decisions/D142.md +5 -0
- mdir-0.2.1/docs/decisions/D143.md +5 -0
- mdir-0.2.1/docs/decisions/D144.md +5 -0
- mdir-0.2.1/docs/decisions/D145.md +5 -0
- mdir-0.2.1/docs/decisions/D146.md +5 -0
- mdir-0.2.1/docs/decisions/D147.md +5 -0
- mdir-0.2.1/docs/decisions/D148.md +5 -0
- mdir-0.2.1/docs/decisions/D149.md +5 -0
- mdir-0.2.1/docs/decisions/D150.md +5 -0
- mdir-0.2.1/docs/decisions/D151.md +5 -0
- mdir-0.2.1/docs/decisions/D152.md +5 -0
- mdir-0.2.1/docs/decisions/D153.md +5 -0
- mdir-0.2.1/docs/decisions/D154.md +5 -0
- mdir-0.2.1/docs/decisions/D155.md +5 -0
- mdir-0.2.1/docs/decisions/D156.md +5 -0
- mdir-0.2.1/docs/decisions/D157.md +5 -0
- mdir-0.2.1/docs/decisions/D158.md +5 -0
- mdir-0.2.1/docs/decisions/D159.md +5 -0
- mdir-0.2.1/docs/decisions/D160.md +5 -0
- mdir-0.2.1/docs/decisions/D161.md +5 -0
- mdir-0.2.1/docs/decisions/D162.md +5 -0
- mdir-0.2.1/docs/decisions/D163a.md +5 -0
- mdir-0.2.1/docs/decisions/D163b.md +5 -0
- mdir-0.2.1/docs/decisions/D163c.md +5 -0
- mdir-0.2.1/docs/decisions/D165.md +5 -0
- mdir-0.2.1/docs/decisions/D166.md +5 -0
- mdir-0.2.1/docs/decisions/D167.md +5 -0
- mdir-0.2.1/docs/decisions/D168.md +5 -0
- mdir-0.2.1/docs/decisions/D169.md +5 -0
- mdir-0.2.1/docs/decisions/D170.md +5 -0
- mdir-0.2.1/docs/decisions/D171.md +5 -0
- mdir-0.2.1/docs/decisions/D172.md +5 -0
- mdir-0.2.1/docs/decisions/D173.md +5 -0
- mdir-0.2.1/docs/decisions/D174.md +5 -0
- mdir-0.2.1/docs/decisions/D175.md +5 -0
- mdir-0.2.1/docs/decisions/D176.md +5 -0
- mdir-0.2.1/docs/decisions/D177.md +5 -0
- mdir-0.2.1/docs/decisions/D178.md +5 -0
- mdir-0.2.1/docs/decisions/D179.md +5 -0
- mdir-0.2.1/docs/decisions/D180.md +5 -0
- mdir-0.2.1/docs/decisions/D181.md +5 -0
- mdir-0.2.1/docs/decisions/D182.md +5 -0
- mdir-0.2.1/docs/decisions/D183.md +5 -0
- mdir-0.2.1/docs/decisions/D184.md +5 -0
- mdir-0.2.1/docs/decisions/D185.md +5 -0
- mdir-0.2.1/docs/decisions/D186.md +5 -0
- mdir-0.2.1/docs/decisions/D187.md +5 -0
- mdir-0.2.1/docs/decisions/D188.md +5 -0
- mdir-0.2.1/docs/decisions/D189.md +5 -0
- mdir-0.2.1/docs/decisions/D190.md +5 -0
- mdir-0.2.1/docs/decisions/D191.md +5 -0
- mdir-0.2.1/docs/decisions/D192.md +5 -0
- mdir-0.2.1/docs/decisions/D193.md +5 -0
- mdir-0.2.1/docs/decisions/D194.md +5 -0
- mdir-0.2.1/docs/decisions/D195.md +5 -0
- mdir-0.2.1/docs/decisions/D196.md +5 -0
- mdir-0.2.1/docs/decisions/D197.md +5 -0
- mdir-0.2.1/docs/decisions/D198.md +5 -0
- mdir-0.2.1/docs/decisions/D199.md +5 -0
- mdir-0.2.1/docs/decisions/D20.md +5 -0
- mdir-0.2.1/docs/decisions/D200.md +5 -0
- mdir-0.2.1/docs/decisions/D201.md +5 -0
- mdir-0.2.1/docs/decisions/D202.md +5 -0
- mdir-0.2.1/docs/decisions/D203.md +5 -0
- mdir-0.2.1/docs/decisions/D204.md +5 -0
- mdir-0.2.1/docs/decisions/D205.md +5 -0
- mdir-0.2.1/docs/decisions/D206.md +5 -0
- mdir-0.2.1/docs/decisions/D207.md +5 -0
- mdir-0.2.1/docs/decisions/D208.md +5 -0
- mdir-0.2.1/docs/decisions/D209.md +5 -0
- mdir-0.2.1/docs/decisions/D21.md +5 -0
- mdir-0.2.1/docs/decisions/D210.md +5 -0
- mdir-0.2.1/docs/decisions/D211.md +5 -0
- mdir-0.2.1/docs/decisions/D212.md +5 -0
- mdir-0.2.1/docs/decisions/D213.md +5 -0
- mdir-0.2.1/docs/decisions/D214.md +5 -0
- mdir-0.2.1/docs/decisions/D215.md +5 -0
- mdir-0.2.1/docs/decisions/D216.md +5 -0
- mdir-0.2.1/docs/decisions/D217.md +5 -0
- mdir-0.2.1/docs/decisions/D218.md +5 -0
- mdir-0.2.1/docs/decisions/D219.md +5 -0
- mdir-0.2.1/docs/decisions/D22.md +5 -0
- mdir-0.2.1/docs/decisions/D220.md +5 -0
- mdir-0.2.1/docs/decisions/D221.md +5 -0
- mdir-0.2.1/docs/decisions/D222.md +5 -0
- mdir-0.2.1/docs/decisions/D223.md +5 -0
- mdir-0.2.1/docs/decisions/D224.md +5 -0
- mdir-0.2.1/docs/decisions/D225.md +5 -0
- mdir-0.2.1/docs/decisions/D226.md +5 -0
- mdir-0.2.1/docs/decisions/D227.md +5 -0
- mdir-0.2.1/docs/decisions/D228.md +5 -0
- mdir-0.2.1/docs/decisions/D229.md +5 -0
- mdir-0.2.1/docs/decisions/D23.md +5 -0
- mdir-0.2.1/docs/decisions/D230.md +5 -0
- mdir-0.2.1/docs/decisions/D231.md +5 -0
- mdir-0.2.1/docs/decisions/D232.md +5 -0
- mdir-0.2.1/docs/decisions/D233.md +5 -0
- mdir-0.2.1/docs/decisions/D234.md +5 -0
- mdir-0.2.1/docs/decisions/D235.md +5 -0
- mdir-0.2.1/docs/decisions/D236.md +5 -0
- mdir-0.2.1/docs/decisions/D237.md +5 -0
- mdir-0.2.1/docs/decisions/D238.md +5 -0
- mdir-0.2.1/docs/decisions/D239.md +5 -0
- mdir-0.2.1/docs/decisions/D24.md +5 -0
- mdir-0.2.1/docs/decisions/D240.md +5 -0
- mdir-0.2.1/docs/decisions/D241.md +5 -0
- mdir-0.2.1/docs/decisions/D242.md +5 -0
- mdir-0.2.1/docs/decisions/D243.md +5 -0
- mdir-0.2.1/docs/decisions/D244.md +5 -0
- mdir-0.2.1/docs/decisions/D245.md +5 -0
- mdir-0.2.1/docs/decisions/D246.md +5 -0
- mdir-0.2.1/docs/decisions/D247.md +5 -0
- mdir-0.2.1/docs/decisions/D248.md +5 -0
- mdir-0.2.1/docs/decisions/D249.md +5 -0
- mdir-0.2.1/docs/decisions/D25.md +5 -0
- mdir-0.2.1/docs/decisions/D250.md +5 -0
- mdir-0.2.1/docs/decisions/D251.md +5 -0
- mdir-0.2.1/docs/decisions/D252.md +5 -0
- mdir-0.2.1/docs/decisions/D253.md +5 -0
- mdir-0.2.1/docs/decisions/D254.md +5 -0
- mdir-0.2.1/docs/decisions/D255.md +5 -0
- mdir-0.2.1/docs/decisions/D256.md +5 -0
- mdir-0.2.1/docs/decisions/D257.md +5 -0
- mdir-0.2.1/docs/decisions/D258.md +5 -0
- mdir-0.2.1/docs/decisions/D259.md +5 -0
- mdir-0.2.1/docs/decisions/D26.md +5 -0
- mdir-0.2.1/docs/decisions/D260.md +5 -0
- mdir-0.2.1/docs/decisions/D261.md +5 -0
- mdir-0.2.1/docs/decisions/D262.md +5 -0
- mdir-0.2.1/docs/decisions/D263.md +5 -0
- mdir-0.2.1/docs/decisions/D264.md +5 -0
- mdir-0.2.1/docs/decisions/D265.md +5 -0
- mdir-0.2.1/docs/decisions/D266.md +5 -0
- mdir-0.2.1/docs/decisions/D267.md +5 -0
- mdir-0.2.1/docs/decisions/D268.md +5 -0
- mdir-0.2.1/docs/decisions/D269.md +5 -0
- mdir-0.2.1/docs/decisions/D27.md +5 -0
- mdir-0.2.1/docs/decisions/D270.md +5 -0
- mdir-0.2.1/docs/decisions/D271.md +5 -0
- mdir-0.2.1/docs/decisions/D272.md +5 -0
- mdir-0.2.1/docs/decisions/D273.md +5 -0
- mdir-0.2.1/docs/decisions/D274.md +5 -0
- mdir-0.2.1/docs/decisions/D275.md +5 -0
- mdir-0.2.1/docs/decisions/D276.md +5 -0
- mdir-0.2.1/docs/decisions/D277.md +5 -0
- mdir-0.2.1/docs/decisions/D278.md +5 -0
- mdir-0.2.1/docs/decisions/D279.md +5 -0
- mdir-0.2.1/docs/decisions/D28.md +5 -0
- mdir-0.2.1/docs/decisions/D280.md +5 -0
- mdir-0.2.1/docs/decisions/D281.md +5 -0
- mdir-0.2.1/docs/decisions/D282.md +5 -0
- mdir-0.2.1/docs/decisions/D283.md +5 -0
- mdir-0.2.1/docs/decisions/D284.md +5 -0
- mdir-0.2.1/docs/decisions/D285.md +5 -0
- mdir-0.2.1/docs/decisions/D286.md +5 -0
- mdir-0.2.1/docs/decisions/D287.md +5 -0
- mdir-0.2.1/docs/decisions/D288.md +5 -0
- mdir-0.2.1/docs/decisions/D289.md +5 -0
- mdir-0.2.1/docs/decisions/D29.md +5 -0
- mdir-0.2.1/docs/decisions/D290.md +5 -0
- mdir-0.2.1/docs/decisions/D291.md +5 -0
- mdir-0.2.1/docs/decisions/D292.md +5 -0
- mdir-0.2.1/docs/decisions/D293.md +5 -0
- mdir-0.2.1/docs/decisions/D294.md +5 -0
- mdir-0.2.1/docs/decisions/D295.md +5 -0
- mdir-0.2.1/docs/decisions/D296.md +5 -0
- mdir-0.2.1/docs/decisions/D297.md +5 -0
- mdir-0.2.1/docs/decisions/D298.md +5 -0
- mdir-0.2.1/docs/decisions/D299.md +5 -0
- mdir-0.2.1/docs/decisions/D30.md +5 -0
- mdir-0.2.1/docs/decisions/D300.md +5 -0
- mdir-0.2.1/docs/decisions/D301.md +5 -0
- mdir-0.2.1/docs/decisions/D302.md +5 -0
- mdir-0.2.1/docs/decisions/D303.md +5 -0
- mdir-0.2.1/docs/decisions/D304.md +5 -0
- mdir-0.2.1/docs/decisions/D305.md +5 -0
- mdir-0.2.1/docs/decisions/D306.md +5 -0
- mdir-0.2.1/docs/decisions/D307.md +5 -0
- mdir-0.2.1/docs/decisions/D308.md +5 -0
- mdir-0.2.1/docs/decisions/D309.md +5 -0
- mdir-0.2.1/docs/decisions/D31.md +5 -0
- mdir-0.2.1/docs/decisions/D310.md +5 -0
- mdir-0.2.1/docs/decisions/D311.md +5 -0
- mdir-0.2.1/docs/decisions/D312.md +5 -0
- mdir-0.2.1/docs/decisions/D313.md +5 -0
- mdir-0.2.1/docs/decisions/D314.md +5 -0
- mdir-0.2.1/docs/decisions/D315.md +5 -0
- mdir-0.2.1/docs/decisions/D316.md +5 -0
- mdir-0.2.1/docs/decisions/D317.md +5 -0
- mdir-0.2.1/docs/decisions/D318.md +5 -0
- mdir-0.2.1/docs/decisions/D319.md +5 -0
- mdir-0.2.1/docs/decisions/D32.md +5 -0
- mdir-0.2.1/docs/decisions/D320.md +5 -0
- mdir-0.2.1/docs/decisions/D321.md +5 -0
- mdir-0.2.1/docs/decisions/D322.md +5 -0
- mdir-0.2.1/docs/decisions/D323.md +5 -0
- mdir-0.2.1/docs/decisions/D324.md +5 -0
- mdir-0.2.1/docs/decisions/D325.md +5 -0
- mdir-0.2.1/docs/decisions/D326.md +5 -0
- mdir-0.2.1/docs/decisions/D327.md +5 -0
- mdir-0.2.1/docs/decisions/D328.md +5 -0
- mdir-0.2.1/docs/decisions/D329.md +5 -0
- mdir-0.2.1/docs/decisions/D33.md +5 -0
- mdir-0.2.1/docs/decisions/D330.md +5 -0
- mdir-0.2.1/docs/decisions/D331.md +5 -0
- mdir-0.2.1/docs/decisions/D332.md +5 -0
- mdir-0.2.1/docs/decisions/D333.md +5 -0
- mdir-0.2.1/docs/decisions/D334.md +5 -0
- mdir-0.2.1/docs/decisions/D335.md +5 -0
- mdir-0.2.1/docs/decisions/D336.md +5 -0
- mdir-0.2.1/docs/decisions/D337.md +5 -0
- mdir-0.2.1/docs/decisions/D338.md +5 -0
- mdir-0.2.1/docs/decisions/D339.md +5 -0
- mdir-0.2.1/docs/decisions/D34.md +5 -0
- mdir-0.2.1/docs/decisions/D340.md +5 -0
- mdir-0.2.1/docs/decisions/D341.md +5 -0
- mdir-0.2.1/docs/decisions/D342.md +5 -0
- mdir-0.2.1/docs/decisions/D343.md +5 -0
- mdir-0.2.1/docs/decisions/D344.md +5 -0
- mdir-0.2.1/docs/decisions/D345.md +5 -0
- mdir-0.2.1/docs/decisions/D346.md +27 -0
- mdir-0.2.1/docs/decisions/D347.md +59 -0
- mdir-0.2.1/docs/decisions/D348.md +43 -0
- mdir-0.2.1/docs/decisions/D349.md +5 -0
- mdir-0.2.1/docs/decisions/D35.md +5 -0
- mdir-0.2.1/docs/decisions/D350.md +16 -0
- mdir-0.2.1/docs/decisions/D351.md +5 -0
- mdir-0.2.1/docs/decisions/D36.md +5 -0
- mdir-0.2.1/docs/decisions/D37.md +5 -0
- mdir-0.2.1/docs/decisions/D38.md +5 -0
- mdir-0.2.1/docs/decisions/D39.md +5 -0
- mdir-0.2.1/docs/decisions/D40.md +5 -0
- mdir-0.2.1/docs/decisions/D41.md +5 -0
- mdir-0.2.1/docs/decisions/D42.md +5 -0
- mdir-0.2.1/docs/decisions/D43.md +5 -0
- mdir-0.2.1/docs/decisions/D44.md +5 -0
- mdir-0.2.1/docs/decisions/D45.md +5 -0
- mdir-0.2.1/docs/decisions/D46.md +5 -0
- mdir-0.2.1/docs/decisions/D47.md +5 -0
- mdir-0.2.1/docs/decisions/D48.md +5 -0
- mdir-0.2.1/docs/decisions/D49.md +5 -0
- mdir-0.2.1/docs/decisions/D50.md +5 -0
- mdir-0.2.1/docs/decisions/D51.md +5 -0
- mdir-0.2.1/docs/decisions/D52.md +5 -0
- mdir-0.2.1/docs/decisions/D53.md +5 -0
- mdir-0.2.1/docs/decisions/D54.md +5 -0
- mdir-0.2.1/docs/decisions/D55.md +5 -0
- mdir-0.2.1/docs/decisions/D56.md +5 -0
- mdir-0.2.1/docs/decisions/D57.md +5 -0
- mdir-0.2.1/docs/decisions/D58.md +5 -0
- mdir-0.2.1/docs/decisions/D59.md +5 -0
- mdir-0.2.1/docs/decisions/D60.md +5 -0
- mdir-0.2.1/docs/decisions/D61.md +5 -0
- mdir-0.2.1/docs/decisions/D62.md +5 -0
- mdir-0.2.1/docs/decisions/D63.md +5 -0
- mdir-0.2.1/docs/decisions/D64.md +5 -0
- mdir-0.2.1/docs/decisions/D65.md +5 -0
- mdir-0.2.1/docs/decisions/D66.md +5 -0
- mdir-0.2.1/docs/decisions/D67.md +5 -0
- mdir-0.2.1/docs/decisions/D68.md +5 -0
- mdir-0.2.1/docs/decisions/D69.md +5 -0
- mdir-0.2.1/docs/decisions/D70.md +5 -0
- mdir-0.2.1/docs/decisions/D71.md +5 -0
- mdir-0.2.1/docs/decisions/D72.md +5 -0
- mdir-0.2.1/docs/decisions/D73.md +5 -0
- mdir-0.2.1/docs/decisions/D74.md +5 -0
- mdir-0.2.1/docs/decisions/D75.md +5 -0
- mdir-0.2.1/docs/decisions/D76.md +5 -0
- mdir-0.2.1/docs/decisions/D77.md +5 -0
- mdir-0.2.1/docs/decisions/D78.md +5 -0
- mdir-0.2.1/docs/decisions/D79.md +5 -0
- mdir-0.2.1/docs/decisions/D80.md +5 -0
- mdir-0.2.1/docs/decisions/D81.md +5 -0
- mdir-0.2.1/docs/decisions/D82.md +5 -0
- mdir-0.2.1/docs/decisions/D83.md +5 -0
- mdir-0.2.1/docs/decisions/D84.md +5 -0
- mdir-0.2.1/docs/decisions/D85.md +5 -0
- mdir-0.2.1/docs/decisions/D86.md +5 -0
- mdir-0.2.1/docs/decisions/D87.md +5 -0
- mdir-0.2.1/docs/decisions/D88.md +5 -0
- mdir-0.2.1/docs/decisions/D89.md +5 -0
- mdir-0.2.1/docs/decisions/D90.md +5 -0
- mdir-0.2.1/docs/decisions/D91.md +5 -0
- mdir-0.2.1/docs/decisions/D92.md +5 -0
- mdir-0.2.1/docs/decisions/D93.md +5 -0
- mdir-0.2.1/docs/decisions/D94.md +5 -0
- mdir-0.2.1/docs/decisions/D95.md +5 -0
- mdir-0.2.1/docs/decisions/D96.md +5 -0
- mdir-0.2.1/docs/decisions/D97.md +5 -0
- mdir-0.2.1/docs/decisions/D98.md +5 -0
- mdir-0.2.1/docs/decisions/D99.md +5 -0
- mdir-0.2.1/docs/decisions.md +783 -0
- mdir-0.2.1/docs/design-review.md +317 -0
- mdir-0.2.1/docs/device-primitives.md +1244 -0
- mdir-0.2.1/docs/device-tuples.md +518 -0
- mdir-0.2.1/docs/dialects/dyn.md +299 -0
- mdir-0.2.1/docs/dialects/md.md +1689 -0
- mdir-0.2.1/docs/dialects/md_dist.md +1130 -0
- mdir-0.2.1/docs/dialects/md_exec.md +2179 -0
- mdir-0.2.1/docs/dialects/mdrt.md +531 -0
- mdir-0.2.1/docs/distributed-ml2.md +1396 -0
- mdir-0.2.1/docs/driver.md +1136 -0
- mdir-0.2.1/docs/dynamics.md +831 -0
- mdir-0.2.1/docs/environment.md +156 -0
- mdir-0.2.1/docs/execution-contracts.md +468 -0
- mdir-0.2.1/docs/figures/primitives/transpose-pairs.dot +45 -0
- mdir-0.2.1/docs/figures/primitives/transpose-pairs.svg +199 -0
- mdir-0.2.1/docs/future-architecture-plan.md +1138 -0
- mdir-0.2.1/docs/jit-invariants.md +781 -0
- mdir-0.2.1/docs/metatomic-ml1.md +1462 -0
- mdir-0.2.1/docs/ml4-baselines.md +275 -0
- mdir-0.2.1/docs/ml4-ir.md +1069 -0
- mdir-0.2.1/docs/neighbor-groups.md +667 -0
- mdir-0.2.1/docs/neighbor-tiles.md +374 -0
- mdir-0.2.1/docs/neighbors.md +669 -0
- mdir-0.2.1/docs/nonbonded.md +123 -0
- mdir-0.2.1/docs/ops.md +2003 -0
- mdir-0.2.1/docs/overview.md +423 -0
- mdir-0.2.1/docs/pme-semantic-transform.md +75 -0
- mdir-0.2.1/docs/pme.md +1270 -0
- mdir-0.2.1/docs/primitives-map.md +432 -0
- mdir-0.2.1/docs/principles.md +246 -0
- mdir-0.2.1/docs/prior-art.md +146 -0
- mdir-0.2.1/docs/python-arrays.md +64 -0
- mdir-0.2.1/docs/python-checkpoints.md +325 -0
- mdir-0.2.1/docs/python-compile.md +211 -0
- mdir-0.2.1/docs/python-dlpack.md +791 -0
- mdir-0.2.1/docs/python-frames.md +1838 -0
- mdir-0.2.1/docs/python-gradient.md +541 -0
- mdir-0.2.1/docs/python-h5md.md +430 -0
- mdir-0.2.1/docs/python-minimize.md +212 -0
- mdir-0.2.1/docs/python-model.md +644 -0
- mdir-0.2.1/docs/python-observe.md +233 -0
- mdir-0.2.1/docs/python-package.md +263 -0
- mdir-0.2.1/docs/python-reporters.md +184 -0
- mdir-0.2.1/docs/python-segments.md +895 -0
- mdir-0.2.1/docs/python-topology.md +201 -0
- mdir-0.2.1/docs/python-tunable.md +485 -0
- mdir-0.2.1/docs/python-units.md +139 -0
- mdir-0.2.1/docs/python-velocities-restraints.md +193 -0
- mdir-0.2.1/docs/python.md +335 -0
- mdir-0.2.1/docs/references.md +1647 -0
- mdir-0.2.1/docs/release-notes/v0.1.0.md +111 -0
- mdir-0.2.1/docs/release-notes/v0.2.0.md +146 -0
- mdir-0.2.1/docs/release-notes/v0.2.1.md +90 -0
- mdir-0.2.1/docs/roadmap.md +273 -0
- mdir-0.2.1/docs/run-manifest.schema.json +514 -0
- mdir-0.2.1/docs/runtime.md +287 -0
- mdir-0.2.1/docs/triclinic.md +302 -0
- mdir-0.2.1/docs/tuples.md +404 -0
- mdir-0.2.1/docs/validation.md +339 -0
- mdir-0.2.1/docs/workflow.md +574 -0
- mdir-0.2.1/examples/ala3/1-min.toml +35 -0
- mdir-0.2.1/examples/ala3/2-nvt.toml +48 -0
- mdir-0.2.1/examples/ala3/3-npt.toml +52 -0
- mdir-0.2.1/examples/ala3/4-md.toml +50 -0
- mdir-0.2.1/examples/ala3/README.md +69 -0
- mdir-0.2.1/examples/ala3/ala3.inpcrd +2456 -0
- mdir-0.2.1/examples/ala3/ala3.leap +10 -0
- mdir-0.2.1/examples/ala3/ala3.prmtop +10111 -0
- mdir-0.2.1/examples/ala3/render.py +162 -0
- mdir-0.2.1/examples/ala3/run.py +219 -0
- mdir-0.2.1/examples/ala3/run.sh +20 -0
- mdir-0.2.1/examples/argon/argon.mlir +280 -0
- mdir-0.2.1/examples/argon/argon.pdb +867 -0
- mdir-0.2.1/examples/argon/argon.toml +52 -0
- mdir-0.2.1/examples/argon/run.sh +66 -0
- mdir-0.2.1/examples/popc-bilayer/1-min.toml +42 -0
- mdir-0.2.1/examples/popc-bilayer/2-nvt.toml +55 -0
- mdir-0.2.1/examples/popc-bilayer/3-npt.toml +64 -0
- mdir-0.2.1/examples/popc-bilayer/4-md.toml +58 -0
- mdir-0.2.1/examples/popc-bilayer/README.md +59 -0
- mdir-0.2.1/examples/popc-bilayer/area.py +79 -0
- mdir-0.2.1/examples/popc-bilayer/build.sh +23 -0
- mdir-0.2.1/examples/popc-bilayer/popc.leap +10 -0
- mdir-0.2.1/examples/popc-bilayer/run.sh +28 -0
- mdir-0.2.1/examples/ubiquitin/1-min.toml +38 -0
- mdir-0.2.1/examples/ubiquitin/1ubq-protein.pdb +605 -0
- mdir-0.2.1/examples/ubiquitin/2-nvt.toml +53 -0
- mdir-0.2.1/examples/ubiquitin/3-npt.toml +58 -0
- mdir-0.2.1/examples/ubiquitin/4-md.toml +56 -0
- mdir-0.2.1/examples/ubiquitin/README.md +53 -0
- mdir-0.2.1/examples/ubiquitin/run.sh +28 -0
- mdir-0.2.1/examples/ubiquitin/ubq.leap +11 -0
- mdir-0.2.1/include/CMakeLists.txt +22 -0
- mdir-0.2.1/include/mdir/Analysis/EffectSummary.h +48 -0
- mdir-0.2.1/include/mdir/Compiler/Compile.h +123 -0
- mdir-0.2.1/include/mdir/Compiler/CompileCache.h +284 -0
- mdir-0.2.1/include/mdir/Compiler/Simulation.h +739 -0
- mdir-0.2.1/include/mdir/Compiler/Skins.h +78 -0
- mdir-0.2.1/include/mdir/Conversion/CMakeLists.txt +3 -0
- mdir-0.2.1/include/mdir/Conversion/CompactionEmitter.h +204 -0
- mdir-0.2.1/include/mdir/Conversion/GPUToBinary.h +38 -0
- mdir-0.2.1/include/mdir/Conversion/GatherEmitter.h +34 -0
- mdir-0.2.1/include/mdir/Conversion/MDExecKernels.h +391 -0
- mdir-0.2.1/include/mdir/Conversion/Passes.h +57 -0
- mdir-0.2.1/include/mdir/Conversion/Passes.td +647 -0
- mdir-0.2.1/include/mdir/Conversion/RaggedRows.h +91 -0
- mdir-0.2.1/include/mdir/Conversion/ReductionEmitter.h +74 -0
- mdir-0.2.1/include/mdir/Conversion/ScatterEmitter.h +114 -0
- mdir-0.2.1/include/mdir/Dialect/Dyn/CMakeLists.txt +6 -0
- mdir-0.2.1/include/mdir/Dialect/Dyn/DynDialect.h +13 -0
- mdir-0.2.1/include/mdir/Dialect/Dyn/DynDialect.td +29 -0
- mdir-0.2.1/include/mdir/Dialect/Dyn/DynOps.h +20 -0
- mdir-0.2.1/include/mdir/Dialect/Dyn/DynOps.td +184 -0
- mdir-0.2.1/include/mdir/Dialect/MD/CMakeLists.txt +10 -0
- mdir-0.2.1/include/mdir/Dialect/MD/MDCoordinates.h +97 -0
- mdir-0.2.1/include/mdir/Dialect/MD/MDDialect.h +11 -0
- mdir-0.2.1/include/mdir/Dialect/MD/MDDialect.td +38 -0
- mdir-0.2.1/include/mdir/Dialect/MD/MDEnums.h +12 -0
- mdir-0.2.1/include/mdir/Dialect/MD/MDEnums.td +75 -0
- mdir-0.2.1/include/mdir/Dialect/MD/MDExchange.h +24 -0
- mdir-0.2.1/include/mdir/Dialect/MD/MDOps.h +53 -0
- mdir-0.2.1/include/mdir/Dialect/MD/MDOps.td +1063 -0
- mdir-0.2.1/include/mdir/Dialect/MD/MDTypes.h +30 -0
- mdir-0.2.1/include/mdir/Dialect/MD/MDTypes.td +185 -0
- mdir-0.2.1/include/mdir/Dialect/MD/Transforms/Activity.h +26 -0
- mdir-0.2.1/include/mdir/Dialect/MD/Transforms/AdjointInterface.h +54 -0
- mdir-0.2.1/include/mdir/Dialect/MD/Transforms/AdjointInterface.td +91 -0
- mdir-0.2.1/include/mdir/Dialect/MD/Transforms/CMakeLists.txt +13 -0
- mdir-0.2.1/include/mdir/Dialect/MD/Transforms/DerivativeInterface.h +14 -0
- mdir-0.2.1/include/mdir/Dialect/MD/Transforms/DerivativeInterface.td +39 -0
- mdir-0.2.1/include/mdir/Dialect/MD/Transforms/Passes.h +38 -0
- mdir-0.2.1/include/mdir/Dialect/MD/Transforms/Passes.td +213 -0
- mdir-0.2.1/include/mdir/Dialect/MD/Transforms/ScalarDerivative.h +89 -0
- mdir-0.2.1/include/mdir/Dialect/MD/Transforms/Truncation.h +18 -0
- mdir-0.2.1/include/mdir/Dialect/MDDist/CMakeLists.txt +14 -0
- mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistDialect.h +13 -0
- mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistDialect.td +38 -0
- mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistEnums.td +28 -0
- mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistOps.h +105 -0
- mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistOps.td +587 -0
- mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistTypes.h +16 -0
- mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistTypes.td +128 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/Algebra.h +125 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/CMakeLists.txt +21 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/Independence.h +91 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/LoopEffects.h +33 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/LoopEffects.td +15 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/MDExecAttrs.td +129 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/MDExecDialect.h +14 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/MDExecDialect.td +50 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/MDExecEnums.td +122 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/MDExecOps.h +74 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/MDExecOps.td +1594 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/Scatter.h +114 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/StorageSet.h +39 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/Transforms/CMakeLists.txt +3 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/Transforms/Passes.h +41 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/Transforms/Passes.td +899 -0
- mdir-0.2.1/include/mdir/Dialect/MDExec/Transforms/Radial.h +42 -0
- mdir-0.2.1/include/mdir/Dialect/MDRT/CMakeLists.txt +8 -0
- mdir-0.2.1/include/mdir/Dialect/MDRT/MDRTDialect.h +13 -0
- mdir-0.2.1/include/mdir/Dialect/MDRT/MDRTDialect.td +40 -0
- mdir-0.2.1/include/mdir/Dialect/MDRT/MDRTOps.h +78 -0
- mdir-0.2.1/include/mdir/Dialect/MDRT/MDRTOps.td +225 -0
- mdir-0.2.1/include/mdir/Dialect/MDRT/MDRTTypes.h +12 -0
- mdir-0.2.1/include/mdir/Dialect/MDRT/MDRTTypes.td +90 -0
- mdir-0.2.1/include/mdir/Driver/Builder.h +453 -0
- mdir-0.2.1/include/mdir/Driver/Cell.h +54 -0
- mdir-0.2.1/include/mdir/Driver/Checkpoint.h +176 -0
- mdir-0.2.1/include/mdir/Driver/Control.h +745 -0
- mdir-0.2.1/include/mdir/Driver/Expression.h +153 -0
- mdir-0.2.1/include/mdir/Driver/Fingerprint.h +67 -0
- mdir-0.2.1/include/mdir/Driver/H5MD.h +166 -0
- mdir-0.2.1/include/mdir/Driver/HDF5.h +27 -0
- mdir-0.2.1/include/mdir/Driver/Influence.h +129 -0
- mdir-0.2.1/include/mdir/Driver/Model.h +391 -0
- mdir-0.2.1/include/mdir/Driver/ModelTerm.h +147 -0
- mdir-0.2.1/include/mdir/Driver/NeighborCount.h +36 -0
- mdir-0.2.1/include/mdir/Driver/Output.h +619 -0
- mdir-0.2.1/include/mdir/Driver/Profile.h +103 -0
- mdir-0.2.1/include/mdir/Driver/Prolate.h +139 -0
- mdir-0.2.1/include/mdir/Driver/Selection.h +38 -0
- mdir-0.2.1/include/mdir/Driver/System.h +201 -0
- mdir-0.2.1/include/mdir/Driver/Topology.h +307 -0
- mdir-0.2.1/include/mdir/Driver/Trajectory.h +162 -0
- mdir-0.2.1/include/mdir/MLIP/Plugin.h +182 -0
- mdir-0.2.1/include/mdir/Runtime/GroupsABI.h +65 -0
- mdir-0.2.1/lib/CMakeLists.txt +14 -0
- mdir-0.2.1/lib/Compiler/CMakeLists.txt +40 -0
- mdir-0.2.1/lib/Compiler/Compile.cpp +587 -0
- mdir-0.2.1/lib/Compiler/CompileCache.cpp +627 -0
- mdir-0.2.1/lib/Compiler/JITEngine.cpp +217 -0
- mdir-0.2.1/lib/Compiler/JITEngine.h +53 -0
- mdir-0.2.1/lib/Compiler/JITMemory.cpp +162 -0
- mdir-0.2.1/lib/Compiler/JITMemory.h +56 -0
- mdir-0.2.1/lib/Compiler/Simulation.cpp +3524 -0
- mdir-0.2.1/lib/Compiler/Skins.cpp +778 -0
- mdir-0.2.1/lib/Conversion/GPUToBinary/CMakeLists.txt +33 -0
- mdir-0.2.1/lib/Conversion/GPUToBinary/GPUToBinary.cpp +903 -0
- mdir-0.2.1/lib/Conversion/MDDistToLoops/CMakeLists.txt +24 -0
- mdir-0.2.1/lib/Conversion/MDDistToLoops/MDDistToLoops.cpp +1829 -0
- mdir-0.2.1/lib/Conversion/MDDistToLoops/PrintSchedule.cpp +97 -0
- mdir-0.2.1/lib/Conversion/MDExecKernels/CMakeLists.txt +29 -0
- mdir-0.2.1/lib/Conversion/MDExecKernels/CompactionEmitter.cpp +525 -0
- mdir-0.2.1/lib/Conversion/MDExecKernels/ExpandPrimitives.cpp +370 -0
- mdir-0.2.1/lib/Conversion/MDExecKernels/GatherEmitter.cpp +28 -0
- mdir-0.2.1/lib/Conversion/MDExecKernels/MDExecKernels.cpp +2702 -0
- mdir-0.2.1/lib/Conversion/MDExecKernels/RaggedRows.cpp +170 -0
- mdir-0.2.1/lib/Conversion/MDExecKernels/ReductionEmitter.cpp +152 -0
- mdir-0.2.1/lib/Conversion/MDExecKernels/ScatterEmitter.cpp +228 -0
- mdir-0.2.1/lib/Conversion/MDExecKernels/SinglePassScan.cpp +234 -0
- mdir-0.2.1/lib/Conversion/MDExecToGPU/CMakeLists.txt +90 -0
- mdir-0.2.1/lib/Conversion/MDExecToGPU/MDExecToGPU.cpp +8858 -0
- mdir-0.2.1/lib/Conversion/MDExecToGPU/StageBodies.cpp +1680 -0
- mdir-0.2.1/lib/Conversion/MDExecToGPU/Templates.cpp.in +37 -0
- mdir-0.2.1/lib/Conversion/MDExecToLoops/CMakeLists.txt +49 -0
- mdir-0.2.1/lib/Conversion/MDExecToLoops/CheckReadOnly.cpp +158 -0
- mdir-0.2.1/lib/Conversion/MDExecToLoops/FixedOrderReductions.cpp +173 -0
- mdir-0.2.1/lib/Conversion/MDExecToLoops/HoistAllocas.cpp +78 -0
- mdir-0.2.1/lib/Conversion/MDExecToLoops/MDExecToLoops.cpp +1596 -0
- mdir-0.2.1/lib/Conversion/MDExecToLoops/SeparateSinCos.cpp +91 -0
- mdir-0.2.1/lib/Conversion/MDExecToLoops/Templates.cpp.in +12 -0
- mdir-0.2.1/lib/Conversion/MDToMDExec/CMakeLists.txt +26 -0
- mdir-0.2.1/lib/Conversion/MDToMDExec/LinearTransformValues.cpp +224 -0
- mdir-0.2.1/lib/Conversion/MDToMDExec/MDToMDExec.cpp +612 -0
- mdir-0.2.1/lib/Dialect/Dyn/CMakeLists.txt +17 -0
- mdir-0.2.1/lib/Dialect/Dyn/DynDialect.cpp +16 -0
- mdir-0.2.1/lib/Dialect/Dyn/DynOps.cpp +145 -0
- mdir-0.2.1/lib/Dialect/MD/CMakeLists.txt +23 -0
- mdir-0.2.1/lib/Dialect/MD/MDCoordinates.cpp +420 -0
- mdir-0.2.1/lib/Dialect/MD/MDDialect.cpp +25 -0
- mdir-0.2.1/lib/Dialect/MD/MDExchange.cpp +199 -0
- mdir-0.2.1/lib/Dialect/MD/MDOps.cpp +1412 -0
- mdir-0.2.1/lib/Dialect/MD/MDTypes.cpp +236 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/Activity.cpp +161 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/Adjoints.cpp +714 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/BypassUpdates.cpp +137 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/CMakeLists.txt +39 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/CheckDerivativeCoverage.cpp +40 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/CheckDerivatives.cpp +207 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/CheckExchange.cpp +63 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/CheckTransposes.cpp +60 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/Differentiate.cpp +2963 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/Distribute.cpp +570 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/ExpandTruncation.cpp +199 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/Inline.cpp +150 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/OwnerComputes.cpp +102 -0
- mdir-0.2.1/lib/Dialect/MD/Transforms/ScalarDerivative.cpp +687 -0
- mdir-0.2.1/lib/Dialect/MDDist/CMakeLists.txt +15 -0
- mdir-0.2.1/lib/Dialect/MDDist/HaloSchedule.cpp +166 -0
- mdir-0.2.1/lib/Dialect/MDDist/MDDistDialect.cpp +885 -0
- mdir-0.2.1/lib/Dialect/MDExec/Algebra.cpp +178 -0
- mdir-0.2.1/lib/Dialect/MDExec/CMakeLists.txt +29 -0
- mdir-0.2.1/lib/Dialect/MDExec/Independence.cpp +322 -0
- mdir-0.2.1/lib/Dialect/MDExec/LoopEffects.cpp +128 -0
- mdir-0.2.1/lib/Dialect/MDExec/MDExecDialect.cpp +197 -0
- mdir-0.2.1/lib/Dialect/MDExec/MDExecOps.cpp +1560 -0
- mdir-0.2.1/lib/Dialect/MDExec/Scatter.cpp +149 -0
- mdir-0.2.1/lib/Dialect/MDExec/StorageSet.cpp +153 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/AccumulateDestinations.cpp +393 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/Approximate.cpp +172 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/AssignAlgebra.cpp +71 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/AssignPrecision.cpp +901 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/AssignStorage.cpp +2366 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/AssignStreams.cpp +61 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/CMakeLists.txt +38 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/ChooseNeighbors.cpp +192 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/ChooseScatter.cpp +209 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/ExpandRadial.cpp +624 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/ExposeValidity.cpp +127 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/FoldTables.cpp +353 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/FuseLoops.cpp +862 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/NarrowSums.cpp +208 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/RebuildAtInterval.cpp +50 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/ReuseNeighbors.cpp +527 -0
- mdir-0.2.1/lib/Dialect/MDExec/Transforms/SimplifyDistance.cpp +660 -0
- mdir-0.2.1/lib/Dialect/MDRT/CMakeLists.txt +15 -0
- mdir-0.2.1/lib/Dialect/MDRT/MDRTDialect.cpp +356 -0
- mdir-0.2.1/lib/Driver/Amber.cpp +1263 -0
- mdir-0.2.1/lib/Driver/Builder.cpp +12512 -0
- mdir-0.2.1/lib/Driver/CMakeLists.txt +100 -0
- mdir-0.2.1/lib/Driver/CMap.cpp +108 -0
- mdir-0.2.1/lib/Driver/Cell.cpp +179 -0
- mdir-0.2.1/lib/Driver/Charmm.cpp +1071 -0
- mdir-0.2.1/lib/Driver/Checkpoint.cpp +902 -0
- mdir-0.2.1/lib/Driver/Control.cpp +3821 -0
- mdir-0.2.1/lib/Driver/Expression.cpp +1086 -0
- mdir-0.2.1/lib/Driver/Fingerprint.cpp +314 -0
- mdir-0.2.1/lib/Driver/Gromacs.cpp +1797 -0
- mdir-0.2.1/lib/Driver/H5MD.cpp +1100 -0
- mdir-0.2.1/lib/Driver/HDF5.cpp +9 -0
- mdir-0.2.1/lib/Driver/Influence.cpp +212 -0
- mdir-0.2.1/lib/Driver/Model.cpp +749 -0
- mdir-0.2.1/lib/Driver/ModelFingerprint.cpp +465 -0
- mdir-0.2.1/lib/Driver/ModelTerm.cpp +482 -0
- mdir-0.2.1/lib/Driver/NeighborCount.cpp +241 -0
- mdir-0.2.1/lib/Driver/Output.cpp +1543 -0
- mdir-0.2.1/lib/Driver/Prolate.cpp +440 -0
- mdir-0.2.1/lib/Driver/Selection.cpp +206 -0
- mdir-0.2.1/lib/Driver/System.cpp +1381 -0
- mdir-0.2.1/lib/Driver/Templates.cpp.in +24 -0
- mdir-0.2.1/lib/Driver/Trajectory.cpp +830 -0
- mdir-0.2.1/lib/Driver/Tunables.cpp +543 -0
- mdir-0.2.1/lib/Driver/Validation.cpp +138 -0
- mdir-0.2.1/lib/MLIP/CMakeLists.txt +29 -0
- mdir-0.2.1/lib/MLIP/MetatomicPlugin.cpp +987 -0
- mdir-0.2.1/lib/Runtime/Templates/NeighborsGroupsGPU.mlir +14809 -0
- mdir-0.2.1/lib/Runtime/Templates/NeighborsGroupsGPUTriclinic.mlir +14878 -0
- mdir-0.2.1/lib/Runtime/Templates/NeighborsGroupsSinglePassGPU.mlir +14814 -0
- mdir-0.2.1/lib/Runtime/Templates/NeighborsGroupsSinglePassGPUTriclinic.mlir +14883 -0
- mdir-0.2.1/lib/Runtime/Templates/NeighborsMatrix.mlir +1658 -0
- mdir-0.2.1/lib/Runtime/Templates/NeighborsMatrixGPU.mlir +2267 -0
- mdir-0.2.1/lib/Runtime/Templates/PME.mlir +1892 -0
- mdir-0.2.1/lib/Runtime/Templates/PMEGPU.mlir +8756 -0
- mdir-0.2.1/lib/Runtime/Templates/PMEGPUProlate.mlir +5608 -0
- mdir-0.2.1/lib/Runtime/Templates/PMEGPUTriclinic.mlir +6095 -0
- mdir-0.2.1/packaging/Dockerfile +152 -0
- mdir-0.2.1/packaging/Dockerfile.manylinux +145 -0
- mdir-0.2.1/packaging/README.md +185 -0
- mdir-0.2.1/packaging/licenses/LLVM-LICENSE.TXT +279 -0
- mdir-0.2.1/packaging/licenses/OpenMP-LICENSE.TXT +361 -0
- mdir-0.2.1/packaging/licenses/README.md +157 -0
- mdir-0.2.1/packaging/mdir.def +35 -0
- mdir-0.2.1/pyproject.toml +82 -0
- mdir-0.2.1/python/Bindings.cpp +1996 -0
- mdir-0.2.1/python/CMakeLists.txt +54 -0
- mdir-0.2.1/python/DLPack.h +479 -0
- mdir-0.2.1/python/HostArrays.h +155 -0
- mdir-0.2.1/python/Topology.h +217 -0
- mdir-0.2.1/python/Tunables.h +113 -0
- mdir-0.2.1/python/Units.h +78 -0
- mdir-0.2.1/python/mdir/__init__.py +36 -0
- mdir-0.2.1/python/mdir/_frames.py +481 -0
- mdir-0.2.1/python/mdir/torch.py +422 -0
- mdir-0.2.1/python/pybind11-LICENSE +29 -0
- mdir-0.2.1/runtime/CMakeLists.txt +190 -0
- mdir-0.2.1/runtime/mdrt.c +808 -0
- mdir-0.2.1/runtime/mdrt_cuda.c +2744 -0
- mdir-0.2.1/runtime/mdrt_dist.c +476 -0
- mdir-0.2.1/runtime/mdrt_fft.c +256 -0
- mdir-0.2.1/runtime/mdrt_tuples.h +440 -0
- mdir-0.2.1/scripts/benchmarks/activation/start.py +265 -0
- mdir-0.2.1/scripts/benchmarks/amber/README.md +128 -0
- mdir-0.2.1/scripts/benchmarks/amber/bench.py +791 -0
- mdir-0.2.1/scripts/benchmarks/analysis/tools.py +120 -0
- mdir-0.2.1/scripts/benchmarks/constraints/README.md +148 -0
- mdir-0.2.1/scripts/benchmarks/constraints/bench.py +138 -0
- mdir-0.2.1/scripts/benchmarks/constraints/results/jac-gpu-mixed.json +27 -0
- mdir-0.2.1/scripts/benchmarks/constraints/results/peptide-cpu-double.json +31 -0
- mdir-0.2.1/scripts/benchmarks/constraints/results/synthetic-cpu-double.json +27 -0
- mdir-0.2.1/scripts/benchmarks/constraints/results/synthetic-gpu-mixed.json +31 -0
- mdir-0.2.1/scripts/benchmarks/constraints/schur_update.cu +153 -0
- mdir-0.2.1/scripts/benchmarks/cpu-breakdown/README.md +104 -0
- mdir-0.2.1/scripts/benchmarks/cpu-breakdown/baseline_summary.py +127 -0
- mdir-0.2.1/scripts/benchmarks/cpu-breakdown/bench.py +308 -0
- mdir-0.2.1/scripts/benchmarks/cpu-breakdown/data/README.md +52 -0
- mdir-0.2.1/scripts/benchmarks/cpu-breakdown/data/cpu-baseline-2026-10-22/cellulose-baseline-final.jsonl +36 -0
- mdir-0.2.1/scripts/benchmarks/cpu-breakdown/data/cpu-baseline-2026-10-22/jac-baseline-final.jsonl +36 -0
- mdir-0.2.1/scripts/benchmarks/cpu-breakdown/data/cpu-baseline-2026-10-22/tip3p-103k-baseline-final.jsonl +36 -0
- mdir-0.2.1/scripts/benchmarks/cpu-breakdown/export_results.py +49 -0
- mdir-0.2.1/scripts/benchmarks/cpu-breakdown/pairs.py +33 -0
- mdir-0.2.1/scripts/benchmarks/cpu-breakdown/prof.py +286 -0
- mdir-0.2.1/scripts/benchmarks/cpu-breakdown/sampler.c +233 -0
- mdir-0.2.1/scripts/benchmarks/cpu-breakdown/summarize.py +184 -0
- mdir-0.2.1/scripts/benchmarks/cpu-breakdown/timing.py +25 -0
- mdir-0.2.1/scripts/benchmarks/device-scan/bench.py +70 -0
- mdir-0.2.1/scripts/benchmarks/frames/bench.py +187 -0
- mdir-0.2.1/scripts/benchmarks/fused-prune/steps.py +101 -0
- mdir-0.2.1/scripts/benchmarks/fused-prune/suite.py +68 -0
- mdir-0.2.1/scripts/benchmarks/mdbench/run.py +250 -0
- mdir-0.2.1/scripts/benchmarks/mdbench/structure.py +226 -0
- mdir-0.2.1/scripts/benchmarks/pme-tiles/bench.py +115 -0
- mdir-0.2.1/scripts/benchmarks/pme-tiles/trace.py +35 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/README.md +98 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/accuracy.py +277 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/best.py +27 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/check_cases.py +26 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/compare.py +25 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/cpu_cases.py +206 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/cpu_job.py +144 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/cpu_table.py +276 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/dynamics.py +133 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/esp_bench.cu +804 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/gen_case.py +98 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/grid_sweep.py +200 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/lds_width.py +32 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/make_cases.py +38 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/mdir_job.py +46 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/mk_mdir.py +73 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/p0_case_check.py +32 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/p0_job.py +76 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/p0_table.py +36 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/pair_delta.py +108 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/pair_job.py +185 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/pair_summary.py +180 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/pair_table.py +110 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/perf_cases.py +107 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/proto_all.py +11 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/proto_job.py +43 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/pswf.py +135 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/pswf_reference.py +56 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/resources.py +34 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/run_ref.py +27 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/sweep.py +95 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/table.py +40 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/validate.py +127 -0
- mdir-0.2.1/scripts/benchmarks/prolate-ewald/ws_table.py +24 -0
- mdir-0.2.1/scripts/benchmarks/rolling-prune/diag.py +109 -0
- mdir-0.2.1/scripts/benchmarks/rolling-prune/forces.py +85 -0
- mdir-0.2.1/scripts/benchmarks/rolling-prune/groups.py +32 -0
- mdir-0.2.1/scripts/benchmarks/rolling-prune/steps.py +93 -0
- mdir-0.2.1/scripts/benchmarks/rolling-prune/trigger.py +196 -0
- mdir-0.2.1/scripts/build-hdf5.sh +91 -0
- mdir-0.2.1/scripts/build-llvm.sh +108 -0
- mdir-0.2.1/scripts/build-sanitized.sh +49 -0
- mdir-0.2.1/scripts/builder-equivalence/check.py +435 -0
- mdir-0.2.1/scripts/check-markdown-links.py +205 -0
- mdir-0.2.1/scripts/check-sdist.sh +75 -0
- mdir-0.2.1/scripts/ci/build-image.sh +119 -0
- mdir-0.2.1/scripts/decision-number-anchors.py +135 -0
- mdir-0.2.1/scripts/decision-number.sh +106 -0
- mdir-0.2.1/scripts/decisions-table.py +104 -0
- mdir-0.2.1/scripts/environment.sh +79 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/README.md +185 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/build.cu +630 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/groups.cu +423 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/pairs.cu +645 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/plot.py +140 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/prep.py +52 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/results/2026-09-30-NVIDIA-GeForce-RTX-3090.csv +125 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/results/model.png +0 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/results/pairs.png +0 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/results/reference.csv +13 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/results/scan.csv +26 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/results/scan.png +0 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/results/search.png +0 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/run.sh +39 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/search.cu +237 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/spread.cu +310 -0
- mdir-0.2.1/scripts/experiments/neighbor-structures/supercluster.cu +565 -0
- mdir-0.2.1/scripts/fit-erfc.py +66 -0
- mdir-0.2.1/scripts/free-energy.py +205 -0
- mdir-0.2.1/scripts/generate-dialect-docs.sh +34 -0
- mdir-0.2.1/scripts/generate-groups-gpu-template.py +2758 -0
- mdir-0.2.1/scripts/generate-matrix-images-template.py +320 -0
- mdir-0.2.1/scripts/generate-pme-gpu-template.py +2707 -0
- mdir-0.2.1/scripts/generate-pme-prolate-gpu-template.py +994 -0
- mdir-0.2.1/scripts/mlip/check-model-term.py +107 -0
- mdir-0.2.1/scripts/mlip/check-stages-fd.py +96 -0
- mdir-0.2.1/scripts/mlip/fetch-ml4-artifacts.py +127 -0
- mdir-0.2.1/scripts/mlip/mace-to-metatomic.py +179 -0
- mdir-0.2.1/scripts/mlip/ml4-requirements.in +10 -0
- mdir-0.2.1/scripts/mlip/ml4-requirements.lock +405 -0
- mdir-0.2.1/scripts/mlip/model-sweep.py +251 -0
- mdir-0.2.1/scripts/mlip/nequip-to-aoti.py +148 -0
- mdir-0.2.1/scripts/mlip/nequip-to-metatomic.py +161 -0
- mdir-0.2.1/scripts/mlip/painn-stages.py +793 -0
- mdir-0.2.1/scripts/mlip/painn-to-metatomic.py +201 -0
- mdir-0.2.1/scripts/mlip/requirements.in +8 -0
- mdir-0.2.1/scripts/mlip/requirements.lock +251 -0
- mdir-0.2.1/scripts/mlip/virial-strain.py +107 -0
- mdir-0.2.1/scripts/mlip/water-box.py +238 -0
- mdir-0.2.1/scripts/paper/build-pdf.sh +43 -0
- mdir-0.2.1/scripts/paper/build-references.py +73 -0
- mdir-0.2.1/scripts/paper/check-appendix.sh +20 -0
- mdir-0.2.1/scripts/paper/md-for-latex.py +62 -0
- mdir-0.2.1/scripts/paper/plot-energy.py +57 -0
- mdir-0.2.1/scripts/paper/plot-suite.py +125 -0
- mdir-0.2.1/scripts/paper/run-suite-repeats.sh +95 -0
- mdir-0.2.1/scripts/paper/suite-table.py +250 -0
- mdir-0.2.1/scripts/paper/verify-references.py +112 -0
- mdir-0.2.1/scripts/release/bump.sh +28 -0
- mdir-0.2.1/scripts/release/changelog.py +225 -0
- mdir-0.2.1/scripts/release/check-binary.sh +80 -0
- mdir-0.2.1/scripts/release/check-image.sh +71 -0
- mdir-0.2.1/scripts/release/check-path.sh +135 -0
- mdir-0.2.1/scripts/release/check-wheel-install.sh +133 -0
- mdir-0.2.1/scripts/release/check-wheel.sh +120 -0
- mdir-0.2.1/scripts/release/prepare.sh +33 -0
- mdir-0.2.1/scripts/release/publish.sh +289 -0
- mdir-0.2.1/scripts/release/version-pins.txt +20 -0
- mdir-0.2.1/scripts/render/movie.py +582 -0
- mdir-0.2.1/scripts/render/primitives-figures.sh +15 -0
- mdir-0.2.1/scripts/validation/barostat/effective_energy.py +41 -0
- mdir-0.2.1/scripts/validation/barostat-semi/membrane.py +527 -0
- mdir-0.2.1/scripts/validation/barostat-semi/water.py +155 -0
- mdir-0.2.1/scripts/validation/charmm/run.py +760 -0
- mdir-0.2.1/scripts/validation/charmm/squared-switch.py +57 -0
- mdir-0.2.1/scripts/validation/ensembles/analyze.py +259 -0
- mdir-0.2.1/scripts/validation/ensembles/run.py +273 -0
- mdir-0.2.1/scripts/validation/forces/compare.py +76 -0
- mdir-0.2.1/scripts/validation/forces/run.sh +173 -0
- mdir-0.2.1/scripts/validation/frames/activation.py +267 -0
- mdir-0.2.1/scripts/validation/frames/heap.py +210 -0
- mdir-0.2.1/scripts/validation/frames/precision.py +261 -0
- mdir-0.2.1/scripts/validation/free-energy/compare.py +215 -0
- mdir-0.2.1/scripts/validation/free-energy/decompose.py +149 -0
- mdir-0.2.1/scripts/validation/free-energy/gromacs_ethanol.py +422 -0
- mdir-0.2.1/scripts/validation/free-energy/gromacs_inputs.py +23 -0
- mdir-0.2.1/scripts/validation/free-energy/long_runs.py +150 -0
- mdir-0.2.1/scripts/validation/free-energy/match.py +194 -0
- mdir-0.2.1/scripts/validation/free-energy/openmm_ethanol.py +427 -0
- mdir-0.2.1/scripts/validation/free-energy/permute.py +67 -0
- mdir-0.2.1/scripts/validation/free-energy/run.py +210 -0
- mdir-0.2.1/scripts/validation/free-energy/sets.py +79 -0
- mdir-0.2.1/scripts/validation/gpu-cpu/compare.py +54 -0
- mdir-0.2.1/scripts/validation/gpu-cpu/nvt.py +165 -0
- mdir-0.2.1/scripts/validation/gpu-cpu/run.sh +27 -0
- mdir-0.2.1/scripts/validation/gromacs/compare.py +55 -0
- mdir-0.2.1/scripts/validation/gromacs/mdir.toml.in +30 -0
- mdir-0.2.1/scripts/validation/gromacs/peptide.leap +7 -0
- mdir-0.2.1/scripts/validation/gromacs/run.sh +56 -0
- mdir-0.2.1/scripts/validation/gromacs/single.mdp +21 -0
- mdir-0.2.1/scripts/validation/kinetic-step/analyze.py +128 -0
- mdir-0.2.1/scripts/validation/kinetic-step/run.py +233 -0
- mdir-0.2.1/scripts/validation/nve/run.sh +124 -0
- mdir-0.2.1/scripts/validation/p3m/mesh_numpy.py +213 -0
- mdir-0.2.1/scripts/validation/p3m/sweep.py +65 -0
- mdir-0.2.1/scripts/validation/pressure-step/run.sh +146 -0
- mdir-0.2.1/scripts/validation/protein/run.py +390 -0
- mdir-0.2.1/scripts/validation/suite/density.py +219 -0
- mdir-0.2.1/scripts/validation/suite/run.py +304 -0
- mdir-0.2.1/third_party/pocketfft/LICENSE.md +25 -0
- mdir-0.2.1/third_party/pocketfft/README.md +9 -0
- mdir-0.2.1/third_party/pocketfft/pocketfft.c +2190 -0
- mdir-0.2.1/third_party/pocketfft/pocketfft.h +34 -0
- mdir-0.2.1/third_party/tomlplusplus/LICENSE +16 -0
- mdir-0.2.1/third_party/tomlplusplus/toml.hpp +17748 -0
- mdir-0.2.1/tools/CMakeLists.txt +5 -0
- mdir-0.2.1/tools/mdir/BugReport.cpp +365 -0
- mdir-0.2.1/tools/mdir/CMakeLists.txt +71 -0
- mdir-0.2.1/tools/mdir/Check.cpp +607 -0
- mdir-0.2.1/tools/mdir/Checkpoint.cpp +120 -0
- mdir-0.2.1/tools/mdir/Commands.h +91 -0
- mdir-0.2.1/tools/mdir/Doctor.cpp +300 -0
- mdir-0.2.1/tools/mdir/Manifest.cpp +275 -0
- mdir-0.2.1/tools/mdir/Manifest.h +48 -0
- mdir-0.2.1/tools/mdir/Run.cpp +1738 -0
- mdir-0.2.1/tools/mdir/mdir.cpp +174 -0
- mdir-0.2.1/tools/mdir-opt/CMakeLists.txt +32 -0
- mdir-0.2.1/tools/mdir-opt/mdir-opt.cpp +51 -0
mdir-0.2.1/.dockerignore
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# The build context of packaging/Dockerfile is the source tree only: no
|
|
2
|
+
# repository metadata, build trees, archives, or local notes, so that they
|
|
3
|
+
# neither enlarge the context nor invalidate the layer of MDIR's sources.
|
|
4
|
+
.git
|
|
5
|
+
.github
|
|
6
|
+
.claude
|
|
7
|
+
.codex
|
|
8
|
+
build
|
|
9
|
+
build-*
|
|
10
|
+
**/__pycache__
|
|
11
|
+
*.zip
|
|
12
|
+
*.tar.gz
|
|
13
|
+
*.sif
|
|
14
|
+
docs/diagrams
|
|
15
|
+
docs/paper/out
|
|
16
|
+
notes
|
|
17
|
+
AGENTS.md
|
|
18
|
+
LEADER.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
blank_issues_enabled: true
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Defect
|
|
3
|
+
about: A run that fails, crashes, or gives results that look wrong
|
|
4
|
+
labels: defect
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## What happened
|
|
8
|
+
|
|
9
|
+
<!-- The command, what you expected, and what happened instead. Paste the
|
|
10
|
+
message of the error, or the lines of the log that look wrong. -->
|
|
11
|
+
|
|
12
|
+
## Report
|
|
13
|
+
|
|
14
|
+
<!-- Run the following and attach report.tar.gz. It holds the version, the
|
|
15
|
+
devices, the inputs (with hashes; those over 16 MiB are not copied),
|
|
16
|
+
and the program at each stage. See docs/debugging.md.
|
|
17
|
+
|
|
18
|
+
mdir bug-report run.toml -o report --run
|
|
19
|
+
tar czf report.tar.gz report
|
|
20
|
+
|
|
21
|
+
If the run takes long, leave out --run and paste the log instead. -->
|
|
22
|
+
|
|
23
|
+
## Anything else
|
|
24
|
+
|
|
25
|
+
<!-- Whether it happens on the CPU and the GPU, with double and mixed
|
|
26
|
+
precision, with MDRT_WAIT=1, or under compute-sanitizer. -->
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
name: ci-image
|
|
2
|
+
|
|
3
|
+
# The image of the CPU tier of CI (#611): HDF5, LLVM/MLIR 23.1.2, and the
|
|
4
|
+
# tools of the tests, pushed to ghcr.io/vv137/mdir-ci with the tag
|
|
5
|
+
# `llvm-23.1.2-<hash>`, a hash of packaging/Dockerfile and of the two build
|
|
6
|
+
# scripts, which ci.yml computes the same way. LLVM is built by
|
|
7
|
+
# scripts/build-llvm.sh in up to three parts that share a compile cache
|
|
8
|
+
# (ci-llvm-part.yml), since one hosted job cannot build it in six hours;
|
|
9
|
+
# the image is then the stage `ci-prebuilt` of packaging/Dockerfile over
|
|
10
|
+
# that install (the stage `ci` builds the same image in one go where a
|
|
11
|
+
# machine can). It pushes, so it runs only when the maintainer starts it
|
|
12
|
+
# (workflow_dispatch; the maintainer, 2026-10-26), and builds nothing when
|
|
13
|
+
# the tag is present already.
|
|
14
|
+
on:
|
|
15
|
+
workflow_dispatch:
|
|
16
|
+
|
|
17
|
+
permissions:
|
|
18
|
+
contents: read
|
|
19
|
+
packages: write
|
|
20
|
+
|
|
21
|
+
jobs:
|
|
22
|
+
tag:
|
|
23
|
+
runs-on: ubuntu-latest
|
|
24
|
+
outputs:
|
|
25
|
+
image: ${{ steps.tag.outputs.image }}
|
|
26
|
+
present: ${{ steps.present.outputs.yes }}
|
|
27
|
+
steps:
|
|
28
|
+
- uses: actions/checkout@v4
|
|
29
|
+
- id: tag
|
|
30
|
+
run: |
|
|
31
|
+
hash=$(cat packaging/Dockerfile scripts/build-llvm.sh scripts/build-hdf5.sh | sha256sum | cut -c1-16)
|
|
32
|
+
echo "image=ghcr.io/vv137/mdir-ci:llvm-23.1.2-$hash" >> "$GITHUB_OUTPUT"
|
|
33
|
+
- id: present
|
|
34
|
+
run: |
|
|
35
|
+
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u "${{ github.actor }}" --password-stdin
|
|
36
|
+
if docker manifest inspect "${{ steps.tag.outputs.image }}" > /dev/null 2>&1; then
|
|
37
|
+
echo "yes=true" >> "$GITHUB_OUTPUT"
|
|
38
|
+
fi
|
|
39
|
+
|
|
40
|
+
part1:
|
|
41
|
+
needs: tag
|
|
42
|
+
uses: ./.github/workflows/ci-llvm-part.yml
|
|
43
|
+
with:
|
|
44
|
+
part: 1
|
|
45
|
+
skip: ${{ needs.tag.outputs.present == 'true' }}
|
|
46
|
+
part2:
|
|
47
|
+
needs: [tag, part1]
|
|
48
|
+
uses: ./.github/workflows/ci-llvm-part.yml
|
|
49
|
+
with:
|
|
50
|
+
part: 2
|
|
51
|
+
skip: ${{ needs.tag.outputs.present == 'true' || needs.part1.outputs.done == 'true' }}
|
|
52
|
+
part3:
|
|
53
|
+
needs: [tag, part1, part2]
|
|
54
|
+
uses: ./.github/workflows/ci-llvm-part.yml
|
|
55
|
+
with:
|
|
56
|
+
part: 3
|
|
57
|
+
skip: ${{ needs.tag.outputs.present == 'true' || needs.part1.outputs.done == 'true' || needs.part2.outputs.done == 'true' }}
|
|
58
|
+
|
|
59
|
+
image:
|
|
60
|
+
needs: [tag, part1, part2, part3]
|
|
61
|
+
if: ${{ always() && needs.tag.outputs.present != 'true' && (needs.part1.outputs.done == 'true' || needs.part2.outputs.done == 'true' || needs.part3.outputs.done == 'true') }}
|
|
62
|
+
runs-on: ubuntu-latest
|
|
63
|
+
timeout-minutes: 60
|
|
64
|
+
steps:
|
|
65
|
+
- uses: actions/checkout@v4
|
|
66
|
+
- uses: actions/download-artifact@v4
|
|
67
|
+
with:
|
|
68
|
+
name: llvm-install
|
|
69
|
+
- name: The install of LLVM in the context
|
|
70
|
+
run: mkdir ci-llvm && tar -C ci-llvm -xzf llvm-install.tar.gz && rm llvm-install.tar.gz && du -sh ci-llvm
|
|
71
|
+
- uses: docker/setup-buildx-action@v3
|
|
72
|
+
- name: Login
|
|
73
|
+
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u "${{ github.actor }}" --password-stdin
|
|
74
|
+
- uses: docker/build-push-action@v6
|
|
75
|
+
with:
|
|
76
|
+
context: .
|
|
77
|
+
file: packaging/Dockerfile
|
|
78
|
+
target: ci-prebuilt
|
|
79
|
+
push: true
|
|
80
|
+
tags: ${{ needs.tag.outputs.image }}
|
|
81
|
+
- name: Size
|
|
82
|
+
run: |
|
|
83
|
+
docker pull -q "${{ needs.tag.outputs.image }}"
|
|
84
|
+
docker image inspect "${{ needs.tag.outputs.image }}" --format '{{.Size}}' |
|
|
85
|
+
awk '{printf "image size: %.2f GB\n", $1 / 1e9}' | tee -a "$GITHUB_STEP_SUMMARY"
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
name: ci-llvm-part
|
|
2
|
+
|
|
3
|
+
# One part of the build of LLVM/MLIR 23.1.2 for the image of CI (#611),
|
|
4
|
+
# called by ci-image.yml. A hosted job has 4 cores and six hours, which the
|
|
5
|
+
# whole build exceeds, so each part builds for at most 320 minutes with
|
|
6
|
+
# scripts/build-llvm.sh and keeps its compile cache (ccache) in the Actions
|
|
7
|
+
# cache; the next part takes it and goes on. The part that finishes uploads
|
|
8
|
+
# the install tree.
|
|
9
|
+
on:
|
|
10
|
+
workflow_call:
|
|
11
|
+
inputs:
|
|
12
|
+
part:
|
|
13
|
+
type: number
|
|
14
|
+
required: true
|
|
15
|
+
skip:
|
|
16
|
+
type: boolean
|
|
17
|
+
default: false
|
|
18
|
+
outputs:
|
|
19
|
+
done:
|
|
20
|
+
value: ${{ jobs.build.outputs.done }}
|
|
21
|
+
|
|
22
|
+
jobs:
|
|
23
|
+
build:
|
|
24
|
+
if: ${{ !inputs.skip }}
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
timeout-minutes: 355
|
|
27
|
+
outputs:
|
|
28
|
+
done: ${{ steps.build.outputs.done }}
|
|
29
|
+
steps:
|
|
30
|
+
- uses: actions/checkout@v4
|
|
31
|
+
- name: Disk
|
|
32
|
+
run: |
|
|
33
|
+
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
|
|
34
|
+
df -h /
|
|
35
|
+
- name: Tools
|
|
36
|
+
run: sudo apt-get update -q && sudo apt-get install -y -q ninja-build ccache lld
|
|
37
|
+
- name: Key
|
|
38
|
+
id: key
|
|
39
|
+
run: echo "hash=$(cat packaging/Dockerfile scripts/build-llvm.sh scripts/build-hdf5.sh | sha256sum | cut -c1-16)" >> "$GITHUB_OUTPUT"
|
|
40
|
+
- uses: actions/cache/restore@v4
|
|
41
|
+
with:
|
|
42
|
+
path: ~/.ccache
|
|
43
|
+
key: llvm-ccache-${{ steps.key.outputs.hash }}-${{ github.run_id }}-${{ inputs.part }}
|
|
44
|
+
restore-keys: llvm-ccache-${{ steps.key.outputs.hash }}-
|
|
45
|
+
- name: Build
|
|
46
|
+
id: build
|
|
47
|
+
env:
|
|
48
|
+
CCACHE_DIR: ~/.ccache
|
|
49
|
+
CCACHE_MAXSIZE: 6G
|
|
50
|
+
CCACHE_COMPRESS: "true"
|
|
51
|
+
run: |
|
|
52
|
+
export CCACHE_DIR=$HOME/.ccache
|
|
53
|
+
ccache -z
|
|
54
|
+
start=$(date +%s)
|
|
55
|
+
status=0
|
|
56
|
+
LLVM_ROOT=$HOME/llvm LLVM_PREFIX=$HOME/llvm-install LLVM_VERSION=23.1.2 \
|
|
57
|
+
LLVM_TARGETS="X86;NVPTX" JOBS=4 LINK_JOBS=2 \
|
|
58
|
+
LLVM_EXTRA_CMAKE_ARGS="-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DLLVM_USE_LINKER=lld" \
|
|
59
|
+
timeout 320m scripts/build-llvm.sh || status=$?
|
|
60
|
+
echo "part ${{ inputs.part }}: status $status after $(( $(date +%s) - start )) s" | tee -a "$GITHUB_STEP_SUMMARY"
|
|
61
|
+
ccache -s | tee -a "$GITHUB_STEP_SUMMARY"
|
|
62
|
+
df -h / | tee -a "$GITHUB_STEP_SUMMARY"
|
|
63
|
+
if [ "$status" -eq 0 ]; then
|
|
64
|
+
echo "done=true" >> "$GITHUB_OUTPUT"
|
|
65
|
+
elif [ "$status" -ne 124 ]; then
|
|
66
|
+
exit "$status"
|
|
67
|
+
fi
|
|
68
|
+
- uses: actions/cache/save@v4
|
|
69
|
+
if: always()
|
|
70
|
+
with:
|
|
71
|
+
path: ~/.ccache
|
|
72
|
+
key: llvm-ccache-${{ steps.key.outputs.hash }}-${{ github.run_id }}-${{ inputs.part }}
|
|
73
|
+
- name: Install tree
|
|
74
|
+
if: steps.build.outputs.done == 'true'
|
|
75
|
+
run: tar -C "$HOME/llvm-install" -czf llvm-install.tar.gz .
|
|
76
|
+
- uses: actions/upload-artifact@v4
|
|
77
|
+
if: steps.build.outputs.done == 'true'
|
|
78
|
+
with:
|
|
79
|
+
name: llvm-install
|
|
80
|
+
path: llvm-install.tar.gz
|
|
81
|
+
retention-days: 3
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
name: ci
|
|
2
|
+
|
|
3
|
+
# The CPU tier of CI (#611; docs/workflow.md, Continuous integration), in two
|
|
4
|
+
# tiers:
|
|
5
|
+
#
|
|
6
|
+
# 1. checks, on every push to a pull request and to main: the links, the
|
|
7
|
+
# decision numbers and their table, the changelog fragments, the list of
|
|
8
|
+
# the expected unsupported tests, and the release path. No build;
|
|
9
|
+
# seconds.
|
|
10
|
+
# 2. build, on a pull request that is ready for review (not on a draft) and
|
|
11
|
+
# on main: MDIR built in the image of ci-image.yml, with Python, and its
|
|
12
|
+
# CPU tests (lit, no GPU: the GPU tests are unsupported). The compile
|
|
13
|
+
# cache (ccache) is kept in the Actions cache between runs. It does not
|
|
14
|
+
# block a merge yet; the GPU suite, the sanitizer tier, and the Amber
|
|
15
|
+
# suite still run on the cluster at the train.
|
|
16
|
+
on:
|
|
17
|
+
pull_request:
|
|
18
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
19
|
+
push:
|
|
20
|
+
branches: [main]
|
|
21
|
+
|
|
22
|
+
concurrency:
|
|
23
|
+
group: ci-${{ github.ref }}
|
|
24
|
+
cancel-in-progress: true
|
|
25
|
+
|
|
26
|
+
jobs:
|
|
27
|
+
checks:
|
|
28
|
+
runs-on: ubuntu-latest
|
|
29
|
+
timeout-minutes: 10
|
|
30
|
+
steps:
|
|
31
|
+
- uses: actions/checkout@v4
|
|
32
|
+
- name: Links
|
|
33
|
+
run: python3 scripts/check-markdown-links.py
|
|
34
|
+
- name: Decision numbers and their table
|
|
35
|
+
run: scripts/decision-number.sh check --pending
|
|
36
|
+
- name: Changelog fragments
|
|
37
|
+
run: python3 scripts/release/changelog.py fragments
|
|
38
|
+
- name: The list of the expected unsupported tests
|
|
39
|
+
run: python3 test/mdir_lit.py
|
|
40
|
+
- name: The release path
|
|
41
|
+
run: scripts/release/check-path.sh
|
|
42
|
+
|
|
43
|
+
build:
|
|
44
|
+
if: github.event_name == 'push' || github.event.pull_request.draft == false
|
|
45
|
+
needs: checks
|
|
46
|
+
runs-on: ubuntu-latest
|
|
47
|
+
timeout-minutes: 90
|
|
48
|
+
continue-on-error: true
|
|
49
|
+
# The CPU tests in four shards (the maintainer, 2026-10-26), each a job of
|
|
50
|
+
# its own that builds MDIR from the shared compile cache and runs every
|
|
51
|
+
# fourth test in the lexical order of their names (D344), so
|
|
52
|
+
# that the four together hold every test once. Shard 1 also builds the
|
|
53
|
+
# Python package from its sdist, and alone saves the cache.
|
|
54
|
+
strategy:
|
|
55
|
+
fail-fast: false
|
|
56
|
+
matrix:
|
|
57
|
+
shard: [1, 2, 3, 4]
|
|
58
|
+
steps:
|
|
59
|
+
- uses: actions/checkout@v4
|
|
60
|
+
- name: Image
|
|
61
|
+
id: image
|
|
62
|
+
run: |
|
|
63
|
+
hash=$(cat packaging/Dockerfile scripts/build-llvm.sh scripts/build-hdf5.sh | sha256sum | cut -c1-16)
|
|
64
|
+
echo "name=ghcr.io/vv137/mdir-ci:llvm-23.1.2-$hash" >> "$GITHUB_OUTPUT"
|
|
65
|
+
# Restored and saved apart, so that the cache is kept also when a test
|
|
66
|
+
# fails (the build is what it holds).
|
|
67
|
+
- name: Compile cache
|
|
68
|
+
uses: actions/cache/restore@v4
|
|
69
|
+
with:
|
|
70
|
+
path: .ccache
|
|
71
|
+
key: ccache-shards-${{ steps.image.outputs.name }}-${{ github.sha }}
|
|
72
|
+
restore-keys: ccache-shards-${{ steps.image.outputs.name }}-
|
|
73
|
+
- name: Build and CPU tests, shard ${{ matrix.shard }} of 4
|
|
74
|
+
env:
|
|
75
|
+
SHARD: ${{ matrix.shard }}
|
|
76
|
+
run: |
|
|
77
|
+
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u "${{ github.actor }}" --password-stdin
|
|
78
|
+
docker pull -q "${{ steps.image.outputs.name }}" || {
|
|
79
|
+
echo "::error::no image ${{ steps.image.outputs.name }}; the maintainer builds it (docs/workflow.md)"; exit 1; }
|
|
80
|
+
# As the runner's user, not root: root writes into a directory of
|
|
81
|
+
# mode 555 (checkpoint-write-failure.test), and git refuses a
|
|
82
|
+
# repository that another user owns (the commit of the manifest,
|
|
83
|
+
# script-paths.test).
|
|
84
|
+
docker run --rm --user "$(id -u):$(id -g)" -e HOME=/tmp -e SHARD \
|
|
85
|
+
-v "$PWD":/src -w /src -e CCACHE_DIR=/src/.ccache \
|
|
86
|
+
-e CCACHE_MAXSIZE=2G "${{ steps.image.outputs.name }}" bash -euo pipefail -c '
|
|
87
|
+
start=$(date +%s)
|
|
88
|
+
ccache -z
|
|
89
|
+
cmake -G Ninja -S . -B /tmp/build -DCMAKE_BUILD_TYPE=Release \
|
|
90
|
+
-DLLVM_DIR=/opt/llvm/23.1.2/lib/cmake/llvm \
|
|
91
|
+
-DMLIR_DIR=/opt/llvm/23.1.2/lib/cmake/mlir \
|
|
92
|
+
-DLLVM_EXTERNAL_LIT=$(command -v lit) \
|
|
93
|
+
-DHDF5_ROOT=/opt/hdf5/1.14.6 -DMDIR_ENABLE_CUDA=OFF \
|
|
94
|
+
-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
|
95
|
+
"-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=lld" \
|
|
96
|
+
"-DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=lld" \
|
|
97
|
+
"-DCMAKE_MODULE_LINKER_FLAGS=-fuse-ld=lld" \
|
|
98
|
+
-DMDIR_ENABLE_PYTHON=ON \
|
|
99
|
+
-Dpybind11_DIR=$(python3 -m pybind11 --cmakedir) \
|
|
100
|
+
-DPython_EXECUTABLE=$(command -v python3)
|
|
101
|
+
ninja -C /tmp/build
|
|
102
|
+
built=$(date +%s)
|
|
103
|
+
hits=$(ccache -s | sed -n "s/^ *Hits: *\([0-9]*\) *\/ *\([0-9]*\).*/\1 of \2/p" | head -1)
|
|
104
|
+
echo "shard $SHARD: build $((built - start)) s (ccache hits: ${hits:-none})" > /src/.ci-times
|
|
105
|
+
# The GPU, PyTorch, OpenMM, and h5py are not here: their tests
|
|
106
|
+
# are unsupported, which the list of #608 does not describe.
|
|
107
|
+
status=0
|
|
108
|
+
lit -j 4 -sv -Dexpected_unsupported=off --order=lexical \
|
|
109
|
+
--num-shards=4 --run-shard="$SHARD" /tmp/build/test || status=$?
|
|
110
|
+
end=$(date +%s)
|
|
111
|
+
echo "shard $SHARD: tests $((end - built)) s, lit status $status" >> /src/.ci-times
|
|
112
|
+
# The Python package from its sdist, built and installed as a
|
|
113
|
+
# user does (#624), in shard 1, where the script exists.
|
|
114
|
+
if [ "$SHARD" = 1 ] && [ -x scripts/check-sdist.sh ]; then
|
|
115
|
+
HDF5_LIBRARY_DIR=/opt/hdf5/1.14.6/lib scripts/check-sdist.sh /tmp/sdist \
|
|
116
|
+
cmake.define.LLVM_DIR=/opt/llvm/23.1.2/lib/cmake/llvm \
|
|
117
|
+
cmake.define.MLIR_DIR=/opt/llvm/23.1.2/lib/cmake/mlir \
|
|
118
|
+
cmake.define.HDF5_ROOT=/opt/hdf5/1.14.6 \
|
|
119
|
+
cmake.define.MDIR_ENABLE_CUDA=OFF \
|
|
120
|
+
cmake.define.CMAKE_C_COMPILER_LAUNCHER=ccache \
|
|
121
|
+
cmake.define.CMAKE_CXX_COMPILER_LAUNCHER=ccache || status=1
|
|
122
|
+
echo "shard $SHARD: sdist $(($(date +%s) - end)) s" >> /src/.ci-times
|
|
123
|
+
fi
|
|
124
|
+
exit $status
|
|
125
|
+
'
|
|
126
|
+
- name: Times
|
|
127
|
+
if: always()
|
|
128
|
+
run: cat .ci-times 2>/dev/null | tee -a "$GITHUB_STEP_SUMMARY" || true
|
|
129
|
+
- name: Save the compile cache
|
|
130
|
+
if: always() && matrix.shard == 1
|
|
131
|
+
uses: actions/cache/save@v4
|
|
132
|
+
with:
|
|
133
|
+
path: .ccache
|
|
134
|
+
key: ccache-shards-${{ steps.image.outputs.name }}-${{ github.sha }}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: decisions
|
|
2
|
+
|
|
3
|
+
# On main, the table of docs/decisions.md is that of docs/decisions/, a
|
|
4
|
+
# decision without its number yet has its file there, and every changelog
|
|
5
|
+
# fragment is well formed (#602). Branches write labels, D[<label>], and
|
|
6
|
+
# the merger numbers them after the merge (docs/workflow.md), so a push of
|
|
7
|
+
# a merge carries labels until the commit that numbers them; a tag runs the
|
|
8
|
+
# strict check (release-check.yml).
|
|
9
|
+
on:
|
|
10
|
+
push:
|
|
11
|
+
branches: [main]
|
|
12
|
+
# A change of this workflow runs it on its pull request.
|
|
13
|
+
pull_request:
|
|
14
|
+
paths: ['.github/workflows/decisions.yml']
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
numbers:
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v4
|
|
21
|
+
- run: scripts/decision-number.sh check --pending
|
|
22
|
+
- run: python3 scripts/release/changelog.py fragments
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: release-check
|
|
2
|
+
|
|
3
|
+
# A tag vX.Y.Z must name the version that CMakeLists.txt states, have a dated
|
|
4
|
+
# section in CHANGELOG.md, and leave no decision without its number. The
|
|
5
|
+
# build and the suite run on the maintainer's machine before the tag
|
|
6
|
+
# (scripts/release/publish.sh); there is no GPU here.
|
|
7
|
+
on:
|
|
8
|
+
push:
|
|
9
|
+
tags: ['v*']
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
check:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
- name: Version, changelog, decisions
|
|
17
|
+
run: |
|
|
18
|
+
version=${GITHUB_REF_NAME#v}
|
|
19
|
+
grep -q "project(mdir VERSION $version " CMakeLists.txt
|
|
20
|
+
python3 scripts/release/changelog.py check "$version"
|
|
21
|
+
test -f "docs/release-notes/$GITHUB_REF_NAME.md"
|
|
22
|
+
scripts/decision-number.sh check
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: release-path
|
|
2
|
+
|
|
3
|
+
# The release path on a copy of the tree, on every push to main (#609;
|
|
4
|
+
# docs/workflow.md, Releases): the edits of prepare.sh with the next
|
|
5
|
+
# version, the move of the changelog with its count, the notes of the
|
|
6
|
+
# GitHub Release, their links, and the version pinned in tests or code.
|
|
7
|
+
# No build and no GPU.
|
|
8
|
+
on:
|
|
9
|
+
push:
|
|
10
|
+
branches: [main]
|
|
11
|
+
pull_request:
|
|
12
|
+
paths:
|
|
13
|
+
- 'scripts/release/**'
|
|
14
|
+
- 'CHANGELOG.md'
|
|
15
|
+
- 'changelog.d/**'
|
|
16
|
+
- 'CMakeLists.txt'
|
|
17
|
+
- '.github/workflows/release-path.yml'
|
|
18
|
+
|
|
19
|
+
jobs:
|
|
20
|
+
check:
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v4
|
|
24
|
+
- run: scripts/release/check-path.sh
|