Skip to content
This repository has been archived by the owner on Mar 21, 2024. It is now read-only.

Deprecate TexRefInputIterator. #320

Merged
merged 3 commits into from
Jun 14, 2021

Conversation

alliepiper
Copy link
Collaborator

This class uses deprecated CUDART APIs. The improved replacement, TexObjInputIterator, should be used instead. I'd like to get this in for 1.13.0 so folks get as much notice as possible.

Also updated the deprecation mechanism to provide an opt-out, cmake options, and C++14 syntax. Our internal build will opt-out of deprecation warnings so we can continue to maintain and test deprecated APIs.

@alliepiper
Copy link
Collaborator Author

DVS CL: 30058645
gpuCI: NVIDIA/thrust#1459

Opt-out for our internal builds, since we'll still need to maintain and
test any deprecated APIs.
This class uses deprecated texture management CUDART APIs. The
"Obj"-flavor uses non-deprecated CUDART APIs.
@alliepiper alliepiper force-pushed the 191_deprecate_texref branch from f919860 to 9c9fb93 Compare June 11, 2021 14:06
@alliepiper alliepiper added testing: internal ci passed Passed internal NVIDIA CI (DVS). testing: gpuCI in progress Started gpuCI testing. testing: gpuCI passed Passed gpuCI testing. and removed testing: gpuCI in progress Started gpuCI testing. labels Jun 11, 2021
CUB_HOST_COMPILER == CUB_HOST_COMPILER_CLANG
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do this so that we don't trigger deprecation warnings in our own code, only when users use the deprecated facility, correct?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right.

// This class uses the deprecated cudaBindTexture / cudaUnbindTexture APIs.
// See issue NVIDIA/cub#191.
// Turn off deprecation warnings when compiling class implementation in favor
// of deprecating TexRefInputIterator instead.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand this comment, why "in favor of deprecating TexRefInputIterator"? Don't we disable warnings here so that they don't trigger in our own code, just on external usage?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The internal usages of deprecated CUDART APIs are always suppressed, and instead we deprecate the CUB utilities that call them. So instead of emitting deprecation warnings for cudaBindTexture, etc, we deprecate cub::TexRefInputIterator directly.

@alliepiper alliepiper merged commit 59b2c5b into NVIDIA:main Jun 14, 2021
@alliepiper alliepiper deleted the 191_deprecate_texref branch June 14, 2021 19:41
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
testing: gpuCI passed Passed gpuCI testing. testing: internal ci passed Passed internal NVIDIA CI (DVS).
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Deprecate TexRefInputIterator; underlying CUDA APIs are deprecated.
2 participants