Bitcoin Forum
November 09, 2024, 12:15:22 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [34] 35 36 37 38 39 40 41 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 ... 197 »
  Print  
Author Topic: [LOCKED] cpuminer-opt v3.12.3, open source optimized multi-algo CPU miner  (Read 444060 times)
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
May 30, 2016, 06:47:34 PM
 #661

Edit2: I downloaded your code but there are files missing, most noticeably configure. What's up with that?

Regarding files missing, I cloned hmage's source from github so I have the same files that he put up there.

configure is generated by autoconf, which is called by autogen.sh, which is called by build.sh. There's no point in keeping build artifacts.

Same goes for Makefile, Makefile.in, aclocal.m4, autom4te.cache, compile, config.guess, config.log, config.status, config.sub, cpuminer-config.h, cpuminer-config.h.in, depcomp, install-sh, missing and stamp-h1 -- they are generated during complete build process and it's general etiquiette to not commit those (since their output will vary from machine to machine).

PS: they're even mentioned in joblo's .gitignore

Uh. no, configure is part of the clean package, I edit it every version with the new version number.

Thanks for the tip about _WIN32, I'll add it back in the next release.

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

Activity: 2716
Merit: 1094


Black Belt Developer


View Profile
May 30, 2016, 07:00:57 PM
 #662

You shouldn't edit configure, but the files used to generate it: configure.in for example.

hmage
Member
**
Offline Offline

Activity: 83
Merit: 10


View Profile
May 30, 2016, 07:11:43 PM
 #663

Uh. no, configure is part of the clean package, I edit it every version with the new version number.

No, configure is not part of clean package, it is an auto-generated script. Here's a way to prove that:

 * Delete configure and then run build.sh -- magically it somehow reappears.
 * Where from? From configure.ac!

If you want your changes in configure to persist, change the source of that file -- configure.ac

For more info how configure works, read the docs -- https://www.gnu.org/software/autoconf/manual/autoconf.pdf
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
May 30, 2016, 08:30:08 PM
 #664

Uh. no, configure is part of the clean package, I edit it every version with the new version number.

No, configure is not part of clean package, it is an auto-generated script. Here's a way to prove that:

 * Delete configure and then run build.sh -- magically it somehow reappears.
 * Where from? From configure.ac!

If you want your changes in configure to persist, change the source of that file -- configure.ac

For more info how configure works, read the docs -- https://www.gnu.org/software/autoconf/manual/autoconf.pdf

That's not how it currently works in cpuminer-opt. configure is persistent and is not modified by anyone or anything
but me. Whether it is the correct way or not is irrelevent, it works

And once again, you are making the claim, you prove it.

I'm not saying you are wrong in that using configure.ac is the correct way of doing things but there are obviously
others and you have, not only, failed to show any evidence the current cpuminer-opt implementation is wrong,
you have failed to accept that it even exists. I don't know about autoconf to debate the virtues of either method
but I'm not about to implement a disruptive change for no apparent benefit. Sound familiar?


Thanks for the link, I'll add it to the long list of reading material.

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

Activity: 83
Merit: 10


View Profile
May 30, 2016, 08:32:38 PM
Last edit: May 30, 2016, 08:58:14 PM by hmage
 #665

That's not how it currently works in cpuminer-opt. configure is persistent and is not modified by anyone or anything
but me.

Write a warning about that somewhere, because this is not how the rest of the world does it.

https://wiki.debian.org/Autoreconf

Debian (and, by extension, Ubuntu) deletes configure and regenerates it from configure.ac on almost every single package that is in the repository.

Your copy of configure also might be too old for newer distros like Arch or Gentoo, and will end up tripping on errors. A simple run of "autoreconf -f -i -v" fixes many of those problems by regenerating that configure script.

Keeping nonperishable source-class information in that place is not sane idea. This is equivalent of editing *.o files after compilation from *.c.

PS: if you insist on keeping configure, then remove it from .gitignore and delete the source file -- configure.ac.
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
May 30, 2016, 09:17:39 PM
 #666

That's not how it currently works in cpuminer-opt. configure is persistent and is not modified by anyone or anything
but me.

Write a warning about that somewhere, because this is not how the rest of the world does it.

https://wiki.debian.org/Autoreconf

Debian (and, by extension, Ubuntu) deletes configure and regenerates it from configure.ac on almost every single package that is in the repository.

Your copy of configure also might be too old for newer distros like Arch or Gentoo, and will end up tripping on errors. A simple run of "autoreconf -f -i -v" fixes many of those problems by regenerating that configure script.

Keeping nonperishable source-class information in that place is not sane idea. This is equivalent of editing *.o files after compilation from *.c.

PS: if you insist on keeping configure, then remove it from .gitignore and delete the source file -- configure.ac.


Noted, something must be done before I upload to git.

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
May 30, 2016, 11:50:25 PM
 #667

You shouldn't edit configure, but the files used to generate it: configure.in for example.


Funny thing is the only thing I do differently than cpuminer-multi is, presumably,  manually edit configure but noticed no
change in the building after doing so. I edit once every release with many make distclean before and after the edit. My changes
never get tossed so there must be something preventing make distclean from deleting configure and autogen.sh from
overwriting it, and it's nothing I've done.

I don't disagree philosophically with anything that has been said about it, but it's not my problem, I'm just doing what the
previous guy did. Since I didn't break it I can't fix it in the sense of putting it back the way I found it.

Also configure.in doesn't exist, configure.ac hasn't changed since October. I'd be shooting in the dark trying to figure it out.
if it didn't work immediately I'd be lost.

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

Activity: 83
Merit: 10


View Profile
May 31, 2016, 12:36:32 AM
Last edit: May 31, 2016, 01:17:56 AM by hmage
 #668

You shouldn't edit configure, but the files used to generate it: configure.in for example.


Funny thing is the only thing I do differently than cpuminer-multi is, presumably,  manually edit configure but noticed no
change in the building after doing so. I edit once every release with many make distclean before and after the edit. My changes
never get tossed so there must be something preventing make distclean from deleting configure and autogen.sh from
overwriting it, and it's nothing I've done.

I don't disagree philosophically with anything that has been said about it, but it's not my problem, I'm just doing what the
previous guy did. Since I didn't break it I can't fix it in the sense of putting it back the way I found it.

Also configure.in doesn't exist, configure.ac hasn't changed since October. I'd be shooting in the dark trying to figure it out.
if it didn't work immediately I'd be lost.

Make distclean will not touch configure, because configure generates makefiles.

https://www.gnu.org/software/automake/manual/html_node/Standard-Targets.html

Quote
make clean
Erase from the build tree the files built by make all.

make distclean
Additionally erase anything ./configure created.

Generating configure is one level of abstraction higher.

PS: I think the reason why editing configure gave you false impression that this is the right thing to do is because configure.ac you inherited from another fork uses AM_MAINTAINER_MODE. Which disables such checks.

https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html

Quote
Several years ago François Pinard pointed out several arguments against this AM_MAINTAINER_MODE macro. Most of them relate to insecurity. By removing dependencies you get non-dependable builds: changes to sources files can have no effect on generated files and this can be very confusing when unnoticed. He adds that security shouldn’t be reserved to maintainers (what --enable-maintainer-mode suggests), on the contrary. If one user has to modify a Makefile.am, then either Makefile.in should be updated or a warning should be output (this is what Automake uses missing for) but the last thing you want is that nothing happens and the user doesn’t notice it (this is what happens when rebuild rules are disabled by AM_MAINTAINER_MODE).

Jim Meyering, the inventor of the AM_MAINTAINER_MODE macro was swayed by François’s arguments, and got rid of AM_MAINTAINER_MODE in all of his packages.

emphasis mine.

Counter intuitively, the presence of that macro disables maintainer mode, and if you run ./configure --enable-maintainer-mode, then edit configure.ac (just change the version number from 1.2-dev), then run make, such edit will be detected and autoconf will be used to re-generate configure from its source file (configure.ac), effectively deleting all changes you did to that file because you were running in non-maintainer mode.
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
May 31, 2016, 03:19:47 AM
 #669

You shouldn't edit configure, but the files used to generate it: configure.in for example.


Funny thing is the only thing I do differently than cpuminer-multi is, presumably,  manually edit configure but noticed no
change in the building after doing so. I edit once every release with many make distclean before and after the edit. My changes
never get tossed so there must be something preventing make distclean from deleting configure and autogen.sh from
overwriting it, and it's nothing I've done.

I don't disagree philosophically with anything that has been said about it, but it's not my problem, I'm just doing what the
previous guy did. Since I didn't break it I can't fix it in the sense of putting it back the way I found it.

Also configure.in doesn't exist, configure.ac hasn't changed since October. I'd be shooting in the dark trying to figure it out.
if it didn't work immediately I'd be lost.

Make distclean will not touch configure, because configure generates makefiles.

https://www.gnu.org/software/automake/manual/html_node/Standard-Targets.html

Quote
make clean
Erase from the build tree the files built by make all.

make distclean
Additionally erase anything ./configure created.

Generating configure is one level of abstraction higher.

PS: I think the reason why editing configure gave you false impression that this is the right thing to do is because configure.ac you inherited from another fork uses AM_MAINTAINER_MODE. Which disables such checks.

https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html

Quote
Several years ago François Pinard pointed out several arguments against this AM_MAINTAINER_MODE macro. Most of them relate to insecurity. By removing dependencies you get non-dependable builds: changes to sources files can have no effect on generated files and this can be very confusing when unnoticed. He adds that security shouldn’t be reserved to maintainers (what --enable-maintainer-mode suggests), on the contrary. If one user has to modify a Makefile.am, then either Makefile.in should be updated or a warning should be output (this is what Automake uses missing for) but the last thing you want is that nothing happens and the user doesn’t notice it (this is what happens when rebuild rules are disabled by AM_MAINTAINER_MODE).

Jim Meyering, the inventor of the AM_MAINTAINER_MODE macro was swayed by François’s arguments, and got rid of AM_MAINTAINER_MODE in all of his packages.

emphasis mine.

Counter intuitively, the presence of that macro disables maintainer mode, and if you run ./configure --enable-maintainer-mode, then edit configure.ac (just change the version number from 1.2-dev), then run make, such edit will be detected and autoconf will be used to re-generate configure from its source file (configure.ac), effectively deleting all changes you did to that file because you were running in non-maintainer mode.

It can be frustrating at times when you bring up issues I inherited, know nothing about, and aren't causing me any problems
at the moment. But other than that you know your stuff and I could learn a lot from you, but preferably at a time of my
choosing.

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

Activity: 1484
Merit: 1082


ccminer/cpuminer developer


View Profile WWW
May 31, 2016, 09:17:07 AM
 #670

autoreconf (with -fi on newer systems)

else new algo to add : https://github.com/tpruvot/cpuminer-multi/commit/22dd788c10dfbdb5e493986376d9fe0cf757c24c

BTC: 1FhDPLPpw18X4srecguG3MxJYe4a1JsZnd - My Projects: ccminer - cpuminer-multi - yiimp - Forum threads : ccminer - cpuminer-multi - yiimp
hmage
Member
**
Offline Offline

Activity: 83
Merit: 10


View Profile
May 31, 2016, 01:10:12 PM
 #671

autoreconf (with -fi on newer systems)

else new algo to add : https://github.com/tpruvot/cpuminer-multi/commit/22dd788c10dfbdb5e493986376d9fe0cf757c24c

thanks for the diff
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
May 31, 2016, 01:24:01 PM
 #672

autoreconf (with -fi on newer systems)

else new algo to add : https://github.com/tpruvot/cpuminer-multi/commit/22dd788c10dfbdb5e493986376d9fe0cf757c24c

Thanks, you beat me to it. Got it working last night on Linux. trying to get it working on Win, might be similar
issue to non AES hodl on Win and I have an idea how to fix it, otherwise I would have released x11evo last night.

The implementation took:

1 line added to Makefile.am
3 lines added to miner.h to define algo enum, name and help.
1 line added to algo-gate-api.c to call register function
1 line in x11evo.c to #include algo-gate-api.h
4 lines to define algo register function
1 line changed to fix scanhash parameter list

Total 11 lines. This was a particularly easy implementation because it uses the defaults for everything.

The I added the optimizations and doubled the speed.

Is autoreconf the solution to the issue with configure that was being discussed, how to migrate to a new compiler
or both?

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

Activity: 1484
Merit: 1082


ccminer/cpuminer developer


View Profile WWW
May 31, 2016, 02:52:44 PM
 #673

Code:
[2016-05-31 16:48:25] x11evo block 4752, diff 11.644
[2016-05-31 16:48:33] x11evo block 4753, diff 15.657
[2016-05-31 16:49:19] GPU #0: EVGA GTX 970, 7656.44 kH/s
[2016-05-31 16:49:19] accepted: 1299/1299 (diff 0.106), 14.98 MH/s yes!
[2016-05-31 16:49:21] GPU #1: ASUS GTX 970, 7320.42 kH/s

also made yiimp support ^^ all since 5h this morning


i use autoreconf alone when i add a file in Makefile.am, i rarely use -fi

BTC: 1FhDPLPpw18X4srecguG3MxJYe4a1JsZnd - My Projects: ccminer - cpuminer-multi - yiimp - Forum threads : ccminer - cpuminer-multi - yiimp
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
May 31, 2016, 03:59:43 PM
 #674

Code:
[2016-05-31 16:48:25] x11evo block 4752, diff 11.644
[2016-05-31 16:48:33] x11evo block 4753, diff 15.657
[2016-05-31 16:49:19] GPU #0: EVGA GTX 970, 7656.44 kH/s
[2016-05-31 16:49:19] accepted: 1299/1299 (diff 0.106), 14.98 MH/s yes!
[2016-05-31 16:49:21] GPU #1: ASUS GTX 970, 7320.42 kH/s

also made yiimp support ^^ all since 5h this morning


i use autoreconf alone when i add a file in Makefile.am, i rarely use -fi

Pretty good, that's .85 x11, I get .78 x11 on cpuminer-opt.

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

Activity: 292
Merit: 250


View Profile
May 31, 2016, 06:20:58 PM
 #675

@joblo I'm getting this error while trying to solo-mine hodlcoin.

The launch parameters (below), works with the original hodlminer and hodlminer-wolf versions.

./cpuminer -a hodl -o http://192.168.1.x:xxxx -u xxxx -p xxxx -t 4 --coinbase-addr=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --no-getwork -q


joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
May 31, 2016, 06:42:37 PM
Last edit: May 31, 2016, 07:54:11 PM by joblo
 #676

@joblo I'm getting this error while trying to solo-mine hodlcoin.

The launch parameters (below), works with the original hodlminer and hodlminer-wolf versions.

./cpuminer -a hodl -o http://192.168.1.x:xxxx -u xxxx -p xxxx -t 4 --coinbase-addr=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --no-getwork -q



It looks like you are trying to solo mine the wallet. I have not been able to test this and didn't know if it worked.
Thanks for being my tester. I'll look into it to see what I can do.

Edit: can you provide the output without -q?

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
May 31, 2016, 07:11:38 PM
Last edit: May 31, 2016, 09:13:45 PM by joblo
 #677

Cpuminer-opt v3.3.1 released with support for new algo x11evo (Revolver coin).
The algo has been optimized +109% for AES_NI and 42% for SSE2.

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

There is a small change in build procedure, a new option to configure not documented in README.md
or supported in build,sh.

Code:
./autogen.sh
./configure CFLAGS="-O3 -march=native" CXXFLAGS="$CFLAGS -std=gnu++11" --with-curl
make

Full Windows support is provided except for hodl algo on CPUs without AES_NI. See README.md
for instructions to install mingw_w64 and msys for compiling on Windows. Compiling with Visual
Studio is not supported and no precompiled Windows binaries are provided.

Edit: Cryptomining Blog has built Windows binaries for v3.3. Will give it a try.

http://cryptomining-blog.com/7900-windows-binaries-for-the-cpuminer-opt-3-3-cpu-miner/

Edit2: The CMB package comes with a bunch of DLLs needed to run so it should work for most users.
It runs fine on my i7-4790K Windows 8.1.

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
May 31, 2016, 08:56:44 PM
 #678

I have observed for several releases that on occasion cpuminer-opt fails to start up properly
mining hodl and produces only low difficulty shares. Also when mining there is the occasional
low difficulty share at a rate of 1 or 2%. This only seems to occur on certain systems.

For example it occurs on my i7-6700K Linux, but not on my i7-4790K windows or i5-2400 linux.

Cryptomining blog has also noted this problem.

If you get low difficulty shares on startup when mining hodl hit Ctrl-C and try again. I would also
appreciate if users could report whether they have this problem and which CPU and OS they use.


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

Activity: 311
Merit: 10


View Profile
May 31, 2016, 09:57:26 PM
 #679

Having the same issue @ i5-6200U @ 2.4Ghz on Windows 10
scryptr
Legendary
*
Offline Offline

Activity: 1797
Merit: 1028



View Profile WWW
May 31, 2016, 10:26:28 PM
 #680

CRYPTOMINING-BLOG ARTICLE--

Congratulations!  Your software was featured on the blog!  I tried it, and found that it does at least 100% better than CPU-Multi on Yescript!  I do see that Yescript software algo is not yet optimized.  I hope that you will find the time to do that bit of code soon.

Running on i7 2600 here, I get about 2kh/s for Yescript.  With CPU-Multi, it was closer to 800H/s.

Thank you!       --scryptr

SCRYPTR'S NOTEBOOK: https://bitcointalk.org/index.php?topic=5035515.msg46035530#msg46035530
GITHUB: "github.com/scryptr"  MERIT is appreciated, also.  Thanks!
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [34] 35 36 37 38 39 40 41 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 ... 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!