Pages:
Author

Topic: [ANN] CPU Miner Advanced v5.0.2.0 Beta By Spoetnik - page 2. (Read 10040 times)

sr. member
Activity: 420
Merit: 250
so your latest version support x32 and x64 bit , is that correct?
legendary
Activity: 1540
Merit: 1011
FUD Philanthropist™
last version i added should have been reporting a lot faster speeds.

i already added some new features and have some more good ones coming pretty soon.
as well as spotting and fixing bugs.

i am thinking i will port chubners cudaminer multi-pool support too
he added a feature a while back i didn't know about until today.. specifying multiple pools on the cmd-line.

so stay tuned i didn't get bored and wander off lol

also i did a lot more testing with compiler settings and benchmarking them,
and also added build version info when using version cmd-line showing instruction set info and libcurl etc and base cpu miner version used.
this shows what i mean..

Quote

C:\minerd --version

cpuminer 2.3.3
 built on May  9 2014
 features: x86_64 SSE2 AVX AVX2 XOP
libcurl/7.36.0


Press any key to continue . . .


i have gone through EVERY single line of code numerous times and i ported Cpuminer v2.3.3 changes to this build manually (was using 2.3.2)
i also just finished building & updating with the newest version of LibCurl.. the version in my quote.
legendary
Activity: 1540
Merit: 1011
FUD Philanthropist™
you mean using sse4 on on 4770k and avx2 on another 4770k ?

speeds can vary because of a lot of factors and the difference sometimes from on build to another can be pretty small.
and sometimes the pools i am on for a while report what you said eh
maybe double check what version(s) your using and scan-time setting too maybe..
having scan-time at 30 on a worker and 1 on another can make them different for example.

so sorry i am no to sure what else to say lol

thanks for the feedback though.. it's nice when people take the time.

edit:
i always run my 4770k with 6 threads so i have 2 free for various other stuff and if i don't bog my machine down i average around 500kh/s
but some versions seem to be better when i look at pool stats eh.. how much coins you make is all that matters Wink
sr. member
Activity: 420
Merit: 250
right now I am using 4 threads on my i7 4770k cpu.

one 4 threads is using avx2 and other 4 threads is sse4 miner. it is strange for me that both had the same hash speed when I mine. is that normal?
legendary
Activity: 1540
Merit: 1011
FUD Philanthropist™
yeah your right and i made a mistake somehow.. i just checked everything in the builds and source of both versions.
the code i put in before to divide the hash rate by 2 failed to work so it's showing twice as fast as it should on the old v5008 ver.
i put in some defines in the code that didn't seem to work.. the cheat mode is setup but not offsetting the Reported UI hash speed.
and i last uploaded a version not using a c code define and simply put a divider in specifically.

line 909 in cpuminer.c in the old version is where it should have changed the hash rate and then straight in jackpot_scanhash() on the new version.

so anyway you can look at it this way.. one is wrong and one is right but they are the same lol
i know confusing hhahaa

if you double the hash rate it will calculate like old build to compare or cut the old hash rate in half to compare Wink
either way i would pay more attention to pool performance on cheat test builds.. that gauges real world performance depending on how accurate the pool is i guess lol

so sorry about the confusion,
but i intended to modify the older version before so the hash rate was cut in half, but it's not doing it :/
so it's showing double what i intended on v5.0.0.8.

does that make sense ?
the older one used a different approach/method to the cheat mode vs the new one,
but they are similar in reported hash rate overall but the newer one i think looks better on on pool stats.
maybe try both on some pools and see what it tells you your hashing it etc.
sr. member
Activity: 420
Merit: 250
I test 5.0.0.8 w/ cheat vesion (minerd_AVX2_CHEAT_stripped). now I am running with this new version w/ avx2.

same mining sites but different version.

5.0.08 is 1000k and new version is about half of that. is that normal?

I use pool on verters.com
legendary
Activity: 1540
Merit: 1011
FUD Philanthropist™
which one did you test to which one and HOW did you test ? benchmark ? timer benchmark ?
pool or solo ? i uploaded 10 builds eh..
also you didn't give it enough time if you judging by pool numbers they take time to average out and i just uploaded the files lol
did you compile it yourself ?

