Skip to content

Conversation

@Micket
Copy link
Contributor

@Micket Micket commented Feb 7, 2023

(created using eb --new-pr)

I also need to test this as an optional dependency to ffmpeg.

@Micket Micket added the new label Feb 7, 2023
@Micket
Copy link
Contributor Author

Micket commented Feb 7, 2023

I wasn't sure if to call this ffnvcodec or nv-codec-headers.

@Micket Micket marked this pull request as draft February 7, 2023 14:01
@Micket
Copy link
Contributor Author

Micket commented Feb 7, 2023

Test report by @Micket
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
vera-c2 - Linux Rocky Linux 8.6, x86_64, Intel Xeon Processor (Skylake), Python 3.6.8
See https://gist.github.com/37cac73034b94eceda85511bece60c3d for a full test report.

@Micket Micket changed the title {lib}[GCCcore/11.3.0] nv-codec-headers v11.1.5.2 {lib}[GCCcore/11.3.0] ffnvcodec v11.1.5.2 Feb 7, 2023
@Micket Micket marked this pull request as ready for review February 8, 2023 09:51
@Micket Micket changed the title {lib}[GCCcore/11.3.0] ffnvcodec v11.1.5.2 {lib}[GCCcore/11.3.0] ffnvcodec v11.1.5.2 + used in FFmpeg 5.0.1 Feb 8, 2023
@Micket
Copy link
Contributor Author

Micket commented Feb 8, 2023

So, ffnvcodec are just headers, and ffmpeg should do runtime checks. I think this will just build FFmpeg with support for nvenc, similar to how we do with OpenMPI's cuda support.
There is basically minimal impact (except for a few seconds of build time?) for those who don't have nvidia GPUs.

It doesn't seem to care about CUDA runtime either, the actual codec libraries are part of the drivers. So, that's great. No need to make CUDA suffix variants of FFmpeg for this feature i think.

But it needs to be tested to ensure it has no negative impact on systems without nvidia gpus (or drivers)

@Micket
Copy link
Contributor Author

Micket commented Feb 8, 2023

Test report by @Micket
SUCCESS
Build succeeded for 2 out of 2 (2 easyconfigs in total)
vera-c2 - Linux Rocky Linux 8.6, x86_64, Intel Xeon Processor (Skylake), Python 3.6.8
See https://gist.github.com/bdfd05ed7ec3c622c01a9862bb78166c for a full test report.

@zao
Copy link
Contributor

zao commented Feb 8, 2023

Test report by @zao
SUCCESS
Build succeeded for 2 out of 2 (2 easyconfigs in total)
eb-rocky8 - Linux Rocky Linux 8.6, x86_64, AMD Ryzen 9 3900X 12-Core Processor, Python 3.9.7
See https://gist.github.com/e29910a21cd90a279645bc9d7a9aae97 for a full test report.

@Micket Micket changed the title {lib}[GCCcore/11.3.0] ffnvcodec v11.1.5.2 + used in FFmpeg 5.0.1 {lib}[SYSTEM] ffnvcodec v11.1.5.2 + used in FFmpeg 5.0.1 Feb 8, 2023
@Micket
Copy link
Contributor Author

Micket commented Feb 8, 2023

Test report by @Micket
SUCCESS
Build succeeded for 2 out of 2 (2 easyconfigs in total)
vera-c2 - Linux Rocky Linux 8.6, x86_64, Intel Xeon Processor (Skylake), Python 3.6.8
See https://gist.github.com/dc59ef0f865da9df3c6f6b8341351199 for a full test report.

@Micket
Copy link
Contributor Author

Micket commented Feb 8, 2023

Tested to confirm that it builds fine even if you lack cuda and gpu (and such a build will work at runtime from a machine with nvidia gpu). We should be able to apply this to all FFmpegs going forward.

I'm not sure how to interpret the different versions of ffnvcodec though, or what the compatibility with nvidia drivers and/or FFmpeg is.

@Micket
Copy link
Contributor Author

Micket commented Feb 9, 2023

@boegelbot please test @ generoso

@boegelbot
Copy link
Collaborator

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

PR test command 'EB_PR=17271 EB_ARGS= EB_CONTAINER= /opt/software/slurm/bin/sbatch --job-name test_PR_17271 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

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

Test results coming soon (I hope)...

- notification for comment with ID 1424801064 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).

@boegel boegel changed the title {lib}[SYSTEM] ffnvcodec v11.1.5.2 + used in FFmpeg 5.0.1 {lib}[SYSTEM] ffnvcodec v11.1.5.2 + add it as dependency in FFmpeg 5.0.1 Feb 13, 2023
Copy link
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

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

lgtm

@boegel boegel added this to the next release (4.7.1?) milestone Feb 13, 2023
@boegel
Copy link
Member

boegel commented Feb 13, 2023

@boegelbot please test @ generoso

@boegelbot
Copy link
Collaborator

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

PR test command 'EB_PR=17271 EB_ARGS= EB_CONTAINER= /opt/software/slurm/bin/sbatch --job-name test_PR_17271 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

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

Test results coming soon (I hope)...

- notification for comment with ID 1427634359 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
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 2 out of 2 (2 easyconfigs in total)
cns1 - 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/4f93a0b32e037dd7fc40824da61f1d35 for a full test report.

@boegel
Copy link
Member

boegel commented Feb 13, 2023

@boegelbot please test @ jsc-zen2

@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on jsczen2l1.int.jsc-zen2.easybuild-test.cluster

PR test command 'EB_PR=17271 EB_ARGS= /opt/software/slurm/bin/sbatch --mem-per-cpu=4000M --job-name test_PR_17271 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen2.sh' executed!

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

Test results coming soon (I hope)...

- notification for comment with ID 1427663971 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
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 2 out of 2 (2 easyconfigs in total)
jsczen2c1.int.jsc-zen2.easybuild-test.cluster - Linux Rocky Linux 8.5, x86_64, AMD EPYC 7742 64-Core Processor (zen2), Python 3.6.8
See https://gist.github.com/73def7c62ee7ee7d82afa9da1284af8b for a full test report.

@boegel
Copy link
Member

boegel commented Feb 13, 2023

Test report by @boegel
SUCCESS
Build succeeded for 2 out of 2 (2 easyconfigs in total)
node3158.skitty.os - Linux RHEL 8.6, x86_64, Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz (skylake_avx512), Python 3.6.8
See https://gist.github.com/924b7608faf1ad3eb3627db3479c8239 for a full test report.

@boegel
Copy link
Member

boegel commented Feb 13, 2023

Going in, thanks @Micket!

@boegel boegel merged commit b6c3c6d into easybuilders:develop Feb 13, 2023
@boegel boegel changed the title {lib}[SYSTEM] ffnvcodec v11.1.5.2 + add it as dependency in FFmpeg 5.0.1 {lib}[SYSTEM] ffnvcodec v11.1.5.2 + add it as build dependency in FFmpeg 5.0.1 Feb 15, 2023
@Micket Micket deleted the 20230207133918_new_pr_nv-codec-headers11152 branch April 21, 2023 09:18
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