conda-forge / cuquantum-feedstock

A conda-smithy repository for cuquantum.
BSD 3-Clause "New" or "Revised" License
3 stars 4 forks source link

Update from staged recipe #5

Closed leofang closed 2 years ago

leofang commented 2 years ago

Follow-up of https://github.com/conda-forge/staged-recipes/pull/17550. Close #4.

Checklist

conda-forge-linter commented 2 years ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

leofang commented 2 years ago

Blocked by https://github.com/conda-forge/cutensor-feedstock/pull/26.

github-actions[bot] commented 2 years ago

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

Thus the PR was not passing and not merged.

jakirkham commented 2 years ago

Restarted CI since that had been merged and published packages a while back

leofang commented 2 years ago

Reported internally the test failure due to undefined references (CUQNT-546). Let me investigate a workaround.

++ nvcc --std=c++11 -I/home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include -L/home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib -lcustatevec ./accessor_get.cu -o ./accessor_get.cu.out
+ error_log='/home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/../lib/gcc/powerpc64le-conda-linux-gnu/9.4.0/../../../../powerpc64le-conda-linux-gnu/bin/ld: /home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/libcustatevec.so: undefined reference to `cublasCreate_v2'\''
/home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/../lib/gcc/powerpc64le-conda-linux-gnu/9.4.0/../../../../powerpc64le-conda-linux-gnu/bin/ld: /home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/libcustatevec.so: undefined reference to `cublasGemmEx'\''
/home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/../lib/gcc/powerpc64le-conda-linux-gnu/9.4.0/../../../../powerpc64le-conda-linux-gnu/bin/ld: /home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/libcustatevec.so: undefined reference to `cublasSetStream_v2'\''
/home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/../lib/gcc/powerpc64le-conda-linux-gnu/9.4.0/../../../../powerpc64le-conda-linux-gnu/bin/ld: /home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/libcustatevec.so: undefined reference to `__tls_get_addr_opt@GLIBC_2.22'\''
/home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/../lib/gcc/powerpc64le-conda-linux-gnu/9.4.0/../../../../powerpc64le-conda-linux-gnu/bin/ld: /home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/libcustatevec.so: undefined reference to `cublasDestroy_v2'\''
/home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/../lib/gcc/powerpc64le-conda-linux-gnu/9.4.0/../../../../powerpc64le-conda-linux-gnu/bin/ld: /home/conda/feedstock_root/build_artifacts/cuquantum_1643399673695/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/libcustatevec.so: undefined reference to `powf@GLIBC_2.27'\''
github-actions[bot] commented 2 years ago

Hi! This is the friendly conda-forge automerge bot!

Commits were made to this PR after the automerge label was added. For security reasons, I have disabled automerge by removing the automerge label. Please add the automerge label again (or ask a maintainer to do so) if you'd like to enable automerge again!

leofang commented 2 years ago

No luck. __tls_get_addr_opt is a linker optimization which is not something whose version info can be naively erased. Will disable ppc64le builds for now...

jakirkham commented 2 years ago

Maybe this blogpost is useful?

leofang commented 2 years ago

Yes, it looks nice and very through, though my current understanding is the binary needs to be recompiled and some linker flags should be set at the link time to not generate the __tls_get_addr_opt symbol. Doesn't seem that patchelf can patch the behavior easily?

leofang commented 2 years ago

Let's merge and I'll open an issue later to keep track of ppc64le builds!

jakirkham commented 2 years ago

Agreed wasn't suggesting we try to fix that right now. Just digging up info that might be useful in the future :)

jakirkham commented 2 years ago

Thanks Leo! 😀