edit:
oh and to anyone reading.. try using the first miner the Jackpot coin dev posted then try mine Wink
my AMD Athlon x4 9950 BE (overclocked a bit) went from 81kh/s to 266kh/s on JPC lol
sr. member
Activity: 420
Merit: 250
it seems the new version is slower than the old one. I thougth it is going to be faster. it seems not.
legendary
Activity: 1540
Merit: 1011
FUD Philanthropist™
http://www.multiupload.nl/05HQV1EELM

that is CMA-5.0.1.0-Beta-WIN-x64-Haswell.rar (1.33 MB)

has 6 windows 64bit versions.. sse2,sse4,avx2 (cheat test and normal versions) plus source code.

edit:
if your building by source code you have to change some lines in jackpot_scanhash()
i commented out the cheat code for now until i add a command-line to turn it on or off.
if you can code you should see what i did in that one file (no other files need changing, only jackpot.c)
legendary
Activity: 1540
Merit: 1011
FUD Philanthropist™
i'm going to add a newer test build pretty soon prob after i eat lunch lol
i want to add a command-line option this time though so we can try out the test cheat mode in one single build.
i tried actually chopping down the hasing function to it's bare minimum then i moved the init out of the loop
and then i went even further and deleted the hashing function and just copied the hashing routines
straight into the scan-hash function.. it's working good Smiley

plus i figured out a better version of the cheat mode i think..
rather than trying to piss around in Groestl in rounds i had a better idea.
this time i checked right after hashing keccak to see if the first byte in the hash is 1
and if it is ? then i invalidate the hash and have it go to a label where it will deliberatly fail the hash check (and do another hash)
skipping ALL the rounds entirely lol

the new cheat mode test result i think is a bit quicker (after dividing the hash rate by two for the UI)
and you can see a LOT of shares are getting submitted really well and the hash rate reported on the pool is looking good
and the pool's var-diff has at times given me far higher difficulties than ever before.. so i think that is a good sign.

i'll post what code i am testing out right this minute if people want to see what i mean..

Quote
int scanhash_jackpot(int thr_id, uint32_t *pdata, const uint32_t *ptarget,
   uint32_t max_nonce, unsigned long *hashes_done)
{
   uint32_t n = pdata[19] - 1;
   const uint32_t first_nonce = pdata[19];

   uint32_t endiandata[22];
   uint32_t hash[8] __attribute__((aligned(32)));

   jackpothash_context_holder ctx;
   memcpy(&ctx, &base_contexts, sizeof(base_contexts));

   int kk=0;
   for (; kk < 22; kk++){be32enc(&endiandata[kk], ((uint32_t*)pdata)[kk]);};

   do {
      pdata[19] = ++n;
      be32enc(&endiandata[19], n);
      //jackpothash(hash, &endiandata);

      sph_keccak512 (&ctx.ctx_keccak, &endiandata, 80);
      sph_keccak512_close(&ctx.ctx_keccak, hash);
      if (hash[0]&0x01) {
         hash[7]=0x0;
         goto done;
      }
      int x=0;
      for (int r = 0; r < 3; r++) {
         //if ((hash[0]&0x01)&&(x!=1)) {
         if (hash[0]&0x01) {
            sph_groestl512 (&ctx.ctx_groestl, hash, 64);
            sph_groestl512_close(&ctx.ctx_groestl, hash);
            //x=1;
            //hash[7]=0x0;
            //goto done;
         } else {
            sph_skein512 (&ctx.ctx_skein, hash, 64);
            sph_skein512_close(&ctx.ctx_skein, hash);
         }
         if (hash[0]&0x01) {
            sph_blake512 (&ctx.ctx_blake, hash, 64);
            sph_blake512_close(&ctx.ctx_blake, hash);
         } else {
            sph_jh512 (&ctx.ctx_jh, hash, 64);
            sph_jh512_close(&ctx.ctx_jh, hash);
         }
      }
      done:
      if ((hash[7]<=ptarget[7])&&(hash[7]!=0x0)) {
         *hashes_done = (n-first_nonce+1)/2;
         return 1;
      }

   } while (n < max_nonce && !work_restart[thr_id].restart);

byebye:
   *hashes_done = (n-first_nonce+1)/2;
   pdata[19] = n;
   return 0;
}
legendary
Activity: 1540
Merit: 1011
FUD Philanthropist™
I got i7 4770k which miner I shall use? avx or see4?

