CryptoGraphics / lyclMiner

OpenCL Lyra2REv2/v3 miner for AMD GCN GPUs
GNU General Public License v3.0
45 stars 19 forks source link

worksize greater than 16777216 #13

Open alucard20724 opened 6 years ago

alucard20724 commented 6 years ago

is there going to be support for worksize greater than 16777216. a few of my vegas have thier highest hashrate at 16777216. was just wondering if there was support for a greater worksize. trying to see what my vegas can do.

ku4eto commented 6 years ago

Not sure why there is a limit, if you are seeing improvements. I skimmed over the "src/main.cpp", and its using on lots of places uint32_t. I haven't tried, to see if it will work, but you can probably try changing some of the lines to "uint64_t", where "WorkSize" is used.

But, be wary, no idea why this is present:

// compute max runs // 4294967295 max nonce const uint64_t numNonces = 4294967296ULL / (uint64_t)global::numWorkerThreads; uint32_t maxRuns = (uint32_t)(numNonces / (uint32_t)clDevice.workSize); Changing it to uint64_t and trying larger WorkSize will probably break it, since there is for some reason "C max nonce". Probably algorithm specific, or dunno.

CryptoGraphics commented 5 years ago

WorkSize value is limited by GPU memory and OpenCL platform/driver configuration. If you set it too high you may get an error: Failed to create a lyra state buffer.

WorkSize 33554432 requires 4GB(4294967296) of VRAM for Lyra states buffer.

Open a Command Prompt/Terminal and type: clinfo It will print all OpenCL platforms with their capabilities. There is a field called: Max memory allocation (in bytes) On Windows it will probably be: 4244635648(not enough) On Linux(ROCm) it is: 7301444403