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.
Files changed (901) hide show
  1. mdir-0.2.1/.dockerignore +18 -0
  2. mdir-0.2.1/.github/ISSUE_TEMPLATE/config.yml +1 -0
  3. mdir-0.2.1/.github/ISSUE_TEMPLATE/defect.md +26 -0
  4. mdir-0.2.1/.github/workflows/ci-image.yml +85 -0
  5. mdir-0.2.1/.github/workflows/ci-llvm-part.yml +81 -0
  6. mdir-0.2.1/.github/workflows/ci.yml +134 -0
  7. mdir-0.2.1/.github/workflows/decisions.yml +22 -0
  8. mdir-0.2.1/.github/workflows/release-check.yml +22 -0
  9. mdir-0.2.1/.github/workflows/release-path.yml +24 -0
  10. mdir-0.2.1/.gitignore +9 -0
  11. mdir-0.2.1/CHANGELOG.md +807 -0
  12. mdir-0.2.1/CMakeLists.txt +64 -0
  13. mdir-0.2.1/CONTRIBUTING.md +81 -0
  14. mdir-0.2.1/LICENSE +21 -0
  15. mdir-0.2.1/PKG-INFO +216 -0
  16. mdir-0.2.1/README.md +193 -0
  17. mdir-0.2.1/changelog.d/README.md +25 -0
  18. mdir-0.2.1/cmake/BuildInfo.cmake +53 -0
  19. mdir-0.2.1/docs/ad-robust.md +177 -0
  20. mdir-0.2.1/docs/architecture.md +69 -0
  21. mdir-0.2.1/docs/building.md +266 -0
  22. mdir-0.2.1/docs/charmm.md +310 -0
  23. mdir-0.2.1/docs/compile-cache.md +924 -0
  24. mdir-0.2.1/docs/constraints.md +132 -0
  25. mdir-0.2.1/docs/conventions.md +103 -0
  26. mdir-0.2.1/docs/debugging.md +172 -0
  27. mdir-0.2.1/docs/decisions/D100.md +5 -0
  28. mdir-0.2.1/docs/decisions/D101.md +5 -0
  29. mdir-0.2.1/docs/decisions/D102.md +5 -0
  30. mdir-0.2.1/docs/decisions/D103.md +5 -0
  31. mdir-0.2.1/docs/decisions/D104.md +5 -0
  32. mdir-0.2.1/docs/decisions/D105.md +5 -0
  33. mdir-0.2.1/docs/decisions/D106.md +5 -0
  34. mdir-0.2.1/docs/decisions/D107.md +5 -0
  35. mdir-0.2.1/docs/decisions/D108.md +5 -0
  36. mdir-0.2.1/docs/decisions/D109.md +5 -0
  37. mdir-0.2.1/docs/decisions/D110.md +5 -0
  38. mdir-0.2.1/docs/decisions/D111.md +5 -0
  39. mdir-0.2.1/docs/decisions/D112.md +5 -0
  40. mdir-0.2.1/docs/decisions/D113.md +5 -0
  41. mdir-0.2.1/docs/decisions/D114.md +5 -0
  42. mdir-0.2.1/docs/decisions/D115.md +5 -0
  43. mdir-0.2.1/docs/decisions/D116.md +5 -0
  44. mdir-0.2.1/docs/decisions/D117.md +5 -0
  45. mdir-0.2.1/docs/decisions/D118.md +5 -0
  46. mdir-0.2.1/docs/decisions/D119.md +5 -0
  47. mdir-0.2.1/docs/decisions/D120.md +5 -0
  48. mdir-0.2.1/docs/decisions/D121.md +5 -0
  49. mdir-0.2.1/docs/decisions/D122.md +5 -0
  50. mdir-0.2.1/docs/decisions/D123.md +5 -0
  51. mdir-0.2.1/docs/decisions/D124.md +5 -0
  52. mdir-0.2.1/docs/decisions/D125.md +5 -0
  53. mdir-0.2.1/docs/decisions/D126.md +5 -0
  54. mdir-0.2.1/docs/decisions/D127.md +5 -0
  55. mdir-0.2.1/docs/decisions/D128.md +5 -0
  56. mdir-0.2.1/docs/decisions/D129.md +5 -0
  57. mdir-0.2.1/docs/decisions/D130.md +5 -0
  58. mdir-0.2.1/docs/decisions/D131.md +5 -0
  59. mdir-0.2.1/docs/decisions/D132.md +5 -0
  60. mdir-0.2.1/docs/decisions/D133.md +5 -0
  61. mdir-0.2.1/docs/decisions/D134.md +5 -0
  62. mdir-0.2.1/docs/decisions/D135.md +5 -0
  63. mdir-0.2.1/docs/decisions/D136.md +5 -0
  64. mdir-0.2.1/docs/decisions/D137.md +5 -0
  65. mdir-0.2.1/docs/decisions/D138.md +5 -0
  66. mdir-0.2.1/docs/decisions/D139.md +5 -0
  67. mdir-0.2.1/docs/decisions/D140.md +5 -0
  68. mdir-0.2.1/docs/decisions/D141.md +5 -0
  69. mdir-0.2.1/docs/decisions/D142.md +5 -0
  70. mdir-0.2.1/docs/decisions/D143.md +5 -0
  71. mdir-0.2.1/docs/decisions/D144.md +5 -0
  72. mdir-0.2.1/docs/decisions/D145.md +5 -0
  73. mdir-0.2.1/docs/decisions/D146.md +5 -0
  74. mdir-0.2.1/docs/decisions/D147.md +5 -0
  75. mdir-0.2.1/docs/decisions/D148.md +5 -0
  76. mdir-0.2.1/docs/decisions/D149.md +5 -0
  77. mdir-0.2.1/docs/decisions/D150.md +5 -0
  78. mdir-0.2.1/docs/decisions/D151.md +5 -0
  79. mdir-0.2.1/docs/decisions/D152.md +5 -0
  80. mdir-0.2.1/docs/decisions/D153.md +5 -0
  81. mdir-0.2.1/docs/decisions/D154.md +5 -0
  82. mdir-0.2.1/docs/decisions/D155.md +5 -0
  83. mdir-0.2.1/docs/decisions/D156.md +5 -0
  84. mdir-0.2.1/docs/decisions/D157.md +5 -0
  85. mdir-0.2.1/docs/decisions/D158.md +5 -0
  86. mdir-0.2.1/docs/decisions/D159.md +5 -0
  87. mdir-0.2.1/docs/decisions/D160.md +5 -0
  88. mdir-0.2.1/docs/decisions/D161.md +5 -0
  89. mdir-0.2.1/docs/decisions/D162.md +5 -0
  90. mdir-0.2.1/docs/decisions/D163a.md +5 -0
  91. mdir-0.2.1/docs/decisions/D163b.md +5 -0
  92. mdir-0.2.1/docs/decisions/D163c.md +5 -0
  93. mdir-0.2.1/docs/decisions/D165.md +5 -0
  94. mdir-0.2.1/docs/decisions/D166.md +5 -0
  95. mdir-0.2.1/docs/decisions/D167.md +5 -0
  96. mdir-0.2.1/docs/decisions/D168.md +5 -0
  97. mdir-0.2.1/docs/decisions/D169.md +5 -0
  98. mdir-0.2.1/docs/decisions/D170.md +5 -0
  99. mdir-0.2.1/docs/decisions/D171.md +5 -0
  100. mdir-0.2.1/docs/decisions/D172.md +5 -0
  101. mdir-0.2.1/docs/decisions/D173.md +5 -0
  102. mdir-0.2.1/docs/decisions/D174.md +5 -0
  103. mdir-0.2.1/docs/decisions/D175.md +5 -0
  104. mdir-0.2.1/docs/decisions/D176.md +5 -0
  105. mdir-0.2.1/docs/decisions/D177.md +5 -0
  106. mdir-0.2.1/docs/decisions/D178.md +5 -0
  107. mdir-0.2.1/docs/decisions/D179.md +5 -0
  108. mdir-0.2.1/docs/decisions/D180.md +5 -0
  109. mdir-0.2.1/docs/decisions/D181.md +5 -0
  110. mdir-0.2.1/docs/decisions/D182.md +5 -0
  111. mdir-0.2.1/docs/decisions/D183.md +5 -0
  112. mdir-0.2.1/docs/decisions/D184.md +5 -0
  113. mdir-0.2.1/docs/decisions/D185.md +5 -0
  114. mdir-0.2.1/docs/decisions/D186.md +5 -0
  115. mdir-0.2.1/docs/decisions/D187.md +5 -0
  116. mdir-0.2.1/docs/decisions/D188.md +5 -0
  117. mdir-0.2.1/docs/decisions/D189.md +5 -0
  118. mdir-0.2.1/docs/decisions/D190.md +5 -0
  119. mdir-0.2.1/docs/decisions/D191.md +5 -0
  120. mdir-0.2.1/docs/decisions/D192.md +5 -0
  121. mdir-0.2.1/docs/decisions/D193.md +5 -0
  122. mdir-0.2.1/docs/decisions/D194.md +5 -0
  123. mdir-0.2.1/docs/decisions/D195.md +5 -0
  124. mdir-0.2.1/docs/decisions/D196.md +5 -0
  125. mdir-0.2.1/docs/decisions/D197.md +5 -0
  126. mdir-0.2.1/docs/decisions/D198.md +5 -0
  127. mdir-0.2.1/docs/decisions/D199.md +5 -0
  128. mdir-0.2.1/docs/decisions/D20.md +5 -0
  129. mdir-0.2.1/docs/decisions/D200.md +5 -0
  130. mdir-0.2.1/docs/decisions/D201.md +5 -0
  131. mdir-0.2.1/docs/decisions/D202.md +5 -0
  132. mdir-0.2.1/docs/decisions/D203.md +5 -0
  133. mdir-0.2.1/docs/decisions/D204.md +5 -0
  134. mdir-0.2.1/docs/decisions/D205.md +5 -0
  135. mdir-0.2.1/docs/decisions/D206.md +5 -0
  136. mdir-0.2.1/docs/decisions/D207.md +5 -0
  137. mdir-0.2.1/docs/decisions/D208.md +5 -0
  138. mdir-0.2.1/docs/decisions/D209.md +5 -0
  139. mdir-0.2.1/docs/decisions/D21.md +5 -0
  140. mdir-0.2.1/docs/decisions/D210.md +5 -0
  141. mdir-0.2.1/docs/decisions/D211.md +5 -0
  142. mdir-0.2.1/docs/decisions/D212.md +5 -0
  143. mdir-0.2.1/docs/decisions/D213.md +5 -0
  144. mdir-0.2.1/docs/decisions/D214.md +5 -0
  145. mdir-0.2.1/docs/decisions/D215.md +5 -0
  146. mdir-0.2.1/docs/decisions/D216.md +5 -0
  147. mdir-0.2.1/docs/decisions/D217.md +5 -0
  148. mdir-0.2.1/docs/decisions/D218.md +5 -0
  149. mdir-0.2.1/docs/decisions/D219.md +5 -0
  150. mdir-0.2.1/docs/decisions/D22.md +5 -0
  151. mdir-0.2.1/docs/decisions/D220.md +5 -0
  152. mdir-0.2.1/docs/decisions/D221.md +5 -0
  153. mdir-0.2.1/docs/decisions/D222.md +5 -0
  154. mdir-0.2.1/docs/decisions/D223.md +5 -0
  155. mdir-0.2.1/docs/decisions/D224.md +5 -0
  156. mdir-0.2.1/docs/decisions/D225.md +5 -0
  157. mdir-0.2.1/docs/decisions/D226.md +5 -0
  158. mdir-0.2.1/docs/decisions/D227.md +5 -0
  159. mdir-0.2.1/docs/decisions/D228.md +5 -0
  160. mdir-0.2.1/docs/decisions/D229.md +5 -0
  161. mdir-0.2.1/docs/decisions/D23.md +5 -0
  162. mdir-0.2.1/docs/decisions/D230.md +5 -0
  163. mdir-0.2.1/docs/decisions/D231.md +5 -0
  164. mdir-0.2.1/docs/decisions/D232.md +5 -0
  165. mdir-0.2.1/docs/decisions/D233.md +5 -0
  166. mdir-0.2.1/docs/decisions/D234.md +5 -0
  167. mdir-0.2.1/docs/decisions/D235.md +5 -0
  168. mdir-0.2.1/docs/decisions/D236.md +5 -0
  169. mdir-0.2.1/docs/decisions/D237.md +5 -0
  170. mdir-0.2.1/docs/decisions/D238.md +5 -0
  171. mdir-0.2.1/docs/decisions/D239.md +5 -0
  172. mdir-0.2.1/docs/decisions/D24.md +5 -0
  173. mdir-0.2.1/docs/decisions/D240.md +5 -0
  174. mdir-0.2.1/docs/decisions/D241.md +5 -0
  175. mdir-0.2.1/docs/decisions/D242.md +5 -0
  176. mdir-0.2.1/docs/decisions/D243.md +5 -0
  177. mdir-0.2.1/docs/decisions/D244.md +5 -0
  178. mdir-0.2.1/docs/decisions/D245.md +5 -0
  179. mdir-0.2.1/docs/decisions/D246.md +5 -0
  180. mdir-0.2.1/docs/decisions/D247.md +5 -0
  181. mdir-0.2.1/docs/decisions/D248.md +5 -0
  182. mdir-0.2.1/docs/decisions/D249.md +5 -0
  183. mdir-0.2.1/docs/decisions/D25.md +5 -0
  184. mdir-0.2.1/docs/decisions/D250.md +5 -0
  185. mdir-0.2.1/docs/decisions/D251.md +5 -0
  186. mdir-0.2.1/docs/decisions/D252.md +5 -0
  187. mdir-0.2.1/docs/decisions/D253.md +5 -0
  188. mdir-0.2.1/docs/decisions/D254.md +5 -0
  189. mdir-0.2.1/docs/decisions/D255.md +5 -0
  190. mdir-0.2.1/docs/decisions/D256.md +5 -0
  191. mdir-0.2.1/docs/decisions/D257.md +5 -0
  192. mdir-0.2.1/docs/decisions/D258.md +5 -0
  193. mdir-0.2.1/docs/decisions/D259.md +5 -0
  194. mdir-0.2.1/docs/decisions/D26.md +5 -0
  195. mdir-0.2.1/docs/decisions/D260.md +5 -0
  196. mdir-0.2.1/docs/decisions/D261.md +5 -0
  197. mdir-0.2.1/docs/decisions/D262.md +5 -0
  198. mdir-0.2.1/docs/decisions/D263.md +5 -0
  199. mdir-0.2.1/docs/decisions/D264.md +5 -0
  200. mdir-0.2.1/docs/decisions/D265.md +5 -0
  201. mdir-0.2.1/docs/decisions/D266.md +5 -0
  202. mdir-0.2.1/docs/decisions/D267.md +5 -0
  203. mdir-0.2.1/docs/decisions/D268.md +5 -0
  204. mdir-0.2.1/docs/decisions/D269.md +5 -0
  205. mdir-0.2.1/docs/decisions/D27.md +5 -0
  206. mdir-0.2.1/docs/decisions/D270.md +5 -0
  207. mdir-0.2.1/docs/decisions/D271.md +5 -0
  208. mdir-0.2.1/docs/decisions/D272.md +5 -0
  209. mdir-0.2.1/docs/decisions/D273.md +5 -0
  210. mdir-0.2.1/docs/decisions/D274.md +5 -0
  211. mdir-0.2.1/docs/decisions/D275.md +5 -0
  212. mdir-0.2.1/docs/decisions/D276.md +5 -0
  213. mdir-0.2.1/docs/decisions/D277.md +5 -0
  214. mdir-0.2.1/docs/decisions/D278.md +5 -0
  215. mdir-0.2.1/docs/decisions/D279.md +5 -0
  216. mdir-0.2.1/docs/decisions/D28.md +5 -0
  217. mdir-0.2.1/docs/decisions/D280.md +5 -0
  218. mdir-0.2.1/docs/decisions/D281.md +5 -0
  219. mdir-0.2.1/docs/decisions/D282.md +5 -0
  220. mdir-0.2.1/docs/decisions/D283.md +5 -0
  221. mdir-0.2.1/docs/decisions/D284.md +5 -0
  222. mdir-0.2.1/docs/decisions/D285.md +5 -0
  223. mdir-0.2.1/docs/decisions/D286.md +5 -0
  224. mdir-0.2.1/docs/decisions/D287.md +5 -0
  225. mdir-0.2.1/docs/decisions/D288.md +5 -0
  226. mdir-0.2.1/docs/decisions/D289.md +5 -0
  227. mdir-0.2.1/docs/decisions/D29.md +5 -0
  228. mdir-0.2.1/docs/decisions/D290.md +5 -0
  229. mdir-0.2.1/docs/decisions/D291.md +5 -0
  230. mdir-0.2.1/docs/decisions/D292.md +5 -0
  231. mdir-0.2.1/docs/decisions/D293.md +5 -0
  232. mdir-0.2.1/docs/decisions/D294.md +5 -0
  233. mdir-0.2.1/docs/decisions/D295.md +5 -0
  234. mdir-0.2.1/docs/decisions/D296.md +5 -0
  235. mdir-0.2.1/docs/decisions/D297.md +5 -0
  236. mdir-0.2.1/docs/decisions/D298.md +5 -0
  237. mdir-0.2.1/docs/decisions/D299.md +5 -0
  238. mdir-0.2.1/docs/decisions/D30.md +5 -0
  239. mdir-0.2.1/docs/decisions/D300.md +5 -0
  240. mdir-0.2.1/docs/decisions/D301.md +5 -0
  241. mdir-0.2.1/docs/decisions/D302.md +5 -0
  242. mdir-0.2.1/docs/decisions/D303.md +5 -0
  243. mdir-0.2.1/docs/decisions/D304.md +5 -0
  244. mdir-0.2.1/docs/decisions/D305.md +5 -0
  245. mdir-0.2.1/docs/decisions/D306.md +5 -0
  246. mdir-0.2.1/docs/decisions/D307.md +5 -0
  247. mdir-0.2.1/docs/decisions/D308.md +5 -0
  248. mdir-0.2.1/docs/decisions/D309.md +5 -0
  249. mdir-0.2.1/docs/decisions/D31.md +5 -0
  250. mdir-0.2.1/docs/decisions/D310.md +5 -0
  251. mdir-0.2.1/docs/decisions/D311.md +5 -0
  252. mdir-0.2.1/docs/decisions/D312.md +5 -0
  253. mdir-0.2.1/docs/decisions/D313.md +5 -0
  254. mdir-0.2.1/docs/decisions/D314.md +5 -0
  255. mdir-0.2.1/docs/decisions/D315.md +5 -0
  256. mdir-0.2.1/docs/decisions/D316.md +5 -0
  257. mdir-0.2.1/docs/decisions/D317.md +5 -0
  258. mdir-0.2.1/docs/decisions/D318.md +5 -0
  259. mdir-0.2.1/docs/decisions/D319.md +5 -0
  260. mdir-0.2.1/docs/decisions/D32.md +5 -0
  261. mdir-0.2.1/docs/decisions/D320.md +5 -0
  262. mdir-0.2.1/docs/decisions/D321.md +5 -0
  263. mdir-0.2.1/docs/decisions/D322.md +5 -0
  264. mdir-0.2.1/docs/decisions/D323.md +5 -0
  265. mdir-0.2.1/docs/decisions/D324.md +5 -0
  266. mdir-0.2.1/docs/decisions/D325.md +5 -0
  267. mdir-0.2.1/docs/decisions/D326.md +5 -0
  268. mdir-0.2.1/docs/decisions/D327.md +5 -0
  269. mdir-0.2.1/docs/decisions/D328.md +5 -0
  270. mdir-0.2.1/docs/decisions/D329.md +5 -0
  271. mdir-0.2.1/docs/decisions/D33.md +5 -0
  272. mdir-0.2.1/docs/decisions/D330.md +5 -0
  273. mdir-0.2.1/docs/decisions/D331.md +5 -0
  274. mdir-0.2.1/docs/decisions/D332.md +5 -0
  275. mdir-0.2.1/docs/decisions/D333.md +5 -0
  276. mdir-0.2.1/docs/decisions/D334.md +5 -0
  277. mdir-0.2.1/docs/decisions/D335.md +5 -0
  278. mdir-0.2.1/docs/decisions/D336.md +5 -0
  279. mdir-0.2.1/docs/decisions/D337.md +5 -0
  280. mdir-0.2.1/docs/decisions/D338.md +5 -0
  281. mdir-0.2.1/docs/decisions/D339.md +5 -0
  282. mdir-0.2.1/docs/decisions/D34.md +5 -0
  283. mdir-0.2.1/docs/decisions/D340.md +5 -0
  284. mdir-0.2.1/docs/decisions/D341.md +5 -0
  285. mdir-0.2.1/docs/decisions/D342.md +5 -0
  286. mdir-0.2.1/docs/decisions/D343.md +5 -0
  287. mdir-0.2.1/docs/decisions/D344.md +5 -0
  288. mdir-0.2.1/docs/decisions/D345.md +5 -0
  289. mdir-0.2.1/docs/decisions/D346.md +27 -0
  290. mdir-0.2.1/docs/decisions/D347.md +59 -0
  291. mdir-0.2.1/docs/decisions/D348.md +43 -0
  292. mdir-0.2.1/docs/decisions/D349.md +5 -0
  293. mdir-0.2.1/docs/decisions/D35.md +5 -0
  294. mdir-0.2.1/docs/decisions/D350.md +16 -0
  295. mdir-0.2.1/docs/decisions/D351.md +5 -0
  296. mdir-0.2.1/docs/decisions/D36.md +5 -0
  297. mdir-0.2.1/docs/decisions/D37.md +5 -0
  298. mdir-0.2.1/docs/decisions/D38.md +5 -0
  299. mdir-0.2.1/docs/decisions/D39.md +5 -0
  300. mdir-0.2.1/docs/decisions/D40.md +5 -0
  301. mdir-0.2.1/docs/decisions/D41.md +5 -0
  302. mdir-0.2.1/docs/decisions/D42.md +5 -0
  303. mdir-0.2.1/docs/decisions/D43.md +5 -0
  304. mdir-0.2.1/docs/decisions/D44.md +5 -0
  305. mdir-0.2.1/docs/decisions/D45.md +5 -0
  306. mdir-0.2.1/docs/decisions/D46.md +5 -0
  307. mdir-0.2.1/docs/decisions/D47.md +5 -0
  308. mdir-0.2.1/docs/decisions/D48.md +5 -0
  309. mdir-0.2.1/docs/decisions/D49.md +5 -0
  310. mdir-0.2.1/docs/decisions/D50.md +5 -0
  311. mdir-0.2.1/docs/decisions/D51.md +5 -0
  312. mdir-0.2.1/docs/decisions/D52.md +5 -0
  313. mdir-0.2.1/docs/decisions/D53.md +5 -0
  314. mdir-0.2.1/docs/decisions/D54.md +5 -0
  315. mdir-0.2.1/docs/decisions/D55.md +5 -0
  316. mdir-0.2.1/docs/decisions/D56.md +5 -0
  317. mdir-0.2.1/docs/decisions/D57.md +5 -0
  318. mdir-0.2.1/docs/decisions/D58.md +5 -0
  319. mdir-0.2.1/docs/decisions/D59.md +5 -0
  320. mdir-0.2.1/docs/decisions/D60.md +5 -0
  321. mdir-0.2.1/docs/decisions/D61.md +5 -0
  322. mdir-0.2.1/docs/decisions/D62.md +5 -0
  323. mdir-0.2.1/docs/decisions/D63.md +5 -0
  324. mdir-0.2.1/docs/decisions/D64.md +5 -0
  325. mdir-0.2.1/docs/decisions/D65.md +5 -0
  326. mdir-0.2.1/docs/decisions/D66.md +5 -0
  327. mdir-0.2.1/docs/decisions/D67.md +5 -0
  328. mdir-0.2.1/docs/decisions/D68.md +5 -0
  329. mdir-0.2.1/docs/decisions/D69.md +5 -0
  330. mdir-0.2.1/docs/decisions/D70.md +5 -0
  331. mdir-0.2.1/docs/decisions/D71.md +5 -0
  332. mdir-0.2.1/docs/decisions/D72.md +5 -0
  333. mdir-0.2.1/docs/decisions/D73.md +5 -0
  334. mdir-0.2.1/docs/decisions/D74.md +5 -0
  335. mdir-0.2.1/docs/decisions/D75.md +5 -0
  336. mdir-0.2.1/docs/decisions/D76.md +5 -0
  337. mdir-0.2.1/docs/decisions/D77.md +5 -0
  338. mdir-0.2.1/docs/decisions/D78.md +5 -0
  339. mdir-0.2.1/docs/decisions/D79.md +5 -0
  340. mdir-0.2.1/docs/decisions/D80.md +5 -0
  341. mdir-0.2.1/docs/decisions/D81.md +5 -0
  342. mdir-0.2.1/docs/decisions/D82.md +5 -0
  343. mdir-0.2.1/docs/decisions/D83.md +5 -0
  344. mdir-0.2.1/docs/decisions/D84.md +5 -0
  345. mdir-0.2.1/docs/decisions/D85.md +5 -0
  346. mdir-0.2.1/docs/decisions/D86.md +5 -0
  347. mdir-0.2.1/docs/decisions/D87.md +5 -0
  348. mdir-0.2.1/docs/decisions/D88.md +5 -0
  349. mdir-0.2.1/docs/decisions/D89.md +5 -0
  350. mdir-0.2.1/docs/decisions/D90.md +5 -0
  351. mdir-0.2.1/docs/decisions/D91.md +5 -0
  352. mdir-0.2.1/docs/decisions/D92.md +5 -0
  353. mdir-0.2.1/docs/decisions/D93.md +5 -0
  354. mdir-0.2.1/docs/decisions/D94.md +5 -0
  355. mdir-0.2.1/docs/decisions/D95.md +5 -0
  356. mdir-0.2.1/docs/decisions/D96.md +5 -0
  357. mdir-0.2.1/docs/decisions/D97.md +5 -0
  358. mdir-0.2.1/docs/decisions/D98.md +5 -0
  359. mdir-0.2.1/docs/decisions/D99.md +5 -0
  360. mdir-0.2.1/docs/decisions.md +783 -0
  361. mdir-0.2.1/docs/design-review.md +317 -0
  362. mdir-0.2.1/docs/device-primitives.md +1244 -0
  363. mdir-0.2.1/docs/device-tuples.md +518 -0
  364. mdir-0.2.1/docs/dialects/dyn.md +299 -0
  365. mdir-0.2.1/docs/dialects/md.md +1689 -0
  366. mdir-0.2.1/docs/dialects/md_dist.md +1130 -0
  367. mdir-0.2.1/docs/dialects/md_exec.md +2179 -0
  368. mdir-0.2.1/docs/dialects/mdrt.md +531 -0
  369. mdir-0.2.1/docs/distributed-ml2.md +1396 -0
  370. mdir-0.2.1/docs/driver.md +1136 -0
  371. mdir-0.2.1/docs/dynamics.md +831 -0
  372. mdir-0.2.1/docs/environment.md +156 -0
  373. mdir-0.2.1/docs/execution-contracts.md +468 -0
  374. mdir-0.2.1/docs/figures/primitives/transpose-pairs.dot +45 -0
  375. mdir-0.2.1/docs/figures/primitives/transpose-pairs.svg +199 -0
  376. mdir-0.2.1/docs/future-architecture-plan.md +1138 -0
  377. mdir-0.2.1/docs/jit-invariants.md +781 -0
  378. mdir-0.2.1/docs/metatomic-ml1.md +1462 -0
  379. mdir-0.2.1/docs/ml4-baselines.md +275 -0
  380. mdir-0.2.1/docs/ml4-ir.md +1069 -0
  381. mdir-0.2.1/docs/neighbor-groups.md +667 -0
  382. mdir-0.2.1/docs/neighbor-tiles.md +374 -0
  383. mdir-0.2.1/docs/neighbors.md +669 -0
  384. mdir-0.2.1/docs/nonbonded.md +123 -0
  385. mdir-0.2.1/docs/ops.md +2003 -0
  386. mdir-0.2.1/docs/overview.md +423 -0
  387. mdir-0.2.1/docs/pme-semantic-transform.md +75 -0
  388. mdir-0.2.1/docs/pme.md +1270 -0
  389. mdir-0.2.1/docs/primitives-map.md +432 -0
  390. mdir-0.2.1/docs/principles.md +246 -0
  391. mdir-0.2.1/docs/prior-art.md +146 -0
  392. mdir-0.2.1/docs/python-arrays.md +64 -0
  393. mdir-0.2.1/docs/python-checkpoints.md +325 -0
  394. mdir-0.2.1/docs/python-compile.md +211 -0
  395. mdir-0.2.1/docs/python-dlpack.md +791 -0
  396. mdir-0.2.1/docs/python-frames.md +1838 -0
  397. mdir-0.2.1/docs/python-gradient.md +541 -0
  398. mdir-0.2.1/docs/python-h5md.md +430 -0
  399. mdir-0.2.1/docs/python-minimize.md +212 -0
  400. mdir-0.2.1/docs/python-model.md +644 -0
  401. mdir-0.2.1/docs/python-observe.md +233 -0
  402. mdir-0.2.1/docs/python-package.md +263 -0
  403. mdir-0.2.1/docs/python-reporters.md +184 -0
  404. mdir-0.2.1/docs/python-segments.md +895 -0
  405. mdir-0.2.1/docs/python-topology.md +201 -0
  406. mdir-0.2.1/docs/python-tunable.md +485 -0
  407. mdir-0.2.1/docs/python-units.md +139 -0
  408. mdir-0.2.1/docs/python-velocities-restraints.md +193 -0
  409. mdir-0.2.1/docs/python.md +335 -0
  410. mdir-0.2.1/docs/references.md +1647 -0
  411. mdir-0.2.1/docs/release-notes/v0.1.0.md +111 -0
  412. mdir-0.2.1/docs/release-notes/v0.2.0.md +146 -0
  413. mdir-0.2.1/docs/release-notes/v0.2.1.md +90 -0
  414. mdir-0.2.1/docs/roadmap.md +273 -0
  415. mdir-0.2.1/docs/run-manifest.schema.json +514 -0
  416. mdir-0.2.1/docs/runtime.md +287 -0
  417. mdir-0.2.1/docs/triclinic.md +302 -0
  418. mdir-0.2.1/docs/tuples.md +404 -0
  419. mdir-0.2.1/docs/validation.md +339 -0
  420. mdir-0.2.1/docs/workflow.md +574 -0
  421. mdir-0.2.1/examples/ala3/1-min.toml +35 -0
  422. mdir-0.2.1/examples/ala3/2-nvt.toml +48 -0
  423. mdir-0.2.1/examples/ala3/3-npt.toml +52 -0
  424. mdir-0.2.1/examples/ala3/4-md.toml +50 -0
  425. mdir-0.2.1/examples/ala3/README.md +69 -0
  426. mdir-0.2.1/examples/ala3/ala3.inpcrd +2456 -0
  427. mdir-0.2.1/examples/ala3/ala3.leap +10 -0
  428. mdir-0.2.1/examples/ala3/ala3.prmtop +10111 -0
  429. mdir-0.2.1/examples/ala3/render.py +162 -0
  430. mdir-0.2.1/examples/ala3/run.py +219 -0
  431. mdir-0.2.1/examples/ala3/run.sh +20 -0
  432. mdir-0.2.1/examples/argon/argon.mlir +280 -0
  433. mdir-0.2.1/examples/argon/argon.pdb +867 -0
  434. mdir-0.2.1/examples/argon/argon.toml +52 -0
  435. mdir-0.2.1/examples/argon/run.sh +66 -0
  436. mdir-0.2.1/examples/popc-bilayer/1-min.toml +42 -0
  437. mdir-0.2.1/examples/popc-bilayer/2-nvt.toml +55 -0
  438. mdir-0.2.1/examples/popc-bilayer/3-npt.toml +64 -0
  439. mdir-0.2.1/examples/popc-bilayer/4-md.toml +58 -0
  440. mdir-0.2.1/examples/popc-bilayer/README.md +59 -0
  441. mdir-0.2.1/examples/popc-bilayer/area.py +79 -0
  442. mdir-0.2.1/examples/popc-bilayer/build.sh +23 -0
  443. mdir-0.2.1/examples/popc-bilayer/popc.leap +10 -0
  444. mdir-0.2.1/examples/popc-bilayer/run.sh +28 -0
  445. mdir-0.2.1/examples/ubiquitin/1-min.toml +38 -0
  446. mdir-0.2.1/examples/ubiquitin/1ubq-protein.pdb +605 -0
  447. mdir-0.2.1/examples/ubiquitin/2-nvt.toml +53 -0
  448. mdir-0.2.1/examples/ubiquitin/3-npt.toml +58 -0
  449. mdir-0.2.1/examples/ubiquitin/4-md.toml +56 -0
  450. mdir-0.2.1/examples/ubiquitin/README.md +53 -0
  451. mdir-0.2.1/examples/ubiquitin/run.sh +28 -0
  452. mdir-0.2.1/examples/ubiquitin/ubq.leap +11 -0
  453. mdir-0.2.1/include/CMakeLists.txt +22 -0
  454. mdir-0.2.1/include/mdir/Analysis/EffectSummary.h +48 -0
  455. mdir-0.2.1/include/mdir/Compiler/Compile.h +123 -0
  456. mdir-0.2.1/include/mdir/Compiler/CompileCache.h +284 -0
  457. mdir-0.2.1/include/mdir/Compiler/Simulation.h +739 -0
  458. mdir-0.2.1/include/mdir/Compiler/Skins.h +78 -0
  459. mdir-0.2.1/include/mdir/Conversion/CMakeLists.txt +3 -0
  460. mdir-0.2.1/include/mdir/Conversion/CompactionEmitter.h +204 -0
  461. mdir-0.2.1/include/mdir/Conversion/GPUToBinary.h +38 -0
  462. mdir-0.2.1/include/mdir/Conversion/GatherEmitter.h +34 -0
  463. mdir-0.2.1/include/mdir/Conversion/MDExecKernels.h +391 -0
  464. mdir-0.2.1/include/mdir/Conversion/Passes.h +57 -0
  465. mdir-0.2.1/include/mdir/Conversion/Passes.td +647 -0
  466. mdir-0.2.1/include/mdir/Conversion/RaggedRows.h +91 -0
  467. mdir-0.2.1/include/mdir/Conversion/ReductionEmitter.h +74 -0
  468. mdir-0.2.1/include/mdir/Conversion/ScatterEmitter.h +114 -0
  469. mdir-0.2.1/include/mdir/Dialect/Dyn/CMakeLists.txt +6 -0
  470. mdir-0.2.1/include/mdir/Dialect/Dyn/DynDialect.h +13 -0
  471. mdir-0.2.1/include/mdir/Dialect/Dyn/DynDialect.td +29 -0
  472. mdir-0.2.1/include/mdir/Dialect/Dyn/DynOps.h +20 -0
  473. mdir-0.2.1/include/mdir/Dialect/Dyn/DynOps.td +184 -0
  474. mdir-0.2.1/include/mdir/Dialect/MD/CMakeLists.txt +10 -0
  475. mdir-0.2.1/include/mdir/Dialect/MD/MDCoordinates.h +97 -0
  476. mdir-0.2.1/include/mdir/Dialect/MD/MDDialect.h +11 -0
  477. mdir-0.2.1/include/mdir/Dialect/MD/MDDialect.td +38 -0
  478. mdir-0.2.1/include/mdir/Dialect/MD/MDEnums.h +12 -0
  479. mdir-0.2.1/include/mdir/Dialect/MD/MDEnums.td +75 -0
  480. mdir-0.2.1/include/mdir/Dialect/MD/MDExchange.h +24 -0
  481. mdir-0.2.1/include/mdir/Dialect/MD/MDOps.h +53 -0
  482. mdir-0.2.1/include/mdir/Dialect/MD/MDOps.td +1063 -0
  483. mdir-0.2.1/include/mdir/Dialect/MD/MDTypes.h +30 -0
  484. mdir-0.2.1/include/mdir/Dialect/MD/MDTypes.td +185 -0
  485. mdir-0.2.1/include/mdir/Dialect/MD/Transforms/Activity.h +26 -0
  486. mdir-0.2.1/include/mdir/Dialect/MD/Transforms/AdjointInterface.h +54 -0
  487. mdir-0.2.1/include/mdir/Dialect/MD/Transforms/AdjointInterface.td +91 -0
  488. mdir-0.2.1/include/mdir/Dialect/MD/Transforms/CMakeLists.txt +13 -0
  489. mdir-0.2.1/include/mdir/Dialect/MD/Transforms/DerivativeInterface.h +14 -0
  490. mdir-0.2.1/include/mdir/Dialect/MD/Transforms/DerivativeInterface.td +39 -0
  491. mdir-0.2.1/include/mdir/Dialect/MD/Transforms/Passes.h +38 -0
  492. mdir-0.2.1/include/mdir/Dialect/MD/Transforms/Passes.td +213 -0
  493. mdir-0.2.1/include/mdir/Dialect/MD/Transforms/ScalarDerivative.h +89 -0
  494. mdir-0.2.1/include/mdir/Dialect/MD/Transforms/Truncation.h +18 -0
  495. mdir-0.2.1/include/mdir/Dialect/MDDist/CMakeLists.txt +14 -0
  496. mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistDialect.h +13 -0
  497. mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistDialect.td +38 -0
  498. mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistEnums.td +28 -0
  499. mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistOps.h +105 -0
  500. mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistOps.td +587 -0
  501. mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistTypes.h +16 -0
  502. mdir-0.2.1/include/mdir/Dialect/MDDist/MDDistTypes.td +128 -0
  503. mdir-0.2.1/include/mdir/Dialect/MDExec/Algebra.h +125 -0
  504. mdir-0.2.1/include/mdir/Dialect/MDExec/CMakeLists.txt +21 -0
  505. mdir-0.2.1/include/mdir/Dialect/MDExec/Independence.h +91 -0
  506. mdir-0.2.1/include/mdir/Dialect/MDExec/LoopEffects.h +33 -0
  507. mdir-0.2.1/include/mdir/Dialect/MDExec/LoopEffects.td +15 -0
  508. mdir-0.2.1/include/mdir/Dialect/MDExec/MDExecAttrs.td +129 -0
  509. mdir-0.2.1/include/mdir/Dialect/MDExec/MDExecDialect.h +14 -0
  510. mdir-0.2.1/include/mdir/Dialect/MDExec/MDExecDialect.td +50 -0
  511. mdir-0.2.1/include/mdir/Dialect/MDExec/MDExecEnums.td +122 -0
  512. mdir-0.2.1/include/mdir/Dialect/MDExec/MDExecOps.h +74 -0
  513. mdir-0.2.1/include/mdir/Dialect/MDExec/MDExecOps.td +1594 -0
  514. mdir-0.2.1/include/mdir/Dialect/MDExec/Scatter.h +114 -0
  515. mdir-0.2.1/include/mdir/Dialect/MDExec/StorageSet.h +39 -0
  516. mdir-0.2.1/include/mdir/Dialect/MDExec/Transforms/CMakeLists.txt +3 -0
  517. mdir-0.2.1/include/mdir/Dialect/MDExec/Transforms/Passes.h +41 -0
  518. mdir-0.2.1/include/mdir/Dialect/MDExec/Transforms/Passes.td +899 -0
  519. mdir-0.2.1/include/mdir/Dialect/MDExec/Transforms/Radial.h +42 -0
  520. mdir-0.2.1/include/mdir/Dialect/MDRT/CMakeLists.txt +8 -0
  521. mdir-0.2.1/include/mdir/Dialect/MDRT/MDRTDialect.h +13 -0
  522. mdir-0.2.1/include/mdir/Dialect/MDRT/MDRTDialect.td +40 -0
  523. mdir-0.2.1/include/mdir/Dialect/MDRT/MDRTOps.h +78 -0
  524. mdir-0.2.1/include/mdir/Dialect/MDRT/MDRTOps.td +225 -0
  525. mdir-0.2.1/include/mdir/Dialect/MDRT/MDRTTypes.h +12 -0
  526. mdir-0.2.1/include/mdir/Dialect/MDRT/MDRTTypes.td +90 -0
  527. mdir-0.2.1/include/mdir/Driver/Builder.h +453 -0
  528. mdir-0.2.1/include/mdir/Driver/Cell.h +54 -0
  529. mdir-0.2.1/include/mdir/Driver/Checkpoint.h +176 -0
  530. mdir-0.2.1/include/mdir/Driver/Control.h +745 -0
  531. mdir-0.2.1/include/mdir/Driver/Expression.h +153 -0
  532. mdir-0.2.1/include/mdir/Driver/Fingerprint.h +67 -0
  533. mdir-0.2.1/include/mdir/Driver/H5MD.h +166 -0
  534. mdir-0.2.1/include/mdir/Driver/HDF5.h +27 -0
  535. mdir-0.2.1/include/mdir/Driver/Influence.h +129 -0
  536. mdir-0.2.1/include/mdir/Driver/Model.h +391 -0
  537. mdir-0.2.1/include/mdir/Driver/ModelTerm.h +147 -0
  538. mdir-0.2.1/include/mdir/Driver/NeighborCount.h +36 -0
  539. mdir-0.2.1/include/mdir/Driver/Output.h +619 -0
  540. mdir-0.2.1/include/mdir/Driver/Profile.h +103 -0
  541. mdir-0.2.1/include/mdir/Driver/Prolate.h +139 -0
  542. mdir-0.2.1/include/mdir/Driver/Selection.h +38 -0
  543. mdir-0.2.1/include/mdir/Driver/System.h +201 -0
  544. mdir-0.2.1/include/mdir/Driver/Topology.h +307 -0
  545. mdir-0.2.1/include/mdir/Driver/Trajectory.h +162 -0
  546. mdir-0.2.1/include/mdir/MLIP/Plugin.h +182 -0
  547. mdir-0.2.1/include/mdir/Runtime/GroupsABI.h +65 -0
  548. mdir-0.2.1/lib/CMakeLists.txt +14 -0
  549. mdir-0.2.1/lib/Compiler/CMakeLists.txt +40 -0
  550. mdir-0.2.1/lib/Compiler/Compile.cpp +587 -0
  551. mdir-0.2.1/lib/Compiler/CompileCache.cpp +627 -0
  552. mdir-0.2.1/lib/Compiler/JITEngine.cpp +217 -0
  553. mdir-0.2.1/lib/Compiler/JITEngine.h +53 -0
  554. mdir-0.2.1/lib/Compiler/JITMemory.cpp +162 -0
  555. mdir-0.2.1/lib/Compiler/JITMemory.h +56 -0
  556. mdir-0.2.1/lib/Compiler/Simulation.cpp +3524 -0
  557. mdir-0.2.1/lib/Compiler/Skins.cpp +778 -0
  558. mdir-0.2.1/lib/Conversion/GPUToBinary/CMakeLists.txt +33 -0
  559. mdir-0.2.1/lib/Conversion/GPUToBinary/GPUToBinary.cpp +903 -0
  560. mdir-0.2.1/lib/Conversion/MDDistToLoops/CMakeLists.txt +24 -0
  561. mdir-0.2.1/lib/Conversion/MDDistToLoops/MDDistToLoops.cpp +1829 -0
  562. mdir-0.2.1/lib/Conversion/MDDistToLoops/PrintSchedule.cpp +97 -0
  563. mdir-0.2.1/lib/Conversion/MDExecKernels/CMakeLists.txt +29 -0
  564. mdir-0.2.1/lib/Conversion/MDExecKernels/CompactionEmitter.cpp +525 -0
  565. mdir-0.2.1/lib/Conversion/MDExecKernels/ExpandPrimitives.cpp +370 -0
  566. mdir-0.2.1/lib/Conversion/MDExecKernels/GatherEmitter.cpp +28 -0
  567. mdir-0.2.1/lib/Conversion/MDExecKernels/MDExecKernels.cpp +2702 -0
  568. mdir-0.2.1/lib/Conversion/MDExecKernels/RaggedRows.cpp +170 -0
  569. mdir-0.2.1/lib/Conversion/MDExecKernels/ReductionEmitter.cpp +152 -0
  570. mdir-0.2.1/lib/Conversion/MDExecKernels/ScatterEmitter.cpp +228 -0
  571. mdir-0.2.1/lib/Conversion/MDExecKernels/SinglePassScan.cpp +234 -0
  572. mdir-0.2.1/lib/Conversion/MDExecToGPU/CMakeLists.txt +90 -0
  573. mdir-0.2.1/lib/Conversion/MDExecToGPU/MDExecToGPU.cpp +8858 -0
  574. mdir-0.2.1/lib/Conversion/MDExecToGPU/StageBodies.cpp +1680 -0
  575. mdir-0.2.1/lib/Conversion/MDExecToGPU/Templates.cpp.in +37 -0
  576. mdir-0.2.1/lib/Conversion/MDExecToLoops/CMakeLists.txt +49 -0
  577. mdir-0.2.1/lib/Conversion/MDExecToLoops/CheckReadOnly.cpp +158 -0
  578. mdir-0.2.1/lib/Conversion/MDExecToLoops/FixedOrderReductions.cpp +173 -0
  579. mdir-0.2.1/lib/Conversion/MDExecToLoops/HoistAllocas.cpp +78 -0
  580. mdir-0.2.1/lib/Conversion/MDExecToLoops/MDExecToLoops.cpp +1596 -0
  581. mdir-0.2.1/lib/Conversion/MDExecToLoops/SeparateSinCos.cpp +91 -0
  582. mdir-0.2.1/lib/Conversion/MDExecToLoops/Templates.cpp.in +12 -0
  583. mdir-0.2.1/lib/Conversion/MDToMDExec/CMakeLists.txt +26 -0
  584. mdir-0.2.1/lib/Conversion/MDToMDExec/LinearTransformValues.cpp +224 -0
  585. mdir-0.2.1/lib/Conversion/MDToMDExec/MDToMDExec.cpp +612 -0
  586. mdir-0.2.1/lib/Dialect/Dyn/CMakeLists.txt +17 -0
  587. mdir-0.2.1/lib/Dialect/Dyn/DynDialect.cpp +16 -0
  588. mdir-0.2.1/lib/Dialect/Dyn/DynOps.cpp +145 -0
  589. mdir-0.2.1/lib/Dialect/MD/CMakeLists.txt +23 -0
  590. mdir-0.2.1/lib/Dialect/MD/MDCoordinates.cpp +420 -0
  591. mdir-0.2.1/lib/Dialect/MD/MDDialect.cpp +25 -0
  592. mdir-0.2.1/lib/Dialect/MD/MDExchange.cpp +199 -0
  593. mdir-0.2.1/lib/Dialect/MD/MDOps.cpp +1412 -0
  594. mdir-0.2.1/lib/Dialect/MD/MDTypes.cpp +236 -0
  595. mdir-0.2.1/lib/Dialect/MD/Transforms/Activity.cpp +161 -0
  596. mdir-0.2.1/lib/Dialect/MD/Transforms/Adjoints.cpp +714 -0
  597. mdir-0.2.1/lib/Dialect/MD/Transforms/BypassUpdates.cpp +137 -0
  598. mdir-0.2.1/lib/Dialect/MD/Transforms/CMakeLists.txt +39 -0
  599. mdir-0.2.1/lib/Dialect/MD/Transforms/CheckDerivativeCoverage.cpp +40 -0
  600. mdir-0.2.1/lib/Dialect/MD/Transforms/CheckDerivatives.cpp +207 -0
  601. mdir-0.2.1/lib/Dialect/MD/Transforms/CheckExchange.cpp +63 -0
  602. mdir-0.2.1/lib/Dialect/MD/Transforms/CheckTransposes.cpp +60 -0
  603. mdir-0.2.1/lib/Dialect/MD/Transforms/Differentiate.cpp +2963 -0
  604. mdir-0.2.1/lib/Dialect/MD/Transforms/Distribute.cpp +570 -0
  605. mdir-0.2.1/lib/Dialect/MD/Transforms/ExpandTruncation.cpp +199 -0
  606. mdir-0.2.1/lib/Dialect/MD/Transforms/Inline.cpp +150 -0
  607. mdir-0.2.1/lib/Dialect/MD/Transforms/OwnerComputes.cpp +102 -0
  608. mdir-0.2.1/lib/Dialect/MD/Transforms/ScalarDerivative.cpp +687 -0
  609. mdir-0.2.1/lib/Dialect/MDDist/CMakeLists.txt +15 -0
  610. mdir-0.2.1/lib/Dialect/MDDist/HaloSchedule.cpp +166 -0
  611. mdir-0.2.1/lib/Dialect/MDDist/MDDistDialect.cpp +885 -0
  612. mdir-0.2.1/lib/Dialect/MDExec/Algebra.cpp +178 -0
  613. mdir-0.2.1/lib/Dialect/MDExec/CMakeLists.txt +29 -0
  614. mdir-0.2.1/lib/Dialect/MDExec/Independence.cpp +322 -0
  615. mdir-0.2.1/lib/Dialect/MDExec/LoopEffects.cpp +128 -0
  616. mdir-0.2.1/lib/Dialect/MDExec/MDExecDialect.cpp +197 -0
  617. mdir-0.2.1/lib/Dialect/MDExec/MDExecOps.cpp +1560 -0
  618. mdir-0.2.1/lib/Dialect/MDExec/Scatter.cpp +149 -0
  619. mdir-0.2.1/lib/Dialect/MDExec/StorageSet.cpp +153 -0
  620. mdir-0.2.1/lib/Dialect/MDExec/Transforms/AccumulateDestinations.cpp +393 -0
  621. mdir-0.2.1/lib/Dialect/MDExec/Transforms/Approximate.cpp +172 -0
  622. mdir-0.2.1/lib/Dialect/MDExec/Transforms/AssignAlgebra.cpp +71 -0
  623. mdir-0.2.1/lib/Dialect/MDExec/Transforms/AssignPrecision.cpp +901 -0
  624. mdir-0.2.1/lib/Dialect/MDExec/Transforms/AssignStorage.cpp +2366 -0
  625. mdir-0.2.1/lib/Dialect/MDExec/Transforms/AssignStreams.cpp +61 -0
  626. mdir-0.2.1/lib/Dialect/MDExec/Transforms/CMakeLists.txt +38 -0
  627. mdir-0.2.1/lib/Dialect/MDExec/Transforms/ChooseNeighbors.cpp +192 -0
  628. mdir-0.2.1/lib/Dialect/MDExec/Transforms/ChooseScatter.cpp +209 -0
  629. mdir-0.2.1/lib/Dialect/MDExec/Transforms/ExpandRadial.cpp +624 -0
  630. mdir-0.2.1/lib/Dialect/MDExec/Transforms/ExposeValidity.cpp +127 -0
  631. mdir-0.2.1/lib/Dialect/MDExec/Transforms/FoldTables.cpp +353 -0
  632. mdir-0.2.1/lib/Dialect/MDExec/Transforms/FuseLoops.cpp +862 -0
  633. mdir-0.2.1/lib/Dialect/MDExec/Transforms/NarrowSums.cpp +208 -0
  634. mdir-0.2.1/lib/Dialect/MDExec/Transforms/RebuildAtInterval.cpp +50 -0
  635. mdir-0.2.1/lib/Dialect/MDExec/Transforms/ReuseNeighbors.cpp +527 -0
  636. mdir-0.2.1/lib/Dialect/MDExec/Transforms/SimplifyDistance.cpp +660 -0
  637. mdir-0.2.1/lib/Dialect/MDRT/CMakeLists.txt +15 -0
  638. mdir-0.2.1/lib/Dialect/MDRT/MDRTDialect.cpp +356 -0
  639. mdir-0.2.1/lib/Driver/Amber.cpp +1263 -0
  640. mdir-0.2.1/lib/Driver/Builder.cpp +12512 -0
  641. mdir-0.2.1/lib/Driver/CMakeLists.txt +100 -0
  642. mdir-0.2.1/lib/Driver/CMap.cpp +108 -0
  643. mdir-0.2.1/lib/Driver/Cell.cpp +179 -0
  644. mdir-0.2.1/lib/Driver/Charmm.cpp +1071 -0
  645. mdir-0.2.1/lib/Driver/Checkpoint.cpp +902 -0
  646. mdir-0.2.1/lib/Driver/Control.cpp +3821 -0
  647. mdir-0.2.1/lib/Driver/Expression.cpp +1086 -0
  648. mdir-0.2.1/lib/Driver/Fingerprint.cpp +314 -0
  649. mdir-0.2.1/lib/Driver/Gromacs.cpp +1797 -0
  650. mdir-0.2.1/lib/Driver/H5MD.cpp +1100 -0
  651. mdir-0.2.1/lib/Driver/HDF5.cpp +9 -0
  652. mdir-0.2.1/lib/Driver/Influence.cpp +212 -0
  653. mdir-0.2.1/lib/Driver/Model.cpp +749 -0
  654. mdir-0.2.1/lib/Driver/ModelFingerprint.cpp +465 -0
  655. mdir-0.2.1/lib/Driver/ModelTerm.cpp +482 -0
  656. mdir-0.2.1/lib/Driver/NeighborCount.cpp +241 -0
  657. mdir-0.2.1/lib/Driver/Output.cpp +1543 -0
  658. mdir-0.2.1/lib/Driver/Prolate.cpp +440 -0
  659. mdir-0.2.1/lib/Driver/Selection.cpp +206 -0
  660. mdir-0.2.1/lib/Driver/System.cpp +1381 -0
  661. mdir-0.2.1/lib/Driver/Templates.cpp.in +24 -0
  662. mdir-0.2.1/lib/Driver/Trajectory.cpp +830 -0
  663. mdir-0.2.1/lib/Driver/Tunables.cpp +543 -0
  664. mdir-0.2.1/lib/Driver/Validation.cpp +138 -0
  665. mdir-0.2.1/lib/MLIP/CMakeLists.txt +29 -0
  666. mdir-0.2.1/lib/MLIP/MetatomicPlugin.cpp +987 -0
  667. mdir-0.2.1/lib/Runtime/Templates/NeighborsGroupsGPU.mlir +14809 -0
  668. mdir-0.2.1/lib/Runtime/Templates/NeighborsGroupsGPUTriclinic.mlir +14878 -0
  669. mdir-0.2.1/lib/Runtime/Templates/NeighborsGroupsSinglePassGPU.mlir +14814 -0
  670. mdir-0.2.1/lib/Runtime/Templates/NeighborsGroupsSinglePassGPUTriclinic.mlir +14883 -0
  671. mdir-0.2.1/lib/Runtime/Templates/NeighborsMatrix.mlir +1658 -0
  672. mdir-0.2.1/lib/Runtime/Templates/NeighborsMatrixGPU.mlir +2267 -0
  673. mdir-0.2.1/lib/Runtime/Templates/PME.mlir +1892 -0
  674. mdir-0.2.1/lib/Runtime/Templates/PMEGPU.mlir +8756 -0
  675. mdir-0.2.1/lib/Runtime/Templates/PMEGPUProlate.mlir +5608 -0
  676. mdir-0.2.1/lib/Runtime/Templates/PMEGPUTriclinic.mlir +6095 -0
  677. mdir-0.2.1/packaging/Dockerfile +152 -0
  678. mdir-0.2.1/packaging/Dockerfile.manylinux +145 -0
  679. mdir-0.2.1/packaging/README.md +185 -0
  680. mdir-0.2.1/packaging/licenses/LLVM-LICENSE.TXT +279 -0
  681. mdir-0.2.1/packaging/licenses/OpenMP-LICENSE.TXT +361 -0
  682. mdir-0.2.1/packaging/licenses/README.md +157 -0
  683. mdir-0.2.1/packaging/mdir.def +35 -0
  684. mdir-0.2.1/pyproject.toml +82 -0
  685. mdir-0.2.1/python/Bindings.cpp +1996 -0
  686. mdir-0.2.1/python/CMakeLists.txt +54 -0
  687. mdir-0.2.1/python/DLPack.h +479 -0
  688. mdir-0.2.1/python/HostArrays.h +155 -0
  689. mdir-0.2.1/python/Topology.h +217 -0
  690. mdir-0.2.1/python/Tunables.h +113 -0
  691. mdir-0.2.1/python/Units.h +78 -0
  692. mdir-0.2.1/python/mdir/__init__.py +36 -0
  693. mdir-0.2.1/python/mdir/_frames.py +481 -0
  694. mdir-0.2.1/python/mdir/torch.py +422 -0
  695. mdir-0.2.1/python/pybind11-LICENSE +29 -0
  696. mdir-0.2.1/runtime/CMakeLists.txt +190 -0
  697. mdir-0.2.1/runtime/mdrt.c +808 -0
  698. mdir-0.2.1/runtime/mdrt_cuda.c +2744 -0
  699. mdir-0.2.1/runtime/mdrt_dist.c +476 -0
  700. mdir-0.2.1/runtime/mdrt_fft.c +256 -0
  701. mdir-0.2.1/runtime/mdrt_tuples.h +440 -0
  702. mdir-0.2.1/scripts/benchmarks/activation/start.py +265 -0
  703. mdir-0.2.1/scripts/benchmarks/amber/README.md +128 -0
  704. mdir-0.2.1/scripts/benchmarks/amber/bench.py +791 -0
  705. mdir-0.2.1/scripts/benchmarks/analysis/tools.py +120 -0
  706. mdir-0.2.1/scripts/benchmarks/constraints/README.md +148 -0
  707. mdir-0.2.1/scripts/benchmarks/constraints/bench.py +138 -0
  708. mdir-0.2.1/scripts/benchmarks/constraints/results/jac-gpu-mixed.json +27 -0
  709. mdir-0.2.1/scripts/benchmarks/constraints/results/peptide-cpu-double.json +31 -0
  710. mdir-0.2.1/scripts/benchmarks/constraints/results/synthetic-cpu-double.json +27 -0
  711. mdir-0.2.1/scripts/benchmarks/constraints/results/synthetic-gpu-mixed.json +31 -0
  712. mdir-0.2.1/scripts/benchmarks/constraints/schur_update.cu +153 -0
  713. mdir-0.2.1/scripts/benchmarks/cpu-breakdown/README.md +104 -0
  714. mdir-0.2.1/scripts/benchmarks/cpu-breakdown/baseline_summary.py +127 -0
  715. mdir-0.2.1/scripts/benchmarks/cpu-breakdown/bench.py +308 -0
  716. mdir-0.2.1/scripts/benchmarks/cpu-breakdown/data/README.md +52 -0
  717. mdir-0.2.1/scripts/benchmarks/cpu-breakdown/data/cpu-baseline-2026-10-22/cellulose-baseline-final.jsonl +36 -0
  718. mdir-0.2.1/scripts/benchmarks/cpu-breakdown/data/cpu-baseline-2026-10-22/jac-baseline-final.jsonl +36 -0
  719. mdir-0.2.1/scripts/benchmarks/cpu-breakdown/data/cpu-baseline-2026-10-22/tip3p-103k-baseline-final.jsonl +36 -0
  720. mdir-0.2.1/scripts/benchmarks/cpu-breakdown/export_results.py +49 -0
  721. mdir-0.2.1/scripts/benchmarks/cpu-breakdown/pairs.py +33 -0
  722. mdir-0.2.1/scripts/benchmarks/cpu-breakdown/prof.py +286 -0
  723. mdir-0.2.1/scripts/benchmarks/cpu-breakdown/sampler.c +233 -0
  724. mdir-0.2.1/scripts/benchmarks/cpu-breakdown/summarize.py +184 -0
  725. mdir-0.2.1/scripts/benchmarks/cpu-breakdown/timing.py +25 -0
  726. mdir-0.2.1/scripts/benchmarks/device-scan/bench.py +70 -0
  727. mdir-0.2.1/scripts/benchmarks/frames/bench.py +187 -0
  728. mdir-0.2.1/scripts/benchmarks/fused-prune/steps.py +101 -0
  729. mdir-0.2.1/scripts/benchmarks/fused-prune/suite.py +68 -0
  730. mdir-0.2.1/scripts/benchmarks/mdbench/run.py +250 -0
  731. mdir-0.2.1/scripts/benchmarks/mdbench/structure.py +226 -0
  732. mdir-0.2.1/scripts/benchmarks/pme-tiles/bench.py +115 -0
  733. mdir-0.2.1/scripts/benchmarks/pme-tiles/trace.py +35 -0
  734. mdir-0.2.1/scripts/benchmarks/prolate-ewald/README.md +98 -0
  735. mdir-0.2.1/scripts/benchmarks/prolate-ewald/accuracy.py +277 -0
  736. mdir-0.2.1/scripts/benchmarks/prolate-ewald/best.py +27 -0
  737. mdir-0.2.1/scripts/benchmarks/prolate-ewald/check_cases.py +26 -0
  738. mdir-0.2.1/scripts/benchmarks/prolate-ewald/compare.py +25 -0
  739. mdir-0.2.1/scripts/benchmarks/prolate-ewald/cpu_cases.py +206 -0
  740. mdir-0.2.1/scripts/benchmarks/prolate-ewald/cpu_job.py +144 -0
  741. mdir-0.2.1/scripts/benchmarks/prolate-ewald/cpu_table.py +276 -0
  742. mdir-0.2.1/scripts/benchmarks/prolate-ewald/dynamics.py +133 -0
  743. mdir-0.2.1/scripts/benchmarks/prolate-ewald/esp_bench.cu +804 -0
  744. mdir-0.2.1/scripts/benchmarks/prolate-ewald/gen_case.py +98 -0
  745. mdir-0.2.1/scripts/benchmarks/prolate-ewald/grid_sweep.py +200 -0
  746. mdir-0.2.1/scripts/benchmarks/prolate-ewald/lds_width.py +32 -0
  747. mdir-0.2.1/scripts/benchmarks/prolate-ewald/make_cases.py +38 -0
  748. mdir-0.2.1/scripts/benchmarks/prolate-ewald/mdir_job.py +46 -0
  749. mdir-0.2.1/scripts/benchmarks/prolate-ewald/mk_mdir.py +73 -0
  750. mdir-0.2.1/scripts/benchmarks/prolate-ewald/p0_case_check.py +32 -0
  751. mdir-0.2.1/scripts/benchmarks/prolate-ewald/p0_job.py +76 -0
  752. mdir-0.2.1/scripts/benchmarks/prolate-ewald/p0_table.py +36 -0
  753. mdir-0.2.1/scripts/benchmarks/prolate-ewald/pair_delta.py +108 -0
  754. mdir-0.2.1/scripts/benchmarks/prolate-ewald/pair_job.py +185 -0
  755. mdir-0.2.1/scripts/benchmarks/prolate-ewald/pair_summary.py +180 -0
  756. mdir-0.2.1/scripts/benchmarks/prolate-ewald/pair_table.py +110 -0
  757. mdir-0.2.1/scripts/benchmarks/prolate-ewald/perf_cases.py +107 -0
  758. mdir-0.2.1/scripts/benchmarks/prolate-ewald/proto_all.py +11 -0
  759. mdir-0.2.1/scripts/benchmarks/prolate-ewald/proto_job.py +43 -0
  760. mdir-0.2.1/scripts/benchmarks/prolate-ewald/pswf.py +135 -0
  761. mdir-0.2.1/scripts/benchmarks/prolate-ewald/pswf_reference.py +56 -0
  762. mdir-0.2.1/scripts/benchmarks/prolate-ewald/resources.py +34 -0
  763. mdir-0.2.1/scripts/benchmarks/prolate-ewald/run_ref.py +27 -0
  764. mdir-0.2.1/scripts/benchmarks/prolate-ewald/sweep.py +95 -0
  765. mdir-0.2.1/scripts/benchmarks/prolate-ewald/table.py +40 -0
  766. mdir-0.2.1/scripts/benchmarks/prolate-ewald/validate.py +127 -0
  767. mdir-0.2.1/scripts/benchmarks/prolate-ewald/ws_table.py +24 -0
  768. mdir-0.2.1/scripts/benchmarks/rolling-prune/diag.py +109 -0
  769. mdir-0.2.1/scripts/benchmarks/rolling-prune/forces.py +85 -0
  770. mdir-0.2.1/scripts/benchmarks/rolling-prune/groups.py +32 -0
  771. mdir-0.2.1/scripts/benchmarks/rolling-prune/steps.py +93 -0
  772. mdir-0.2.1/scripts/benchmarks/rolling-prune/trigger.py +196 -0
  773. mdir-0.2.1/scripts/build-hdf5.sh +91 -0
  774. mdir-0.2.1/scripts/build-llvm.sh +108 -0
  775. mdir-0.2.1/scripts/build-sanitized.sh +49 -0
  776. mdir-0.2.1/scripts/builder-equivalence/check.py +435 -0
  777. mdir-0.2.1/scripts/check-markdown-links.py +205 -0
  778. mdir-0.2.1/scripts/check-sdist.sh +75 -0
  779. mdir-0.2.1/scripts/ci/build-image.sh +119 -0
  780. mdir-0.2.1/scripts/decision-number-anchors.py +135 -0
  781. mdir-0.2.1/scripts/decision-number.sh +106 -0
  782. mdir-0.2.1/scripts/decisions-table.py +104 -0
  783. mdir-0.2.1/scripts/environment.sh +79 -0
  784. mdir-0.2.1/scripts/experiments/neighbor-structures/README.md +185 -0
  785. mdir-0.2.1/scripts/experiments/neighbor-structures/build.cu +630 -0
  786. mdir-0.2.1/scripts/experiments/neighbor-structures/groups.cu +423 -0
  787. mdir-0.2.1/scripts/experiments/neighbor-structures/pairs.cu +645 -0
  788. mdir-0.2.1/scripts/experiments/neighbor-structures/plot.py +140 -0
  789. mdir-0.2.1/scripts/experiments/neighbor-structures/prep.py +52 -0
  790. mdir-0.2.1/scripts/experiments/neighbor-structures/results/2026-09-30-NVIDIA-GeForce-RTX-3090.csv +125 -0
  791. mdir-0.2.1/scripts/experiments/neighbor-structures/results/model.png +0 -0
  792. mdir-0.2.1/scripts/experiments/neighbor-structures/results/pairs.png +0 -0
  793. mdir-0.2.1/scripts/experiments/neighbor-structures/results/reference.csv +13 -0
  794. mdir-0.2.1/scripts/experiments/neighbor-structures/results/scan.csv +26 -0
  795. mdir-0.2.1/scripts/experiments/neighbor-structures/results/scan.png +0 -0
  796. mdir-0.2.1/scripts/experiments/neighbor-structures/results/search.png +0 -0
  797. mdir-0.2.1/scripts/experiments/neighbor-structures/run.sh +39 -0
  798. mdir-0.2.1/scripts/experiments/neighbor-structures/search.cu +237 -0
  799. mdir-0.2.1/scripts/experiments/neighbor-structures/spread.cu +310 -0
  800. mdir-0.2.1/scripts/experiments/neighbor-structures/supercluster.cu +565 -0
  801. mdir-0.2.1/scripts/fit-erfc.py +66 -0
  802. mdir-0.2.1/scripts/free-energy.py +205 -0
  803. mdir-0.2.1/scripts/generate-dialect-docs.sh +34 -0
  804. mdir-0.2.1/scripts/generate-groups-gpu-template.py +2758 -0
  805. mdir-0.2.1/scripts/generate-matrix-images-template.py +320 -0
  806. mdir-0.2.1/scripts/generate-pme-gpu-template.py +2707 -0
  807. mdir-0.2.1/scripts/generate-pme-prolate-gpu-template.py +994 -0
  808. mdir-0.2.1/scripts/mlip/check-model-term.py +107 -0
  809. mdir-0.2.1/scripts/mlip/check-stages-fd.py +96 -0
  810. mdir-0.2.1/scripts/mlip/fetch-ml4-artifacts.py +127 -0
  811. mdir-0.2.1/scripts/mlip/mace-to-metatomic.py +179 -0
  812. mdir-0.2.1/scripts/mlip/ml4-requirements.in +10 -0
  813. mdir-0.2.1/scripts/mlip/ml4-requirements.lock +405 -0
  814. mdir-0.2.1/scripts/mlip/model-sweep.py +251 -0
  815. mdir-0.2.1/scripts/mlip/nequip-to-aoti.py +148 -0
  816. mdir-0.2.1/scripts/mlip/nequip-to-metatomic.py +161 -0
  817. mdir-0.2.1/scripts/mlip/painn-stages.py +793 -0
  818. mdir-0.2.1/scripts/mlip/painn-to-metatomic.py +201 -0
  819. mdir-0.2.1/scripts/mlip/requirements.in +8 -0
  820. mdir-0.2.1/scripts/mlip/requirements.lock +251 -0
  821. mdir-0.2.1/scripts/mlip/virial-strain.py +107 -0
  822. mdir-0.2.1/scripts/mlip/water-box.py +238 -0
  823. mdir-0.2.1/scripts/paper/build-pdf.sh +43 -0
  824. mdir-0.2.1/scripts/paper/build-references.py +73 -0
  825. mdir-0.2.1/scripts/paper/check-appendix.sh +20 -0
  826. mdir-0.2.1/scripts/paper/md-for-latex.py +62 -0
  827. mdir-0.2.1/scripts/paper/plot-energy.py +57 -0
  828. mdir-0.2.1/scripts/paper/plot-suite.py +125 -0
  829. mdir-0.2.1/scripts/paper/run-suite-repeats.sh +95 -0
  830. mdir-0.2.1/scripts/paper/suite-table.py +250 -0
  831. mdir-0.2.1/scripts/paper/verify-references.py +112 -0
  832. mdir-0.2.1/scripts/release/bump.sh +28 -0
  833. mdir-0.2.1/scripts/release/changelog.py +225 -0
  834. mdir-0.2.1/scripts/release/check-binary.sh +80 -0
  835. mdir-0.2.1/scripts/release/check-image.sh +71 -0
  836. mdir-0.2.1/scripts/release/check-path.sh +135 -0
  837. mdir-0.2.1/scripts/release/check-wheel-install.sh +133 -0
  838. mdir-0.2.1/scripts/release/check-wheel.sh +120 -0
  839. mdir-0.2.1/scripts/release/prepare.sh +33 -0
  840. mdir-0.2.1/scripts/release/publish.sh +289 -0
  841. mdir-0.2.1/scripts/release/version-pins.txt +20 -0
  842. mdir-0.2.1/scripts/render/movie.py +582 -0
  843. mdir-0.2.1/scripts/render/primitives-figures.sh +15 -0
  844. mdir-0.2.1/scripts/validation/barostat/effective_energy.py +41 -0
  845. mdir-0.2.1/scripts/validation/barostat-semi/membrane.py +527 -0
  846. mdir-0.2.1/scripts/validation/barostat-semi/water.py +155 -0
  847. mdir-0.2.1/scripts/validation/charmm/run.py +760 -0
  848. mdir-0.2.1/scripts/validation/charmm/squared-switch.py +57 -0
  849. mdir-0.2.1/scripts/validation/ensembles/analyze.py +259 -0
  850. mdir-0.2.1/scripts/validation/ensembles/run.py +273 -0
  851. mdir-0.2.1/scripts/validation/forces/compare.py +76 -0
  852. mdir-0.2.1/scripts/validation/forces/run.sh +173 -0
  853. mdir-0.2.1/scripts/validation/frames/activation.py +267 -0
  854. mdir-0.2.1/scripts/validation/frames/heap.py +210 -0
  855. mdir-0.2.1/scripts/validation/frames/precision.py +261 -0
  856. mdir-0.2.1/scripts/validation/free-energy/compare.py +215 -0
  857. mdir-0.2.1/scripts/validation/free-energy/decompose.py +149 -0
  858. mdir-0.2.1/scripts/validation/free-energy/gromacs_ethanol.py +422 -0
  859. mdir-0.2.1/scripts/validation/free-energy/gromacs_inputs.py +23 -0
  860. mdir-0.2.1/scripts/validation/free-energy/long_runs.py +150 -0
  861. mdir-0.2.1/scripts/validation/free-energy/match.py +194 -0
  862. mdir-0.2.1/scripts/validation/free-energy/openmm_ethanol.py +427 -0
  863. mdir-0.2.1/scripts/validation/free-energy/permute.py +67 -0
  864. mdir-0.2.1/scripts/validation/free-energy/run.py +210 -0
  865. mdir-0.2.1/scripts/validation/free-energy/sets.py +79 -0
  866. mdir-0.2.1/scripts/validation/gpu-cpu/compare.py +54 -0
  867. mdir-0.2.1/scripts/validation/gpu-cpu/nvt.py +165 -0
  868. mdir-0.2.1/scripts/validation/gpu-cpu/run.sh +27 -0
  869. mdir-0.2.1/scripts/validation/gromacs/compare.py +55 -0
  870. mdir-0.2.1/scripts/validation/gromacs/mdir.toml.in +30 -0
  871. mdir-0.2.1/scripts/validation/gromacs/peptide.leap +7 -0
  872. mdir-0.2.1/scripts/validation/gromacs/run.sh +56 -0
  873. mdir-0.2.1/scripts/validation/gromacs/single.mdp +21 -0
  874. mdir-0.2.1/scripts/validation/kinetic-step/analyze.py +128 -0
  875. mdir-0.2.1/scripts/validation/kinetic-step/run.py +233 -0
  876. mdir-0.2.1/scripts/validation/nve/run.sh +124 -0
  877. mdir-0.2.1/scripts/validation/p3m/mesh_numpy.py +213 -0
  878. mdir-0.2.1/scripts/validation/p3m/sweep.py +65 -0
  879. mdir-0.2.1/scripts/validation/pressure-step/run.sh +146 -0
  880. mdir-0.2.1/scripts/validation/protein/run.py +390 -0
  881. mdir-0.2.1/scripts/validation/suite/density.py +219 -0
  882. mdir-0.2.1/scripts/validation/suite/run.py +304 -0
  883. mdir-0.2.1/third_party/pocketfft/LICENSE.md +25 -0
  884. mdir-0.2.1/third_party/pocketfft/README.md +9 -0
  885. mdir-0.2.1/third_party/pocketfft/pocketfft.c +2190 -0
  886. mdir-0.2.1/third_party/pocketfft/pocketfft.h +34 -0
  887. mdir-0.2.1/third_party/tomlplusplus/LICENSE +16 -0
  888. mdir-0.2.1/third_party/tomlplusplus/toml.hpp +17748 -0
  889. mdir-0.2.1/tools/CMakeLists.txt +5 -0
  890. mdir-0.2.1/tools/mdir/BugReport.cpp +365 -0
  891. mdir-0.2.1/tools/mdir/CMakeLists.txt +71 -0
  892. mdir-0.2.1/tools/mdir/Check.cpp +607 -0
  893. mdir-0.2.1/tools/mdir/Checkpoint.cpp +120 -0
  894. mdir-0.2.1/tools/mdir/Commands.h +91 -0
  895. mdir-0.2.1/tools/mdir/Doctor.cpp +300 -0
  896. mdir-0.2.1/tools/mdir/Manifest.cpp +275 -0
  897. mdir-0.2.1/tools/mdir/Manifest.h +48 -0
  898. mdir-0.2.1/tools/mdir/Run.cpp +1738 -0
  899. mdir-0.2.1/tools/mdir/mdir.cpp +174 -0
  900. mdir-0.2.1/tools/mdir-opt/CMakeLists.txt +32 -0
  901. mdir-0.2.1/tools/mdir-opt/mdir-opt.cpp +51 -0
@@ -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
mdir-0.2.1/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /build/
2
+ /build-*/
3
+ __pycache__/
4
+ argon.dcd
5
+ /references/
6
+ .claude
7
+ .codex
8
+ .env
9
+ .env.*