简体   繁体   中英

cudaMallocManaged() returns “operation not supported”

Trying out managed memory in CUDA 6.0 gives me operation not supported when calling cudaMallocManaged() .

#include "cuda_runtime.h"

#include <stdio.h>

#define CHECK(r) {_check((r), __LINE__);}

void _check(cudaError_t r, int line) {
  if (r != cudaSuccess) {
    printf("CUDA error on line %d: %s\n", line, cudaGetErrorString(r), line);
    exit(0);
  }
}

int main()
{
  int *c;
  CHECK(cudaMallocManaged(&c, sizeof(int)));
  *c = 0;
  return 0;
}

GeForce GTX 750 Ti (Maxwell), compiled with CUDA 6.0 using compute_50,sm_50. Windows 7 64-bit. Tested with drivers 335.23 (whql) and 337.50 (beta). Visual Studio 2012. Tried 32-bit debug and release builds.

C:\\rd\\projects\\cpp\\test_cuda6\\test_cuda6>"C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v6.0\\bin\\nvcc.exe" -gencode=arch=compute_50,code=\\"sm_50,compute_50\\" --use-local-env --cl-version 2012 -ccbin "C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\VC\\bin" -I\\C\\common\\inc -I"C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v6.0\\include" -I"C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v6.0\\include" --keep-dir Release -maxrregcount=0 --machine 32 --compile -cudart static -DWIN32 -DNDEBUG -D_CONSOLE -D_MBCS -Xcompiler "/EHsc /W3 /nologo /O2 /Zi /MD " -o Release\\kernel.cu.obj "C:\\rd\\projects\\cpp\\test_cuda6\\test_cuda6\\kernel.cu"

The program runs without error if I replace cudaMallocManaged() with cudaMalloc() .

Any ideas on how to get cudaMallocManaged() working?

Tried 32-bit debug and release builds.

Use a 64 bit debug or release build.

From the documentation :

J.1.4. System Requirements

Unified Memory has three basic requirements:

•a GPU with SM architecture 3.0 or higher (Kepler class or newer)

•a 64-bit host application and operating system, except on Android

•Linux or Windows

64 bit host application means you cannot compile for a 32 bit debug or release build.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM