[挖矿] 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