【问题标题】:scan for large arrays扫描大型阵列
【发布时间】:2015-07-09 04:46:44
【问题描述】:

我想将 Thrust 库中的扫描功能用于大型阵列,但对于大于 32768 的阵列,我会转储核心。我想知道除了推力扫描之外是否还有其他选项。

这是我的代码的 sn-p:

  #include <thrust/scan.h>
  #include <stdio.h>

   int main()

   {

       int *x;
       int n = 65536;
      x = (int *) malloc(n);
      for (int i=0;i<n;i++)
          x[i]=i;
      thrust::inclusive_scan(x,x+n,x);
      for (int i=0;i<n;i++)
          printf(" %d ", x[i]);
          printf("\n");

  }

【问题讨论】:

  • 如何运行代码?它充满了行号。堆栈溢出不是免费的调试服务,这就是所有问题。寻找 - 微不足道的、免费的错误发现。

标签: cuda gpu nvidia


【解决方案1】:

这个:

x = (int *) malloc(n);

分配n 字节的存储空间。您想要存储n 整数:

x = (int *) malloc(n*sizeof(int));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    相关资源
    最近更新 更多