madmax43v3r / chia-plotter Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Hello, Thanks for this amazing plotter, I tested it on my machine and it works very well (3800 seconds for 1 plot)
I was wondering if you could add an argument so that I can specify a destination drive where the final plot will be copied to.
This would make it easier for me to try and automate it on my plotting machine.
yeah that's a good idea, also I should allocate the buffers on heap, not on the stack.
Originally posted by @madMAx43v3r in #2 (comment)
Hello,
I compiled the source using msys2/mingw64 on Windows 10.
The execution stops just after P1 table is created with error: segmentation fault.
Data is successfully created in temp drive.
Below some details about the execution with gdb.
Working Directory: f:/
Working Directory 2: f:/
Plot Name: plot-k32-2021-06-08-14-02-53a515aecd736d6f9ab0a2d3f7a12eb62a907d5416ceab1b87bfe5ab419d84cb
[New Thread 15752.0x4db8]
[New Thread 15752.0x3d00]
[New Thread 15752.0x2edc]
[New Thread 15752.0x36b0]
[New Thread 15752.0x26dc]
[New Thread 15752.0x380]
[New Thread 15752.0x6ec]
[New Thread 15752.0x3d34]
[New Thread 15752.0x384c]
[New Thread 15752.0x19a4]
[New Thread 15752.0x4448]
[New Thread 15752.0x3c8]
[P1] Table 1 took 67.874 sec
[Thread 15752.0x4e6c exited with code 0]
[Thread 15752.0x2cf4 exited with code 0]
[Thread 15752.0x3fa4 exited with code 0]
[Thread 15752.0x2edc exited with code 0]
[Thread 15752.0x26dc exited with code 0]
[Thread 15752.0x6ec exited with code 0]
[Thread 15752.0x3d34 exited with code 0]
[Thread 15752.0x384c exited with code 0]
[Thread 15752.0x19a4 exited with code 0]
[Thread 15752.0x4448 exited with code 0]
[Thread 15752.0x3c8 exited with code 0]
[Thread 15752.0x4db8 exited with code 0]
[Thread 15752.0x36b0 exited with code 0]
[Thread 15752.0x380 exited with code 0]
[Thread 15752.0x3d00 exited with code 0]
[New Thread 15752.0x3b2c]
[New Thread 15752.0x27a4]
[New Thread 15752.0x44e4]
[New Thread 15752.0x166c]
[New Thread 15752.0x271c]
[New Thread 15752.0x30b4]
[New Thread 15752.0x4b4]
[New Thread 15752.0x3ca4]
[New Thread 15752.0xe30]
[New Thread 15752.0xe9c]
[New Thread 15752.0x3568]
[New Thread 15752.0x4554]
[New Thread 15752.0x3ab0]
[New Thread 15752.0x2968]
[New Thread 15752.0x246c]
[New Thread 15752.0x1b88]
[New Thread 15752.0x4a0c]
[New Thread 15752.0x2130]
[New Thread 15752.0x1890]
[New Thread 15752.0x3e90]
[New Thread 15752.0x47a8]
[New Thread 15752.0x4e70]
[New Thread 15752.0x3350]
[New Thread 15752.0x3ec8]
[New Thread 15752.0x2b40]
[New Thread 15752.0x3288]
[New Thread 15752.0x4b34]
[New Thread 15752.0xca4]
[New Thread 15752.0x1e18]
[New Thread 15752.0xabc]
Thread 23 received signal SIGSEGV, Segmentation fault.
[Switching to Thread 15752.0x4b4]
0x00007ff75387d080 in blake3_compress_xof_sse41 ()
(gdb)
Due to having some awkward sized drives, I would love it if you could provide K33 and maybe K34 support.
This will help optimize drive space for the people without a pallet of drives.
Can i set the temp folder larger to store more final plot file ?
Would it still possible to arrange the 75% work to 110G ram space if i did this ?
Would be great if we could specify multiple final destination directories/drives and have the plotter skip destinations that become full ;)
Config:
root@fullnode-178:/mnt/plotter/chia-plotter-master/build# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 43 bits physical, 48 bits virtual
CPU(s): 56
On-line CPU(s) list: 0-55
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 28
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 79
Model name: Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
Stepping: 1
CPU MHz: 2399.998
BogoMIPS: 4799.99
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 896 KiB
L1i cache: 896 KiB
L2 cache: 7 MiB
L3 cache: 980 MiB
NUMA node0 CPU(s): 0-27
NUMA node1 CPU(s): 28-55
#temp disk size
/dev/sdb1 215G 1.6G 214G 1% /mnt/temp
#RAM disk size
tmpfs 119G 0 119G 0% /mnt/ram
root@fullnode-178:/mnt/plotter/chia-plotter-master/build# ./chia_plot ** ** /mnt/temp/ /mnt/ram/ 40 7
d[P1] Table 1 took 18.2994 sec
[P1] Table 2 took 113.407 sec, found 4295018656 matches
[P1] Lost 51548 matches due to 32-bit overflow.
[P1] Table 3 took 138.035 sec, found 4294994683 matches
[P1] Lost 27160 matches due to 32-bit overflow.
[P1] Table 4 took 161.754 sec, found 4295049757 matches
[P1] Lost 83006 matches due to 32-bit overflow.
[P1] Table 5 took 152.327 sec, found 4295069366 matches
[P1] Lost 102254 matches due to 32-bit overflow.
[P1] Table 6 took 157.915 sec, found 4295102891 matches
[P1] Lost 135102 matches due to 32-bit overflow.
[P1] Table 7 took 128.309 sec, found 4295063551 matches
Phase 1 took 870.071 sec
[P2] max_table_size = 4295102891
[P2] Table 7 scan took 10.7147 sec
[P2] Table 7 rewrite took 46.0822 sec, dropped 0 entries (0 %)
[P2] Table 6 scan took 26.1113 sec
[P2] Table 6 rewrite took 31.4663 sec, dropped 581375586 entries (13.5358 %)
[P2] Table 5 scan took 25.4418 sec
[P2] Table 5 rewrite took 29.9749 sec, dropped 762020496 entries (17.7418 %)
[P2] Table 4 scan took 25.6755 sec
[P2] Table 4 rewrite took 29.6732 sec, dropped 828927576 entries (19.2996 %)
[P2] Table 3 scan took 28.4565 sec
[P2] Table 3 rewrite took 29.3028 sec, dropped 855090576 entries (19.909 %)
[P2] Table 2 scan took 29.123 sec
terminate called after throwing an instance of 'std::runtime_error'
what(): thread failed with: thread failed with: fwrite() failed
Aborted (core dumped)
What's the fwirite() mean , how can i fix it
I tried to manual staggering plot creation, my system, the 3975WR (32c/ 64t) with 256GB Ram, 6x 980 Pro Raid 0 (even overkill with this plotter), can sustain 3 plots at the same time if I start the new one right after Phase 1, do you think is possible to create something like swar plot manager? so to automate the spawn of a new plot after phase 1? And run it until we decide to stop? Thanks
Hi =)
I'm trying to install the plotter with the make-devel
script, but getting this error:
[ 96%] Building C object _deps/relic-build/src/CMakeFiles/relic_s.dir/low/easy/relic_fb_trc_low.c.o
[ 97%] Linking C static library ../lib/librelic_s.a
[ 97%] Built target relic_s
[ 97%] Linking CXX executable test_phase_2
[ 97%] Built target test_phase_2
[ 98%] Linking CXX executable test_phase_3
/usr/bin/ld: CMakeFiles/test_phase_3.dir/test/test_phase_3.cpp.o: in function `__gnu_cxx::new_allocator<std::__detail::_Hash_node_base*>::allocate(unsigned long, void const*)':
/usr/include/c++/11.1.0/ext/new_allocator.h:110: undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /usr/include/c++/11.1.0/ext/new_allocator.h:110: undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /usr/include/c++/11.1.0/ext/new_allocator.h:110: undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /usr/include/c++/11.1.0/ext/new_allocator.h:110: undefined reference to `std::__throw_bad_array_new_length()'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/test_phase_3.dir/build.make:100: test_phase_3] Error 1
make[1]: *** [CMakeFiles/Makefile2:280: CMakeFiles/test_phase_3.dir/all] Error 2
[ 98%] Linking CXX executable test_phase_1
/usr/bin/ld: CMakeFiles/test_phase_1.dir/test/test_phase_1.cpp.o: in function `__gnu_cxx::new_allocator<std::__detail::_Hash_node_base*>::allocate(unsigned long, void const*)':
/usr/include/c++/11.1.0/ext/new_allocator.h:110: undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /usr/include/c++/11.1.0/ext/new_allocator.h:110: undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /usr/include/c++/11.1.0/ext/new_allocator.h:110: undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: /usr/include/c++/11.1.0/ext/new_allocator.h:110: undefined reference to `std::__throw_bad_array_new_length()'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/test_phase_1.dir/build.make:100: test_phase_1] Error 1
make[1]: *** [CMakeFiles/Makefile2:197: CMakeFiles/test_phase_1.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
I've already downgraded to gcc 10
I'm using Arch Linux
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:5 (add_subdirectory):
The source directory
/home/mining/chia-plotter-master/lib/bls-signatures
does not contain a CMakeLists.txt file.
-- Configuring incomplete, errors occurred!
See also "/home/mining/chia-plotter-master/build/CMakeFiles/CMakeOutput.log".
Is it possible to use this on windows?
I will implement that yes, infinite / bounded loop, plus optional stagger of 2 or 3.
Originally posted by @madMAx43v3r in #40 (comment)
hi, after you merged todays pull requests i can't compile your app anymore:
/usr/bin/ld: CMakeFiles/chia_plot.dir/src/chia_plot.cpp.o: in function std::experimental::filesystem::v1::__cxx11::path::path<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::experimental::filesystem::v1::__cxx11::path>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': /usr/include/c++/7/experimental/bits/fs_path.h:199: undefined reference to
std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
/usr/bin/ld: CMakeFiles/chia_plot.dir/src/chia_plot.cpp.o: in function std::experimental::filesystem::v1::exists(std::experimental::filesystem::v1::__cxx11::path const&)': /usr/include/c++/7/experimental/bits/fs_ops.h:127: undefined reference to
std::experimental::filesystem::v1::status(std::experimental::filesystem::v1::__cxx11::path const&)'
/usr/bin/ld: /usr/include/c++/7/experimental/bits/fs_ops.h:127: undefined reference to `std::experimental::filesystem::v1::status(std::experimental::filesystem::v1::__cxx11::path const&)'
collect2: Fehler: ld gab 1 als Ende-Status zurück
make[2]: *** [CMakeFiles/chia_plot.dir/build.make:89: chia_plot] Error 1
make[1]: *** [CMakeFiles/Makefile2:380: CMakeFiles/chia_plot.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
before you merged the pull requests today it still compiled
/Volumes/null/chia-plotter/include/chia/phase3.hpp:48:24: error: no matching function for call to 'min' const auto count = std::min(L_position - L_offset, L_buffer.size()); ^~~~~~~~ /usr/local/opt/llvm/bin/../include/c++/v1/algorithm:2594:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('unsigned long long' vs. 'unsigned long') min(const _Tp& __a, const _Tp& __b)
correction seems to be:
const auto count = std::min<unsigned long>(L_position - L_offset, L_buffer.size());
LTC, ETH or good 'old BTC? For the unlucky among us without XCH?
Hi,
I got this:
Working Directory: /mnt/temp0
Working Directory 2: /mnt/ramdisk
Plot Name: plot-k32-2021-06-08-08-58-6f7ef6895055748bd36785dc95c0f0ebe2f6c6e7b12d4fccdbdd6b58dffc8d08
terminate called after throwing an instance of 'std::runtime_error'
what(): fopen() failed
Aborted (core dumped)
Can you point me to the right direction?
Thanks!
When executing
cmake -D CMAKE_CXX_FLAGS="-g -O3 -fmax-errors=1" -DBUILD_BLS_PYTHON_BINDINGS=false ..
on Windows 10, I only get results:
PS D:\ProjectFiles\GitClone\chia-plotter\build> cmake -D CMAKE_CXX_FLAGS="-g -O3 -fmax-errors=1" -DBUILD_BLS_PYTHON_BINDINGS=false ..
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.18363.
CMake Warning (dev) at lib/bls-signatures/CMakeLists.txt:11 (set):
implicitly converting 'INTEGER' to 'STRING' type.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at lib/bls-signatures/CMakeLists.txt:12 (set):
implicitly converting 'INTEGER' to 'STRING' type.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at lib/bls-signatures/CMakeLists.txt:13 (set):
implicitly converting 'INTEGER' to 'STRING' type.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Build python bindings: false
-- Build tests: 1
-- Build benchmarks: 1
-- Found libsodium
-- Sodium include dir = C:/ProgramData/Anaconda3/Library/include
GMP_INCLUDES=C:/ProgramData/Anaconda3/Library/mingw-w64/include
-- Found libgmp
CMake Warning (dev) at lib/bls-signatures/CMakeLists.txt:54 (set):
implicitly converting 'INTEGER' to 'STRING' type.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at lib/bls-signatures/CMakeLists.txt:65 (set):
......
-- Available random number generator seeders (default = UDEV):
SEED= Use a zero seed. (horribly insecure!)
SEED=LIBC Use rand()/random() functions. (insecure!)
SEED=RDRND Use Intel RdRand instruction directly.
SEED=UDEV Use non-blocking /dev/urandom. (recommended)
SEED=WCGR Use Windows' CryptGenRandom. (recommended)
-- Configured operating system: WINDOWS
-- Supported MSVC runtime libraries (default = MD):
RUNTIME=MD DLL runtime library (/MD,/MDd).
RUNTIME=MT Static runtime library (/MT,/MTd).
-- Configured GMP: C:/ProgramData/Anaconda3/Library/lib/gmp.lib
-- Compiler flags: -Wall -O3 -funroll-loops -fomit-frame-pointer -pthread
-- Linker flags: -LD:/ProjectFiles/GitClone/chia-plotter/build/_deps/relic-src/src/low/gmp/ -static
-- Configured D:/ProjectFiles/GitClone/chia-plotter/build/_deps/relic-src/include/relic_conf.h.in
SODIUM_FOUND in src/CMakeLists.txt
-- Configuring done
-- Generating done
-- Build files have been written to: D:/ProjectFiles/GitClone/chia-plotter/build
Then when I execute the make -j8 @$, it simply says there is nothing matching the compiling rule.
Would you mind to provide an available compiling script on Windows? Thanks a lot.
can someone make a video on how to run it on windows?
The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:3 (project):
No CMAKE_CXX_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
-- Configuring incomplete, errors occurred!
See also "/chia-plotter/build/CMakeFiles/CMakeOutput.log".
See also "/chia-plotter/build/CMakeFiles/CMakeError.log".
make: *** No targets specified and no makefile found. Stop.
root@yui-virtual-machine:/chia-plotter#
cmake error log:
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
Compiler: CMAKE_CXX_COMPILER-NOTFOUND
Build flags:
Id flags: --target=arm-arm-none-eabi;-mcpu=cortex-m3
The output was:
No such file or directory
Can anyone solved it?
regards!
Just wanted let you know! Nice work!
The server was rather busy at the time too so I guess I can get around 10% better time. Plotted on raid5 with 6 x 800gb enterprise sas ssd's. got nvme too but didn't run on them now.
I'm not sure how to put in the pool key etc yet but I suppose that's coming :)
In testnet its apparently possible to plot for pools now, I'm going to replot at soon as it get released and hopefully with your code instead.
I was able to stack the original plotter and get one every 1h, I think I should be able to stack this 2 maybe 3 times :)
(27ebfcb)
Phase 1 took 2176.96 sec
real 36m17.068s
user 344m11.493s
sys 27m20.482s
Phase 2 took 1610.95 sec
real 26m51.067s
user 105m8.773s
sys 8m52.344s
Phase 3 took 1371.42 sec, wrote 21877156374 entries to final plot
real 22m51.629s
user 137m53.501s
sys 20m29.217s
Phase 4 took 129.688 sec, final plot size is 108835549588 bytes
real 2m9.796s
user 9m27.843s
sys 0m37.823s
Currently running 4x instances at 4T each and started noticing the below, not sure if it is an issue or not though!
[P1] Table 2 took 523.978 sec, found 4294969812 matches
[P1] Lost 2299 matches due to 32-bit overflow.
i tried ./chia_plot pool-key farmer-key /mnt/970evo 4 7 and this is the error I get:
Invalid <tmp_dir2>: 4 (needs trailing '/' or '\')
If I don't add 4 7 it works fine. Do I specify the same directory or put a / in place of tmp_dir2?
Getting some compiling errors, is this info helpful:
-- Configured operating system: MACOSX
-- Configured GMP: /opt/homebrew/lib/libgmp.a
-- Compiler flags: -Wall -O3 -funroll-loops -fomit-frame-pointer -pthread
-- Linker flags: -L/Applications/Chia-arm/maxplotter/chia-plotter/build/_deps/relic-src/src/low/gmp/ -static
-- Configured /Applications/Chia-arm/maxplotter/chia-plotter/build/_deps/relic-src/include/relic_conf.h.in
SODIUM_FOUND in src/CMakeLists.txt
-- Configuring done
-- Generating done
-- Build files have been written to: /Applications/Chia-arm/maxplotter/chia-plotter/build
[ 0%] Building CXX object CMakeFiles/test_disk_sort.dir/test/test_disk_sort.cpp.o
[ 0%] Built target arith_objs
[ 2%] Built target blstmp
[ 4%] Built target blake3
clang: error: unsupported option '-fopenmp'
[ 6%] Built target fse
make[2]: *** [CMakeFiles/test_disk_sort.dir/test/test_disk_sort.cpp.o] Error 1
make[1]: *** [CMakeFiles/test_disk_sort.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Scanning dependencies of target chia_plotter
[ 6%] Building C object CMakeFiles/chia_plotter.dir/lib/chacha8.c.o
[ 7%] Linking C static library libchia_plotter.a
[ 92%] Built target relic_s
[ 92%] Built target chia_plotter
make: *** [all] Error 2
yeah I will remove that dependency again...
Originally posted by @madMAx43v3r in #8 (comment)
[Ubuntu 20.04] Usually it runs ok but once I've got this:
...
[P1] Table 1 took 31.3585 sec
[P1] Table 2 took 238.133 sec, found 4294955647 matches
[P1] Table 3 took 321.463 sec, found 4294890381 matches
[P1] Table 4 took 439.632 sec, found 4294860452 matches
[P1] Table 5 took 354.412 sec, found 4294616104 matches
[P1] Table 6 took 341.178 sec, found 4294218992 matches
[P1] Table 3 took 350.752 sec, found 4294860101 matches
[P1] Table 3 took 350.752 sec, found 4294860101 matches
[P1] Table 3 took 350.752 sec, found 4294860101 matches
[P1] Table 3 took 350.752 sec, found 4294860101 matches
[P1] Table 3 took 350.752 sec, found 4294860101 matches
[P1] Table 7 took 283.603 sec, found 4293436511 matches
Phase 1 took 2009.81 sec
[P2] max_table_size = 4294967296
[P2] Table 7 scan took 30.1556 sec
...
I have an E3-1230 V2 4 core, 4 thread CPU, 8G RAM and 512GB SSD.
My command is ./chia_plot xxxxx xxxxx /mnt/512g/caches/ /mnt/512g/files/ 4 128
The following error occurred, what is wrong?
[P1] Table 1 took 366.715 sec
terminate called after throwing an instance of 'std::runtime_error'
what(): thread failed with: key_shift < 0
caleb@CORUSCANT:~$ sudo ./plot.sh
Number of Threads: 10
Number of Sort Buckets: 2^7 (128)
Pool Public Key: <redacted>
Farmer Public Key: <redacted>
Working Directory: /mnt/x
Working Directory 2: /mnt/x
Plot Name: <redacted>
Expected result: .tmp files are written to /mnt/x
Actual result: .tmp files are written to /mnt
gcc-8.4.1-1.el8.x86_64
libgcc-8.4.1-1.el8.x86_64
gcc-c++-8.4.1-1.el8.x86_64
cmake-filesystem-3.18.2-9.el8.x86_64
cmake-3.18.2-9.el8.x86_64
cmake-data-3.18.2-9.el8.noarch
make-4.2.1-10.el8.x86_64
cmake-rpm-macros-3.18.2-9.el8.noarch
glibc-2.28-151.el8.x86_64
glibc-all-langpacks-2.28-151.el8.x86_64
glibc-devel-2.28-151.el8.x86_64
glibc-headers-2.28-151.el8.x86_64
glibc-common-2.28-151.el8.x86_64
[ 96%] Built target test_disk_sort
[ 96%] Linking CXX executable runbench
[ 96%] Built target runbench
[ 97%] Linking CXX executable test_phase_4
[ 97%] Built target test_phase_4
[ 97%] Linking CXX executable test_phase_2
[ 97%] Built target test_phase_2
[ 98%] Linking CXX executable test_phase_3
[ 98%] Built target test_phase_3
[ 98%] Linking CXX executable test_phase_1
[ 98%] Built target test_phase_1
[ 98%] Linking CXX executable runtest
[ 98%] Built target runtest
make: *** [Makefile:149: all] Error 2
Run Build Command(s):/usr/bin/gmake cmTC_d89bc/fast && /usr/bin/gmake -f CMakeFiles/cmTC_d89bc.dir/build.make CMakeFiles/cmTC_d89bc.dir/build
gmake[1]: Entering directory '/root/chia-plotter/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_d89bc.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -fPIE -o CMakeFiles/cmTC_d89bc.dir/CheckFunctionExists.c.o -c /usr/share/cmake/Modules/CheckFunctionExists.c
Linking C executable cmTC_d89bc
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d89bc.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -rdynamic CMakeFiles/cmTC_d89bc.dir/CheckFunctionExists.c.o -o cmTC_d89bc -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_d89bc.dir/build.make:106: cmTC_d89bc] Error 1
gmake[1]: Leaving directory '/root/chia-plotter/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:140: cmTC_d89bc/fast] Error 2
I have a server which has dual E5-2690 I think it is the one: https://ark.intel.com/content/www/us/en/ark/products/64596/intel-xeon-processor-e5-2690-20m-cache-2-90-ghz-8-00-gt-s-intel-qpi.html
Physical cores: 8x2, threads: 16x2
It has 128GB DDR3 RAM, I created a RAMDisk with ImDisk Toolkit. Allocated 110GB for it. Path is /mnt/r/
Also two 2T M.2 NVME SSD. /mnt/d/ and /mnt/e but I only used one for this test.
I used WSL2 and the result was as below. I didn't even finish it as I think it was slow compare to others so I stopped it. Tried both 16 and 32 threads, not much different it seemed.
Number of Threads: 32
Number of Sort Buckets: 2^7 (128)
Pool Public Key: xxxxxx
Farmer Public Key: xxxxxx
Working Directory: /mnt/d/
Working Directory 2: /mnt/r/
Plot Name: plot-k32-2021-06-08-21-45-5e789c389f87f9e23df0c4a2af0b1e3558d369e55f3e2e162f4e12963c591b46
[P1] Table 1 took 170.16 sec
[P1] Table 2 took 803.987 sec, found 4294975885 matches
[P1] Lost 8503 matches due to 32-bit overflow.
[P1] Table 3 took 945.028 sec, found 4295069307 matches
I compared to my big brother's plotting on his PC, which has CPU 5800x. He dose not even use RAMDisk. However, the plotting speed is still faster than mine. When his PC was plotting at phase 1, its CPU has nearly 100% usage...
Mine did not hit 100% with 32 threads and even 50%. I didn't take the screenshot, might test again and do it tomorrow.
I also got another PC, which has the same problem. Somehow the CPU usage is just not 100%.
Is it normal? Did I miss anything..?
Yes - what problem did you think you might have?
Originally posted by @VertiHydro in #56 (comment)
I thought the total file size is 330GB. Temp folder could not be too large. that's my misunderstood
/Volumes/null/chia-plotter/chia-plotter/include/chia/Thread.h:91:4: error: no matching function for call to 'pthread_setname_np'
pthread_setname_np(pthread_self(), thread_name.c_str());
^~~~~~~~~~~~~~~~~~
/usr/include/pthread.h:500:5: note: candidate function not viable: requires 1 argument, but 2 were provided
int pthread_setname_np(const char*);
^
[ 97%] Building CXX object lib/bls-signatures/src/CMakeFiles/runbench.dir/test-bench.cpp.o
/usr/bin/ar: /usr/lib64/libgmp.so: File format not recognized
make[2]: *** [lib/bls-signatures/src/CMakeFiles/combined_custom.dir/build.make:79: lib/bls-signatures/src/CMakeFiles/combined_custom] Error 1
[ 97%] Built target test_phase_2
make[1]: *** [CMakeFiles/Makefile2:537: lib/bls-signatures/src/CMakeFiles/combined_custom.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Installed Packages
gmp.x86_64 1:6.1.2-10.el8
I looked at chia_plot.cpp for the parameters as ./chia_plot -h or --help did not show any usage.
As far as I know each plot must be bound to a key and the contents of the plots are based on that key.
I don't see a way to set the farmer public key or the pool one tho.
figured it might be helpful to have some info on how this runs on other machines. here's my results so far - I'll add to this as I actually complete plots, for now this is just the results of phase 1 table 1.
machine: i9-10850k (10 cores / 20 threads) @ 5.0ghz, 64GB RAM
os: ubuntu 20.04 via wsl2 on win10
working directory (1 & 2): Samsung 980 Pro 2TB nvme m.2 ssd
code version @ commit 06a8f9
complete plot timings:
threads=18 buckets=7
total: 8698 seconds
Phase 2 took 507.212 sec
Wrote plot header with 268 bytes
[P3-1] Table 2 took 71.1062 sec, wrote 3429399034 right entries
[P3-2] Table 2 took 65.395 sec, wrote 3429399034 left entries, 3429399034 final
[P3-1] Table 3 took 75.6657 sec, wrote 3439913667 right entries
[P3-2] Table 3 took 68.9163 sec, wrote 3439913667 left entries, 3439913667 final
[P3-1] Table 4 took 72.711 sec, wrote 3466117221 right entries
[P3-2] Table 4 took 70.5899 sec, wrote 3466117221 left entries, 3466117221 final
[P3-1] Table 5 took 73.1488 sec, wrote 3533010945 right entries
[P3-2] Table 5 took 70.1412 sec, wrote 3533010945 left entries, 3533010945 final
terminate called recursively
terminate called after throwing an instance of 'Aborted (core dumped)
[ 99%] Built target test_phase_2 In file included from /home/mist/chia-plotter/lib/bls-signatures/src/bls.hpp:18, from /home/mist/chia-plotter/src/chia_plot.cpp:13: /home/mist/chia-plotter/lib/bls-signatures/src/privatekey.hpp:21:10: fatal error: gmp.h: No such file or directory 21 | #include <gmp.h> | ^~~~~~~ compilation terminated.
libsodium installed and running these versions:
mist@fp-plotty5:~/chia-plotter$ cmake --version
cmake version 3.16.3CMake suite maintained and supported by Kitware (kitware.com/cmake).
mist@fp-plotty5:/chia-plotter$ gcc --version20.04) 9.3.0
gcc (Ubuntu 9.3.0-17ubuntu1
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I did do the git submodule update --init ahead, unsure why i would be getting a missing key error?
mkdir -p build
cd build
cmake -D CMAKE_CXX_FLAGS="-g -O3 -fmax-errors=1" -DBUILD_BLS_PYTHON_BINDINGS=false ..
Everything works fine with the above code, but my comand line can't handle
make -j8 $@
i am getting
make: *** No rule to make target '$@'. Stop.
if it try to make an app using a make file, I am getting following error:
$ make -f ./cmake_install.cmake
cmake_install.cmake:4: *** missing separator. Stop.
clang-12: warning: argument unused during compilation: '-L/usr/local/opt/llvm/lib' [-Wunused-command-line-argument] In file included from /Volumes/empty9/chia-plotter/src/chia_plot.cpp:12: /Volumes/empty9/chia-plotter/include/chia/chia_filesystem.hpp:20:10: fatal error: 'filesystem.hpp' file not found #include "filesystem.hpp" ^~~~~~~~~~~~~~~~ 1 error generated.
Dear developer, I hope you can compile the exe file that can run on windows
I'm guessing the binary needs a bunch of libraries seeing as i can't launch this from the commandline. Can we have a make install file so that it can be launched from anywhere?
Actually i moved the chia_plot binary and launching it alone is fine. It just can't be launched with a path. Then you get the following error:
mist@fp-plotty5:~/chia-plotter$ ./build/chia_plot 80ee566ed528d0909a3d6ff700d64360ee10408afaf032355fffa51af740cb7525e304ddd7749d5e61d1e01a1cd328db a9409b401b4ffcb066cc80d96d869593526d636cdcf22d970e242b3498ed02ca04a13b7e16d1e90f863bd1d917d70ea4 /drive1/ /tmp/ramdisk/ 8
Number of Threads: 8
Number of Sort Buckets: 2^7 (128)
Pool Public Key: 80ee566ed528d0909a3d6ff700d64360ee10408afaf032355fffa51af740cb7525e304ddd7749d5e61d1e01a1cd328db
Farmer Public Key: a9409b401b4ffcb066cc80d96d869593526d636cdcf22d970e242b3498ed02ca04a13b7e16d1e90f863bd1d917d70ea4
Working Directory: /drive1/
Working Directory 2: /tmp/ramdisk/
Plot Name: plot-k32-2021-06-07-12-50-3a922a4e1416ea8b062c23b17315e72034714bbe8f429c1afe87bb362c4e859a
terminate called after throwing an instance of 'std::runtime_error'
what(): thread failed with: thread failed with: fwrite() failed
Aborted
I have only compiled, yesterday's version, as my hardware is old except my ETH rigs. Anyway, not an issue but letting you know I have spread your GitHub to a few Discord channels. Lots of testing is going on with various hardware. I plan on joining this testing to and your program may have changed what I purchase.
How many instances can we run in parallel? Or, should run? Even at 2 hrs a complete plot, running sequentially will only yield 12 plots. I was going with HP DL380, 128 GB RAM, and 25x SAS 15k 300 GB drives for temp drives. This would yield 40 to 50 plots (based on what others have done with simply setup). Suggestions?
root@Lappy2:/home/mk/chia-plotter# export DRIVE=q; /home/mk/chia-plotter-2/build2/chia_plot ac8e0... 85b... /mnt/$DRIVE/ChiaPlotter/ /mnt/$DRIVE/ChiaPlotter/ 2 7 2>&1 | tee /mnt/c/Users/mk/.chia/mainnet/plotter/chia-plotter-$(uuid).log
Number of Threads: 2
Number of Sort Buckets: 2^7 (128)
Pool Public Key: ac8e...
Farmer Public Key: 85b9...
Working Directory: /mnt/q/ChiaPlotter/
Working Directory 2: /mnt/q/ChiaPlotter/
Plot Name: plot-k32-2021-06-08-18-20-4e77484a240204ce331b400dc406491b1a8fa9ce422de8ce8c1ff720cdb8a27b
[P1] Table 1 took 2641.82 sec
terminate called after throwing an instance of 'std::runtime_error'
what(): thread failed with: input not sorted
Running commit 7e768ca
On Windows WSL1 Ubuntu 20.04.2 LTS (Focal Fossa) @ 4.4.0-19041-Microsoft
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.