JayDDee / cpuminer-opt

Optimized multi algo CPU miner
Other
773 stars 545 forks source link

INSTALL_WINDOWS confusion #258

Closed FlatEarthDave closed 4 years ago

FlatEarthDave commented 4 years ago

could you please help . Should I or should I not create "~/usr/lib" and "make install"? Am I just missing something here?

"2. Create a local library directory for packages to be compiled in the next step. Suggested location is $HOME/usr/lib/"

or

"Run the following commands or follow the supplied instructions. Do not run "make install" unless you are using ~/usr/lib, which isn't recommended."

JayDDee commented 4 years ago

I's your choice. If you know what you're doing and you intend to install to the system dir then use /usr/lib and do make install as per instructions for the package. Otherwise use a user dir and don't do the "make install" step.

If you're unsure about anything stick with the recoommendation.

Look up "make install" for more details on what it does.

JayDDee commented 4 years ago

~/usr/lib is the same as $HOME/usr/lib, it is a local version of the system /usr/lib to avoid requiring root, and avoid affecting the system. If you create a dedicated user for mingw then it also avoids affecting other users. Everything is self contained and all of it can be uninstalled by deleting the user dir.

If you want more help you need to provide more info. What package is failing? What step? Post errors.

JayDDee commented 4 years ago

Are you serious? I'm not going to debug your process. I have no idea what you're doing, it's so abstracted it's unreadable.

Follow the documented process here...

https://github.com/JayDDee/cpuminer-opt/wiki/Compiling-from-source

including all the defaults and recommendations. Don't install alternative versions of anything, stick with the same version as the distro.

I'll help you get it compiled using the supported procedure, and improve the procedure if there are errors or clarifications. But that's all. Once you go off script you're on your own.

JayDDee commented 4 years ago

If this is all for znver2 you're probably wasting your time, the znver1 binary is just fine. If you want GCC 9 use Ubuntu 19.10 or wait a month for 20.04.

My only interest at this point is ensuring the documented procedure is correct and clear. If you won't follow it I'm not interested.

YetAnotherRussian commented 4 years ago

@FlatEarthDave, znver2 gives almost nothing when used for cpuminer-opt. I suggest not to waste your time.

A few newer instructions added (such as fast processor ID and cache line instructions - none of these are the point of interest in cpuminer-opt).

Technically, znver2 informs GCC that zen2 has lower costs of loading and storing SSE registers, lower costs for unaligned loads/unaligned stores, and lower costs of moving XMM, YMM, ZMM. Also, MULSD has a lower cost, and there is a slightly different profile for memcpy/memset.

See https://github.com/gcc-mirror/gcc/blob/master/gcc/config/i386/x86-tune-costs.h for details (also, check the "Key changes from Zen+" section over here - https://en.wikichip.org/wiki/amd/microarchitectures/zen_2).

Absolutely no way to expect high performance boosts (of course, there are boosts for L3 cache-hungry algos like cryptonight family and some lyra2z variants).

Feel free to make a VM with Ubuntu 19.10+ in around 15 minutes to see this for yourself (especially, when there is nothing to pay for).

Give a try using "-Ofast -march=znver1 -mprefer-vector-width=256 -funroll-loops" in your old GCC if you have zen2 CPU.

JayDDee commented 4 years ago

I said I'd help getting it compiled using the documented procedure. Last call.