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

[BUG]: THRUST_DEVICE_SYSTEM is missing from ccmake #2963

Open
1 task done
bernhardmgruber opened this issue Nov 26, 2024 · 4 comments · May be fixed by #2977
Open
1 task done

[BUG]: THRUST_DEVICE_SYSTEM is missing from ccmake #2963

bernhardmgruber opened this issue Nov 26, 2024 · 4 comments · May be fixed by #2977
Assignees
Labels
bug Something isn't working right.

Comments

@bernhardmgruber
Copy link
Contributor

bernhardmgruber commented Nov 26, 2024

Is this a duplicate?

Type of Bug

Something else

Component

Thrust

Describe the bug

Previously, configuring CCCL with cmake would expose the cache variable THRUST_DEVICE_SYSTEM in the cmake tui (ccmake). The variable seems to have disappeared.

This is unfortunate, since it makes switching backends inside a build directory unnecessarily harder.

How to Reproduce

Run from a CCCL git clone:

mkdir build_dir
cd build_dir
cmake ..
ccmake ..

Shows the following Thrust-related variables:

 THRUST_CPP_DIALECT               17
 THRUST_DISPATCH_TYPE             Dynamic
 THRUST_ENABLE_EXAMPLES           ON
 THRUST_ENABLE_EXAMPLE_FILECHEC   OFF
 THRUST_ENABLE_HEADER_TESTING     ON
 THRUST_ENABLE_MULTICONFIG        OFF
 THRUST_ENABLE_RDC_TESTS          ON
 THRUST_ENABLE_TESTING            ON
 THRUST_FORCE_RDC                 OFF
 Thrust_ENABLE_INSTALL_RULES      ON

Expected behavior

The variable THRUST_DEVICE_SYSTEM should be displayed as it used to be.

Reproduction link

No response

Operating System

No response

nvidia-smi output

No response

NVCC version

No response

@bernhardmgruber bernhardmgruber added the bug Something isn't working right. label Nov 26, 2024
@github-project-automation github-project-automation bot moved this to Todo in CCCL Nov 26, 2024
@alliepiper
Copy link
Collaborator

That variable is hidden when THRUST_ENABLE_MULTICONFIG=ON, since it'd otherwise conflict with the multiconfig state.

@alliepiper
Copy link
Collaborator

It looks like some code may have bit-rotted away, the definitions of those options are missing. I'll put up a PR soon.

@alliepiper
Copy link
Collaborator

It's worth pointing out that the singleconfig stuff isn't really used or tested anymore and is likely to have more issues.

Rather than changing the system in a build directory, why not just use the all-dev preset and just build the targets from the host/device/dialect triple you're interested it?

alliepiper added a commit to alliepiper/cccl that referenced this issue Nov 27, 2024
alliepiper added a commit to alliepiper/cccl that referenced this issue Nov 27, 2024
@alliepiper alliepiper linked a pull request Nov 27, 2024 that will close this issue
@cccl-authenticator-app cccl-authenticator-app bot moved this from Todo to In Review in CCCL Nov 27, 2024
@bernhardmgruber
Copy link
Contributor Author

It's worth pointing out that the singleconfig stuff isn't really used or tested anymore and is likely to have more issues.

I could be convinced that we should drop the singleconfig stuff in the interest of a simpler build system.

Rather than changing the system in a build directory, why not just use the all-dev preset and just build the targets from the host/device/dialect triple you're interested it?

That's a valid workflow for developing. However, when I test, profile, debug, hunt bugs, etc. I tend to try through different configurations while repeating the same commands over and over again. I find it easier if the target name does not change every time I change the configuration.

But again, if the benefit of dropping singleconfig mode is lage, I can cope.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working right.
Projects
Status: In Review
Development

Successfully merging a pull request may close this issue.

2 participants