ctgiant
|
 |
May 27, 2016, 05:14:55 AM Last edit: May 27, 2016, 05:34:57 AM by ctgiant |
|
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/1aa77613bc835d0693eef29084d888fa920002f0I 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
|
|
|
|
|
|
|
|
|
The forum was founded in 2009 by Satoshi and Sirius. It replaced a
SourceForge forum.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
|
arransiv
|
 |
May 27, 2016, 06:41:01 AM |
|
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
Activity: 1470
Merit: 1114
|
 |
May 27, 2016, 08:38:00 PM |
|
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.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
 |
May 27, 2016, 09:58:59 PM |
|
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.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
 |
May 27, 2016, 10:11:08 PM |
|
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
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
 |
May 27, 2016, 10:19:48 PM |
|
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.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
 |
May 27, 2016, 10:31:43 PM |
|
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.
|
|
|
|
crysx
|
 |
May 28, 2016, 01:26:36 AM |
|
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
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
 |
May 28, 2016, 04:13:11 AM |
|
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.
|
|
|
|
Masha Sha
|
 |
May 28, 2016, 04:59:10 AM |
|
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 
|
/sarc /snowflakeshield /iammorevirtuousthanyou /2692 /pixelsonscreeen /fuckthemusep2p /p2p=love
|
|
|
Epsylon3
Legendary
Offline
Activity: 1484
Merit: 1082
ccminer/cpuminer developer
|
 |
May 28, 2016, 05:17:53 AM |
|
fedora 24 (release this month) also use GCC 6.1.1 and its a mess  for ccminer at least, even with cuda 8 rc (gcc 5.3 max)
|
|
|
|
crysx
|
 |
May 28, 2016, 07:41:49 AM |
|
fedora 24 (release this month) also use GCC 6.1.1 and its a mess  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
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
 |
May 28, 2016, 08:30:23 PM Last edit: May 29, 2016, 04:54:32 AM by joblo |
|
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.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
 |
May 29, 2016, 06:24:31 AM |
|
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.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
 |
May 29, 2016, 06:38:57 PM Last edit: May 29, 2016, 08:25:36 PM by joblo |
|
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.
|
|
|
|
ctgiant
|
 |
May 29, 2016, 07:51:19 PM |
|
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!
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
 |
May 29, 2016, 08:29:35 PM |
|
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.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
 |
May 29, 2016, 11:36:23 PM Last edit: May 30, 2016, 12:10:30 AM by joblo |
|
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.
|
|
|
|
hmage
Member

Offline
Activity: 83
Merit: 10
|
 |
May 30, 2016, 05:50:26 PM |
|
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
Activity: 83
Merit: 10
|
 |
May 30, 2016, 05:54:39 PM |
|
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
|
|
|
|
|