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's OpenMP unique_by_key fails with large inputs/outputs. #1715

Open
1 task done
alliepiper opened this issue May 6, 2024 · 0 comments
Open
1 task done
Labels
bug Something isn't working right.

Comments

@alliepiper
Copy link
Collaborator

Is this a duplicate?

Type of Bug

Runtime Error

Component

Thrust

Describe the bug

Running the thrust.cpp.omp.cpp17.test.unique_by_key test with either the TestUniqueCopyByKeyLargeInput or TestUniqueCopyByKeyLargeOutput test cases enabled results in a runtime fails. No exception is thrown, no error emitted, the process just prints "Killed" and exits.

This was noticed on gcc-12 + nvcc-12.4.

These two test cases will be disabled by #1696 until this can be investigated.

How to Reproduce

Build and run all cpp.omp tests using the cuda12.4-gcc12 devcontainer.

Expected behavior

The test should pass.

Reproduction link

No response

Operating System

No response

nvidia-smi output

No response

NVCC version

$ gcc --version
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

@alliepiper alliepiper added the bug Something isn't working right. label May 6, 2024
alliepiper added a commit to alliepiper/cccl that referenced this issue May 6, 2024
alliepiper added a commit to alliepiper/cccl that referenced this issue May 8, 2024
alliepiper added a commit to alliepiper/cccl that referenced this issue May 9, 2024
alliepiper added a commit that referenced this issue May 14, 2024
* Fix non-CUDA Thrust handling of __host__/__device__

* Add some missing headers in the Thrust CPU backends.

* Remove unused variables.

* Add missing header.

* Move deprecation markup to `result_of` definition.

Having the deprecation markup on the declaration instead of the definition cause the deprecation diagnostics to be emitted when defining the deprecate type on gcc.
Moving the markup fixes this.

* Don't expose builtins as functions in thrust.

error: use of built-in trait '__is_same(..., ...)' in function signature; use library traits instead.

* Remove re-declaration of `reference_wrapper`

This type was already forward-declared in `is_reference_wrapper.h`.
Redeclaring it with the vis attribute broke gcc.

* Disable failing OpenMP test (tracked in #1715).

* Print CMake configure step on windows.

* Use installed TBB CMake configs if available.

Fallback to our FindTBB.cmake as a last resort.
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: Todo
Development

No branches or pull requests

1 participant