Blagodarenko / XPlotter

CPU plotter for BURST
GNU General Public License v3.0
54 stars 26 forks source link

Release V1.1 different from current code base #25

Open ohager opened 6 years ago

ohager commented 6 years ago

Hi Blago,

I just discovered that the recently released version V1.1 is different from current codebase.

Example The console output in provided executables is /CPU: (\d+)% done, \((\d+) nonces\/min\)/g,

while in the latest code the output is:

printf("\rCPU: %llu nonces done ", nonces_done + x);

The concrete difference is: executable: CPU: 54% done code: CPU: 13623 nonces done

Please, could you bring them in sync?

Btw: the AVX2 brought significant speed up

Blagodarenko commented 6 years ago

sorry, i lost sources v1.1 i'd made some optimizations, but forgot where in code (need to review the code... again...)

ohager commented 6 years ago

Are there any plans on for a new release? Especially, looking forward to upcoming PoC2 in June.

JohnnyFFM commented 6 years ago

Hey! I can remind you of what needs to be changed :-) There is a bug in the ifdef clause... avx2 builds only avx. Change to :

    #ifdef __AVX2__
        std::thread th(std::thread(AVX2::work_i, i, addr, startnonce + nonces_done + i * nonces_per_thread, nonces_per_thread));
    #else
        #ifdef __AVX__
            std::thread th(std::thread(AVX1::work_i, i, addr, startnonce + nonces_done + i * nonces_per_thread, nonces_per_thread));
        #else
            std::thread th(std::thread(SSE4::work_i, i, addr, startnonce + nonces_done + i * nonces_per_thread, nonces_per_thread));
        #endif
    #endif 

and AVX2 builds just fine. Regarding POC2: can be quickly added, will send a PR.