├── arc_plot.0.7.ubuntu22.04.tar.bz2 ├── release_notes └── README.md /arc_plot.0.7.ubuntu22.04.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartbitcoin/arc_plot/HEAD/arc_plot.0.7.ubuntu22.04.tar.bz2 -------------------------------------------------------------------------------- /release_notes: -------------------------------------------------------------------------------- 1 | Current version 2 | cpu plotting is production ready. 3 | 4 | gpu plotting limitations: 5 | a.) need fast ssd. ( if ssd was QLC , it need fstrim again after plot done to avoid ``` fwrite() failed with: Bad address``` errors. 6 | b.) ram require 110G free at least. so make sure you have enough swap file setup incase system out of memory crash. 7 | c.) compressing phase fully GPU implementation need 24G vram like rtx3090. 8 | 9 | --------------------------------------------------------------------------------- 10 | release v0.7 : 11 | a.) Add GPU compressing algo for 24G vram gpu like rtx 3090. Performance for 24G gpu increase 40%. ( only support 1 gpu yet.) 12 | 13 | 14 | --------------------------------------------------------------------------------- 15 | release v0.6.5 : 16 | md5: 1d322c6d336f91aa0bea161fc2de718d 17 | a.) Support multiple GPU plotting, max to 8 GPU. 18 | use first gpu 19 | ```--gpuid "0"``` 20 | 21 | use second gpu 22 | ```--gpuid "1"``` 23 | 24 | use gpu from 0 to 3 25 | ```--gpuid "0123"``` 26 | 27 | --------------------------------------------------------------------------------- 28 | release v0.6.4 : 29 | md5: 6aa5c223631df30a2225add9b0ae5468 30 | a.) Add "--gthreads" parameter. which define how many gpu context threads for plotting. every gpu context thread use centain amount of gpu vram resource. eg 8G vram good for 3 thread. If you only have 4G vram, set it to gthreads=1 will works too. 31 | b.) Add "--gpuid" parameter, which can pick specific gpu if you have multiple. you can run too gpu plotter in parallel, but don't set two gpu into one ploter, which is not implemented yet. 32 | c.) minor turning in plotting phase, 5% faster. 33 | 34 | --------------------------------------------------------------------------------- 35 | release v0.6.3 : 36 | md5: e5a952759b93df447b8f59bbe043a6b1 37 | a.) table7 compressing in gpu. minor performance improve. 38 | 39 | --------------------------------------------------------------------------------- 40 | release v0.6.2.1 : 41 | md5 0a27804f2775d0b6e9695f18be23aea1 42 | a.) partial gpu accelerated compressing phase implemented. compressing phase redue 40% time. 43 | b.) memory usage turning , can be run in 128G ram without swap file. 44 | c.) static link libstdc++ for running on rocky linux 9.1 and other linux distribution with gcc 11+ compiler. 45 | 46 | --------------------------------------------------------------------------------- 47 | release v0.6.1 48 | a.) add cpu support which without avx2 instruction set. 49 | b.) move p1 tmp table6 into ram for some slow ssd write_failed() error. 50 | 51 | --------------------------------------------------------------------------------- 52 | release v0.6 53 | add "-G" for gpu phase 1 plotting. 54 | 55 | --------------------------------------------------------------------------------- 56 | release v0.5 57 | new algorithm implementation. 58 | add "-R" for 110G ram plotting without ram disk. it plotting directly in ram by bypass the filesystem api. some performance gain. 59 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ARC_PLOT 2 | CPU + GPU plotter. 3 | 4 | update: 5 | 6 | v0.7 have performance increase for 24G gpu like rtx 3090. perf increase 40%. best result : 400 sec /plot. 7 | 8 | new Announcements about "compressed plot" 9 | 10 | [Few facts about "compressed" plot](https://github.com/smartbitcoin/arc_plot/discussions/19) 11 | 12 | ----------------------------------------------------------------------------------------------------------- 13 | 1. Plotter setup: 14 | 15 | a.) standalone 32G ram + 256 SSD 16 | 17 | b.) standalone 128G ram + 128G ssd 18 | 19 | c.) local 32G ram + NRD disk 128G x2 pc 20 | 21 | d.) 128G cpu + 4G+ vram GPU. 22 | 23 | How to run: 24 | 25 | get help: 26 | ```./arc_plot --help``` 27 | 28 | cpu: 32G + SSD 29 | ```./arc_plot -r cpu_core_num ``` 30 | 31 | cpu:110G 32 | ```./arc_plot -R ...``` 33 | 34 | GPU: default setting 35 | ```./arc_plot -G ...``` 36 | 37 | GPU: using multiple gpu like gpu 0,1,2,3 38 | ```./arc_plot -G --gpuid "0123" ...``` 39 | 40 | GPU: using 5 gpu context threads for 12G gpu 41 | ```./arc_plot -G --gthreads 5 ...``` 42 | 43 | above example with short parameters require apend ```-r cpu_core_num -n num_of_plots -u 256 -v 256 -t your_ssd_path -d your_distination_path -c your_contract -f your_farm_key``` at the end. 44 | 45 | ----------------------------------------------------------------------------------------------------------- 46 | 2. Release notes. 47 | 48 | please check: 49 | 50 | https://github.com/smartbitcoin/arc_plot/blob/main/release_notes 51 | 52 | 53 | GPU plotting requirements: 54 | 55 | hardware: 56 | 57 | cpu: *64bit x86 cpu with pci-e 3.0 x16 bus* 58 | 59 | ram: *128G ram* 60 | 61 | gpu: *nvidia cuda compatibility > 7.5 GPU ( 20 or 30 series) with 4G+ vram, support up to 8 GPUs.* 62 | 63 | ssd: *MLC or TLC with good continuous sequence R/S speed. QLC should use raid0. ( found some SSD have fwrite() error if speed lag GPU too much.) 64 | 65 | Software: 66 | 67 | ubuntu 22.04. ( or any linux distribution with kernel compiled by gcc11 ) 68 | 69 | 70 | ----------------------------------------------------------------------------------------------------------- 71 | 3. Benchmark. 72 | 73 | please submit your benchmark by a github ticket 74 | 75 | arc_plot 0.7 for ubuntu 22.04 download link: 76 | 77 | [https://github.com/smartbitcoin/arc_plot/raw/main/arc_plot.0.7.ubuntu22.04.tar.bz2](https://github.com/smartbitcoin/arc_plot/raw/main/arc_plot.0.7.ubuntu22.04.tar.bz2) 78 | 79 | windows user please check: ( not sure how wsl support gpu though.) 80 | 81 | https://github.com/smartbitcoin/arc_plot/wiki/arc_plot-windows-wsl-guide. 82 | 83 | a benchmark can be also found in wiki: 84 | 85 | https://github.com/smartbitcoin/arc_plot/wiki 86 | 87 | briefly compare speed of gpu vs cpu. rtx 3090 = 2 x i9 13900kf for phase1. 88 | 89 | 4. arc_plot still under constrution, but there was some POC video with more details. 90 | 91 | https://www.youtube.com/watch?v=CfmZbIM17ZQ&t=87s 92 | 93 | 94 | ----------------------------------------------------------------------------------------------------------- 95 | 96 | Special thanks to Bladebit as arc_plot learned lots of good design from them and here show highly respect for these complicated project and pioneer's hardwork. 97 | 98 | ARC_PLOT is freeware and if you like this idea and love the arc_plot freeware, please don't forget donate some XCH to support this project. 99 | 100 | xch12qge50ttf5c6lcx7at3295q92wndfapyuvr920j88zdnfqzc8ggqaja0dn 101 | --------------------------------------------------------------------------------