easybuilders / easybuild-easyblocks

Collection of easyblocks that implement support for building and installing software with EasyBuild.
https://easybuild.io
GNU General Public License v2.0
106 stars 285 forks source link

Enhance AOCC EasyBlock to work with LLVM 16 and newer #3458

Closed Thyre closed 1 month ago

Thyre commented 1 month ago

Enhances the AOCC EasyBlock so that internal LLVM versions newer than LLVM 16 map to the correct resource dir. In addition, update the list of AOCC to LLVM versions to the most up-to-date one, helping when writing AOCC EasyConfigs.

This PR is an alternative to https://github.com/easybuilders/easybuild-easyblocks/pull/3437, where the version was mapped during the __init__ call of the EasyBlock, which could fail if the mapping table is used and did not represent the actual version.

Thyre commented 1 month ago

Tested with https://github.com/easybuilders/easybuild-easyconfigs/pull/21343, see https://github.com/easybuilders/easybuild-easyconfigs/pull/21343#issuecomment-2368605821

If I manage to build GCCcore/12.2.0, I'll continue testing. My system GCC causes quite some issues when trying to build a GCCcore lower than GCC 13, probably due to NVPTX.

Thyre commented 1 month ago

Test report by @Thyre

Overview of tested easyconfigs (in order)

Build succeeded for 1 out of 1 (1 easyconfigs in total) Linux - Linux EndeavourOS UNKNOWN, x86_64, AMD Ryzen 7 7800X3D 8-Core Processor, 1 x NVIDIA NVIDIA GeForce RTX 3070, 560.35.03, Python 3.12.6 See https://gist.github.com/Thyre/da860d0b57ab4c087d74c3d86a8ec1c1 for a full test report.

Note: My GCCcore/12.2.0 is built without NVPTX, but this should not affect installing AOCC.

boegel commented 1 month ago

@boegelbot please test @ jsc-zen3 EB_ARGS="AOCC-3.1.0-GCCcore-10.3.0.eb AOCC-3.2.0-GCCcore-11.3.0.eb AOCC-4.0.0-GCCcore-12.3.0.eb"

boegel commented 1 month ago

Test report by @boegel

Overview of tested easyconfigs (in order)

Build succeeded for 3 out of 3 (3 easyconfigs in total) node3123.skitty.os - Linux RHEL 8.8, x86_64, Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz, Python 3.6.8 See https://gist.github.com/boegel/889948aa7238086e7268ca1c3e24de8e for a full test report.

boegelbot commented 1 month ago

@boegel: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=3458 EB_ARGS="AOCC-3.1.0-GCCcore-10.3.0.eb AOCC-3.2.0-GCCcore-11.3.0.eb AOCC-4.0.0-GCCcore-12.3.0.eb" EB_REPO=easybuild-easyblocks EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_3458 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

Test results coming soon (I hope)...

*- notification for comment with ID 2374876762 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 commented 1 month ago

Test report by @boegelbot

Overview of tested easyconfigs (in order)

Build succeeded for 2 out of 3 (3 easyconfigs in total) jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.4, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.18 See https://gist.github.com/boegelbot/5dd71bf7775b83a3bc3c2c4bd81ab360 for a full test report.