Skip to content

Correct the resource labels from the run trace, and speed up lm - #58

Merged
rcannood merged 5 commits into
mainfrom
fix-resource-labels-and-lm
Jul 31, 2026
Merged

Correct the resource labels from the run trace, and speed up lm#58
rcannood merged 5 commits into
mainfrom
fix-resource-labels-and-lm

Conversation

@rcannood

Copy link
Copy Markdown
Member

Describe your changes

Corrects the resource labels against the trace of run 1gVHaBsNbAHcfT, and rewrites lm's inner loop rather than giving it more walltime.

Checklist before requesting a review

  • I have performed a self-review of my code

  • Check the correct box. Does this PR contain:

    • Breaking changes
    • New functionality
    • Major changes
    • Minor changes
    • Bug fixes
  • Proposed changes are described in the CHANGELOG.md

  • CI Tests succeed and look good!

rcannood added 5 commits July 31, 2026 13:43
Every column of mod2 is regressed on the same design matrix, but the script
called `fastLm()` once per column inside a serial `pblapply()`, redoing an
n x 51 decomposition for each of the ~229k ATAC peaks. Solving the normal
equations once gives the identical fit -- on synthetic data of that shape the
predictions agree to 2e-15, also when the design matrix is badly conditioned.

In run 1gVHaBsNbAHcfT lm was the only method near its walltime, at 7.6h of 8h.

* Replace the per-column loop with a single `solve()`
* Drop the now unused RcppArmadillo and pbapply dependencies
de.NBI Berlin has two GPU flavours, both a single T4: `de.NBI GPU T4 medium`
(16 vCPU / 64 GB) and `de.NBI GPU T4 large` (32 vCPU / 128 GB). In run
1gVHaBsNbAHcfT these four steps peaked at 1.4-3.5 GB while each occupying a
whole large node, and they were 20 of the ~35 jobs queued behind the two T4s.

* novel_predict, simple_mlp_predict, ss_opm_predict, babel_predict: gpu -> midgpu

The train steps stay on `gpu`: ss_opm_train really does peak at 96 GB.
* knnr_py, cellmapper_linear, knnr_r: midmem -> highmem
* cellmapper_linear, knnr_r: midcpu -> lowcpu
* solution, zeros: midmem -> lowmem

knnr_py peaked at 82 GB and cellmapper_linear at 68 GB against their 50 GB
request, and both were OOM-killed once in run 1gVHaBsNbAHcfT; knnr_r sits at
45 GB of 50. The other way round, solution uses 0.5 GB and zeros 11 GB of
their 50 GB, and knnr_r and cellmapper_linear use 1.4 and 3.8 of 15 cores.
@rcannood
rcannood merged commit 8b3661d into main Jul 31, 2026
11 checks passed
@rcannood
rcannood deleted the fix-resource-labels-and-lm branch July 31, 2026 11:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant