Replies: 5 comments 4 replies
-
For updating for Slurm and Charliecloud it looks fairly simple see: |
Beta Was this translation helpful? Give feedback.
-
Using Singularity+MPI looks to be fairly straightforward based on their docs: https://sylabs.io/guides/3.3/user-guide/mpi.html. It does look like the container build process, such as for including the MPI libraries, may be more complicated. |
Beta Was this translation helpful? Give feedback.
-
I wanted to make a note about Quincy's comment for using prefixes for requirements/hints in order to avoid polluting the CWL namespace. I found an example of this with Arvados. They use an |
Beta Was this translation helpful? Give feedback.
-
After looking over the worker and container runtime code some more, I think we may need to modify the container runtime interface. Right now the container code simply generates script text to be appended onto the job submission scripts. This makes prepending to the main command difficult within the worker. An example of why this seems to be necessary is in the Charliecloud link that Pat posted above. You can see that there are some commands that just set up the environment, like the I'm thinking that maybe instead of generating text, the container runtime could instead generate a list of special |
Beta Was this translation helpful? Give feedback.
-
This does sound like a good idea. I'm not sure what specific properties would be, something like pre-pend? |
Beta Was this translation helpful? Give feedback.
-
I'm creating this discussion to talk about how we can add some level of MPI support to BEE. I'm thinking this would require some modifications to the Worker code in order to wrap steps with the proper
mpirun
command. It may also require some modifications to the container runtime classes, but we might be able to get around that.Also, we'll probably need to have some sort of new hint or requirement for MPI. The CWL team published a paper last year about a
cwltool:MPIRequirement
extension that they experimented with. Perhaps we can use this requirement to some extent, or come up with something else that's better suited to HPC.Beta Was this translation helpful? Give feedback.
All reactions