ethereum / webthree-umbrella

Former home of cpp-ethereum (Oct 2015 to Aug 2016)
http://cpp-ethereum.org
GNU General Public License v3.0
493 stars 372 forks source link

Xeon Phi 7120p long DAG generation and low hashrate #717

Closed nikl11 closed 6 years ago

nikl11 commented 7 years ago

Hello everyone, about a year ago there was an issue #396 , where a compilation for Xeon Phi coprocessor with Intel compiler on Linux was discussed. After 4 long days I managed to cross-compile all the necessary libraries and the miner itself, and it starts in native mode no problem.

However, when I want to mine ethereum on Minergate, the DAG file generation takes 3 hours, after that the hashrate is only about 1-1.2 MH/s (using 240 threads) and every work is rejected by the server, probably because the miner is 3 hours behind.

In the issue #396 , the hashing speed seemed to be over 15MH/s and there was no mention about the DAG generation issue (citation "The baseline for Xeon Phi 5110P is ~15-16 MHs @ ~160W."). Has anybody tried to run it on xeon phi, or is @mancoast still here to clarify this?

One more note, I cannot use the opencl version, because Intel dropped the support for the newish KNC accelerators unfortunately. Thank you very much.

ghost commented 7 years ago

Greetings nikl11,

The DAG generation took a very long time. My best guess is the process is single threaded. To avoid the delay, mount an NFS share for the k1om and use the host to generate the DAG. The hash rates were misrepresented in the native k1om application outputs. They were closer to 1.5 MH/s, but that is without optimized Hash Algo. There exists opportunity to use the _m512 intrinsic I added to improve performance using 512bit SIMD instructions. https://github.com/ethereum/cpp-ethereum/commit/ce3f5563d71101e51107282eaf3cd1d47caa7ffb

If you want to really see the hash-rates go up, try modifying ethereum-cpp with Intel MKL (hint, hint).

Thanks, coast

On Mon, Aug 7, 2017 at 12:22 PM, nikl11 notifications@github.com wrote:

Hello everyone, about a year ago there was an issue #396 , where a compilation for Xeon Phi coprocessor with Intel compiler was discussed. After 4 long days I managed to cross-compile all the necessary libraries and the miner itself, and it starts in native mode no problem.

However, when I want to mine ethereum on Minergate, the DAG file generation takes 3 hours, after that the hashrate is only about 1-1.2 MH/s (using 240 threads) and every work is rejected by the server, probably because the miner is 3 hours behind.

In the issue #396 , the hashing speed seemed to be over 15MH/s and there was no mention about the DAG generation issue (citation "The baseline for Xeon Phi 5110P is ~15-16 MHs @ ~160W."). Has anybody tried to run it on xeon phi, or is @mancoast still here to clarify this?

One more note, I cannot use the opencl version, because Intel dropped the support for the newish KNC accelerators unfortunately. Thank you very much.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

nikl11 commented 7 years ago

Thank you for your answer @mancoast , do you have an idea how much improvement in performance these intrinsics bring? 1.5MHs is unfrotunately super low, so much that it is much more profitable to use a CPU monero miner, which without AES support provides 280H/s. At this moment, mining monero brings $0.5/day and ethereum only $0.1/day, so the performance would have to go up atleast 5x, which is no easy task.

lukasalexander commented 6 years ago

Greetings, @nikl11 ,

In fact the difference is even a bit higher. Monero hash rate on a 7120 is not 280Hs, but 650H/s (see my lukMiner results), which at today's rates translates to almost $1/day... so the gap to ether is a full 10x.

Of course, that could change if somebody ever were to create a faster ether miner for KNC :-) ... but 10x would be a challenge indeed...

Luk

ghost commented 6 years ago

The KNC works great for ethereum-cpp as well, I saw about 5X.

axic commented 6 years ago

Please reopen on https://github.com/ethereum/cpp-ethereum if issue presists.