PoC-Consortium / engraver

PoCC Burstcoin Reference Plotter
MIT License
63 stars 39 forks source link

Changes to support MacOS, Travis CI, etc. #15

Closed jake-b closed 6 years ago

jake-b commented 6 years ago

A few changes wrapped up in this PR:

  1. Fixed up for MacOS. Main fixes include:
  1. Added a -v verbose option to show some info about stack size and fallocate on Mac.

  2. Updated the test.pl to work on MacOS and perform all 3 core tests.

  3. Setup Travis CI to build and run some tests on both Linux and Mac. (If you bring this into the main repo, you'll need to setup Travis CI for the main repo)

  4. Updated README to include the travis badge (again, will need to be updated if brought into the main repo). Added myself to the contributors (feel free to remove me if you feel this isn't a sufficient contribution). Also added -v option to the parameters list.

Enjoy.

jake-b commented 6 years ago

Side note: My initial test.pl script was returning false positives because I'm terrible at Perl. Also discovered that Travis does not support AVX2, so latest commit will skip AVX2 if running under Travis.

jake-b commented 6 years ago

Looking at mjminer more closely, they solve this problem by gendata on the heap, allocated at the thread level and passed to the nonce functions. This is probably a better solution, but would be a larger retrofit.

Also I came across a fork of mjminer that produces optimized plots (https://github.com/k06a/mjminer) Some good ideas there as well. Pretty much everyone's coming to similar solutions on their own.