the AVX one.. i compiled it to use MingW GCC AVX2 instruction set optimizations (as stated earlier)
AVX+ is great and big improvement over SSE versions..

check this out..
Intel’s Haswell is an unprecedented threat to Nvidia, AMD

So that says some of us can do AVX2 we can go a bit faster hashing Smiley

i have to stress i used AVX2 not AVX (version 1)
so only Haswell class chips and higher will support that build/.exe

and to the other guy i have no clue why SSE4 would be faster than AVX2 it doesn't make any sense..
i am guessing the one did not run for you and the other did ?
i run a AMD x4 9950 and Intel 4770k for testing my other cpu's machines are dead (until recently i had a Core 2 Duo for testing with)
Intel avg = 487
AMD avg = 471
per thread i am seeing about maybe 3 or 4 kh/s on my AVX2 build vs the SEE4 build.. which above shows on my 6 threads about 17kh/s more total.
Not a lot but impressive by not changing any code at all and just a compiler flag when building it lol
To do that test i ran the --benchmark command-line with the threads setting and watched it for a while..

Last night i rewrote the cpu hashing code a lot to see if i can get some better speeds and some versions i tried i was getting as high as 768kh/s reported on the pool Smiley
Some using various shortcuts and some not.. normal non cheating builds i am making now are about the same speed
and the so called cheat test versions i am not sure it's REALLY hard to tell because i have to rely on what the pools report for numbers..

Side Note:
I just spent more time trying to see if i can get ccminer for nvidia cards to run on my Fermi compute 2.0 card but i am not sure what i am doing i am no cuda guy Sad
i can get it built and running but i am getting a problem with the hashing.. i tried to do an alt to validating the branches and much more.. so far i'm failing lol
sr. member
Activity: 420
Merit: 250
I got i7 4770k which miner I shall use? avx or see4?
hero member
Activity: 553
Merit: 500
Solo Miner Legend
Of the 4 blocks I have found on the pool(s), 2 of them have been found with the Phenom 9850 BE, with your minerd_SSE4 miner. Wink The 7950 1 and none by 7970 or the other CPUs/APUs. Smiley
hero member
Activity: 553
Merit: 500
Solo Miner Legend
i don't think the cheat mode does any good.. long story short it will report your speed on pool web sites slower.
EVEN of it says your hashing faster in the miner. (Because you ARE hashing faster by using shortcuts)

i tried a bunch of variations and they all give the same result.

a more interesting part is no one anywhere has figured out what it didn't work on quark waaaay back last year (the same trick) (but i did then)
people who tried it found that it submitted like roughly 40% shares invalid to the pools etc..
why ? the answer is real simple.. the code everyone uses on all cpu miner mods is yet *Again broken in the post critical parts of all LOL
i seem to keep finding bugs that a million github repo's and other mods like cudaminer etc have..

if anyone writes a shortcut to Groestl what is going to happen is close to half of all shares submitted will say "error over target" in stratum responses.
see if you can spot why it's FIXED below Wink
oh and ya ll might wanna update those millions of github repo's lol
So with other words, don't use the CHEAT versions? Wink
legendary
Activity: 1540
Merit: 1011
FUD Philanthropist™
i don't think the cheat mode does any good.. long story short it will report your speed on pool web sites slower.
EVEN of it says your hashing faster in the miner. (Because you ARE hashing faster by using shortcuts)

i tried a bunch of variations and they all give the same result.

a more interesting part is no one anywhere has figured out what it didn't work on quark waaaay back last year (the same trick) (but i did then)
people who tried it found that it submitted like roughly 40% shares invalid to the pools etc..
why ? the answer is real simple.. the code everyone uses on all cpu miner mods is yet *Again broken in the post critical parts of all LOL
i seem to keep finding bugs that a million github repo's and other mods like cudaminer etc have..

if anyone writes a shortcut to Groestl what is going to happen is close to half of all shares submitted will say "error over target" in stratum responses.
see if you can spot why it's FIXED below Wink
oh and ya ll might wanna update those millions of github repo's lol

