[挖礦] Monero(XMR)挖礦/ xmr-stak-cpu on linux

作者: nhnc (nhnc)   2017-07-01 23:17:40
在我上一篇文章(#1PJeJdA6)中,
最後有提到想嘗試更改他預設每個Core使用2M cache的設定。
即更改crypto/cryptonight.h中,
#define MEMORY 2097152的設定。
但無論怎麼改執行時都會被他的self_test檔下來,
後來感謝yshihyu板友來信提到,
他的self_test函數是放在crypto/cryptonight_common.cpp裡面。
所以我索性後面那段if給註解掉,
這樣我就可以慢慢更改define MEMORY數值來測試,
而測試的結果讓我相當意外。
更新:
但是最新的結果發現,這樣更改後,
送出的結果會變成Invalid Shares。
我以一台只使用5 Cores在跑的i7-4930k來測試,
(因為這台6 Core全開會變慢),
我把define MEMORY數值加大會變慢,
變小反而變快。結果如下:
設定值 速度(H/s)
2097152 435
1048576 448
524288 454
262144 458
131072 460
65536 460
32768 461
16384 461
可以看到其值是慢慢收斂,到16384以下幾乎不變了。
同時得到幾個結論:
1. 我在另一台i7-5930k(使用6 Core,並把第一個Core使用的cache加倍)
的電腦上得到相同的結果,將define MEMORY數值由2097152改為16384後,
速度由559 H/s變為580 H/s。
2. 本來我的想法是要使用掉剩餘的cache,但結果看來完全不影響本來的
config.txt設定。本來該使用幾個Core最快? 哪個Core使用的cache要
加倍? 測試的結果最佳化的設定都還是跟原本一樣不變。
3. 根據第二點,因此我猜測,define MEMORY的設定值跟cache無關。
4. yshihyu版友另外有提到,在crypto/cryptonight_common.cpp中
有段ptr->long_state = (uint8_t*)_mm_malloc(MEMORY, 2*1024*1024);
這個疑似才是跟cache的配置有關,但我目前測試結果更動此設定值
都還看不出差別,不知道是否有人可以提供一些想法?
謝謝。
作者: leftc (阿左)   2017-07-01 23:37:00
超細心推,所以是只要一降mem就會invalid還是要某個值以下?
作者: nhnc (nhnc)   2017-07-01 23:51:00
只要那個值不是2097152,不管大小都會被rejected
作者: david31408 (Hope)   2017-07-09 10:10:00
我執行檔案後會有No login/password specified...請問要怎麼設定呢? 謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com