Cuda 如何获得与推力执行策略关联的流?

Cuda 如何获得与推力执行策略关联的流?,cuda,thrust,Cuda,Thrust,我希望能够获得与推力中的执行策略相关联的流id。我正在尝试访问 我试过这个: cudaStream_t stream = 0; auto policy = thrust::cuda::par.on(stream); cudaStream_t str = stream(policy); 但我得到了一个编译错误: stream.cu(7): error: expression preceding parentheses of apparent call must have (pointer-to-

我希望能够获得与推力中的执行策略相关联的流id。我正在尝试访问

我试过这个:

cudaStream_t stream = 0;
auto policy = thrust::cuda::par.on(stream);
cudaStream_t str = stream(policy);
但我得到了一个编译错误:

stream.cu(7): error: expression preceding parentheses of apparent call must have (pointer-to-) function type
我可以了解一下如何执行此操作吗?

“我正在尝试访问此功能。”尝试直接使用例如
详细信息中的内容是实现的一部分,可能会从一个版本更改到下一个版本。也就是说:您所指的文件甚至不存在于CUDA10当前发布的推力中

然而,这似乎对我有效:

$ cat t354.cu
#include <thrust/execution_policy.h>
#include <iostream>
#include <cstring>

int main(){
  cudaStream_t mystream;
  cudaStreamCreate(&mystream);
  auto policy = thrust::cuda::par.on(mystream);
  cudaStream_t str = stream(policy);
  for (int i = 0; i < sizeof(cudaStream_t); i++)
    if (  *(reinterpret_cast<unsigned char *>(&mystream)+i) != *(reinterpret_cast<unsigned char *>(&str)+i)) {std::cout << "mismatch" << std::endl; return -1;}
  std::cout << "match" << std::endl;
}
$ nvcc -std=c++11 -o t354 t354.cu
$ cuda-memcheck ./t354
========= CUDA-MEMCHECK
match
========= ERROR SUMMARY: 0 errors
$
$cat t354.cu
#包括
#包括
#包括
int main(){
cudaStream_t mystream;
cudaStreamCreate(&mystream);
自动策略=推力::cuda::par.on(mystream);
cudaStream\u t str=流(策略);
对于(int i=0;i