Bitcoin Forum
July 22, 2018, 09:12:50 AM *
News: Latest stable version of Bitcoin Core: 0.16.1  [Torrent]. (New!)
 
   Home   Help Search Donate Login Register  
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 ... 191 »
  Print  
Author Topic: [ANN]: cpuminer-opt v3.8.8.1, open source optimized multi-algo CPU miner  (Read 411541 times)
joblo
Legendary
*
Offline Offline

Activity: 1148
Merit: 1016


View Profile
May 27, 2016, 10:31:43 PM
 #661

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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
1532250770
Hero Member
*
Offline Offline

Posts: 1532250770

View Profile Personal Message (Offline)

Ignore
1532250770
Reply with quote  #2

1532250770
Report to moderator
1532250770
Hero Member
*
Offline Offline

Posts: 1532250770

View Profile Personal Message (Offline)

Ignore
1532250770
Reply with quote  #2

1532250770
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1532250770
Hero Member
*
Offline Offline

Posts: 1532250770

View Profile Personal Message (Offline)

Ignore
1532250770
Reply with quote  #2

1532250770
Report to moderator
crysx
Sr. Member
****
Offline Offline

Activity: 336
Merit: 260


--- ChainWorks Industries ---


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

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 .
Wolf0
Legendary
*
Offline Offline

Activity: 1834
Merit: 1002


Miner Developer


View Profile
May 28, 2016, 02:29:23 AM
 #663

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.


You could just remove the C++ stuff from that part, and use a table-based AES implementation for non-AES-NI CPUs.

Code:
Donations: BTC: 1WoLFdwcfNEg64fTYsX1P25KUzzSjtEZC -- XMR: 45SLUTzk7UXYHmzJ7bFN6FPfzTusdUVAZjPRgmEDw7G3SeimWM2kCdnDQXwDBYGUWaBtZNgjYtEYA22aMQT4t8KfU3vHLHG
joblo
Legendary
*
Offline Offline

Activity: 1148
Merit: 1016


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


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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
Wolf0
Legendary
*
Offline Offline

Activity: 1834
Merit: 1002


Miner Developer


View Profile
May 28, 2016, 04:57:00 AM
 #665


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.

Code:
Donations: BTC: 1WoLFdwcfNEg64fTYsX1P25KUzzSjtEZC -- XMR: 45SLUTzk7UXYHmzJ7bFN6FPfzTusdUVAZjPRgmEDw7G3SeimWM2kCdnDQXwDBYGUWaBtZNgjYtEYA22aMQT4t8KfU3vHLHG
Masha Sha
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


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


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
Epsylon3
Legendary
*
Offline Offline

Activity: 1386
Merit: 1075


ccminer/cpuminer developer


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

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: 336
Merit: 260


--- ChainWorks Industries ---


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

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
Legendary
*
Offline Offline

Activity: 1148
Merit: 1016


View Profile
May 28, 2016, 08:30:23 PM
 #669


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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
joblo
Legendary
*
Offline Offline

Activity: 1148
Merit: 1016


View Profile
May 29, 2016, 06:24:31 AM
 #670

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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
joblo
Legendary
*
Offline Offline

Activity: 1148
Merit: 1016


View Profile
May 29, 2016, 06:38:57 PM
 #671

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.



cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
ctgiant
Sr. Member
****
Offline Offline

Activity: 298
Merit: 250


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

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
Legendary
*
Offline Offline

Activity: 1148
Merit: 1016


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

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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
joblo
Legendary
*
Offline Offline

Activity: 1148
Merit: 1016


View Profile
May 29, 2016, 11:36:23 PM
 #674

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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
hmage
Member
**
Offline Offline

Activity: 83
Merit: 10


View Profile
May 30, 2016, 05:50:26 PM
 #675

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
 #676

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
joblo
Legendary
*
Offline Offline

Activity: 1148
Merit: 1016


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

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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
pallas
Legendary
*
Offline Offline

Activity: 1722
Merit: 1083


Black Belt Developer


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

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
 #679

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
Legendary
*
Offline Offline

Activity: 1148
Merit: 1016


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

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.

cpuminer-opt developer, https://bitcointalk.org/index.php?topic=1326803.0
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
ETH: 0x72122edabcae9d3f57eab0729305a425f6fef6d0
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 ... 191 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!