[Do not merge yet] Incorporate Toil GPU support #844
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@adamnovak added the
accelerators
resource to Toil, which allows setting the number of GPUs in each job. This is vital for getting Cactus with GPU to work on AWS (as it allows dividing cpu and gpu jobs between appropriate instance types).This PR updates Cactus to use
accelerators
for jobs that run Segalign. It does so via the new--gpuCount
option (and alsogpuCount
properties in the config). By default, the current functionality is kept: all gpus are used by each segalign job (regardless of what toil thinks) if--gpu
(orgpuLastz
) are toggled on. But thegpuCount
can be used to finetune things if desired.For this to be usable on AWS, Toil needs to be able to run gpu docker images.
Also, we cannot specify the number of CPU cores that segalign uses. So this will have to be resolved in order to take full advantage of gpu scheduling on large single machine instances (but isn't much of a factor on the cloud where we can stick with one job per instance)
This PR shouldn't be merged until the next Toil release, ideally with that first issue above fixed.