rugnux --af-model: molecular replacement faster - the score's scale fit on the GPU, the expected LLG gate, the serial parts side by side
The search was CPU-bound: on a 54-chain partial complex ~80% of all CPU samples were the score's FitModelScale grid (and libm's exp under it), with the GPU busy 13 of 37 s. - score_placement fits its scale on the GPU where its structure factors are made there (ModelScaleGPU's FitSolvent / Fit, as the rigid body already does); equal to rounding, the CPU build unchanged. - A model whose expected log-likelihood gain (sum sigma_A^4 / 2, McCoy et al. 2017; sigma_A^2 the part of the scattering one copy is by Matthews, times Luzzati's D^2) is below 10 is not searched for. Over the 193-set survey the lowest eLLG of a placed model is 26; every PAE domain below 24 placed nowhere, so no decision changes. - The likelihood setups made where first needed, one serving both where the reflections are the same. - After a candidate fails its null, the other placed candidates' nulls side by side. - The first copy's placements refined side by side on an engine each; the groups' translation functions side by side; CopyFactors and KnownStructureFactors over threads; the further copies' CopyFactors and gains for the peaks walked all at once; the known-structure TF setup made while the first copy is refined. All exact. Survey replay (193 sets): no decision changes; two R values differ in the 3rd decimal (GPU scale). Alternating runs, MODEL_PRIOR_SECONDS base -> new: 54-chain complex 38.3 -> 14.7, 4mtk 18.3 -> 9.7, 9v16 13.7 -> 8.3 (shared machine, indicative). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EizBKhTqrAYago9KJG3dA3
This commit is contained in:
1 parent
fa79d7587b
commit
6c8ead466a
3 files changed
+316
-97
No files matched your search
@@ -58,6 +58,8 @@ public:
|
||||
// work area and the reflections. The largest map Map() can be given shares the same buffers.
|
||||
size_t DeviceBytes() const { return device_bytes_; }
|
||||
double DMin() const { return d_min_; }
|
||||
// The reflections Compute() gives F_calc and F_mask at.
|
||||
size_t Reflections() const { return rows_.size(); }
|
||||
int Device() const { return device_; }
|
||||
// The device's total memory, which DeviceBytes() is to be judged against.
|
||||
size_t DeviceTotalMemory() const { return device_total_; }
|
||||
|
||||
Reference in new issue
Block a user