raducu2205
raducu2205

Reputation: 29

Programming CUDA architecture

During programming on CUDA architecture I faced a problem: device resources are too limited. In other words, the stack and heap are too small.

While researching about it, I found a function cudaDeviceSetLimit(cudaLimitStackSize, limit_stack) that enlarges the stack size, and a similar one for the heap. Although, their dimensions are still too limited.

I wonder how can I store more information on the device?

Upvotes: 1

Views: 97

Answers (1)

Florent DUGUET
Florent DUGUET

Reputation: 2916

The stack and heap are provided for convenience. However, you may allocate memory using cudaMalloc on the device if your gpu is recent enough. In that case, the limit is the gpu on-board memory.

Should you want more, you would need a custom memory allocation managing a large array of system memory, and sharing it with the gpu (see cudaHostRegister). Then, the limit would be your system memory.

Upvotes: 3

Related Questions