build regression for unsupported CXX=nvcc

Issue #324 resolved
Dan Bonachea created an issue

CI reveals that our CXX=nvcc configuration has stopped working:

https://upc-bugs.lbl.gov/upc_tests/config.php?date=2020-02-24&config=EX-dirac-ibv-nvcc-dbg

https://upc-bugs.lbl.gov/upc_tests/showlog.php?date=2020-02-24&config=EX-dirac-ibv-nvcc&opt=dbg&log=upcxx#bottom

It fails to get through the new CUDA configure logic (I had to manually tweak the old nobs CUDA logic to make this case work).

This is an unsupported configuration for building the UPC++ library. The only reason we test this way at all is it's the most convenient way to get test coverage for the nvcc compiler wrapper parsing our UPC++ public headers, which we do want to support (and has been broken in the past - issue #274).

We should hack together something after feature freeze to restore this test coverage, even if it's never merged to the public branches.

Comments (5)

  1. Paul Hargrove

    Note to future self: nvcc special-casing was added to nobsrule.py in (at least) the following commits: 9665de5 0107d1c 70cd43b

    If I read the first of those correctly, getting past the configure-time failure looks to be simply a matter of "canned responses" in place of the current scraping logic when CXX=nvcc:

    UPCXX_CUDA_CPPFLAGS=''
    UPCXX_CUDA_LIBFLAGS='-lcuda'
    

    I didn't try to parse the other tweaks in-depth, but at least the pthread and Open MP flags are orthogonal to current build infrastructure until we address issue 319

  2. Paul Hargrove

    configure: resolve issue 324

    This commit adds logic to configure to use hard-coded values for UPCXX_CUDA_{CPP,LIB}FLAGS when CXX is nvcc (a configuration we do not officially support).

    This is sufficient to make check with CXX=nvcc and a manual run of the EX-dirac-ibv-nvcc pushbuild config.

    → <<cset 985fc96eca63>>

  3. Log in to comment