ghostlander / nsgminer

NeoScrypt OpenCL GPU Miner
https://bitcointalk.org/index.php?topic=712650.0
GNU General Public License v3.0
97 stars 68 forks source link

Not working with open-source radeon drivers and their OpenCL counterparts #5

Closed stylemistake closed 5 years ago

stylemistake commented 8 years ago

It compiles all right, but when running, I get this error:

[19:15:44] Error -11: Building Program (clBuildProgram)
[19:15:44] input.cl:369:1: error: OpenCL does not support the 'static' storage class specifier
input.cl:378:1: error: OpenCL does not support the 'static' storage class specifier
input.cl:730:1: error: OpenCL does not support the 'static' storage class specifier

It only happens on Neoscrypt algo, other algos work fine.

ghostlander commented 8 years ago

I haven't tested the kernel with the open source Radeon driver, though it's supposed to work fine as long as the driver conforms to the OpenCL specification. In this particular case, it's a bug of your OpenCL compiler because 'static __constant' is a valid specifier: https://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/storageQualifiers.html

You can remove these 'static' ones from the kernel if your compiler insists though.

stylemistake commented 8 years ago

Removing static helps, but mining speed becomes very slow (5x slower compared to neoscrypt on sgminer). Not sure if that is because of static removal.

EoD commented 7 years ago

The open-source Mesa drivers only support OpenCL 1.1, but you can enable storage-class qualifiers by using the cl_clang_storage_class_specifiers extension.

See for example ethereum-mining/ethminer#144