Bibliographic record
Abstract
A major focus of this release is on better supporting machine learning potentials. Many of the changes are internal ones that are not directly visible, but are needed by the OpenMM-Torch and OpenMM-ML plugins. There are many optimizations to the CPU platform. You should see some improvement in most situations, but in certain cases it's especially dramatic. Custom forces are much faster than before on ARM CPUs. Previously it only supported JIT compilation of custom expressions on x86. On other architectures they needed to be evaluated with an interpreter, which was much slower. JIT compilation is now supported on ARM as well. CustomNonbondedForce should be much faster in most cases. Previously the JIT compiler was only able to produce scalar code that evaluated a single interaction at a time. It now can produce vectorized code, allowing the expression to be evaluated for multiple interactions at once. NonbondedForce is also much faster when the nonbonded method is NoCutoff. Previously the code for computing interactions with a cutoff was vectorized, but without a cutoff it was not. That code is now vectorized also, leading to large speedups. Previously we used FFTW to compute FFTs. We switched to PocketFFT, which in our internal testing is usually faster. This should improve the performance of PME on the CPU platform. There also are a number of optimizations that affect other platforms as well. Some apply only to very specific situations. For example, recomputing the long range correction coefficient for CustomNonbondedForce is much faster. CustomNonbondedForce now supports per-particle computed values, similar to CustomGBForce. You provide an expression that gets evaluated for each particle, and the result can be used in the energy expression. This can improve performance a lot in some cases, by only computing intermediate quantities once per particle instead of once per interaction. When building solvent boxes, Modeller.addSolvent() has a new boxShape option for building non-rectangular boxes (rhombic dodecahedron or truncated octahedron). This makes it much easier to build non-rectangular boxes without needing to compute box vectors yourself. As part of that feature, addSolvent() has changed how it interprets the "padding" option. It now makes a rigorous guarantee that no atom will be closer than the padding distance to any atom of any periodic copy. Previously it didn't guarantee that, and the amount of solvent it added could be either more or less than what was required. The new behavior should be better and closer to what you expect in almost all cases. Just be aware that it has changed. This may impact existing workflows that build solvent boxes. The OpenCL platform now has improved support for low end GPUs that don't support 64 bit atomic operations. That includes, for example, the embedded GPUs found in Intel and Apple processors. Previusly there were certain Forces that couldn't be used on those GPUs, such as CustomManyParticleForce and AmoebaMultipoleForce. All Forces are now fully supported on those processors. In addition, performance on them will often be better than before. When simulating a system with Drude particles, the temperature reported by StateDataReporter was previously a weighted average of the system temperature and Drude temperature, which tended to confuse people. It now reports the system temperature, and should match the value specified in the integrator.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.004 | 0.017 |
| Meta-epidemiology (narrow) | 0.004 | 0.005 |
| Meta-epidemiology (broad) | 0.002 | 0.003 |
| Bibliometrics | 0.002 | 0.002 |
| Science and technology studies | 0.001 | 0.001 |
| Scholarly communication | 0.006 | 0.010 |
| Open science | 0.011 | 0.007 |
| Research integrity | 0.004 | 0.008 |
| Insufficient payload (model declined to judge) | 0.232 | 0.255 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".