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

Restrict ebuser and let it submit jobs #58

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

bartoldeman
Copy link
Contributor

This restricts the use of sudo -iu ebuser eb ... to only work on login nodes and let it submit jobs. For non-system easyconfigs it will submit a job for both avx2 and avx512, so the automatic recompilation is no longer necessary.

This restricts the use of `sudo -iu ebuser eb ...` to only work
on login nodes and let it submit jobs. For non-system easyconfigs
it will submit a job for both avx2 and avx512, so the automatic
recompilation is no longer necessary.
@bartoldeman bartoldeman marked this pull request as draft March 27, 2024 17:28
@bartoldeman
Copy link
Contributor Author

Converted to draft, since it probably needs some refinement in case one of the builds fail, to select either avx2 or avx512 manually.

eb
if [[ $argument =~ --inject-checksums* || $argument =~ --robot* || "$argument" == "-r" ]]; then
if [[ "$CURRENT_USER" == "ebuser" ]]; then
if ! [[ $(hostname) =~ ^login..archimedes.c3.ca$ ]]; then
echo "Please only submit as ebuser on login nodes"
Copy link
Member

Choose a reason for hiding this comment

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

why restrict it to login node only ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

do you want compute node sessions to send recursive jobs?

Copy link
Member

Choose a reason for hiding this comment

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

I would say the following is valid workflow:

  1. salloc to get a dedicated node
  2. eb as myself to test and develop
  3. sudo ebuser eb

i.e. to use compute nodes as development nodes

Copy link
Contributor Author

Choose a reason for hiding this comment

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

but for 3. should it spin off a job to a second compute node or stay on that node? Compile for both avx2 and avx512 or avx2 only?

Copy link
Member

Choose a reason for hiding this comment

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

I would say it should behave just as if it was done on the login node, i.e. launch a new job and build for both avx2 and avx512

eb
exec $EB --configfiles=$LOCAL_EASYBUILD_CONFIGFILES "${NEW_ARGS[@]}"
cd /cvmfs/local/var/log
$EB --fetch --configfiles=$LOCAL_EASYBUILD_CONFIGFILES "${NEW_ARGS[@]}"
export RSNT_ARCH=avx2
Copy link
Member

Choose a reason for hiding this comment

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

This essentially forbids building for avx or sse3. Even though we don't do it often, I don't think it should be forbidden ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

good point, we need to allow that

eb Show resolved Hide resolved
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