Quote

static void jackpothash(void *state, const void *input) {

   uint32_t hash[16];
   jackpothash_context_holder ctx;

   memcpy(&ctx, &base_contexts, sizeof(base_contexts));

   sph_keccak512 (&ctx.ctx_keccak, input, 80);
   sph_keccak512_close(&ctx.ctx_keccak, hash);


#ifdef CHEAT
   int z=0;
#endif
   for (int r = 0; r < 3; r++) {
      if (hash[0]&0x1) {
         //if (r==2) return;
#ifdef CHEAT
         /* give up and try another nonce */
         if (z==1) return;
#endif
         sph_groestl512 (&ctx.ctx_groestl, hash, 64);
         sph_groestl512_close(&ctx.ctx_groestl, hash);
#ifdef CHEAT
         z=1;
#endif
      }
      else {
         sph_skein512 (&ctx.ctx_skein, hash, 64);
         sph_skein512_close(&ctx.ctx_skein, hash);
      }

      if (hash[0]&0x1) {
         sph_blake512 (&ctx.ctx_blake, hash, 64);
         sph_blake512_close(&ctx.ctx_blake, hash);
      }
      else {
         sph_jh512 (&ctx.ctx_jh, hash, 64);
         sph_jh512_close(&ctx.ctx_jh, hash);
      }
   }
   memcpy(state, hash, 32);
}

inline bool test(const uint32_t *hash, const uint32_t *p)
{
   if ( ((hash[7]<=p[7]) && (hash[7]!=0x0)) ){
      return true;
   }
   return false;
}

int scanhash_jackpot(int thr_id, uint32_t *pdata, const uint32_t *ptarget,
   uint32_t max_nonce, unsigned long *hashes_done)
{
   uint32_t n = pdata[19] - 1;
   const uint32_t first_nonce = pdata[19];
   const uint32_t Htarg = ptarget[7];

   uint32_t hash64[8] __attribute__((aligned(32)));
   uint32_t endiandata[32];

   int kk=0;
   for (; kk < 32; kk++){be32enc(&endiandata[kk], ((uint32_t*)pdata)[kk]);};

   if (ptarget[7]==0) {
      do {
         pdata[19] = ++n;
         be32enc(&endiandata[19], n);
         jackpothash(hash64, &endiandata);
         if (((hash64[7]&0xFFFFFFFF)==0) && (test(hash64, ptarget)==true)) {
            *hashes_done = n - first_nonce + 1;
            return true;
         }
      } while (n < max_nonce && !work_restart[thr_id].restart);   
   }
   else if (ptarget[7]<=0xF)
   {
      do {
         pdata[19] = ++n;
         be32enc(&endiandata[19], n);
         jackpothash(hash64, &endiandata);
         if (((hash64[7]&0xFFFFFFF0)==0) && (test(hash64, ptarget)==true)) {
            *hashes_done = n - first_nonce + 1;
            return true;
         }
      } while (n < max_nonce && !work_restart[thr_id].restart);   
   }
   else if (ptarget[7]<=0xFF)
   {
      do {
         pdata[19] = ++n;
         be32enc(&endiandata[19], n);
         jackpothash(hash64, &endiandata);
         if (((hash64[7]&0xFFFFFF00)==0) && (test(hash64, ptarget)==true)) {
            *hashes_done = n - first_nonce + 1;
            return true;
         }
      } while (n < max_nonce && !work_restart[thr_id].restart);   
   }
   else if (ptarget[7]<=0xFFF)
   {
      do {//jackpot
         pdata[19] = ++n;
         be32enc(&endiandata[19], n);
         jackpothash(hash64, &endiandata);
         if (((hash64[7]&0xFFFFF000)==0) && (test(hash64, ptarget)==true)) {
            *hashes_done = n - first_nonce + 1;
            return true;
         }
      } while (n < max_nonce && !work_restart[thr_id].restart);   

   }
   else if (ptarget[7]<=0xFFFF)
   {
      do {
         pdata[19] = ++n;
         be32enc(&endiandata[19], n);
         jackpothash(hash64, &endiandata);
         if (((hash64[7]&0xFFFF0000)==0) && (test(hash64, ptarget)==true)) {
            *hashes_done = n - first_nonce + 1;
            return true;
         }
      } while (n < max_nonce && !work_restart[thr_id].restart);   

   }
   else
   {
      do {
         pdata[19] = ++n;
         be32enc(&endiandata[19], n);
         jackpothash(hash64, &endiandata);
         if (test(hash64, ptarget)==true) {
            *hashes_done = n - first_nonce + 1;
            return true;
         }
      } while (n < max_nonce && !work_restart[thr_id].restart);   
   }


   *hashes_done = n - first_nonce + 1;
   pdata[19] = n;
   return 0;
}
legendary
Activity: 1540
Merit: 1011
FUD Philanthropist™
Any of these Spoetnink miners that works well on an AMD Phenom 9850 BE? Grin

