chia-network / bladebit Goto Github PK
View Code? Open in Web Editor NEWA high-performance k32-only, Chia (XCH) plotter supporting in-RAM and disk-based plotting
License: Apache License 2.0
A high-performance k32-only, Chia (XCH) plotter supporting in-RAM and disk-based plotting
License: Apache License 2.0
what should git clone?
Here's the code I'm getting:
Running Phase 4
Writing P7.
Finished writing P7 in 0.41 seconds.
Writing C1 table.
Finished writing C1 table in 0.00 seconds.
Writing C2 table.
Finished writing C2 table in 0.00 seconds.
Writing C3 table.
*** Crashed! ***
./bladebit(+0x13b54)[0x5615194e9b54]
/lib/x86_64-linux-gnu/libc.so.6(+0x46210)[0x7effd02af210]
./bladebit(+0xe2ed)[0x5615194e42ed]
./bladebit(+0x14160)[0x5615194ea160]
./bladebit(+0x12a95)[0x5615194e8a95]
./bladebit(+0x10389)[0x5615194e6389]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x9609)[0x7effd0464609]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43)[0x7effd038b293]
src/platform/linux/SysHost_Linux.cpp:9:10: fatal error: numa.h: No such file or directory
9 | #include <numa.h>
| ^~~~~~~~
src/util/Log.cpp
compilation terminated.
make: *** [Makefile:190: .obj/platform/linux/SysHost_Linux.o] Error 1
make: *** Waiting for unfinished jobs....
On Arch Linux have error:
[ 82%] Building C object _deps/relic-build/src/CMakeFiles/relic_s.dir/md/blake2s-ref.c.o
In file included from /home/user/builds/bladebit/modules/bls-signatures/build/_deps/relic-src/src/md/blake2s-ref.c:18:
/home/user/builds/bladebit/modules/bls-signatures/build/_deps/relic-src/src/md/blake2.h:101:5: error: size of array element is not a multiple of its alignment
101 | blake2s_state S[8][1];
| ^~~~~~~~~~~~~
/home/user/builds/bladebit/modules/bls-signatures/build/_deps/relic-src/src/md/blake2.h:102:5: error: size of array element is not a multiple of its alignment
102 | blake2s_state R[1];
| ^~~~~~~~~~~~~
/home/user/builds/bladebit/modules/bls-signatures/build/_deps/relic-src/src/md/blake2.h:109:5: error: size of array element is not a multiple of its alignment
109 | blake2b_state S[4][1];
| ^~~~~~~~~~~~~
/home/user/builds/bladebit/modules/bls-signatures/build/_deps/relic-src/src/md/blake2.h:110:5: error: size of array element is not a multiple of its alignment
110 | blake2b_state R[1];
| ^~~~~~~~~~~~~
/home/user/builds/bladebit/modules/bls-signatures/build/_deps/relic-src/src/md/blake2s-ref.c: В функции «blake2s»:
/home/user/builds/bladebit/modules/bls-signatures/build/_deps/relic-src/src/md/blake2s-ref.c:329:3: error: size of array element is not a multiple of its alignment
329 | blake2s_state S[1];
| ^~~~~~~~~~~~~
[ 83%] Building C object _deps/relic-build/src/CMakeFiles/relic_s.dir/md/relic_md_blake2s.c.o
make[2]: *** [_deps/relic-build/src/CMakeFiles/relic_s.dir/build.make:2834: _deps/relic-build/src/CMakeFiles/relic_s.dir/md/blake2s-ref.c.o] Error 1
make[2]: *** Ожидание завершения заданий…
In file included from /home/user/builds/bladebit/modules/bls-signatures/build/_deps/relic-src/src/md/relic_md_blake2s.c:38:
/home/user/builds/bladebit/modules/bls-signatures/build/_deps/relic-src/src/md/blake2.h:101:5: error: size of array element is not a multiple of its alignment
101 | blake2s_state S[8][1];
| ^~~~~~~~~~~~~
/home/user/builds/bladebit/modules/bls-signatures/build/_deps/relic-src/src/md/blake2.h:102:5: error: size of array element is not a multiple of its alignment
102 | blake2s_state R[1];
| ^~~~~~~~~~~~~
/home/user/builds/bladebit/modules/bls-signatures/build/_deps/relic-src/src/md/blake2.h:109:5: error: size of array element is not a multiple of its alignment
109 | blake2b_state S[4][1];
| ^~~~~~~~~~~~~
/home/user/builds/bladebit/modules/bls-signatures/build/_deps/relic-src/src/md/blake2.h:110:5: error: size of array element is not a multiple of its alignment
110 | blake2b_state R[1];
| ^~~~~~~~~~~~~
make[2]: *** [_deps/relic-build/src/CMakeFiles/relic_s.dir/build.make:2848: _deps/relic-build/src/CMakeFiles/relic_s.dir/md/relic_md_blake2s.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:242: _deps/relic-build/src/CMakeFiles/relic_s.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
src/platform/linux/SysHost_Linux.cpp:9:10: fatal error: numa.h: No such file or directory
9 | #include <numa.h>
| ^~~~~~~~
compilation terminated.
other plotters create the final file with 664 for the file permissions which allow for access via samba/cifs from windows. The files produced by bladebit have the permissions set to 660 which requires intervention post creation to make them visible to the chia client from windows.
I am trying to compile this on an Oracle Cloud Ampere instance and am getting the following error message:-
src/threading/Thread.cpp
src/threading/ThreadPool.cpp
src/Util.cpp
src/util/Log.cpp
In function ‘compress_parents_parallel’,
inlined from ‘compress_subtree_to_parent_node’ at src/b3/blake3.c:355:9,
inlined from ‘blake3_hasher_update.part.0’ at src/b3/blake3.c:534:7:
src/b3/blake3.c:242:5: warning: ‘memcpy’ writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
memcpy(&out[parents_array_len * BLAKE3_OUT_LEN],
^
In function ‘compress_subtree_to_parent_node’,
inlined from ‘blake3_hasher_update.part.0’ at src/b3/blake3.c:534:7:
src/b3/blake3.c:356:5: warning: ‘memcpy’ reading between 64 and 96 bytes from a region of size 32 [-Wstringop-overflow=]
memcpy(cv_array, out_array, num_cvs * BLAKE3_OUT_LEN);
^
CMakeError.log
CMakeOutput.log
Hello!
During compilation process I got this errors in CmakeError.log as below. Something seems go wrong and .bin folder with bladebit bin files wasn't created.
Performing C SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output:
Change Dir: /home/r730xd/bladebit/modules/bls-signatures/build/CMakeFiles/CMakeTmpRun Build Command(s):/usr/bin/make cmTC_c5cac/fast && /usr/bin/make -f CMakeFiles/cmTC_c5cac.dir/build.make CMakeFiles/cmTC_c5cac.dir/build
make[1]: Entering directory '/home/r730xd/bladebit/modules/bls-signatures/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_c5cac.dir/src.c.o
/usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -fPIE -o CMakeFiles/cmTC_c5cac.dir/src.c.o -c /home/r730xd/bladebit/modules/bls-signatures/build/CMakeFiles/CMakeTmp/src.c
Linking C executable cmTC_c5cac
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c5cac.dir/link.txt --verbose=1
/usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -rdynamic CMakeFiles/cmTC_c5cac.dir/src.c.o -o cmTC_c5cac
/usr/bin/ld: CMakeFiles/cmTC_c5cac.dir/src.c.o: in functionmain': src.c:(.text+0x46): undefined reference to
pthread_create'
/usr/bin/ld: src.c:(.text+0x52): undefined reference topthread_detach' /usr/bin/ld: src.c:(.text+0x63): undefined reference to
pthread_join'
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_c5cac.dir/build.make:87: cmTC_c5cac] Error 1
make[1]: Leaving directory '/home/r730xd/bladebit/modules/bls-signatures/build/CMakeFiles/CMakeTmp'
make: *** [Makefile:121: cmTC_c5cac/fast] Error 2Source file was:
#include <pthread.h>void* test_func(void* data)
{
return data;
}int main(void)
{
pthread_t thread;
pthread_create(&thread, NULL, test_func, NULL);
pthread_detach(thread);
pthread_join(thread, NULL);
pthread_atfork(NULL, NULL, NULL);
pthread_exit(NULL);return 0;
}Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/r730xd/bladebit/modules/bls-signatures/build/CMakeFiles/CMakeTmpRun Build Command(s):/usr/bin/make cmTC_26df1/fast && /usr/bin/make -f CMakeFiles/cmTC_26df1.dir/build.make CMakeFiles/cmTC_26df1.dir/build
make[1]: Entering directory '/home/r730xd/bladebit/modules/bls-signatures/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_26df1.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -fPIE -o CMakeFiles/cmTC_26df1.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c
Linking C executable cmTC_26df1
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_26df1.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -rdynamic CMakeFiles/cmTC_26df1.dir/CheckFunctionExists.c.o -o cmTC_26df1 -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_26df1.dir/build.make:87: cmTC_26df1] Error 1
make[1]: Leaving directory '/home/r730xd/bladebit/modules/bls-signatures/build/CMakeFiles/CMakeTmp'
make: *** [Makefile:121: cmTC_26df1/fast] Error 2
I tried to install many packages related to "pthread" with no result.
Thx in advance.
User Reythia on reddit provided timings for several timings for tests he ran, showing severe performance deficiencies, especially during Phase 1 sort, when running on windows as compared to Linux (even on WSL better results were obtained):
Time - seconds | Windows (v1.2.0) | WSL (v1.2.0) | WSL (v1.1.0 control) |
---|---|---|---|
Phase 1 | 954 | 324 | 324 |
of which sorting | 848 | 194 | 191 |
Phase 2 | 32 | 32 | 32 |
Phase 3 | 372 | 175 | 175 |
Phase 4 | 0.7 | 0.7 | 0.7 |
Total | 1363 | 560 | 560 |
-m | --no-cpu... | -m --no-cpu | WSL | WSL -m | ||
---|---|---|---|---|---|---|
Phase 1 | 954 | 468 | 604 | 649 | 295 | 302 |
sorting | 848 | 358 | 481 | 525 | 172 | 177 |
other | 106 | 110 | 123 | 124 | 123 | 125 |
Phase 2 | 32 | 32 | 32 | 32 | 32 | 32 |
Phase 3 | 372 | 228 | 177 | 176 | 172 | 172 |
Phase 4 | 0.7 | 0.7 | 0.7 | 0.7 | 0.7 | 0.7 |
Total | 1363 | 730 | 817 | 860 | 526 | 533 |
Tests performed on:
Threadripper 3995wx with RAM @ 3200MHz. Output drive is an NVME RAID 0. Windows Enterprise.
I'm trying to get bladebit running on an R720 with 768GB of RAM and Windows server 2019. When I run bladebit it shows allocating buffers for ~10 seconds then just closes with no errors. I was hoping someone might be able to point me in the right direction.
Here's what I'm seeing:
D:\Chia_Plotter\bladebit-v1.2.2-windows-x86-64>bladebit.exe -t 36 -n 1 -v -c xch[TRUNCATED] -f 948[TRUNCATED] F:\Chia
Creating 1 plots:
Output path : F:\Chia
Thread count : 36
Warm start enabled : false
Farmer public key : 948[TRUNCATED]
Pool contract address : xch[TRUNCATED]
System Memory: 543/767 GiB.
Memory required: 416 GiB.
Allocating buffers.
D:\Chia_Plotter\bladebit-v1.2.2-windows-x86-64>
Is K33 possible with RAM only? Would it require double the RAM? or would there be other challenges?
A few K33s per disk would help to better utilise storage, but take to long to plot with standard plotter.
It really happens randomly and I have not find a solid way to reproduce.
I have been testing Bladebit using a dual AMD EPYC 64 Core (total 256 threads) with 512G RAM with following setting:
./bladebit -f aeXXX -c xchYYY -n 10 -w -v /mnt/t10/
Exporting to a SSD
The phrase 3 will randomly freeze at any part of compression tables, I don't see any pattern there either.
During the frozen, the CPU will keep nearly 100% usage.
What is the difference between the --pool-key
and --pool-contract
options? If you would like to farm pool plots, which of the two options should you use?
1) Problem
Bladebit runs 7% slower on Fedora-35 and Ubuntu-21.10 compared to RHEL-8.4
2) Test description
I installed these 3 distributions on the SAME machine and run 5 plots.
And I also used the same bladebit executable on all three (mounted from 2nd drive).
These are results:
2a) RHEL-8.4, Kernel 4.18.0-305.25.1.el8_4.x86_64
124044.12443.out:Finished plotting in 350.49 seconds (5.84 minutes).
124044.12443.out:Finished plotting in 344.27 seconds (5.74 minutes).
124044.12443.out:Finished plotting in 343.97 seconds (5.73 minutes).
124044.12443.out:Finished plotting in 345.64 seconds (5.76 minutes).
124044.12443.out:Finished plotting in 360.38 seconds (6.01 minutes).
2b) Fedora-35-server, Kernel 5.14.10-300.fc35.x86_64
2385.29416.out:Finished plotting in 384.14 seconds (6.40 minutes).
2385.29416.out:Finished plotting in 370.80 seconds (6.18 minutes).
2385.29416.out:Finished plotting in 370.82 seconds (6.18 minutes).
2385.29416.out:Finished plotting in 370.98 seconds (6.18 minutes).
2385.29416.out:Finished plotting in 385.65 seconds (6.43 minutes).
2c) Ubuntu-21.10-server, Kernel 5.13.0-21-generic
3603.14006.out:Finished plotting in 382.11 seconds (6.37 minutes).
3603.14006.out:Finished plotting in 367.04 seconds (6.12 minutes).
3603.14006.out:Finished plotting in 366.88 seconds (6.11 minutes).
3603.14006.out:Finished plotting in 367.07 seconds (6.12 minutes).
3603.14006.out:Finished plotting in 382.60 seconds (6.38 minutes).
3) Discussion of results:
- Fedora-35 and Ubuntu-21.10 have comparable performance, about 367-370 seconds
(Looking into details I would say U21.20 is 3 seconds faster than F35, but that is not topic here).
- RHEL-8.4 runs in ~344 seconds, that is ~25 seconds faster (=7%)
A performance loss of 7% is HUGE and I did not expect this as bladebit
should not put stress on the kernel.
That might explain conflicting benchmark results when comparing
same/different hardware/CPU configs. Until now it was assumed
the Linux distribution has only minor influence. But this proves
choosing a Linux distribution has a major influence on bladebit performance
4) Going further
I would be interested if this is also seen/confirmed by other bladebit users ?
What could be causing this performance regression?
1) Problem description
Precompiled bladebit-1.2.2 crashes with Illegal instruction on Haswell CPU
2) Output when it crashes
Creating 1 plots:
Output path : /plot12/
Thread count : 64
Warm start enabled : false
Farmer public key : xxx
Pool contract address : xxx
System Memory: 500/503 GiB.
Memory required: 416 GiB.
Allocating buffers.
Generating plot 1 / 1: xxx
Running Phase 1
Illegal instruction (core dumped)
3) Analysis
3a)
dmesg shows:
traps: bladebit[28531] trap invalid opcode ip:405580 sp:7ffddce72300 error:0 in bladebit[400000+fe000]
3b) Look Up ip:405580
objdump -d bladebit |grep -C3 405580:
405572: 41 b9 00 e6 6f 00 mov $0x6fe600,%r9d
405578: 45 31 c0 xor %r8d,%r8d
40557b: bf 7f 00 00 00 mov $0x7f,%edi
405580: 62 52 7d 48 7b c0 vpbroadcastw %r8d,%zmm8 ---> HERE it crashes
405586: 4c 89 ce mov %r9,%rsi
405589: 31 c9 xor %ecx,%ecx
40558b: 89 c8 mov %ecx,%eax
3c) So that is related to AVX
"vpbroadcastw" with _register_ operand is AVX512 instruction
see https://www.felixcloutier.com/x86/vpbroadcastb:vpbroadcastw:vpbroadcastd:vpbroadcastq
and https://www.felixcloutier.com/x86/vpbroadcast
3d) The CPU (Haswell) can only do AVX2
Model name: Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz
3e) Test if it runs on AVX512
Yes, on Skylake it runs fine:
Model name: Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz
4) Conclusion
The precompiled binary probably was compiled on AVX512-capable CPU and
the "CMakeLists.txt" has compiler option "-march=native".
That causes "invalid opcode" on non-AVX512 CPUs.
@haroldb: Let me know if you confirm this analysis?
Also note Ivy Bridge (e.g. E5-2697v2) can only do AVX (not even AVX2),
so that should be taken into account if you decide to also support older CPUs
with the precompiled binary.
make clean && make -j$(nproc --all) #The echo of executing this command is as follows:
ubantu@ubantu-X99:~/bladebit$ make clean && make -j$(nproc --all)
Compiling for linux with g++
src/b3/blake3_avx2_x86-64_unix.S
src/b3/blake3_avx512_x86-64_unix.S
src/b3/blake3_dispatch.c
src/b3/blake3_portable.c
src/b3/blake3_sse41_x86-64_unix.S
src/b3/blake3.c
src/bech32/segwit_addr.c
src/fse/debug.c
src/fse/entropy_common.c
src/fse/fse_compress.c
src/fse/fse_decompress.c
src/fse/hist.c
src/io/FileStream.cpp
src/main.cpp
src/memplot/DbgHelper.cpp
src/memplot/MemPhase1.cpp
src/memplot/MemPhase2.cpp
src/memplot/MemPhase3.cpp
src/memplot/MemPhase4.cpp
src/memplot/MemPlotter.cpp
src/pch.cpp
src/platform/linux/SysHost_Linux.cpp
src/platform/unix/FileStream_Unix.cpp
src/PlotContext.cpp
src/PlotWriter.cpp
src/pos/chacha8.cpp
src/SysHost.cpp
src/threading/Semaphore.cpp
src/threading/Thread.cpp
src/threading/ThreadPool.cpp
src/Util.cpp
src/util/Log.cpp
src/platform/linux/SysHost_Linux.cpp:9:10: fatal error: numa.h: There is no file or directory
9 | #include <numa.h>
| ^~~~~~~~
compilation terminated.
make: *** [Makefile:190:.obj/platform/linux/SysHost_Linux.o] error 1
make: *** Waiting for unfinished tasks....
Dear guys, i used the bladebit chia plot tools from Step 29,i have got about 500 plots ,but when i start the harvester,i got the error log as below
2021-10-05T05:47:35.783 harvester chia.plotting.manager : ERROR F
ailed to open file /home/chia/plot/disk5/plot-k32-2021-10-05-05-31-b
49a3bb12074d8ebfd65a7ea3a5e46e81aeb4e18fa3f1b1511d1c7463cf60
605.plot. Invalid file /home/chia/plot/disk5/plot-k32-2021-10-05-05-31
-b49a3bb12074d8ebfd65a7ea3a5e46e81aeb4e18fa3f1b1511d1c7463cf
60605.plot Traceback (most recent call last):
File “/home/chia/chia-blockchain/chia/plotting/manager.py”, line 290,
in process_file
prover = DiskProver(str(file_path))
ValueError: Invalid file /home/chia/plot/disk5/plot-k32-2021-10-05-05-
31-b49a3bb12074d8ebfd65a7ea3a5e46e81aeb4e18fa3f1b1511d1c7463
cf60605.plot
below is the scrip i used to plot
./bladebit -p ${pool_key} -f ${farmer_key} -t 64 -n $plot_count_1 /mnt/hdd1/ >> /mnt/chialogs/chia_plot_1.log &
I am sure the pool_key and farmer_key is right.
Thanks,if you have any idea,pls discuss with me,Thank you again!
Unsure if this is related to the issue(s) in #122 where I reported bladebit stopped respecting destination file path.
It no longer appears that bladebit respects the pool contract address via the -c flag, all of the plots I have made appear to be solo plots, and no longer count toward my pool total in the Chia GUI, although they still appear to be valid plots, but not associated to an NFT.
Plots created with MadMax still appear to increase the count of plots, leading me to believe it's not a Chia GUI issue.
I am unsure how to test or prove this further, but happy to help troubleshoot in any way that I can.
Hello, I wished I could provide a list of final plot paths that are used by the plotter (maybe round robin) when -n greater 1 to store the final plot file. On my system the plotter finishes a plot every 5-7 minutes. Storing one K32 onto HDD takes longer than 5-7 minutes, which means the second plot created by bladebit is finished before the previous was stored to HDD. The plotter will now attempt to save the second file onto the HDD also, which makes things even slower.
If I can pass a list of final plots path, and the plotter uses a different one for new plot, the issue goes away. It also mitigates the need of buffer to store all newly created plots, from which then some kind of script is moving the plots from buffer to HDDs.
I did all the installations. I didn't get any errors. Can someone tell me where I went wrong?
OS: Ubuntu 20.04
Hi,
It is my understanding that bladebit uses should have at "t" thread count the actual physical cores of the CPU, not also logical ones, so running say 4 concurrent instances of bladebit with the --no-cpu-affinity arg, but specifying -t 32 for example for my dual Epyc 7763 system, ends up using all physical cores and very few and rare logical core activity.
Shouldn't bladebit be able to use -t 64 and thus extent the work into the logical cores too?
I just did a quick run and it seems like the file name doesn't match chia's standard plot naming convention. Is it possible to match it? It would really help with some of the infra folks are building.
Unsure what or why this has started happening as I have changed nothing on my system. Also unsure why these problems appear to be interlinked.
bladebit dumps the plot it's creating into the same directory where bladebit resides, with "��j� (invalid encoding)" as the file name.
bladebit confirmed the output path when it started.
Happy to provide screenshots, system specs, etc.
OS: RHEL 8
Proc: 2x Epyc 7451 24c/48t (48c/96t total)
RAM: 704gb 2133 RDIMM
Destination drives are 4x SAS 900GB drives in Raid0.
Hello!
I tried install Bladebit on r6g.metal and r6g.16xlarge instance (ARM), but I can't compile it. I try Ubuntu 20LTS, RedHat 8, Amazon-linux, but every time I have the next error:
make clean && make -j$(nproc --all) CONFIG=release.arm
....
....
src/util/Log.cpp
In function ‘memcpy’,
inlined from ‘compress_parents_parallel’ at src/b3/blake3.c:242:5,
inlined from ‘compress_subtree_to_parent_node’ at src/b3/blake3.c:355:9,
inlined from ‘blake3_hasher_update.part.0’ at src/b3/blake3.c:534:7:
/usr/include/aarch64-linux-gnu/bits/string_fortified.h:34:10: warning: ‘__builtin_memcpy’ writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
34 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
| ^
cmake --version
cmake version 3.16.3
gcc --version
gcc (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
Previously I tried gcc 9.
Thanks!
This is a suggestion/request which is to lower the RAM capacity requirement from 416GIB to either 128GB or even lower to 64GB just because not many motherboards can support that much ram most of them the max limit is between 32GB and128GB it wouldn't make sense to make a plotter that requires that much of ram so that's my suggestion/request to lower the ram capacity requirement from 416GIB to 128GB or even lower to 64GB
I compile it, and I can't use it,can not find command
When will it be possible to create k-33 plots?
Version.h:#define BLADEBIT_VERSION_REV 0
Ubuntu 20.04
Question one:
e2683v4 x2(32c64t,2500Mhz), 16x32g ddr4 2133, total 11-12min
e2696v3 x2(36c72t,3200Mhz(I use the e5 bug)),16x32g ddr4 2133, also total 11-12min
Question two:
And I find when use 16x32g,the memry read and write have more then 100GB/s, when I use 14x32g,the memery read and write only have 50GB/s, bug the total time is the same 11-12min.....
It works perfect on my spec, thanks for the contribution to the Chia community!
It will be good to match the standard plot name like: plot-k32-{YYYY}-{MM}-{DD}-{hh}-{mm}-xxxx.plot
just compiled latest mast without error and set about running the same as before but for this error:
Fatal Error:
Failed to parse farmer public key
Running with -c and -f as before.
Has the format changed for the key? I am taking straight from chia keys show
thank you
How to upgrade from version 1.1 to 1.2, and those that need attention
I noticed that a 0 byte file is created at the beginning of the process and that is the final plot file name. It would be helpful if there was a way to differentiate between final/completed plots, and ones that were still in progress so that I can run rsync to migrate the finished plots.
Adding an extension like ".tmp" at the beginning of hte process and then removing it after the plot file is actually done would help this automated tiered storage move process.
if I have more than 416+101GiB RAM, and disk throughput faster than plotting, there's no need to wait for last plot to be written. performance impact should be less than doing nothing but waiting.
Along with standard plot names, another tweak to be consistent with the other Clia plotters would be to allow -n -1 for infinite plot creation.
Hi,
user@x ~]$ tar tvfz bladebit-v1.2.3-centos-x86-64.tar.gz
-rwxr-xr-x root/root 3652112 2021-11-11 02:10 bladebit
[user@x ~]$ tar xvfz bladebit-v1.2.3-centos-x86-64.tar.gz
bladebit
[user@x ~]$ ./bladebit --version
1.2.0
-> Should be: 1.2.3
[user@x ~]$ tar xvfz bladebit-v1.2.3-ubuntu-x86-64.tar.gz
bladebit
[user@x ~]$ ./bladebit --version
1.2.3
-> works as expected
in continuation of the issue #77
Give
RELIC_MAIN=1 ./build-bls
a try
$ make clean && make -j$(nproc --all)
src/algorithm/YSort.cpp
src/b3/blake3_avx2_x86-64_unix.S
src/b3/blake3_avx512_x86-64_unix.S
Compiling for linux with g++
src/b3/blake3_dispatch.c
src/b3/blake3_portable.c
src/b3/blake3_sse41_x86-64_unix.S
src/b3/blake3.c
src/bech32/segwit_addr.c
src/fse/debug.c
src/fse/entropy_common.c
src/fse/fse_compress.c
src/fse/fse_decompress.c
src/fse/hist.c
src/io/FileStream.cpp
src/main.cpp
src/memplot/DbgHelper.cpp
src/memplot/MemPhase1.cpp
src/memplot/MemPhase2.cpp
src/memplot/MemPhase3.cpp
src/memplot/MemPlotter.cpp
src/memplot/MemPhase4.cpp
src/pch.cpp
src/platform/linux/SysHost_Linux.cpp
src/platform/unix/FileStream_Unix.cpp
src/PlotContext.cpp
src/PlotWriter.cpp
src/pos/chacha8.cpp
src/SysHost.cpp
src/threading/Semaphore.cpp
src/threading/Thread.cpp
src/threading/ThreadPool.cpp
src/Util.cpp
src/util/Log.cpp
/usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_add_low.c.o): in function bn_addn_low': relic_bn_add_low.c:(.text+0x6f4): undefined reference to
__gmpn_add_n'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_add_low.c.o): in function bn_subn_low': relic_bn_add_low.c:(.text+0xdd4): undefined reference to
__gmpn_sub_n'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_mod_low.c.o): in function bn_modn_low': relic_bn_mod_low.c:(.text+0x1ce): undefined reference to
__gmpn_addmul_1'
/usr/bin/ld: relic_bn_mod_low.c:(.text+0x1eb): undefined reference to __gmpn_addmul_1' /usr/bin/ld: relic_bn_mod_low.c:(.text+0x208): undefined reference to
__gmpn_addmul_1'
/usr/bin/ld: relic_bn_mod_low.c:(.text+0x226): undefined reference to __gmpn_addmul_1' /usr/bin/ld: relic_bn_mod_low.c:(.text+0x240): undefined reference to
__gmpn_addmul_1'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_mod_low.c.o):relic_bn_mod_low.c:(.text+0x25b): more undefined references to __gmpn_addmul_1' follow /usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_mod_low.c.o): in function
bn_modn_low':
relic_bn_mod_low.c:(.text+0x294): undefined reference to __gmpn_add_n' /usr/bin/ld: relic_bn_mod_low.c:(.text+0x2cb): undefined reference to
__gmpn_sub_n'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_mul_low.c.o): in function bn_mula_low': relic_bn_mul_low.c:(.text+0xa): undefined reference to
__gmpn_addmul_1'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_mul_low.c.o): in function bn_mul1_low': relic_bn_mul_low.c:(.text+0x1a): undefined reference to
__gmpn_mul_1'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_mul_low.c.o): in function bn_muln_low': relic_bn_mul_low.c:(.text+0x24): undefined reference to
__gmpn_mul_n'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_mul_low.c.o): in function bn_muld_low': relic_bn_mul_low.c:(.text+0x37): undefined reference to
__gmpn_mul'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_shift_low.c.o): in function bn_lsh1_low': relic_bn_shift_low.c:(.text+0x9): undefined reference to
__gmpn_lshift'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_shift_low.c.o): in function bn_lshb_low': relic_bn_shift_low.c:(.text+0x14): undefined reference to
__gmpn_lshift'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_shift_low.c.o): in function bn_rsh1_low': relic_bn_shift_low.c:(.text+0x29): undefined reference to
__gmpn_rshift'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_shift_low.c.o): in function bn_rshb_low': relic_bn_shift_low.c:(.text+0x34): undefined reference to
__gmpn_rshift'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_fb_add_low.c.o): in function fb_addn_low': relic_fb_add_low.c:(.text+0x66): undefined reference to
__gmpn_xor_n'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_fb_add_low.c.o): in function fb_addd_low': relic_fb_add_low.c:(.text+0x74): undefined reference to
__gmpn_xor_n'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_fb_shift_low.c.o): in function fb_lsh1_low': relic_fb_shift_low.c:(.text+0xb): undefined reference to
__gmpn_lshift'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_fb_shift_low.c.o): in function fb_lshb_low': relic_fb_shift_low.c:(.text+0x18): undefined reference to
__gmpn_lshift'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_fb_shift_low.c.o): in function fb_rsh1_low': relic_fb_shift_low.c:(.text+0x2b): undefined reference to
__gmpn_rshift'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_fb_shift_low.c.o): in function fb_rshb_low': relic_fb_shift_low.c:(.text+0x38): undefined reference to
__gmpn_rshift'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function fp_addm_low': relic_fp_add_low.c:(.text+0x1ba): undefined reference to
__gmpn_add_n'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function fp_addc_low': relic_fp_add_low.c:(.text+0x22e): undefined reference to
__gmpn_add_n'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function fp_subm_low': relic_fp_add_low.c:(.text+0x43a): undefined reference to
__gmpn_sub_n'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function fp_subc_low': relic_fp_add_low.c:(.text+0x48a): undefined reference to
__gmpn_sub_n'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function fp_dblm_low': relic_fp_add_low.c:(.text+0x52d): undefined reference to
__gmpn_add_n'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function fp_hlvm_low': relic_fp_add_low.c:(.text+0x596): undefined reference to
__gmpn_add_n'
/usr/bin/ld: relic_fp_add_low.c:(.text+0x5ae): undefined reference to __gmpn_rshift' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function
fp_hlvd_low':
relic_fp_add_low.c:(.text+0x625): undefined reference to __gmpn_add_n' /usr/bin/ld: relic_fp_add_low.c:(.text+0x6a1): undefined reference to
__gmpn_rshift'
/usr/bin/ld: relic_fp_add_low.c:(.text+0x6b9): undefined reference to __gmpn_rshift' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function
fp_addn_low':
relic_fp_add_low.c:(.text+0x1a6): undefined reference to __gmpn_add_n' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function
fp_addm_low':
relic_fp_add_low.c:(.text+0x1f2): undefined reference to __gmpn_sub_n' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function
fp_addd_low':
relic_fp_add_low.c:(.text+0x216): undefined reference to __gmpn_add_n' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function
fp_addc_low':
relic_fp_add_low.c:(.text+0x266): undefined reference to __gmpn_sub_n' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function
fp_subn_low':
relic_fp_add_low.c:(.text+0x426): undefined reference to __gmpn_sub_n' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function
fp_subm_low':
relic_fp_add_low.c:(.text+0x45d): undefined reference to __gmpn_add_n' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function
fp_subd_low':
relic_fp_add_low.c:(.text+0x476): undefined reference to __gmpn_sub_n' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function
fp_subc_low':
relic_fp_add_low.c:(.text+0x4ae): undefined reference to __gmpn_add_n' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function
fp_negm_low':
relic_fp_add_low.c:(.text+0x50b): undefined reference to __gmpn_sub_n' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function
fp_dbln_low':
relic_fp_add_low.c:(.text+0x519): undefined reference to __gmpn_add_n' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_add_low.c.o): in function
fp_hlvm_low':
relic_fp_add_low.c:(.text+0x5ea): undefined reference to __gmpn_rshift' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_inv_low.c.o): in function
fp_invm_low':
relic_fp_inv_low.c:(.text+0x9d): undefined reference to __gmpn_gcdext' /usr/bin/ld: relic_fp_inv_low.c:(.text+0xfb): undefined reference to
__gmpn_tdiv_qr'
/usr/bin/ld: relic_fp_inv_low.c:(.text+0x14e): undefined reference to __gmpn_sub_n' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_mul_low.c.o): in function
fp_mula_low':
relic_fp_mul_low.c:(.text+0x9): undefined reference to __gmpn_addmul_1' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_mul_low.c.o): in function
fp_mul1_low':
relic_fp_mul_low.c:(.text+0x19): undefined reference to __gmpn_mul_1' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_mul_low.c.o): in function
fp_muln_low':
relic_fp_mul_low.c:(.text+0x26): undefined reference to __gmpn_mul_n' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_rdc_low.c.o): in function
fp_rdcn_low':
relic_fp_rdc_low.c:(.text+0x5b8): undefined reference to __gmpn_addmul_1' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_shift_low.c.o): in function
fp_lsh1_low':
relic_fp_shift_low.c:(.text+0xb): undefined reference to __gmpn_lshift' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_shift_low.c.o): in function
fp_lshb_low':
relic_fp_shift_low.c:(.text+0x18): undefined reference to __gmpn_lshift' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_shift_low.c.o): in function
fp_rsh1_low':
relic_fp_shift_low.c:(.text+0x2b): undefined reference to __gmpn_rshift' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_shift_low.c.o): in function
fp_rshb_low':
relic_fp_shift_low.c:(.text+0x38): undefined reference to __gmpn_rshift' /usr/bin/ld: lib/linux/x86/libbls.a(relic_fp_sqr_low.c.o): in function
fp_sqrn_low':
relic_fp_sqr_low.c:(.text+0x9): undefined reference to __gmpn_mul_n' /usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_div_low.c.o): in function
bn_divn_low':
relic_bn_div_low.c:(.text+0x15): undefined reference to __gmpn_tdiv_qr' /usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_div_low.c.o): in function
bn_div1_low':
relic_bn_div_low.c:(.text+0x2a): undefined reference to __gmpn_divrem_1' /usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_sqr_low.c.o): in function
bn_sqra_low':
relic_bn_sqr_low.c:(.text+0x2c): undefined reference to __gmpn_addmul_1' /usr/bin/ld: relic_bn_sqr_low.c:(.text+0x50): undefined reference to
__gmpn_addmul_1'
/usr/bin/ld: lib/linux/x86/libbls.a(relic_bn_sqr_low.c.o): in function bn_sqrn_low': relic_bn_sqr_low.c:(.text+0x77): undefined reference to
__gmpn_mul_n'
collect2: error: ld returned 1 exit status
make: *** [Makefile:157: bladebit] Error 1
[~/bladebit]: make clean && make -j$(nproc --all)
src/b3/blake3_avx2_x86-64_unix.S
Compiling for linux with g++
src/b3/blake3_avx512_x86-64_unix.S
src/b3/blake3_dispatch.c
src/b3/blake3_portable.c
src/b3/blake3_sse41_x86-64_unix.S
src/b3/blake3.c
src/bech32/segwit_addr.c
src/fse/debug.c
src/fse/entropy_common.c
src/fse/fse_compress.c
src/fse/fse_decompress.c
src/fse/hist.c
src/io/FileStream.cpp
src/main.cpp
src/memplot/DbgHelper.cpp
src/memplot/MemPhase1.cpp
src/memplot/MemPhase2.cpp
src/memplot/MemPhase3.cpp
src/memplot/MemPhase4.cpp
src/memplot/MemPlotter.cpp
src/pch.cpp
src/platform/linux/SysHost_Linux.cpp
src/platform/unix/FileStream_Unix.cpp
src/PlotContext.cpp
src/PlotWriter.cpp
src/pos/chacha8.cpp
src/SysHost.cpp
src/threading/Semaphore.cpp
src/threading/Thread.cpp
src/threading/ThreadPool.cpp
src/Util.cpp
src/util/Log.cpp
lib/linux/x86/libbls.a(relic_bn_add_low.c.o): In function bn_addn_low': relic_bn_add_low.c:(.text+0x414): undefined reference to
__gmpn_add_n'
lib/linux/x86/libbls.a(relic_bn_add_low.c.o): In function bn_subn_low': relic_bn_add_low.c:(.text+0x844): undefined reference to
__gmpn_sub_n'
lib/linux/x86/libbls.a(relic_bn_mod_low.c.o): In function bn_modn_low': relic_bn_mod_low.c:(.text+0x163): undefined reference to
__gmpn_addmul_1'
relic_bn_mod_low.c:(.text+0x180): undefined reference to __gmpn_addmul_1' relic_bn_mod_low.c:(.text+0x19d): undefined reference to
__gmpn_addmul_1'
relic_bn_mod_low.c:(.text+0x1bb): undefined reference to __gmpn_addmul_1' relic_bn_mod_low.c:(.text+0x1d5): undefined reference to
__gmpn_addmul_1'
lib/linux/x86/libbls.a(relic_bn_mod_low.c.o):relic_bn_mod_low.c:(.text+0x1f0): more undefined references to __gmpn_addmul_1' follow lib/linux/x86/libbls.a(relic_bn_mod_low.c.o): In function
bn_modn_low':
relic_bn_mod_low.c:(.text+0x229): undefined reference to __gmpn_add_n' relic_bn_mod_low.c:(.text+0x263): undefined reference to
__gmpn_sub_n'
lib/linux/x86/libbls.a(relic_bn_mul_low.c.o): In function bn_mula_low': relic_bn_mul_low.c:(.text+0xa): undefined reference to
__gmpn_addmul_1'
lib/linux/x86/libbls.a(relic_bn_mul_low.c.o): In function bn_mul1_low': relic_bn_mul_low.c:(.text+0x1a): undefined reference to
__gmpn_mul_1'
lib/linux/x86/libbls.a(relic_bn_mul_low.c.o): In function bn_muln_low': relic_bn_mul_low.c:(.text+0x24): undefined reference to
__gmpn_mul_n'
lib/linux/x86/libbls.a(relic_bn_mul_low.c.o): In function bn_muld_low': relic_bn_mul_low.c:(.text+0x37): undefined reference to
__gmpn_mul'
lib/linux/x86/libbls.a(relic_bn_shift_low.c.o): In function bn_lsh1_low': relic_bn_shift_low.c:(.text+0x9): undefined reference to
__gmpn_lshift'
lib/linux/x86/libbls.a(relic_bn_shift_low.c.o): In function bn_lshb_low': relic_bn_shift_low.c:(.text+0x14): undefined reference to
__gmpn_lshift'
lib/linux/x86/libbls.a(relic_bn_shift_low.c.o): In function bn_rsh1_low': relic_bn_shift_low.c:(.text+0x29): undefined reference to
__gmpn_rshift'
lib/linux/x86/libbls.a(relic_bn_shift_low.c.o): In function bn_rshb_low': relic_bn_shift_low.c:(.text+0x34): undefined reference to
__gmpn_rshift'
lib/linux/x86/libbls.a(relic_fb_add_low.c.o): In function fb_addn_low': relic_fb_add_low.c:(.text+0x36): undefined reference to
__gmpn_xor_n'
lib/linux/x86/libbls.a(relic_fb_add_low.c.o): In function fb_addd_low': relic_fb_add_low.c:(.text+0x44): undefined reference to
__gmpn_xor_n'
lib/linux/x86/libbls.a(relic_fb_shift_low.c.o): In function fb_lsh1_low': relic_fb_shift_low.c:(.text+0xb): undefined reference to
__gmpn_lshift'
lib/linux/x86/libbls.a(relic_fb_shift_low.c.o): In function fb_lshb_low': relic_fb_shift_low.c:(.text+0x18): undefined reference to
__gmpn_lshift'
lib/linux/x86/libbls.a(relic_fb_shift_low.c.o): In function fb_rsh1_low': relic_fb_shift_low.c:(.text+0x2b): undefined reference to
__gmpn_rshift'
lib/linux/x86/libbls.a(relic_fb_shift_low.c.o): In function fb_rshb_low': relic_fb_shift_low.c:(.text+0x38): undefined reference to
__gmpn_rshift'
lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function fp_addm_low': relic_fp_add_low.c:(.text+0x11a): undefined reference to
__gmpn_add_n'
lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function fp_addc_low': relic_fp_add_low.c:(.text+0x18e): undefined reference to
__gmpn_add_n'
lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function fp_subm_low': relic_fp_add_low.c:(.text+0x31a): undefined reference to
__gmpn_sub_n'
lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function fp_subc_low': relic_fp_add_low.c:(.text+0x36a): undefined reference to
__gmpn_sub_n'
lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function fp_dblm_low': relic_fp_add_low.c:(.text+0x40d): undefined reference to
__gmpn_add_n'
lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function fp_hlvm_low': relic_fp_add_low.c:(.text+0x479): undefined reference to
__gmpn_add_n'
relic_fp_add_low.c:(.text+0x491): undefined reference to __gmpn_rshift' lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function
fp_hlvd_low':
relic_fp_add_low.c:(.text+0x515): undefined reference to __gmpn_add_n' relic_fp_add_low.c:(.text+0x58c): undefined reference to
__gmpn_rshift'
relic_fp_add_low.c:(.text+0x5a4): undefined reference to __gmpn_rshift' lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function
fp_addn_low':
relic_fp_add_low.c:(.text+0x106): undefined reference to __gmpn_add_n' lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function
fp_addm_low':
relic_fp_add_low.c:(.text+0x152): undefined reference to __gmpn_sub_n' lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function
fp_addd_low':
relic_fp_add_low.c:(.text+0x176): undefined reference to __gmpn_add_n' lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function
fp_addc_low':
relic_fp_add_low.c:(.text+0x1c6): undefined reference to __gmpn_sub_n' lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function
fp_subn_low':
relic_fp_add_low.c:(.text+0x306): undefined reference to __gmpn_sub_n' lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function
fp_subm_low':
relic_fp_add_low.c:(.text+0x33d): undefined reference to __gmpn_add_n' lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function
fp_subd_low':
relic_fp_add_low.c:(.text+0x356): undefined reference to __gmpn_sub_n' lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function
fp_subc_low':
relic_fp_add_low.c:(.text+0x38e): undefined reference to __gmpn_add_n' lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function
fp_negm_low':
relic_fp_add_low.c:(.text+0x3ea): undefined reference to __gmpn_sub_n' lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function
fp_dbln_low':
relic_fp_add_low.c:(.text+0x3f9): undefined reference to __gmpn_add_n' lib/linux/x86/libbls.a(relic_fp_add_low.c.o): In function
fp_hlvm_low':
relic_fp_add_low.c:(.text+0x4d1): undefined reference to __gmpn_rshift' lib/linux/x86/libbls.a(relic_fp_inv_low.c.o): In function
fp_invm_low':
relic_fp_inv_low.c:(.text+0x81): undefined reference to __gmpn_gcdext' relic_fp_inv_low.c:(.text+0xe0): undefined reference to
__gmpn_tdiv_qr'
relic_fp_inv_low.c:(.text+0x11e): undefined reference to __gmpn_sub_n' lib/linux/x86/libbls.a(relic_fp_mul_low.c.o): In function
fp_mula_low':
relic_fp_mul_low.c:(.text+0x9): undefined reference to __gmpn_addmul_1' lib/linux/x86/libbls.a(relic_fp_mul_low.c.o): In function
fp_mul1_low':
relic_fp_mul_low.c:(.text+0x19): undefined reference to __gmpn_mul_1' lib/linux/x86/libbls.a(relic_fp_mul_low.c.o): In function
fp_muln_low':
relic_fp_mul_low.c:(.text+0x26): undefined reference to __gmpn_mul_n' lib/linux/x86/libbls.a(relic_fp_rdc_low.c.o): In function
fp_rdcn_low':
relic_fp_rdc_low.c:(.text+0x527): undefined reference to __gmpn_addmul_1' lib/linux/x86/libbls.a(relic_fp_shift_low.c.o): In function
fp_lsh1_low':
relic_fp_shift_low.c:(.text+0xb): undefined reference to __gmpn_lshift' lib/linux/x86/libbls.a(relic_fp_shift_low.c.o): In function
fp_lshb_low':
relic_fp_shift_low.c:(.text+0x18): undefined reference to __gmpn_lshift' lib/linux/x86/libbls.a(relic_fp_shift_low.c.o): In function
fp_rsh1_low':
relic_fp_shift_low.c:(.text+0x2b): undefined reference to __gmpn_rshift' lib/linux/x86/libbls.a(relic_fp_shift_low.c.o): In function
fp_rshb_low':
relic_fp_shift_low.c:(.text+0x38): undefined reference to __gmpn_rshift' lib/linux/x86/libbls.a(relic_fp_sqr_low.c.o): In function
fp_sqrn_low':
relic_fp_sqr_low.c:(.text+0x9): undefined reference to __gmpn_mul_n' lib/linux/x86/libbls.a(relic_bn_div_low.c.o): In function
bn_divn_low':
relic_bn_div_low.c:(.text+0x15): undefined reference to __gmpn_tdiv_qr' lib/linux/x86/libbls.a(relic_bn_div_low.c.o): In function
bn_div1_low':
relic_bn_div_low.c:(.text+0x2a): undefined reference to __gmpn_divrem_1' lib/linux/x86/libbls.a(relic_bn_sqr_low.c.o): In function
bn_sqra_low':
relic_bn_sqr_low.c:(.text+0x28): undefined reference to __gmpn_addmul_1' relic_bn_sqr_low.c:(.text+0x52): undefined reference to
__gmpn_addmul_1'
lib/linux/x86/libbls.a(relic_bn_sqr_low.c.o): In function bn_sqrn_low': relic_bn_sqr_low.c:(.text+0x87): undefined reference to
__gmpn_mul_n'
collect2: error: ld returned 1 exit status
make: *** [Makefile:157: bladebit] Error 1
I am just now getting around to trying to add BladeBit support to plotman. Generally speaking the multiple-process scheduling features of plotman should be much less useful for BladeBit, but it makes it easier for people to experiment with configurations and still handle plotting and archiving from the single tool. Anyways...
When the output of BladeBit is redirected to a file it ends up buffering until the flush at the end (well, I didn't wait that long what with only 64GB of RAM at the moment but...). plotman would like to have regular updates so that it can track the progress of the plot. With the logging functions already being centralized it looks like this could be a straightforward change.
Does this seem like a good change for BladeBit?
Just wondering if anyone had luck with pool plots.
I've plotted couple dozens but the farmer rejects every single proof-of-space from those plots. Keep getting errors like that:
2021-07-15T15:20:35.154 farmer farmer_server : DEBUG <- new_proof_of_space from peer <harvester-id> <harvester ip>
2021-07-15T15:20:35.155 farmer farmer_server : DEBUG <- farming_info from peer <harvester-id> <harvester ip>
2021-07-15T15:20:35.155 farmer chia.types.blockchain_format.proof_of_space: ERROR New challenge is not challenge
2021-07-15T15:20:35.155 farmer chia.farmer.farmer : ERROR Invalid proof of space {'challenge': '0x6a0acd1b438102dd8baede36df56bc7ec5177bf1b22fac97b97c94bb6e406b73',
'plot_public_key': '0x<plot key>',
'pool_contract_puzzle_hash': '0x<correct puzzle hash>',
'pool_public_key': None,
'proof': '0x<long-long-proof>',
'size': 32}
I've double- and triple-checked the arguments (i.e. farmer key) and they are definitely correct.
I've done chia plots check
with the keys imported and the test passed, no "missing key" warnings, proofs percentage is ok.
I've tried to downgrade harvester from 1.2.2 to 1.2.1 - no luck either.
So I want to know if anyone get accepted partials, or maybe the same errors as I have.
i am sorry for my noob question as i am totally new to Linux (using ubuntu 20.04).
i would like to know which commands to use to install all needed packets/files on ubuntu.
plz, provide full commands. not some parts of it.
thanks in advance
Could you give me some hint? because we did not use NUMA in our environment
Thanks and best regards,
James
Creating a plot takes 400 seconds on my system.
Transferring the plot to an HDD also takes around 400 seconds.
Here is where the problem is.
When a new plot starts, during phase 1 table 2, the plotter waits for the old plot to be transferred.
Which increases the time for every subsequent plot by 400 seconds.
First plot finishes in 400 seconds.
Every other plot afterwards takes 800 seconds.
The request. Add an option for a temp directory.
Instead of writing directly to the final directory, the plot first moves to the temp directory (which is preferably an SSD).
Then move the plot from the temp directory to the final directory.
it seems there may be a demand to have a full ram plotter for chives coin ( they run k29-k31 ) there is funds available for projects it would seem that it would be great if k29 was possible with something like this as it would make ram plotting possible for everyone even with 64gb of ram the devs would be open to talking or i would be happy to deal with it
src/platform/linux/SysHost_Linux.cpp:9:10: fatal error: numa.h: No such file or directory
#include <numa.h>
^~~~~~~~
compilation terminated.
make: *** [Makefile:189: .obj/platform/linux/SysHost_Linux.o] Error 1
make: *** Waiting for unfinished jobs....
main.cpp
line 276
else if( check( "-v" ) || check( "--verbose " ) )
extra space after --verbose
I can create PLOTS within 400sec on my system but it takes longer to transfer to HDD due to HDD speed.
Is there a way for it to do like MADMAX and start the creation of a new PLOT but the transfer/copy process keeps running on the background until is done?
Please advise.
A temp HDD/SSD for it as suggested before would be a good solution too.
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.