what's the difference between suffix _ptds and _ptsz ?

I’m studying on stream using recently. And curious about the essentially different behavior of per thread default stream and legacy default stream. After read some analysis from net I still feel confused about them. So I looked up the use of --default_stream flag in compilation, then found two sets of API, one without suffix and the other with ptds or ptsz suffix.

Can anyone explain what the meaning of abbreviation ptds and ptsz are? And what’s the essential difference between them?

very thankful

1 Like

here is the explaination from nvcc document:
Specify the stream that CUDA commands from the compiled program will be sent to by default.

Allowed values for this option:
legacy
The CUDA legacy stream (per context, implicitly synchronizes with other streams)
per-thread
A normal CUDA stream (per thread, does not implicitly synchronize with other streams)
null is a deprecated alias for legacy.

Default value: legacy

i think you anser is not usefull for this question.

Can anyone explain what the meaning of abbreviation ptds and ptsz are? And what’s the essential difference between them?