yes see first post Wink

they are very different sizes because i ran STRIP the MingW compile command on one and not the other..


Here is the MingW commands i used if anyone wants to know..

This one for my Intel 4770k

Quote
cd /c/code/jpc-cpuminer-master-v2
./autogen.sh
./configure --host=x86_64-w64-mingw32 CFLAGS="-O3 -mavx2"
make
x86_64-w64-mingw32-strip minerd.exe
cp /c/Code/jpc-cpuminer-master-v2/minerd.exe "/c/Miners/Jackpotcoin CPUMiner"

And then this for my AMD x4 9950. The strip command would make my AMD cpu crash but not the Intel machine which i used to compile on..
so i omitted it on this build and if anyone gets a prompt about libgcc_s_dw2-1.dll let me know it's a MingW run time dll.

Quote
cd /c/code/jpc-cpuminer-master-v2
./autogen.sh
./configure --host=x86_64-w64-mingw32 CFLAGS="-O3 -msse4"
make
cp /c/Code/jpc-cpuminer-master-v2/minerd.exe "/c/Miners/Jackpotcoin CPUMiner"
legendary
Activity: 1540
Merit: 1011
FUD Philanthropist™
Any of these Spoetnink miners that works well on an AMD Phenom 9850 BE? Grin

uhhhmmm ya only reason i didn't post one yet is i am not sure how fast i can get it..
i got my 9950 going from 80 to 240kh/s just by compiler optimizations Smiley
i keep forgetting about it i have a bunch of pm;s from another guy about other cpu's so.. been super busy lol
buuut i will make it next and upload a version that will run on my 9950 and that i assume should work good for you too Smiley

lastly, i uploaded an Intel 4770k Haswell class version again and the source code is inside the rar archive too
i ported a so called cheat mode taken last year from UncleBob's quark cpu miner mod..

http://www.multiupload.nl/4GVXU06HVT

what that does is basically it will drop working on a hash if Groestl is going to get run twice.
doing that makes hashing 4x faster but i also added UncleBobs's divider on hashing times, so it will show more like 2x faster not 4x faster lol
how effective this is i am not sure i tried experimenting with it lot son Quark ages ago and i was not share it actually made much difference earnings wise..
i got the idea from chubner saying something about this and i recalled the same thing already done last year.. by me Smiley
So i turned my 500kh/s cpu into 2.1mh/s but i cut the speed it reports in half so it shows about 1.1mh/s in console.
I also did some work on some of the other hashing code which did speed it up a bit.. init contexts out f loop for example.

i wasn't so busy spending 75% of my time fucking around with the MingW compiler flags etc i could get some coding done Sad
i will try and add a couple more builds i have been requested done really soon ..an yeah i said i that before but i mean it this time, honest lol
legendary
Activity: 1540
Merit: 1011
FUD Philanthropist™
strange, i dont see in source code any optimizations or changes from original cpu miner))

thanks for your help and your snotty attitude..

strange i don't see any of your bullshit you copied and pasted from other devs Wink
show me ONE lien of code your wrote sweet heart lol
hero member
Activity: 553
Merit: 500
Solo Miner Legend
Any of these Spoetnink miners that works well on an AMD Phenom 9850 BE? Grin
legendary
Activity: 1246
Merit: 1000
strange, i dont see in source code any optimizations or changes from original cpu miner))
Pages:
Jump to: