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

build: try relaxing gcc pin #39

Merged
merged 6 commits into from
Jul 18, 2024
Merged

Conversation

tlambert03
Copy link
Member

closes #37 (if it works)

@jakirkham
Copy link

Thanks Talley! 🙏

Think we need a re-render too

@tlambert03
Copy link
Member Author

always forget that!

@jakirkham
Copy link

No worries. Thanks Talley! 🙏

@tlambert03
Copy link
Member Author

worked for cuda12, but 11.8 gave:

2024-07-18T20:10:53.9129385Z -- The CXX compiler identification is GNU 12.4.0
2024-07-18T20:10:54.1408895Z CMake Error at /home/conda/feedstock_root/build_artifacts/cudadecon_1721333289914/_build_env/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:838 (message):
2024-07-18T20:10:54.1409371Z   Compiling the CUDA compiler identification source file
2024-07-18T20:10:54.1409638Z   "CMakeCUDACompilerId.cu" failed.
2024-07-18T20:10:54.1409734Z 
2024-07-18T20:10:54.1409883Z   Compiler:
2024-07-18T20:10:54.1410151Z   /home/conda/feedstock_root/build_artifacts/cudadecon_1721333289914/_build_env/bin/nvcc
2024-07-18T20:10:54.1410612Z 
2024-07-18T20:10:54.1410670Z 
2024-07-18T20:10:54.1410848Z   Build flags:
2024-07-18T20:10:54.1410921Z 
2024-07-18T20:10:54.1411178Z   Id flags: --keep;--keep-dir;tmp -v
2024-07-18T20:10:54.1411275Z 
2024-07-18T20:10:54.1411485Z 
2024-07-18T20:10:54.1411540Z 
2024-07-18T20:10:54.1411694Z   The output was:
2024-07-18T20:10:54.1411770Z 
2024-07-18T20:10:54.1411926Z   1
2024-07-18T20:10:54.1411987Z 
2024-07-18T20:10:54.1412142Z   #$ _NVVM_BRANCH_=nvvm
2024-07-18T20:10:54.1412249Z 
2024-07-18T20:10:54.1412391Z   #$ _SPACE_=
2024-07-18T20:10:54.1412459Z 
2024-07-18T20:10:54.1412637Z   #$ _CUDART_=cudart
2024-07-18T20:10:54.1412714Z 
2024-07-18T20:10:54.1412874Z   #$ _HERE_=/usr/local/cuda/bin
2024-07-18T20:10:54.1412962Z 
2024-07-18T20:10:54.1413156Z   #$ _THERE_=/usr/local/cuda/bin
2024-07-18T20:10:54.1413243Z 
2024-07-18T20:10:54.1413417Z   #$ _TARGET_SIZE_=
2024-07-18T20:10:54.1413494Z 
2024-07-18T20:10:54.1413648Z   #$ _TARGET_DIR_=
2024-07-18T20:10:54.1413721Z 
2024-07-18T20:10:54.1414001Z   #$ _TARGET_DIR_=targets/x86_64-linux
2024-07-18T20:10:54.1414100Z 
2024-07-18T20:10:54.1414265Z   #$ TOP=/usr/local/cuda/bin/..
2024-07-18T20:10:54.1414374Z 
2024-07-18T20:10:54.1414569Z   #$ NVVMIR_LIBRARY_DIR=/usr/local/cuda/bin/../nvvm/libdevice
2024-07-18T20:10:54.1414694Z 
2024-07-18T20:10:54.1414900Z   #$ LD_LIBRARY_PATH=/usr/local/cuda/bin/../lib:
2024-07-18T20:10:54.1415006Z 
2024-07-18T20:10:54.1415138Z   #$
2024-07-18T20:10:54.1416443Z   PATH=/usr/local/cuda/bin/../nvvm/bin:/usr/local/cuda/bin:/home/conda/feedstock_root/build_artifacts/cudadecon_1721333289914/_build_env/bin:/home/conda/feedstock_root/build_artifacts/cudadecon_1721333289914/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin:/opt/conda/condabin:/home/conda/feedstock_root/build_artifacts/cudadecon_1721333289914/_build_env/bin:/home/conda/feedstock_root/build_artifacts/cudadecon_1721333289914/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin:/opt/conda/bin:/opt/conda/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/conda/bin:/usr/local/cuda/bin:/home/conda/feedstock_root/build_artifacts/cudadecon_1721333289914/_build_env/nvvm/bin/
2024-07-18T20:10:54.1417642Z 
2024-07-18T20:10:54.1417700Z 
2024-07-18T20:10:54.1418016Z   #$ INCLUDES="-I/usr/local/cuda/bin/../targets/x86_64-linux/include"
2024-07-18T20:10:54.1418144Z 
2024-07-18T20:10:54.1418501Z   #$ LIBRARIES= "-L/usr/local/cuda/bin/../targets/x86_64-linux/lib/stubs"
2024-07-18T20:10:54.1418849Z   "-L/usr/local/cuda/bin/../targets/x86_64-linux/lib"
2024-07-18T20:10:54.1418984Z 
2024-07-18T20:10:54.1419132Z   #$ CUDAFE_FLAGS=
2024-07-18T20:10:54.1419208Z 
2024-07-18T20:10:54.1419377Z   #$ PTXAS_FLAGS=
2024-07-18T20:10:54.1419455Z 
2024-07-18T20:10:54.1419608Z   #$ rm tmp/a_dlink.reg.c
2024-07-18T20:10:54.1419690Z 
2024-07-18T20:10:54.1419843Z   #$
2024-07-18T20:10:54.1420279Z   "/home/conda/feedstock_root/build_artifacts/cudadecon_1721333289914/_build_env/bin"/x86_64-conda-linux-gnu-c++
2024-07-18T20:10:54.1420725Z   -D__CUDA_ARCH__=520 -D__CUDA_ARCH_LIST__=520 -E -x c++
2024-07-18T20:10:54.1421071Z   -DCUDA_DOUBLE_MATH_FUNCTIONS -D__CUDACC__ -D__NVCC__
2024-07-18T20:10:54.1421443Z   "-I/usr/local/cuda/bin/../targets/x86_64-linux/include"
2024-07-18T20:10:54.1421784Z   -D__CUDACC_VER_MAJOR__=11 -D__CUDACC_VER_MINOR__=8
2024-07-18T20:10:54.1422156Z   -D__CUDACC_VER_BUILD__=89 -D__CUDA_API_VER_MAJOR__=11
2024-07-18T20:10:54.1422542Z   -D__CUDA_API_VER_MINOR__=8 -D__NVCC_DIAG_PRAGMA_SUPPORT__=1 -include
2024-07-18T20:10:54.1422896Z   "cuda_runtime.h" -m64 "CMakeCUDACompilerId.cu" -o
2024-07-18T20:10:54.1423146Z   "tmp/CMakeCUDACompilerId.cpp1.ii"
2024-07-18T20:10:54.1423240Z 
2024-07-18T20:10:54.1423416Z   In file included from
2024-07-18T20:10:54.1423875Z   /usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h:83,
2024-07-18T20:10:54.1424014Z 
2024-07-18T20:10:54.1424271Z                    from <command-line>:
2024-07-18T20:10:54.1424353Z 
2024-07-18T20:10:54.1424484Z   
2024-07-18T20:10:54.1424947Z   /usr/local/cuda/bin/../targets/x86_64-linux/include/crt/host_config.h:132:2:
2024-07-18T20:10:54.1425363Z   error: #error -- unsupported GNU version! gcc versions later than 11 are
2024-07-18T20:10:54.1425792Z   not supported! The nvcc flag '-allow-unsupported-compiler' can be used to
2024-07-18T20:10:54.1426086Z   override this version check; however, using an unsupported host compiler
2024-07-18T20:10:54.1426400Z   may cause compilation failure or incorrect run time execution.  Use at your
2024-07-18T20:10:54.1426619Z   own risk.
2024-07-18T20:10:54.1426687Z 
2024-07-18T20:10:54.1427549Z     132 | #error -- unsupported GNU version! gcc versions later than 11 are not supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk.
2024-07-18T20:10:54.1428027Z         |  ^~~~~
2024-07-18T20:10:54.1428116Z 
2024-07-18T20:10:54.1428318Z   # --error 0x1 --

@jakirkham
Copy link

jakirkham commented Jul 18, 2024

Thanks Talley! 🙏


Would suggest the following changes...

Remove conda_build_config.yaml

git rm -f recipe/conda_build_config.yaml
git commit -m 'Drop `conda_build_config.yaml`'

Add CUDA 12 Migrator

mkdir -p .ci_support/migrations
push .ci_support/migrations
curl -LO https://raw.githubusercontent.com/conda-forge/conda-forge-pinning-feedstock/main/recipe/migrations/cuda120.yaml
git add .ci_support/migrations
git commit -m 'Add CUDA 12 migrator'

Re-render and push

conda smithy rerender -c auto
git push

Looking at the content in conda_build_config.yaml it is already in conda-forge-pinning (often with newer versions). So think this will help simplify things quite a bit. Namely we will get the CUDA & GCC pairings from conda-forge-pinning, which will fix the compatibility error seen on CI

If we find there are still things we need to add to conda_build_config.yaml, we can go back after and add them one-by-one. Though am hoping we don't need to do this

What do you think? 🙂

@tlambert03
Copy link
Member Author

sounds like it would simplify things a lot 👍 trying it now

@jakirkham
Copy link

Thanks Talley! 🙏

Looks like Linux is passing 🥳

Think Windows will soon too (though not much changed there)

@tlambert03
Copy link
Member Author

fantastic. I don't know what i'd do without your tips here 🙏

@tlambert03 tlambert03 merged commit 2605b8f into scopetools:main Jul 18, 2024
5 checks passed
@tlambert03 tlambert03 deleted the relax-gcc-pin branch July 18, 2024 21:11
@jakirkham
Copy link

Happy to help 🙂

Hopefully this makes maintenance smoother going forward

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.

Relax GCC pinning (using GCC newer than 10)
2 participants