preda / gpuowl

GPU Mersenne primality test.
GNU General Public License v3.0
163 stars 39 forks source link

What is minimum and maximum limit for -maxAlloc #195

Closed streamhsa closed 4 years ago

streamhsa commented 4 years ago

Hi Team,

We are using gpuowl in ROCm stack and observed -maxAlloc is introduced recently in this repo. Can you please provide us the minimum and maximum limit for -maxAlloc for "84682337" problem size.

Thanks, Rajeswari Ponnuru.

preda commented 4 years ago

Hi Rajeswari,

maxAlloc informs the GpuOwl process how much GPU memory it is allowed to allocate at most.

the value for maxAlloc depends on the amount of GPU memory that is available for GpuOwl to use. If GpuOwl is running by itself on the GPU (i.e. not sharing the memory with other apps) then you can set maxAlloc to a bit (e.g. 2 GB) lower than the memory available on the GPU.

For example, on a GPU with 16GB physical RAM, you could set it to: -maxAlloc 14G

On a GPU with 8GB RAM, you could set it to: -maxAlloc 6G

Everything is still fine if you set it to -maxAlloc 3G

PS: you can update the exponent to e.g. 100704521 (this is where the project is at now). More information about v7.x changes is here: https://mersenneforum.org/showthread.php?t=26007 I'll improve the timing information that is displayed soon, right now it is not directly comparable with the old timing from 6.x.

preda commented 4 years ago

In a recent commit I added a low default value for -maxAlloc, such that specifying it is not mandatory anymore. Especially when only interested in PRP (the main test) and not in P-1.