相关疑难解决方法(0)

-ta = tesla:managed:cuda8但cuMemAllocManaged返回错误2:内存不足

我是OpenACC的新手.就我熟悉OpenMP而言,我非常喜欢它.

我有2张1080Ti卡,每张卡有9GB,我有128GB的RAM.我正在尝试一个非常基本的测试来分配一个数组,初始化它,然后并行地总结它.这适用于8 GB,但当我增加到10 GB时,我会出现内存不足错误.我的理解是,凭借Pascal(这些卡都是)和CUDA 8的统一内存,我可以分配一个比GPU内存更大的数组,硬件将根据需要进行页面输入和分页.

这是我的完整C代码测试:

$ cat firstAcc.c 

#include <stdio.h>
#include <openacc.h>
#include <stdlib.h>

#define GB 10

int main()
{
  float *a;
  size_t n = GB*1024*1024*1024/sizeof(float);
  size_t s = n * sizeof(float);
  a = (float *)malloc(s);
  if (!a) { printf("Failed to malloc.\n"); return 1; }
  printf("Initializing ... ");
  for (int i = 0; i < n; ++i) {
    a[i] = 0.1f;
  }
  printf("done\n");
  float sum=0.0;
  #pragma acc loop reduction (+:sum)
  for (int i = 0; i < n; ++i) …
Run Code Online (Sandbox Code Playgroud)

cuda openacc

0
推荐指数
1
解决办法
288
查看次数

标签 统计

cuda ×1

openacc ×1