Skip to content

Releases: Chia-Network/chiapos

1.0.0

30 Mar 04:38
Compare
Choose a tag to compare

Added

  • We now attempt to autodetect and use popcnt instructions, if available, on all platforms. Improves CPU performance of phase 2 by 10% when using bitfield. Check availability of popcnt instruction at runtime with cpuid on x86. Refuse to plot with bitfield if it's not available. Assume presence of optimized popcnt on other architectures (e.g. CNT on aarch64). With this and other changes below, bitfield is now close to the same speed as no bitfield on most machines.
  • Initial changes to support a progress percentage display if enabled on the command line.
  • There is now a docker install version. Thanks @zmeyc.

Changed

  • Increase size of bitfield index by 8x. Indexing every 1024 bits instead of every 8192 bits increases CPU performance of phase 2 about 1.5x.
  • Use all allocated memory for sorting in phase 3 and 4. Previously we were using only a half of allocated memory for sorting in phases 3 and 4 due to a wrong assumption that another sort is taking place at the same time.
  • Changed primary branch from master to main.
  • uint128_t has replaced Bits in phase 2. Improves phase 3 CPU performance by 3%.
  • Use uint64_t instead of Bits when rewriting left entries in phase 1. Improves phase 1 CPU performance by 5%.This should improve phase 1 CPU performance by 5%.
  • The Hellman attacks example now correctly throws. Thanks @xdustinface!
  • The unused pybind11 submodule was removed.
  • cxxopts are now fetched by CMake instead of statically in lib/.
  • gulrak/filesystem was updated to the current release and is now fetched by CMake.

Fixed

  • There was an edge case where harvester could wander off into garbage on certain proof of space challenges causing a crash.
  • CI build was not correctly creating and testing bitfield test plots.

0.9

04 Mar 07:27
Compare
Choose a tag to compare
0.9

Changed

  • We made changes to CMake to support Apple ARM64 compiling.
  • We removed the incorrect MacOS universal wheels.
  • We upgraded calccrypto/uint128_t to the current release.

0.12.44

17 Feb 22:49
Compare
Choose a tag to compare

Changed

  • We made various improvements in error handling to potentially address harvester crashes - especially when moving plots around.

0.12.43

06 Feb 07:10
31f38eb
Compare
Choose a tag to compare

Added

  • We now build both MacOS x86_64 and MacOS universal wheels.

Changed

  • We reverted to stop using build flags -mtune=native. This should speed the plotter up on certain modern CPUs.
  • We enhanced performance with changes to BufferedDisk.

Chia Proof of Space 0.12.41

31 Dec 22:07
Compare
Choose a tag to compare

Fixed

  • When adding bitfield back-sort we broke compatibility with BSD. That is fixed in this release.

0.12.40

13 Dec 23:38
d80edb2
Compare
Choose a tag to compare

Added no bitfield plotting option (-e)

0.12.39

12 Dec 03:40
Compare
Choose a tag to compare

Added

  • We now instrument temp space, time, and memory used building two k=27 on ci for performance tracking and comparison one for each back propagation method.

Changed

  • We added a -e flag to allow you to choose between bitfield back propagation and the original back propagation. This brings performance a little ahead of the Beta 17 plotter release. However bitfield back propagation may perform faster on spinning disk. YMMV.
  • More of the sorts in the bitfield sort use uniform sort for better performance.
  • This version requires slightly more RAM at each k size.

Fixed

  • Previous releases were not deleting temp files as they were no longer needed and therefor temp space needed for a k=32 went from 332 GiB to 499 GiB. This version only needs 332 GiB when using -u 64.
  • Beta 17 style back prop had a buck that could occasionally lead to a segfault. We fixed that when using the -e flag.

0.12.38

04 Dec 18:32
Compare
Choose a tag to compare

Fixed

  • We now close unused file-handles in the temp directory to avoid exceeding rlimit when using the new bitfield backprop and 128 sorting buckets.

0.12.37

03 Dec 19:04
cc88672
Compare
Choose a tag to compare

Fixed

  • Changed scope of match_indexes to make sure they are always reset even if R bucket is empty. This fixes "error 0" retrying in 5 minutes issues in certain edge cases.
  • Windows plotting now correctly reports CPU utilization.

0.12.35

11 Nov 13:20
Compare
Choose a tag to compare

Added

  • F1 generation is now fully parallel for a small speedup.
  • We have bitfield optimized phase 2. There is only about a 1% increase in speed from this change but there is a 12% decrease in writes with a penalty of 3% more reads. More details in PR 120
  • You can now build chiapos with Cmake and MSVC. We know build and test C++ for Windows as well as create and test Windows wheels.

Changed

  • We have moved from using gulrak/filesystem across all platforms to only using it on MacOS. It's required on MacOS as we are still targeting Mojave compatibility. This should resolve Windows path issues.
  • Various pointers and memory management were modernized.

Fixed

  • Starting with recent setuptools fixes, we can no longer pass an empty string to the linker on Windows when building binary wheels. Thanks @jaraco for tracking this down.