Author

Topic: [ANN]: cpuminer-opt v3.8.8.1, open source optimized multi-algo CPU miner - page 177. (Read 444067 times)

legendary
Activity: 1470
Merit: 1114
I'm not sure how much value it adds but it helps identify if you're throwing away
wasted hash. It's really the hash count that matters and the time, from the pool's
point of view, it took to produce it. The hashrate displayed by the miner
is a derivative value based on it's perception of the scan period.

If the CPU is throwing away hash the periods won't match and the CPU will display
an eroneously high hashrate. I could put in code to display when this occurs but it
would be in the critical code path and would affect performance. The current method,
though perhaps more verbose, is implemented off the critical path.

I understand the idea now.  Wink

IMHO, It seems good to have this, but somewhere else, like in debug maybe?

I definetely don't want to lose performance, so if it's too much work and/or affect the miner itself, just leave it there.

I'm not sure why you're so concerned about that particular bit of output. If verbosity is your issue you should use --quiet
which suppresses the per-thread output.

Have you expresed your concerns to Wolf0? The hashcount is in his hodlminer too. Like I said I don't really have
an opinion about it but I'll go with the flow. If Wolf0 backs it out and no one else implements it I will back out too.

Edit: If this is realy important to you I can build a custom version with the output to your exact specifications, for a fee.
sr. member
Activity: 312
Merit: 250
I'm not sure how much value it adds but it helps identify if you're throwing away
wasted hash. It's really the hash count that matters and the time, from the pool's
point of view, it took to produce it. The hashrate displayed by the miner
is a derivative value based on it's perception of the scan period.

If the CPU is throwing away hash the periods won't match and the CPU will display
an eroneously high hashrate. I could put in code to display when this occurs but it
would be in the critical code path and would affect performance. The current method,
though perhaps more verbose, is implemented off the critical path.

I understand the idea now.  Wink

IMHO, It seems good to have this, but somewhere else, like in debug maybe?

I definetely don't want to lose performance, so if it's too much work and/or affect the miner itself, just leave it there.
legendary
Activity: 1470
Merit: 1114
Hi,

I'm getting this error:

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

Checking CPU capatibility...
              Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz
CPU Supports AES_NI: YES.
SW  Supports AES_NI: YES.
Start mining with AES_NI optimisations...

[2016-04-08 22:55:10] 1 miner threads started, using 'hodl' algorithm.
[2016-04-08 22:55:10] Starting Stratum on stratum+tcp://hodl.suprnova.cc:4693
[2016-04-08 22:55:10] hodl buffer allocation failed


Any idea?
Thanks Smiley

Probably not enough RAM, the buffer is 1 GB.
legendary
Activity: 1470
Merit: 1114
You missed the release announcement, it's hash count, not rate.

So, if I understand correctly...

Code:
accepted: 135/135 (100%), 23.40 MH, 856.04 kH/s yes!
I should read this like this:
cpuminer submited a share with 856.04 kH/s, which was produced by 23.40 Mhashes done by cpu.

Is that correct?
And why do we need so much clutter on the reporting side?

Yes and you can easilly calculate your effective hash rate by dividing the hash count
by the time since the last submission. Comparing with the miner hashrate will give you
an efficiency factor for that share.

You're opinion is noted. I'm not the first to implement this but I'll go with the flow.

I'm not sure how much value it adds but it helps identify if you're throwing away
wasted hash. It's really the hash count that matters and the time, from the pool's
point of view, it took to produce it. The hashrate displayed by the miner
is a derivative value based on it's perception of the scan period.

If the CPU is throwing away hash the periods won't match and the CPU will display
an eroneously high hashrate. I could put in code to display when this occurs but it
would be in the critical code path and would affect performance. The current method,
though perhaps more verbose, is implemented off the critical path.
sr. member
Activity: 312
Merit: 250
You missed the release announcement, it's hash count, not rate.

So, if I understand correctly...

Code:
accepted: 135/135 (100%), 23.40 MH, 856.04 kH/s yes!
I should read this like this:
cpuminer submited a share with 856.04 kH/s, which was produced by 23.40 Mhashes done by cpu.

Is that correct?
And why do we need so much clutter on the reporting side?
legendary
Activity: 1470
Merit: 1114
HODL is fixed. Download cpuminer-opt v3.1.12.

https://drive.google.com/file/d/0B0lVSGQYLJIZRVdQNmY0NVM2Slk/view?usp=sharing

Again my apologies for the slopppiness.

It seems that in this version we have double reporting of hashrate?
Code:
accepted: 10/10 (100%), 8285.41 kH, 856.04 kH/s yes!

Can you explain what is the meaning ot first number?

You missed the release announcement, it's hash count, not rate.
sr. member
Activity: 312
Merit: 250
HODL is fixed. Download cpuminer-opt v3.1.12.

