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

add requirement for EULA acceptance to CUDA easyblock #3045

Merged
merged 1 commit into from
Dec 29, 2023
Merged

Conversation

ocaisa
Copy link
Member

@ocaisa ocaisa commented Nov 30, 2023

No description provided.

@ocaisa
Copy link
Member Author

ocaisa commented Nov 30, 2023

@boegelbot please test @ generoso EB_ARGS="CUDA-12.1.1.eb"

@boegelbot
Copy link

@ocaisa: Request for testing this PR well received on login1

PR test command 'EB_PR=3045 EB_ARGS="CUDA-12.1.1.eb" EB_CONTAINER= EB_REPO=easybuild-easyblocks /opt/software/slurm/bin/sbatch --job-name test_PR_3045 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 12314

Test results coming soon (I hope)...

- notification for comment with ID 1833547607 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link

Test report by @boegelbot

Overview of tested easyconfigs (in order)

  • SUCCESS CUDA-12.1.1.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
cns2 - Linux Rocky Linux 8.5, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/boegelbot/4ee3f696d86dbba385a5b591bd86312f for a full test report.

@ocaisa
Copy link
Member Author

ocaisa commented Nov 30, 2023

Urgh, that shouldn't have worked but did because the sources were already on disk. I'll do the reports manually

@ocaisa
Copy link
Member Author

ocaisa commented Nov 30, 2023

Test report by @ocaisa

Overview of tested easyconfigs (in order)

Build succeeded for 0 out of 1 (1 easyconfigs in total)
login1 - Linux Rocky Linux 8.5, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz, Python 3.6.8
See https://gist.github.com/ocaisa/75bc1f7236dbffddebc6fec1b7c56954 for a full test report.

@ocaisa
Copy link
Member Author

ocaisa commented Nov 30, 2023

Ok, that one is the expected failure due to not accepting the EULA (see the gist for the output text)

@ocaisa
Copy link
Member Author

ocaisa commented Nov 30, 2023

Test report by @ocaisa

Overview of tested easyconfigs (in order)

  • SUCCESS CUDA-12.1.1.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
login1 - Linux Rocky Linux 8.5, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz, Python 3.6.8
See https://gist.github.com/ocaisa/9414518b4479eb80ef7d87a336b9b850 for a full test report.

@ocaisa
Copy link
Member Author

ocaisa commented Nov 30, 2023

And that one is with the updated command line:

eb --include-easyblocks-from-pr=3045 CUDA-12.1.1.eb --rebuild --accept-eula-for=CUDA --upload-test-report

@mboisson
Copy link
Contributor

Philosophical question: what does it mean for the software installer to accept the end user license agreement ?

@ocaisa
Copy link
Member Author

ocaisa commented Nov 30, 2023

Are you sure that's not a legal rather than philosophical question?

@mboisson
Copy link
Contributor

mboisson commented Nov 30, 2023

My point is that the software installer is not the end user. Merely a middle-person, and that if we consider the EULA for installing the software, it should be considered for using the software (i.e. when the module is loaded, not when the software is installed).

@ocaisa
Copy link
Member Author

ocaisa commented Nov 30, 2023

That's problematic though, as you don't need accept the EULA to run a CUDA application. To be honest, the way we've implemented CUDA support in EESSI this would indeed be possible, we've dropped CUDA to a build dep and rely on RPATH for running the cuda applications. You could require the end user to set a certain environment variable to allow them to load the CUDA module itself. You can do that by configuring an lmod RC file appropriately along the lines of what's done in EESSI/software-layer#381

Unfortunately that's not a global solution though, so I still think this as a reasonable approximation to what is happening a lot in practice.

@ocaisa
Copy link
Member Author

ocaisa commented Dec 3, 2023

I guess we should think of this as a warning to people that CUDA has a EULA, if you make it available you are responsible for making your users aware of that.

@boegel boegel added the bug fix label Dec 6, 2023
@boegel boegel added this to the next release (4.9.0?) milestone Dec 6, 2023
@boegel boegel added the change label Dec 6, 2023
@boegel
Copy link
Member

boegel commented Dec 6, 2023

Urgh, that shouldn't have worked but did because the sources were already on disk. I'll do the reports manually

It worked because the bot uses --accept-eula-for=".*", looks good as is.

@boegel boegel changed the title Add requirement for EULA acceptance to CUDA easyblock add requirement for EULA acceptance to CUDA easyblock Dec 29, 2023
@boegel
Copy link
Member

boegel commented Dec 29, 2023

Test report by @boegel

Overview of tested easyconfigs (in order)

  • SUCCESS CUDA-12.1.0.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
node4006.donphan.os - Linux RHEL 8.8, x86_64, Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz (cascadelake), 1 x NVIDIA NVIDIA A2, 535.129.03, Python 3.6.8
See https://gist.github.com/boegel/c601f3b5d88c51d06fd432feadd59cd3 for a full test report.

@boegel boegel merged commit b21ada0 into develop Dec 29, 2023
93 checks passed
@boegel boegel deleted the ocaisa-patch-1 branch December 29, 2023 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants