作者nhnc (nhnc)
看板DigiCurrency
标题[挖矿] Monero(XMR)挖矿/ xmr-stak-cpu on linux
时间Sat Jul 1 23:17:40 2017
在我上一篇文章(
#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的配置有关,但我目前测试结果更动此设定值
都还看不出差别,不知道是否有人可以提供一些想法?
谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.203.57.94
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DigiCurrency/M.1498922262.A.AF9.html
※ 编辑: nhnc (210.203.57.94), 07/01/2017 23:22:45
1F:推 leftc: 超细心推,所以是只要一降mem就会invalid还是要某个值以下? 07/01 23:37
2F:→ nhnc: 只要那个值不是2097152,不管大小都会被rejected 07/01 23:51
3F:推 david31408: 我执行档案後会有No login/password specified... 07/09 10:10
4F:→ david31408: 请问要怎麽设定呢? 谢谢 07/09 10:10