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

Instruction 'shfl' without '.sync' is deprecated #1327

Closed
andrewcorrigan opened this issue Oct 23, 2020 · 3 comments
Closed

Instruction 'shfl' without '.sync' is deprecated #1327

andrewcorrigan opened this issue Oct 23, 2020 · 3 comments

Comments

@andrewcorrigan
Copy link
Contributor

andrewcorrigan commented Oct 23, 2020

When compiling Thrust algorithms with Clang, there are tons of warnings generated. These warnings are reproducible across multiple versions of Clang, but I am currently on:

% clang++ --version
clang version 11.0.0

Minimal reproducer:

#include <thrust/sort.h>
#include <thrust/fill.h>
#include <thrust/device_vector.h>

int main(int argc, char** argv)
{
    thrust::device_vector<float> x(1000);
    thrust::fill(x.begin(), x.end(), 1.0f);
    thrust::sort(x.begin(), x.end());

    return 0;
}

Output:

% clang++ -x cuda --cuda-path=/usr/local/install/cuda-10.1 --cuda-gpu-arch=sm_61 thrust_shfl_without_sync.cpp -I/thrust/ -std=c++14 -L/usr/local/install/cuda-10.1/lib64 -lcudart
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 4090; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 12272; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 12323; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 12355; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 12467; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 12499; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 15067; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 15918; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 15950; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 17176; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 18016; warning : Instruction 'vote' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 19878; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 19929; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 19961; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 20082; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 20114; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 20918; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 20950; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 22209; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 22260; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 22292; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 22413; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
ptxas /tmp/thrust_shfl_without_sync-df0f0e.s, line 22445; warning : Instruction 'shfl' without '.sync' is deprecated since PTX ISA version 6.0 and will be discontinued in a future PTX ISA version
@alliepiper
Copy link
Collaborator

Does applying NVIDIA/cub#170 to CUB fix it? It sounds like the same issue, though there may be additional places in Thrust that need similar patches.

@andrewcorrigan
Copy link
Contributor Author

From the description, it must. I'll try it out in a second.

I wasn't sure where to report this (Thrust/CUB/Clang)... Good to see the Google/Clang teams was already on this.

@andrewcorrigan
Copy link
Contributor Author

andrewcorrigan commented Oct 23, 2020

That fixed it! I'll close this out and track the CUB PR.

Just to confirm, the warnings are completely gone. My code has pretty wide coverage of Thrust, so I doubt there's anything specific to Thrust.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants