Bitcoin Forum
March 19, 2024, 10:43:40 AM *
News: Latest Bitcoin Core release: 26.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 ... 197 »
  Print  
Author Topic: [LOCKED] cpuminer-opt v3.12.3, open source optimized multi-algo CPU miner  (Read 443933 times)
ctgiant
Sr. Member
****
Offline Offline

Activity: 298
Merit: 250


View Profile WWW
May 27, 2016, 05:14:55 AM
Last edit: May 27, 2016, 05:34:57 AM by ctgiant
 #641

Why not publish the compiled version?

If you mean Windows it's because it won't compile in Windows. If you mean Linux you get
better performance compiling yourself.

What algo are you working on now?

None at the moment, hmq1725 was last adddition and lyra2v2 the last optimization.

I got your miner working on windows..had to remove the hodl algo and make some code changes, but it is working on my sandybridge cpu...I've only tested the hmq1725 algo so I am not sure if I broke anything while getting it to compile, but it is working well.  In order to get it to work for both windows and linux I would need clean up my changes a bit.  I also couldn't get it compiled statically, so it needs to be run with the dll's in tow.

I just thought you might be interested to know that it can compile on windows.  If you want to discuss let me know and I'll get back to you.

That's great news, yes please discuss, I have many questions.

If HMW1725 works then many other algos such as x11, quark etc will work.
Hodl is a special case and so are a few other unique algos but I think I'll be able to work it out.
Can't wait to see the source.

I only made small changes other than not using hodl.  I set up a github so that you could see what the changes were.  Here is the commit to my repo with the changes detailed: https://github.com/ctgiant/cpuminer-opt/commit/1aa77613bc835d0693eef29084d888fa920002f0

I should also note, just so you know, it was built with mingw-w64-x86_64.

mingw, even better, no messing around with vstudio. Thanks.

No problem...if anyone wants to test it I posted the executable and DLL's here: https://github.com/ctgiant/cpuminer-opt/releases/download/v3.2.5/cpuminer-opt.zip

MiningAlts Block Explorers and Windows/Mac Wallet Building Services - http://miningalts.com
1710845020
Hero Member
*
Offline Offline

Posts: 1710845020

View Profile Personal Message (Offline)

Ignore
1710845020
Reply with quote  #2

1710845020
Report to moderator
"If you don't want people to know you're a scumbag then don't be a scumbag." -- margaritahuyan
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
arransiv
Sr. Member
****
Offline Offline

Activity: 420
Merit: 250


View Profile
May 27, 2016, 06:41:01 AM
 #642

I will be mining with this miner soon. I will try different algos and different coins and post my feedback here. I can't throw big hash.
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
May 27, 2016, 08:38:00 PM
 #643

Your HOdl is broke - on linux, and probably on every platform. You put a WHOLE lot of wasteful C++ garbage in, butchering my HOdl code - also breaking the compile.

What version? That wastefull c++ code is to support non AES_NI.

I'm currently using 3.2.3 and I made no changes to hodl in 3.2.4 or 3.2.5.

Just compiled and ran 3.2.5, no porblem.

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 27, 2016, 09:58:59 PM
 #644

Your HOdl is broke - on linux, and probably on every platform. You put a WHOLE lot of wasteful C++ garbage in, butchering my HOdl code - also breaking the compile.

What version? That wastefull c++ code is to support non AES_NI.

I'm currently using 3.2.3 and I made no changes to hodl in 3.2.4 or 3.2.5.

Just compiled and ran 3.2.5, no porblem.

I tried the version linked in the OP - and you know, you can do a non-AES-NI version really simply with a lookup table... or a few, for speed.

I'l download it and give it a try.

Edit: downloaded, compiled and runs ok on hodl.

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 27, 2016, 10:11:08 PM
 #645

Your HOdl is broke - on linux, and probably on every platform. You put a WHOLE lot of wasteful C++ garbage in, butchering my HOdl code - also breaking the compile.

What version? That wastefull c++ code is to support non AES_NI.

I'm currently using 3.2.3 and I made no changes to hodl in 3.2.4 or 3.2.5.

Just compiled and ran 3.2.5, no porblem.

I tried the version linked in the OP - and you know, you can do a non-AES-NI version really simply with a lookup table... or a few, for speed.

I'l download it and give it a try.

Edit: downloaded, compiled and runs ok on hodl.

GCC/G++ version 6.1.1?

gcc (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.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
May 27, 2016, 10:19:48 PM
 #646

Your HOdl is broke - on linux, and probably on every platform. You put a WHOLE lot of wasteful C++ garbage in, butchering my HOdl code - also breaking the compile.

What version? That wastefull c++ code is to support non AES_NI.

I'm currently using 3.2.3 and I made no changes to hodl in 3.2.4 or 3.2.5.

Just compiled and ran 3.2.5, no porblem.

I tried the version linked in the OP - and you know, you can do a non-AES-NI version really simply with a lookup table... or a few, for speed.

I'l download it and give it a try.

Edit: downloaded, compiled and runs ok on hodl.

GCC/G++ version 6.1.1?

gcc (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4


Oh lord that's old. Probably why.

The new compoiler should be backward compatible, or have a compatibility switch. If not it's pretty inconsiderate
of them to break existing code.

There are a lot of implicit function declarations in my code, did you set the option to allow them? I'm still
undecided on whether to leave them ro make it easier to add new algos, or require every algo's registration
function be defined in algo-gate-api.h.

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 27, 2016, 10:31:43 PM
 #647

Your HOdl is broke - on linux, and probably on every platform. You put a WHOLE lot of wasteful C++ garbage in, butchering my HOdl code - also breaking the compile.

What version? That wastefull c++ code is to support non AES_NI.

I'm currently using 3.2.3 and I made no changes to hodl in 3.2.4 or 3.2.5.

Just compiled and ran 3.2.5, no porblem.

I tried the version linked in the OP - and you know, you can do a non-AES-NI version really simply with a lookup table... or a few, for speed.

I'l download it and give it a try.

Edit: downloaded, compiled and runs ok on hodl.

GCC/G++ version 6.1.1?

gcc (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4


Oh lord that's old. Probably why.

The new compoiler should be backward compatible, or have a compatibility switch. If not it's pretty inconsiderate
of them to break existing code.

There are a lot of implicit function declarations in my code, did you set the option to allow them? I'm still
undecided on whether to leave them ro make it easier to add new algos, or require every algo's registration
function be defined in algo-gate-api.h.

It actually dies in C++ headers somewhere. I was going to fix it, but then I looked at what was causing it and realized that all that inefficient C++ wasn't actually needed at all, so pointed it out.

So the problem is not in your code but in the non AES_NI version. Is the error easy to fix, I'll do it if you send me the info.

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

Activity: 364
Merit: 260


--- ChainWorks Industries ---


View Profile WWW
May 28, 2016, 01:26:36 AM
 #648

tanx for that joblo ...

i got a little confused earlier - but will pm you when i get the chance on monday ...

at least now i have the thread on the list again ...

#crysx

ChainWorks Industries . grn - Ga2TFVPW3y2vd9vMdqLWfid9hf8RPSQV19 . exchange - https://bleutrade.com/exchange/GRN/BTC/ . email - crysx@gnxs.com .
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
May 28, 2016, 04:13:11 AM
 #649


GCC/G++ version 6.1.1?

gcc (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4

What Linux version did you use? When I have the time I'll build a VM to reproduce the problem.

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

Activity: 560
Merit: 252


View Profile
May 28, 2016, 04:59:10 AM
 #650


GCC/G++ version 6.1.1?

gcc (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4

What Linux version did you use? When I have the time I'll build a VM to reproduce the problem.

I run Arch.

If I needed one endorsement of a distro... It would be this one! Are you satoshi Huh Roll Eyes

/sarc /snowflakeshield /iammorevirtuousthanyou /2692 /pixelsonscreeen /fuckthemusep2p /p2p=love
Epsylon3
Legendary
*
Offline Offline

Activity: 1484
Merit: 1082


ccminer/cpuminer developer


View Profile WWW
May 28, 2016, 05:17:53 AM
 #651

fedora 24 (release this month) also use GCC 6.1.1 and its a mess Wink for ccminer at least, even with cuda 8 rc (gcc 5.3 max)

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

Activity: 364
Merit: 260


--- ChainWorks Industries ---


View Profile WWW
May 28, 2016, 07:41:49 AM
 #652

fedora 24 (release this month) also use GCC 6.1.1 and its a mess Wink for ccminer at least, even with cuda 8 rc (gcc 5.3 max)

which is why the miners of thefarm will remain fedora 23 x64 - until it stabilizes ...

#crysx

ChainWorks Industries . grn - Ga2TFVPW3y2vd9vMdqLWfid9hf8RPSQV19 . exchange - https://bleutrade.com/exchange/GRN/BTC/ . email - crysx@gnxs.com .
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
May 28, 2016, 08:30:23 PM
Last edit: May 29, 2016, 04:54:32 AM by joblo
 #653


I only made small changes other than not using hodl.  I set up a github so that you could see what the changes were.  Here is the commit to my repo with the changes detailed: https://github.com/ctgiant/cpuminer-opt/commit/1aa77613bc835d0693eef29084d888fa920002f0

I should also note, just so you know, it was built with mingw-w64-x86_64.

I'm installing winbuilds now, will report on my results.

Edit; I've looked over your comit and I have a couple of questions. Why no #endif?
Most of the changes are related to the use of asm by changing it to __asm__ for windows.
But in algo/groestl/sse2/grso-asm.c you made the change unconditional. I also find it
peculiar that some of the code with the asm syntax previously compiled on Windows.
Why is this change necessary?

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

Edit3: Nevermind, I've got something better going with my own version, only have to disable hold for non AES_NI.

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 29, 2016, 06:24:31 AM
 #654

I'm making good progress with Windows. I've got a VM running Win8.1 with msys and mingw-w64 installed.
cpuminer-opt v3.2.5 compiled with only a few minor changes. It is currently mining hodl with AES_NI.

Non AES_NI hodl code does not compile in Windows. A quick solution is not apparent so I will likely release
with non AES_NI hodl disabled.

A small change is required to makefile.am to remove linker references to boost. A workaround I am considering
is a seperate build.sh file and a different manual build procedure for Windows. I'm getting a sense of deja-vu, there
was a discussion about boost earlier in this thread I'll have to revisit.

The miner runs directly from the msys shell but it does not display newlines so all output is on one long contnuous
line. I don't know if it's something in the code or a problem with msys. It does not run at this time from
a windows shell due to missing packages including C++ Redistributable 2008 and openssl.

Tomorrow I will try it on a physical machine and work out what extra packages I need to get it working from the Windows
shell and document the process.

The test matrix just grew another dimension but I hope to get a nearly fully functional multi platform release in a couple
of days. I will make no attempt to distribute binaries at this time.

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 29, 2016, 06:38:57 PM
Last edit: May 29, 2016, 08:25:36 PM by joblo
 #655

I'm making good progress with Windows. I've got a VM running Win8.1 with msys and mingw-w64 installed.
cpuminer-opt v3.2.5 compiled with only a few minor changes. It is currently mining hodl with AES_NI.

Non AES_NI hodl code does not compile in Windows. A quick solution is not apparent so I will likely release
with non AES_NI hodl disabled.

A small change is required to makefile.am to remove linker references to boost. A workaround I am considering
is a seperate build.sh file and a different manual build procedure for Windows. I'm getting a sense of deja-vu, there
was a discussion about boost earlier in this thread I'll have to revisit.

The miner runs directly from the msys shell but it does not display newlines so all output is on one long contnuous
line. I don't know if it's something in the code or a problem with msys. It does not run at this time from
a windows shell due to missing packages including C++ Redistributable 2008 and openssl.

Tomorrow I will try it on a physical machine and work out what extra packages I need to get it working from the Windows
shell and document the process.

The test matrix just grew another dimension but I hope to get a nearly fully functional multi platform release in a couple
of days. I will make no attempt to distribute binaries at this time.

I've made progress but there are still issues.

I found a solution to the makefile issue that does not require a workaround.

I can compile on real HW, however, it requires a small procedure change for windows.
Unfortunately the display issue remains. Not only is the newline missing but the hash units are also missing
from the output. This does not occur in the startup text, only the mining output.

Still working on it.

Edit: The hashrate display is fixed.

I can run cpuminer from a windows command prompt on my i7 but not on my core2. I can run from
an msys shell on both.  I might have done something differently on each system.

It's just about ready for release. I need to ensure nothing broke on Linux then merge the Windows changes
back to the main stream and do a thourough test.



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

Activity: 298
Merit: 250


View Profile WWW
May 29, 2016, 07:51:19 PM
 #656

I'm installing winbuilds now, will report on my results.

Edit; I've looked over your comit and I have a couple of questions. Why no #endif?
Most of the changes are related to the use of asm by changing it to __asm__ for windows.
But in algo/groestl/sse2/grso-asm.c you made the change unconditional. I also find it
peculiar that some of the code with the asm syntax previously compiled on Windows.
Why is this change necessary?

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

Edit3: Nevermind, I've got something better going with my own version, only have to disable hold for non AES_NI.


Regarding the #endif.  That was a mistake.  I compiled without any conditional statements but when putting it up on github I added them and overlooked adding the #endif to the statements.  Same thing with grso-asm.c, I just missed adding the statements all together.  These issues have now been dealt with on github. 

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

I've made progress but there are still issues.

I found a solution to the makefile issue that does not require a workaround.

I can compile on real HW, however, it requires a small procedure change for windows.
Unfortunately the display issue remains. Not only is the newline missing but the hash units are also missing
from the output. This does not occur in the startup text, only the mining output.

Still working on it.

Good luck on getting it working.  I look forward to seeing what you can do with it!

MiningAlts Block Explorers and Windows/Mac Wallet Building Services - http://miningalts.com
joblo (OP)
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
May 29, 2016, 08:29:35 PM
 #657

I'm installing winbuilds now, will report on my results.

Edit; I've looked over your comit and I have a couple of questions. Why no #endif?
Most of the changes are related to the use of asm by changing it to __asm__ for windows.
But in algo/groestl/sse2/grso-asm.c you made the change unconditional. I also find it
peculiar that some of the code with the asm syntax previously compiled on Windows.
Why is this change necessary?

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

Edit3: Nevermind, I've got something better going with my own version, only have to disable hold for non AES_NI.


Regarding the #endif.  That was a mistake.  I compiled without any conditional statements but when putting it up on github I added them and overlooked adding the #endif to the statements.  Same thing with grso-asm.c, I just missed adding the statements all together.  These issues have now been dealt with on github. 

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

I've made progress but there are still issues.

I found a solution to the makefile issue that does not require a workaround.

I can compile on real HW, however, it requires a small procedure change for windows.
Unfortunately the display issue remains. Not only is the newline missing but the hash units are also missing
from the output. This does not occur in the startup text, only the mining output.

Still working on it.

Good luck on getting it working.  I look forward to seeing what you can do with it!

Thanks. Your changes were still useful. I used the #if defined(_WIN64)... and added windows.h as you did.
I only checked for _WIN64 and __WINDOWS__. I don't care about _WIN32 and don't know what the other
one is.

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 29, 2016, 11:36:23 PM
Last edit: May 30, 2016, 12:10:30 AM by joblo
 #658

cpuminer-opt now supports Windows. Lunux works as usual. The same source tarball is
used for both.

cpuminer-opt v3.3 is released with support for Windows using mingw_w64 and msys.
See README.md for build instructions for Windows including how to install msys and mingw_w64.

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

- Windows support added for all algos.
- hodl algo for CPUs without AES_NI is not supported on Windows in this release.
- New build instructions for Windows requires msys and mingw_W64,
  see README.md for details.
- No prebuilt binaries are available, you must compile yourself.
- Cross compiling is not supported, you must compile on the system you mine with.

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, 05:50:26 PM
 #659

I don't care about _WIN32 and don't know what the other one is.

Careful with that, 64-bit windows can define WIN32 but not WIN64. In windows, "32" sometimes has nothing to do with being 32-bit. Their system folder is still called "system32" even for purely 64-bit code.
hmage
Member
**
Offline Offline

Activity: 83
Merit: 10


View Profile
May 30, 2016, 05:54:39 PM
 #660

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
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 ... 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!