https://drive.google.com/file/d/0B0lVSGQYLJIZRVdQNmY0NVM2Slk/view?usp=sharing

Again my apologies for the slopppiness.

It seems that in this version we have double reporting of hashrate?
Code:
accepted: 10/10 (100%), 8285.41 kH, 856.04 kH/s yes!

Can you explain what is the meaning ot first number?
legendary
Activity: 1470
Merit: 1114
HODL is fixed. Download cpuminer-opt v3.1.12.

https://drive.google.com/file/d/0B0lVSGQYLJIZRVdQNmY0NVM2Slk/view?usp=sharing

Again my apologies for the slopppiness.

Why not make win binaries if you are very familiar with programming and compiling ? I never understood this...

Believe me I've tried, never got very far. Even though the original cpuminer-multi compiles on
Windows I think imported some code that doesn't, or needs windows hooks. Although I have a lot
of experience it has not been in c++ or the PC platform so I still struggle with silly issues like
addressing modes in function args. I'm hoping some Windows wizard will swoop in and make it all
work. Grin

Edit: If that was done I could probably maintain it myself after that.
newbie
Activity: 31
Merit: 0
HODL is fixed. Download cpuminer-opt v3.1.12.

https://drive.google.com/file/d/0B0lVSGQYLJIZRVdQNmY0NVM2Slk/view?usp=sharing

Again my apologies for the slopppiness.
I'm so sorry, but would you like to make a win64 binaries?
I'm ready to test on 7 really different configs,  but I'm not a C programmer...

Thank you!
legendary
Activity: 1596
Merit: 1011
HODL is fixed. Download cpuminer-opt v3.1.12.

https://drive.google.com/file/d/0B0lVSGQYLJIZRVdQNmY0NVM2Slk/view?usp=sharing

Again my apologies for the slopppiness.

Why not make win binaries if you are very familiar with programming and compiling ? I never understood this...
legendary
Activity: 1470
Merit: 1114
HODL is fixed. Download cpuminer-opt v3.1.12.

https://drive.google.com/file/d/0B0lVSGQYLJIZRVdQNmY0NVM2Slk/view?usp=sharing

Again my apologies for the slopppiness.
legendary
Activity: 1470
Merit: 1114
HOdl miners may want to HOdl off on downloading cpuminer-opt v3.1.11 for now. I don't know
that it's any worse than v3.1.10 but I've found a couple of bugs that I need to fix. my apologies.
legendary
Activity: 1470
Merit: 1114
Hi All,

I recently inherited an AMD FD8350FRHKBOX FX-8350 FX-Series 8-Core Black Edition Processor.

My mining experience are GPU and ASICs, and a forum member recommended I visit this thread to get help and ideas.

Any ideas how can I use this CPU to mine the most profitable CPU only alt-coins?

Cheers!

You ned to think of the coin/algo together to determine profitability. Choosing a coin requires a skill
that comes with experience.

Take a look at the performance charts in the first post of this thread to get an idea of the performance of each
algo on a hashrate basis. The chart is for i7-6700K, you should do you own testing to get your own factors.

Then go looking at the pools for coins to mine. Some algos are designed for be CPU friendly, or more specifically.
GPU and ASIC unfriendly. These include cryptonight, lyra2re (not rev2), hodl and argon2.

Then go looking around at the pools and the coins and algos they support and jump in.
legendary
Activity: 1834
Merit: 1080
---- winter*juvia -----
Hi All,

I recently inherited an AMD FD8350FRHKBOX FX-8350 FX-Series 8-Core Black Edition Processor.

My mining experience are GPU and ASICs, and a forum member recommended I visit this thread to get help and ideas.

Any ideas how can I use this CPU to mine the most profitable CPU only alt-coins?

Cheers!
legendary
Activity: 1470
Merit: 1114
        Release 3.1.11 of cpuminer-opt is available for download.

https://drive.google.com/file/d/0B0lVSGQYLJIZZ3VCOERfMHZiQmM/view?usp=sharing

New in 3.1.11

   - hodl algo hashrate issue partially fixed.

     Errata: The hash rate reported at the pool should now
             be the same as hodlminer-wolf although the miner
             stilll reports an erroneously high rate. The
             performance chart uses the pool reported rate.

   - argon2 algo added, 6% faster than encel version
legendary
Activity: 1470
Merit: 1114
My theory was wrong, at least with respect to hodl. With hodl the threads work cooperatively
by spliting the scratchpad into sections with each thread searching their own section. First thread
to find it scores a collision.

I had a bug that was getting new work in every thread.

That seems to have solved the most important part of the problem, the hashrate reported at the pool.
Unfortunately it's not the same high hashrate still being reported by the miner.

