Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

set default GPU to K80->P4 in BEAST task; parameterize beagle_order #442

Merged
merged 9 commits into from
Dec 21, 2022

Conversation

tomkinsc
Copy link
Member

@tomkinsc tomkinsc commented Dec 9, 2022

set default GPU to K80->P4 in BEAST task; expose beagle_order as a task input

-beagle_GPU \
-beagle_cuda \
-beagle_SSE \
-beagle_double \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One request -- can we parameterize with some boolean beagle_double=true that turns into either -beagle_double or -beagle_single on the command line? In >90% of the xmls I've run, we need double precision to converge well, but every once in a while, single-precision is enough and the speed gains are huge. The best performance/$ is actually on a T4 but only if you're running single-precision.

tomkinsc and others added 7 commits December 9, 2022 18:18
…er based on GPU count if not otherwise specified

expose bool to set single/double precision for beagle; generate+set beagle_order string based on GPU count if not otherwise specified
…ce we don't need to worry about macOS and its quirky BSD interpretation of 'seq' -s
@dpark01
Copy link
Member

dpark01 commented Dec 13, 2022

Is this ready to merge?

@dpark01
Copy link
Member

dpark01 commented Dec 19, 2022

Ooh actually this might be a good opportunity to try out / implement some of the thinking in #130. We could:

  1. Add -save_every 100000 -save_state checkpoint.state to the beast invocation in the command block
  2. Add checkpointFile: "checkpoint.state" to the runtime block of the task
  3. Add some bash conditionals that check for the existence of the checkpoint.state file and add -load_state checkpoint.state to the beast invocation if the file exists.
  4. Maybe also accept the checkpoint file as an optional input File??

Cromwell seems to only support one such special file, so we can't do the beast_log too while we're at it. Not sure if the checkpoint file actually contains all the log data as well or if it's only tracking a single state...

@dpark01
Copy link
Member

dpark01 commented Dec 21, 2022

Actually I'll just merge this as-is now and we can work on #130 later. Looking to tag a new release here before the holidays.

@dpark01 dpark01 merged commit 07348d4 into master Dec 21, 2022
@dpark01 dpark01 deleted the ct-beast_gpu_new_defaults branch December 21, 2022 19:00
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.

2 participants