How to improve Steem mining performance

in #steem9 years ago

You can get ~10% performance improvements if you recompile fc with libgmp support, using following instruction.

  1. Install libgmp (requires only for compilation) using command: sudo apt-get install libgmp-dev
  2. Make change to fc library described in this commit
  3. Reconfigure and recompile Steem as usual (cmake . & make)
  4. 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

Sort:  

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.

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

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.

Before & After

It's should link statically with libgmp by default.

How about linking libgmp statically?

It’s should link statically with libgmp by default.

Отличный пост, пойду только сначала разберусь как вообще майнить. :)

Went from ~24k to ~26k. :)

Coin Marketplace

STEEM 0.21
TRX 0.24
JST 0.039
BTC 94308.59
ETH 3252.61
USDT 1.00
SBD 3.13