I will likely build another release with this fix and continue to investigate the local hashrate display issue.
legendary
Activity: 1470
Merit: 1114
Something is bugging me about hashrates. First I will point out that the current method the miner
reports hashrate generally agrees with the pools.

This bugs me for the simple reason that one thread finds the solution but the reported hashrate
is the sum of all threads. The hashrate is only correct when a single thread finds a solution each scan.
If all 8 threads find a solution my pool rate would be 800% what the miner reports. This explains somewhat
why the pool sometimes reports hashrates much higher than the miner.

Now to the pools. They don't know how many threads are running, they just get a solution and the number of
hashes to find it (an assumption). They look at the size of the solution and the time it took to find it and
calculate a hashrate. How in hell could the miner ever agree? I must be missing something.

I've been running for about 120 accepts calculating an average efficiency and it's running at about
7%.

That's 7% of 800% = 56%.

Miner reports 450 H/s, multiply by 56% = 252 H/s.

That should be my actual hashrate at the pool.

I think I need to let that sink in for a while. I'm getting dizzy.

legendary
Activity: 1470
Merit: 1114
I think I need to redeesign the hashrate display in order to troubleshoot the scan failures, first to quantify
and compare with other miners.

I've added a quick efficiency factor by simply using the inverse of the number of fails between successes.
100% means every thread is successful on every scan. The efficiency is also already indicated by the number
of thread hashrate lines between shares.

Here's what it looks like.

Code:
[2016-04-07 17:12:20] CPU #7: 32.76 H/s
[2016-04-07 17:12:20] scan efficiency 12.50%
[2016-04-07 17:12:20] accepted: 38/38 (100%), 415.59 H/s yes!
[2016-04-07 17:12:21] CPU #0: 64.15 H/s
[2016-04-07 17:12:21] scan efficiency 100.00%
[2016-04-07 17:12:21] accepted: 39/39 (100%), 427.02 H/s yes!
[2016-04-07 17:12:22] CPU #3: 65.58 H/s
[2016-04-07 17:12:22] CPU #4: 53.58 H/s
[2016-04-07 17:12:22] CPU #2: 49.79 H/s
[2016-04-07 17:12:22] CPU #6: 53.61 H/s
[2016-04-07 17:12:22] CPU #5: 54.44 H/s
[2016-04-07 17:12:22] CPU #1: 50.27 H/s
[2016-04-07 17:12:25] CPU #2: 67.54 H/s
[2016-04-07 17:12:25] scan efficiency 14.29%
[2016-04-07 17:12:25] accepted: 40/40 (100%), 441.93 H/s yes!
[2016-04-07 17:12:27] Stratum difficulty set to 4.96669
[2016-04-07 17:12:27] CPU #6: 58.60 H/s
[2016-04-07 17:12:27] CPU #5: 58.98 H/s
[2016-04-07 17:12:27] CPU #4: 53.22 H/s
[2016-04-07 17:12:27] CPU #1: 45.70 H/s



legendary
Activity: 1470
Merit: 1114
Here's some data i colllected for hashrates

Code:
[2016-04-07 14:22:25] 1 miner threads started, using 'hodl' algorithm.
[2016-04-07 14:22:28] Stratum difficulty set to 1
[2016-04-07 14:22:38] scanh start hashes done= 0
[2016-04-07 14:22:44] scanh ret 1 hashes done= 328
[2016-04-07 14:22:44] diff.tv_sec= 6 usec= 16424
[2016-04-07 14:22:44] thr rate= 54.517434
[2016-04-07 14:22:44] CPU #0: 54.52 H/s
[2016-04-07 14:22:44] accepted: 1/1 (100%), 54.52 H/s yes!

Everything adds up. This is exactly what it's getting back from the scan. The problem must be happening later
with the submission.

Edit: I think I have found a long standing bug.

When a share is submitted the miner reports the sum of the hashrates of the last scan of each thread. That's is
usually a good approximation but doesn't take into account failed scans. It also doesn't take into account
super-scans where a solution is found by 2 threads at the same time.

A share is submitted only when the scan returns success. Otherwise the scan was wasted time. This wasted time
doesn't get measured by the miner but the pool sure notices the delay since the last submit. That appears to
account for discrepency between the miner rate and the pool rate.

Fixing that will take some thought. The displayed share submission rate should be the sum of all the scans since
the last submission. This will cause volatility in the displayed hashrates but they will be accurate and should match
the pool.

The per-thread hashrate could also be improved. The display could indicate when a scan has suceeded or failed.

That problem seems understood but now the issue is why so many scans fail. I'm going to try to fix that before
redesigning the hashrate display.




legendary
Activity: 1470
Merit: 1114

Epsylon3, thanks for cpuminer-multi, which is the main base for this great cpuminer!

Hear! Hear!

He has made my job much easier.
Jump to: