Skip to content

Conversation

@Kaleinthranx
Copy link

Overview of Changes:

OpenCL Compatibility: Updated both the OpenCL library and its API bindings, ensuring miner compatibility with both the latest and older AMD drivers.
DAG Generation: Modified the OpenCL DAG generation to support coins with a DAG size exceeding 4GB.
ProgPow Loop Optimization: Integrated the ProgPow loop directly into the search function for both OpenCL and CUDA, this improves the hashrate for OpenCL. The changes were also done to CUDA to avoid overcomplicating the ProgPow.cpp file.
Kernel Warnings & Compute Definition Fixes: Addressed kernel warnings and fixed the compute definitions for Nvidia GPUs when mining via OpenCL.

Acknowledgment:

Many of these enhancements and fixes were inspired or taken from xmrig, so a huge thanks to them.

Results & Observations:

After these modifications, the miner now seems to work seamlessly with both older and newer AMD drivers. Additionally, the OpenCL miner is now also operational for Nvidia cards when CUDA mining is disabled for that card. In terms of hashrate improvements on some or all cards, when testing with an AMD Radeon RX 6700 XT, there's a significant improvement in the hashrate - from approximately 2 MH/s to around 22 MH/s.

Future Scope:

While these updates address crucial areas, there are still facets I've left untouched - like fast exiting. My aim was to introduce just enough changes to make the current OpenCL implementation work well without changing too much of the existing codebase.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant