Skip to content

“out of resource" error on certain nvidia GPUs #3

@Jimmy-Z

Description

@Jimmy-Z

Related:

zoogie/seedminer#16
https://gbatemp.net/posts/7851408/
https://gbatemp.net/posts/7879961/
https://gbatemp.net/posts/7826386/
https://gbatemp.net/posts/7851868/
https://gbatemp.net/posts/7884725/
https://gbatemp.net/posts/7881547/

I'll need testers and reports, including these info:

your GPU model, GPU RAM size, OS version, driver version.
bfcl info output
does seedminer's GPU mode throw a "out of resources" error for you? (yes I also need successful reports)
if the former is true, try the following build with two test commands, does it also say "out of resources"?

Test build:
bfCL-test-reduced-work-size-msky-lfcs-20.zip

Two test commands:
bfcl lfcs 00000007 0000 17f5c00d8b581e5e
bfcl msky c27164f2e0994db8000000007dd5c901 afcb0cc132bd2aeb8e0a6b6a841c51c0

Techy stuff

Despite what it looks like, this doesn't mean your GPU is not powerful/big enough, this program works on Intel IGPU and uses about several KB of GPU RAM, it's more like a OpenCL runtime bug from nvidia to me.

A reduced work size(from a little above 100,000,000 to 1,000,000) helped this guy with a GTX 980, so I guess this is the problem.

from OpenCL SDK document:

global_work_size
Points to an array of work_dim unsigned values that describe the number of global work-items in work_dim dimensions that will execute the kernel function. The total number of global work-items is computed as global_work_size[0] ... global_work_size[work_dim - 1].

The values specified in global_work_size cannot exceed the range given by the sizeof(size_t) for the device on which the kernel execution will be enqueued. The sizeof(size_t) for a device can be determined using CL_DEVICE_ADDRESS_BITS in the table of OpenCL Device Queries for clGetDeviceInfo. If, for example, CL_DEVICE_ADDRESS_BITS = 32, i.e. the device uses a 32-bit address space, size_t is a 32-bit unsigned integer and global_work_size values must be in the range 1 .. 2^32 - 1. Values outside this range return a CL_OUT_OF_RESOURCES error.

nvidia runtime announces GTX 980's address bits = 64, and 100,000,000 is no where near that.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions