You can get ~10% performance improvements if you recompile fc with libgmp support, using following instruction.
- Install libgmp (requires only for compilation) using command:
sudo apt-get install libgmp-dev
- Make change to fc library described in this commit
- Reconfigure and recompile Steem as usual (cmake . & make)
- Enjoy!
Please post here how much performance boost you get.
Feel free to share the link to this page. At this page I will publish updates and future optimizations if any.
If you found this information useful, any donations will be greatly appreciated. My Steem and BitShares account is testz
PS: For some non-modern systems you can get additional performance improvements by using compiler optimization options described in this commit
Tested with an AWS 36core VPS. hps 116k -> 119k.
AWS 36 core VPS with MPIR , hps 125k
... sudo apt-get remove libgmp-dev wget -c http://mpir.org/mpir-2.7.2.tar.bz2 tar xjf mpir-2.7.2.tar.bz2 cd mpir ./configure --enable-gmpcompat make sudo make install cd .. cd steem cmake ...
By the way, an earlier version of @testz's patch will link libgmp dynamically, don't know if it's fixed.
thanks
Here is my quick and dirty patch to link libgmp statically (it's not perfect, but just works):
cd steem cd libraries/fc git checkout master git pull git remote add abit https://github.com/abitmore/fc.git git fetch abit git merge -m "merge abit/libgmp-static" abit/libgmp-static cd ../.. cmake ...
When building with MPIR are you making tweaks to support it to the Steem source or build commands? Or should it pick it up automatically and work?
EDIT
Can''t reply to your comment, but you say "build commands" are used to tweak Steem build yet your instructions just say"cd steem
cmake ..."
Thats not any change to the source/build!
Looks like some misunderstandings.
By saying "tweaks to build commands", I mean we did some changes to the cmake.xxx config files, so we'll build with libgmp (the steps are listed somewhere below this comment).
Then we remove the libgmp provided by
libgmp-dev
package, and build & install our own libgmp from MPIR source. So it will be picked up automatically when building the final binaries.Any further questions please let me know.
Build commands. Details described above.
Building with MPIR (thank you for all your help with that by the way) on an i5-2500K Sandy Bridge CPU performance is about the same as when using the libgmp-dev library. It's probably better with newer CPUs that have more specialty instruction sets. Someone commented in the slack it could be AVX2.
Anyone know if anything on this page is still relevant with build 12.x? Specifically on the MPIR support, the above doesnt suggest any changes are needed to steem source to avail of MPIR.. ? I tried it and it made no difference (Haswell CPU).
I just built every new release with MPIR, didn't check if there are still performance improvement though.
Only just?
Hi, abit..
I want to know how to mine Steem.
Do you know that or posts?
I plan to use AWS.. Thanks..
I got an 8% increase : From 13.6Khps to 14.7 ;-) thx.
It's should link statically with libgmp by default.
How about linking libgmp statically?
It’s should link statically with libgmp by default.
Отличный пост, пойду только сначала разберусь как вообще майнить. :)
I saw an 8.5-9% increase in hps. Thanks for sharing!
Went from ~24k to ~26k. :)