Bitcoin Forum
May 07, 2024, 02:28:47 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 [92] 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 ... 197 »
  Print  
Author Topic: [LOCKED] cpuminer-opt v3.12.3, open source optimized multi-algo CPU miner  (Read 443975 times)
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
February 02, 2017, 07:45:19 PM
 #1821

Again, it seems you got me all wrong, English is not my

W7-64-pro

MAC- AMD Intel
Git miner exit after 50 submits.
Git + code change in cpu-miner.c - work
Code:
if (rpc_pass && rpc_user)
     opt_stratum_stats &= (strstr(rpc_pass, "stats") != NULL) || (strcmp(rpc_user, "benchmark") == 0);

I collected everything under the window, not under linux (( Excuse me, I did not say immediately

Thanks for the clarification. Let me absorb it for a bit so I can understand.

Edit: OK the git test is valid but the git+code change test is invalid because stats collection was disabled.
The conclusion is the change I made in 3.5.5-pre (git) did not fix the problem. Is that correct?

a yes from me (judging from the git pre bin you sent)

i can give you teamviewer access to one amd windows machine for rapid testing if neccessary

Another try with logic:

1.1. felix reports x11evo
   1.1.1 works on Intel/Linux,
   1.1.2 fails on Intel/Win
   1.1.3 fails AMD/Linux
   1.1.4 fails AMD/Win

1.2 olddin reports x11evo
   1.2.1 not tested on Intel/linux
   1.2.2 work on Intel/Win
   1.2.3 not tested on AMD/Linux
   1.2.4 fails on AMD/Win

1.3. joblo reports x11evo
   1.3.1 works on Intel/Linux
   1.3.2 works Intel/WIN
   1.3.3 AMD Linux not tested
   1.3.4 AMD Win not tested.

2.1 felix reports timetravel
   2.1.1 works on Intel/Linux
   2.1.2 works Intel/Win
   2.1.3 AMD/Linux?
   2.1.4 fails on AMD/Win

2.2 olddin reports timetravel
   2.2.1 Intel/linux not tested
   2.2.2  fails Intel/Win
   2.2.3  AMD/Linux not tested
   2.2.4 fails AMD Win

2.3 joblo reports timetravel
   2.3.1 works Intel/linux
   2.3.2 works Intel/Win
   2.3.3 AMD/Linux not tested
   2.3.4 AMD/Win not tested

if the statements are correct there are a couple of discrepencies.

1.1.2 contradicts 1.2.2 and 1.3.2, felix and oldin disagree, joblo agrees with oldin
2.2.2 contradicts 2.1.2 and 2.3.2, felix and oldin disagree, joblo agrees with felix

I need a break, my brain hurts

Edit: in case architecture becomes relevent my test rigs are:

Intel Linux AVX2
Intel Win AVX2
Intel Linux AVX

They all work for both algos

AKA JayDDee, cpuminer-opt developer. https://github.com/JayDDee/cpuminer-opt
https://bitcointalk.org/index.php?topic=5226770.msg53865575#msg53865575
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
1715048927
Hero Member
*
Offline Offline

Posts: 1715048927

View Profile Personal Message (Offline)

Ignore
1715048927
Reply with quote  #2

1715048927
Report to moderator
The grue lurks in the darkest places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715048927
Hero Member
*
Offline Offline

Posts: 1715048927

View Profile Personal Message (Offline)

Ignore
1715048927
Reply with quote  #2

1715048927
Report to moderator
1715048927
Hero Member
*
Offline Offline

Posts: 1715048927

View Profile Personal Message (Offline)

Ignore
1715048927
Reply with quote  #2

1715048927
Report to moderator
1715048927
Hero Member
*
Offline Offline

Posts: 1715048927

View Profile Personal Message (Offline)

Ignore
1715048927
Reply with quote  #2

1715048927
Report to moderator
m1n1ngP4d4w4n
Full Member
***
Offline Offline

Activity: 224
Merit: 100

CryptoLearner


View Profile
February 02, 2017, 07:48:08 PM
 #1822

Mine hurt just reading your post lol, good luck man, this one seems to be a pickle  Wink

If you need more people testing, gimme a holler, i'll do some
felixbrucker
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500


View Profile WWW
February 02, 2017, 08:07:50 PM
Last edit: February 02, 2017, 08:19:09 PM by felixbrucker
 #1823


1.1. felix reports x11evo
   1.1.1 works on Intel/Linux,
   1.1.2 fails on Intel/Win
   1.1.3 fails AMD/Linux
   1.1.4 fails AMD/Win


amd/linux is untested from my side as i dont have my amds on linux unfortunately


on every machine (amd/intel) on windows the corei7-avx arch was used, on linux its not defined (build.sh used) and the own arch of the cpu (xeon e3-1265lv2) is used (it has avx but no avx2)



1.3. joblo reports x11evo
   1.3.1 works on Intel/Linux
   1.3.2 works Intel/WIN
   1.3.3 AMD Linux not tested
   1.3.4 AMD Win not tested.


interesting, so it indeed works on your intel in win, very strange
felixbrucker
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500


View Profile WWW
February 02, 2017, 08:21:33 PM
 #1824

joblo
 -"x11evo"
Checked on version 3.5.1 - it works on amd and intel well
version 3.5.5 - all rejects

-"MAC"
Yes, v 3.5.5 with code
Code:
if (rpc_pass && rpc_user)
     opt_stratum_stats &= (strstr(rpc_pass, "stats") != NULL) || (strcmp(rpc_user, "benchmark") == 0);
works good

remind-fx-6300, i3-2120

actually i believe 1.2.2 is also fail
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
February 02, 2017, 08:47:30 PM
 #1825

joblo
 -"x11evo"
Checked on version 3.5.1 - it works on amd and intel well
version 3.5.5 - all rejects

-"MAC"
Yes, v 3.5.5 with code
Code:
if (rpc_pass && rpc_user)
     opt_stratum_stats &= (strstr(rpc_pass, "stats") != NULL) || (strcmp(rpc_user, "benchmark") == 0);
works good

remind-fx-6300, i3-2120

actually i believe 1.2.2 is also fail

You're right. So you both agree on 1.2 but I don't. I believe we have the same Intel architecture but different results.
I can workaround Timetravel by disabling stats by default but it looks like x11evo is going to be a lottery.

Felix, can you retest timetravel with older releases on AMD/Win?. Significant changes were made every release since
it was introduced. It might help to find in what release it broke for you, or if it was always broke.

AKA JayDDee, cpuminer-opt developer. https://github.com/JayDDee/cpuminer-opt
https://bitcointalk.org/index.php?topic=5226770.msg53865575#msg53865575
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
felixbrucker
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500


View Profile WWW
February 02, 2017, 08:55:25 PM
 #1826

regarding arches: im avx only (also tested sse2 only), your windows intel setup is avx2 iirc

you could test your intel setup with sse2 bin to verify its working for you on win/intel
felixbrucker
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500


View Profile WWW
February 02, 2017, 08:57:39 PM
 #1827

Felix, can you retest timetravel with older releases on AMD/Win?. Significant changes were made every release since
it was introduced. It might help to find in what release it broke for you, or if it was always broke.

sure, do you by any chance have the link handy someone posted a while ago with all the builds (or was it only src?) ?

else some bins folder link would be great, i currently only store the latest version in my git bin repo
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
February 02, 2017, 09:04:46 PM
Last edit: February 02, 2017, 09:24:03 PM by joblo
 #1828

Felix, can you retest timetravel with older releases on AMD/Win?. Significant changes were made every release since
it was introduced. It might help to find in what release it broke for you, or if it was always broke.

sure, do you by any chance have the link handy someone posted a while ago with all the builds (or was it only src?) ?

else some bins folder link would be great, i currently only store the latest version in my git bin repo

Will do both.

Here are the links to older versions.

https://drive.google.com/file/d/0B0lVSGQYLJIZLVlyeWEwelkxMDQ/view?usp=sharing
https://drive.google.com/file/d/0B0lVSGQYLJIZV0V4NURXMS1pUXc/view?usp=sharing
https://drive.google.com/file/d/0B0lVSGQYLJIZSUp0SUV2b0F6Sjg/view?usp=sharing

x11evo is broken in 3.5.2 &3.5.3 and timetravel isn't availble in 3.5.1 so skip those.

Will update with test results on my avx2/win using the avx build I built for you.

Edit:

Some progress.

Timetravel works on 17-4790K (AVX2) Windows using 3.5.5-pre AVX as well as 3.5.4 AVX2. It continues
after 50 submits and stats message.

x11evo fails on the same machine with 3.5.5-pre AVX and 3.5.4 AVX2 .

Now that I can reproduce the failure on x11evo I have something to work with.  
Timetravel is still a mystery.

Edit: interesting point is the failures were different on x11evo with both loads. With AVX it failed
like you reported with a flood of rejects. With AVX2 the rejects were produced at a normal rate.

AKA JayDDee, cpuminer-opt developer. https://github.com/JayDDee/cpuminer-opt
https://bitcointalk.org/index.php?topic=5226770.msg53865575#msg53865575
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
felixbrucker
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500


View Profile WWW
February 02, 2017, 09:41:59 PM
 #1829

amd/win corei7-avx:

3.5.2: timetravel: exits after 50 accepted shares
3.5.3: timetravel: exits after 50 accepted shares
3.5.4: timetravel: exits after 50 accepted shares
3.5.5-pre: timetravel: exits after 50 accepted shares

3.5.1: x11evo: works
3.5.2: x11evo: just exits
3.5.3: x11evo: just exits
3.5.4: x11evo: flooding rejects
3.5.5-pre: x11evo: flooding rejects


regarding timetravel and intel/win: it is expected to work, only amd doesnt work


Edit: interesting point is the failures were different on x11evo with both loads. With AVX it failed
like you reported with a flood of rejects. With AVX2 the rejects were produced at a normal rate.

interesting indeed, might give you something to work with
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
February 02, 2017, 10:42:14 PM
 #1830

amd/win corei7-avx:

3.5.2: timetravel: exits after 50 accepted shares
3.5.3: timetravel: exits after 50 accepted shares
3.5.4: timetravel: exits after 50 accepted shares
3.5.5-pre: timetravel: exits after 50 accepted shares

3.5.1: x11evo: works
3.5.2: x11evo: just exits
3.5.3: x11evo: just exits
3.5.4: x11evo: flooding rejects
3.5.5-pre: x11evo: flooding rejects


regarding timetravel and intel/win: it is expected to work, only amd doesnt work


Edit: interesting point is the failures were different on x11evo with both loads. With AVX it failed
like you reported with a flood of rejects. With AVX2 the rejects were produced at a normal rate.

interesting indeed, might give you something to work with

Ok so the timetravel problem existed since I first implemented it. Another new lead.

I'm working on backing out some of the more aggressive optimizations from x11evo that provided
only small improvement. Those same aggressive optimizations are used in many other algos.
I fear there may be problems with other algos as well.

It may be that both x11evo and timetravel suffer from the same root cause [Edit: not likely if
timetravel broken in 3.5.1], and there may be other algos affected in different ways with different
combinations of CPU and OS.

I'll update when I've tested more.

AKA JayDDee, cpuminer-opt developer. https://github.com/JayDDee/cpuminer-opt
https://bitcointalk.org/index.php?topic=5226770.msg53865575#msg53865575
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
February 02, 2017, 11:46:21 PM
Last edit: February 03, 2017, 01:27:24 AM by joblo
 #1831

I have a better definition of the x11evo problem. It was last know to work in 3.5.1.
In 3.5.2 I broke it with the swap macro in the x11 evo code. In 3.5.3 a code change
not in x11evo code broke it further. Fixing the swap macro bug still left the new bug.

I went back to 3.5.2 with x11evo.c from 3.5.1 and it works. I now have a starting point.
I just have to find what in 3.5.3 broke it again.

Edit: progress

x11evo from 3.5.4 works in 3.5.2 so the big optimization for x11evo is ok.
But that means the problem is in code used by many algos so it's going to
be harder to find.

AKA JayDDee, cpuminer-opt developer. https://github.com/JayDDee/cpuminer-opt
https://bitcointalk.org/index.php?topic=5226770.msg53865575#msg53865575
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
integrale
Full Member
***
Offline Offline

Activity: 144
Merit: 100


Eager to learn


View Profile
February 03, 2017, 03:12:44 AM
 #1832

look at this !

./cpuminer -x11evo -o stratum+tcp://mine.zpool.ca:3553 -u 1Cjq5f4ASXL5CpURWThYeNbtyB4ph98ex8 -p x

         **********  cpuminer-opt 3.5.5-pre  ***********
     A CPU miner with multi algo support and optimized for CPUs
     with AES_NI and AVX extensions.
     BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
     Forked from TPruvot's cpuminer-multi with credits
     to Lucas Jones, elmad, palmd, djm34, pooler, ig0tik3d,
     Wolf0, Jeff Garzik and Optiminer.

CPU = i7 2600

./cpuminer: no algo supplied
Try `cpuminer-opt --help' for more information.
sklave@miner-HP-Compaq-8200:~/joblo5p$


curious , on Core 2 it hashes   but no shares until now ca. 10 minutes each core shows around 4.5 mh/s
timetravel works great on all my Cpu´s

i7 2600 - core 2 e6600 - core 2 e6700     no problems nor troubles they all sharp like an Katana Wink

AltCoin-Mining @ Xubuntu 16.04 LTS
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
February 03, 2017, 03:18:27 AM
 #1833

look at this !

./cpuminer -x11evo -o stratum+tcp://mine.zpool.ca:3553 -u 1Cjq5f4ASXL5CpURWThYeNbtyB4ph98ex8 -p x

         **********  cpuminer-opt 3.5.5-pre  ***********
     A CPU miner with multi algo support and optimized for CPUs
     with AES_NI and AVX extensions.
     BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
     Forked from TPruvot's cpuminer-multi with credits
     to Lucas Jones, elmad, palmd, djm34, pooler, ig0tik3d,
     Wolf0, Jeff Garzik and Optiminer.

CPU = i7 2600

./cpuminer: no algo supplied
Try `cpuminer-opt --help' for more information.
sklave@miner-HP-Compaq-8200:~/joblo5p$


curious , on Core 2 it hashes   but no shares until now ca. 10 minutes each core shows around 4.5 mh/s


you forgot -a

don't bother testing x11evo anymore, I'm chasing down a problem.

AKA JayDDee, cpuminer-opt developer. https://github.com/JayDDee/cpuminer-opt
https://bitcointalk.org/index.php?topic=5226770.msg53865575#msg53865575
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
integrale
Full Member
***
Offline Offline

Activity: 144
Merit: 100


Eager to learn


View Profile
February 03, 2017, 03:26:04 AM
 #1834

sorry for that mistake , it´s late   omg

AltCoin-Mining @ Xubuntu 16.04 LTS
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
February 03, 2017, 06:32:55 PM
Last edit: February 03, 2017, 11:30:26 PM by joblo
 #1835

More progress wih x11evo.

I have it working on Win with most of the optimizations to it and other algos intact.
I started with 3.5.2 as a baseline then ported back the optimizations from 3.5.3 and 3.5.4
including the original x11evo fix and large optimization.

I don't know exactly what code broke it but I found 2 hash functions broken that worked
fine on Linux as well as other algos on Win.

I still need to do a performance comparison with 3.5.4 and possibly try to reimplement additional
optimizations to recover any lost speed without breaking it again.

No ETA for 3.5.5.

Edit: I broke it again. The x11evo optimization from 3.5.4 just won't work on Windows.

This works on both Windows and Linux
Code:
void evocoin_twisted_code( char *result, char *code )
{
    uint32_t h32, *be32 = get_stratum_job_ntime();

        h32 = be32toh(*be32);
        uint32_t count = getCurrentAlgoSeq(h32, INITIAL_DATE);
        getAlgoString(code, count);
        sprintf(result, "_%d_%s_", count, code);

}


This doesn't work on Windows but works on Linux
Code:
static __thread uint32_t saved_ntime = UINT32_MAX;

void evocoin_twisted_code( char *result, char *code )
{
    uint32_t h32, *be32 = get_stratum_job_ntime();

    if ( *be32 != saved_ntime )
    {
        h32 = be32toh(*be32);
        uint32_t count = getCurrentAlgoSeq(h32, INITIAL_DATE);
        getAlgoString(code, count);
        sprintf(result, "_%d_%s_", count, code);
        saved_ntime = *be32;
    }
}

AKA JayDDee, cpuminer-opt developer. https://github.com/JayDDee/cpuminer-opt
https://bitcointalk.org/index.php?topic=5226770.msg53865575#msg53865575
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
February 04, 2017, 07:29:53 PM
 #1836

I think I've gone as far as I can with x11evo and windows.

There is no windows targeted code in the function. The only suspicious code, betoh, is also called
in the working case. betoh is defined in a system library, with no local copies in the application.

There is nothing suspicious in the code additions that trigger the rejects. It's a simple if statement.
Using thread-safe variables works in other algos on windows.

The logic is sound nearly fail safe. If it fails true it loses the otimizations. If it fails false it won't
recalculate the permutation for a new ntime. I have confirmed the first pass triggers a new permutation
to be calculated so the first block should work. Only if the second block is not properly detected should
the miner start producing rejects. But it always produces rejects from the start

I tried disabling some compiler optimizations.

I tried rewriting the function in different ways, getting ntime from the threaded work.data instead of
global stratum.

I tried running cpuminer from msys shell as well as from dos with bundled DLLs. Neither work.

At this point I think I've eliminated anything related to the miner, which is as far as I'm willing to go
at this point.

The next step would be to compare assembly code between windows and linux. It should be identical, if not
it may be a compiler issue. On the other hand if the assembly code is identical the problem must lay
elsewhere in the system.

Although it would be a good way to get up to speed on x86 assembly it doesn't help solve the issue with
cpuminer-opt and x11evo.

I will implement a workaround to disable the optimization in twisted_code on Windows platforms.
This should work but so should have the optimization on Windows, The impact of this is x11evo
will perform slower on windows, the same rate as in 3.5.1. On linux it will benefit from the higher
hashrates in 3.5.4.

AKA JayDDee, cpuminer-opt developer. https://github.com/JayDDee/cpuminer-opt
https://bitcointalk.org/index.php?topic=5226770.msg53865575#msg53865575
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
February 04, 2017, 10:12:26 PM
 #1837

cpuminer-opt-3.5.5 is released.

x11evo is fixed on Windows but performs at the same hash rate as 3.5.1. Linux users
get the optimizations from 3.5.4.

AMD users reported that in 3.5.4 timetravel exitted after 50 submits. There are two parts to
this problem. First the stats were being collected by default, second doing so resulted in the
miner exitting.

The default has been changed to disable stats collection by default and must be enabled by
including the word stats in the password. Stats collection has not been tested in 3.5.5 on
an AMD CPU therefore it may still cause the miner to exit if enabled. AMD user are encouraged
to report their findings.

See OP for details.

AKA JayDDee, cpuminer-opt developer. https://github.com/JayDDee/cpuminer-opt
https://bitcointalk.org/index.php?topic=5226770.msg53865575#msg53865575
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
felixbrucker
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500


View Profile WWW
February 05, 2017, 01:10:23 AM
 #1838

thanks for this


small note: the windows bin for sse2 was renamed to *-core2.exe instead of *-sse2.exe as in previous builds, i renamed it to sse2 in my miner repo to not break scripts already in place for previous versions

cheers
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
February 05, 2017, 01:19:44 AM
 #1839

thanks for this


small note: the windows bin for sse2 was renamed to *-core2.exe instead of *-sse2.exe as in previous builds, i renamed it to sse2 in my miner repo to not break scripts already in place for previous versions

cheers

Ooops. I started using a script for each build for less typing. Was on autopilot renamed exe to match arch.

AKA JayDDee, cpuminer-opt developer. https://github.com/JayDDee/cpuminer-opt
https://bitcointalk.org/index.php?topic=5226770.msg53865575#msg53865575
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
felixbrucker
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500


View Profile WWW
February 05, 2017, 01:35:12 AM
 #1840

also my amds are now running past 50 accepted shares on timetravel on windows, so not submitting the benchs prevented the issue
Pages: « 1 ... 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 [92] 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 ... 197 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!