Skip to content

Releases: Chia-Network/chiapos

1.0.5

28 Oct 18:20
501aa1f
Compare
Choose a tag to compare

Plotters release support

1.0.5b0

15 Sep 14:49
Compare
Choose a tag to compare
1.0.5b0 Pre-release
Pre-release

Pre release that prints Progress update for the plotter.

1.0.4

21 Jul 16:24
32c7afa
Compare
Choose a tag to compare

Added

  • M1 builds
  • Option to revert to sequential read

Changed

  • Updated proof of space document. Thanks to kernel1983!
  • Updated CMakeLists.txt to use local pybind11 on FreeBSD. Thanks to risner!

Fixed

  • Command line typos. Thanks to xorinox!
  • Overflow in progress report. Thanks to mgraczyk!

1.0.3

28 May 02:40
e5830b1
Compare
Choose a tag to compare

Added

  • Add parallel reads to GetFullProof. Thanks to marcoabreu!
  • Print Target/Final Directory early in the logs refs and log process ID. Thanks to grayfallstown!

Changed

  • Using Gulrak 1.5.6
  • Optimize code in phase1.hpp. Thanks to 683280!
  • Migrating to flags instead of booleans parameters for show_progress and nobitfield. Thanks to jespino and mrhacky!

Fixed

  • reset write pointer on 0 write. Thanks to tinodj!

1.0.2

12 May 04:16
632c9d7
Compare
Choose a tag to compare

Added

  • Reopen files on read or write failure. Thanks to mreid-moz!
  • Prevent chiapos prover crashing for bad plots.

Changed

  • Use system includes for open and write when ENABLE_LOGGING is on.
  • Removed some redundant code logic. Thanks to BinacsLee!

Fixed

  • Added missing space in logging. Thanks to fredericosilva!

1.0.1

02 Apr 22:13
Compare
Choose a tag to compare

Added

  • We now measure time to copy from -2 to -d with thank for the PR to @L3Sota.
  • We now retry FileDisk Open for should-be-existing files. We know of at least on k32 this could have saved. Except for the first construction, FileDisk instances are only reading or writing files that should have already been created. If the file has magically disappeared, the user probably moved it elsewhere to free disk space, and will likely move it back (or quit plotting manually if they can't). This change copies the "wait 5 minutes and retry" behavior of read, write, copy, and rename failures in FileDisk and DiskPlotter to FileDisk's Open member. Thanks for the PR go to @L3Sota.

Changed

  • Efficient plotting of k=32 with 2 threads is now possible with buffer size of 3389 MiB in bitfield mode by shrinking entry sizes to reduce memory and IO usage.
  • We now use compiler intrinsics for byte swapping, instead of platform specific functions/macros for easier cross platform support. This was inspired by a PR from @timkuijsten for BSD.

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.