Linux Plotting/mining

  • @damncourier Or that drive I think is ntfs

  • @Xander52 personally haven't messed with ntfs extensions in awhile

    have you tried on ext4?

  • @damncourier oh no its ext4

  • maybe check the dmesg for shits and giggles, sorry clutching at straws

  • @damncourier said in Linux Plotting/mining:


    Did not see anything.

  • @damncourier I might just run my gaming machine on xplotter while I sleep (or I guess I could partition and install windows)(

  • yeah sorry, usually only thing needed is 64 bit linux

    don't know enough about c but assume one of the permissions on open function is failing

    ofd = open(name, O_CREAT | O_LARGEFILE | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
    if(ofd < 0) {
    	printf("Error opening file %s\n", name);

  • @damncourier Nah its fine no big deal I will probably just install windows

  • Just finished unix/darwin plotter to work same way as XPlotter does: produce fully optimized plots directly. It requires super user rights to prealloc file without filling it zeroes. It is some kind of unsafe, because software may have access to old deleted files. But in case of plotter I think it is not a problem.

    You can download and try from this branch:

    Here is my PR to original repo:

    I've tried it only on macOS, you can help me to test it on linux.

    My MacBook Pro Retina 15" Mid 2015 (2,2 GHz Intel Core i7) with AVX2 core:

    $ sudo time ./plot -k 1893347256907199281 -x 2 -d /Volumes/HDD1 -n 3801088 -s 0 -m 16384 -t 8
    Using AVX2 core.
    Total generation steps: 464
    Creating plots for nonces 0 to 3801088 (997 GB) using 4096 MB memory and 8 threads
    Using fcntl::F_SETSIZE to expand file size to 950272GB
    35.13% Percent done. 10302 nonces/minute, 4:00 left 

    produces 996GB plot: 1893347256907199281_0_3801088_3801088

  • @k06a thanks for writing this and sharing this!

    testing on ubuntu seems good

    [email protected]:~/bc/plotter/mjminer-fix-optimize$ uname -a
    Linux monster 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
    [email protected]:~/bc/plotter/mjminer-fix-optimize$ ./plot -k 6741243138549807594 -x 2 -s 5000000000 -n 139264
    Using AVX2 core.
    Total generation steps: 12
    Creating plots for nonces 5000000000 to 5000139260 (36 GB) using 5802 MB memory and 4 threads
    Using ftruncate to expand file size to 34815GB
    100.00% Percent done. 5465 nonces/minute, 0:02 left                
    Finished plotting.
    [email protected]:~/bc/plotter/mjminer-fix-optimize$ ls -lah plots/
    total 34G
    drwxr--r-- 2 beckett beckett 4.0K Jun  9 06:14 .
    drwxrwxr-x 3 beckett beckett 4.0K Jun  9 05:52 ..
    -rw-r--r-- 1 beckett beckett  34G Jun  9 06:41 6741243138549807594_5000000000_139260_139260

    haven't used a miner on the plot yet but it looks good to me!

    also will provide testing under debian

  • @damncourier I've checked it by plotting and optimising same file with original version and comparing md5's than.

  • @k06a good tip on using md5's

    miner was throwing pool errors like the plot files were corrupt.

    [email protected]:~/bc/plotter/mjminer-fix-optimize$ md5sum plots/6741243138549807594_6000000000_12288_12288 
    191f42febeed830905f6af8d0aea90dc  plots/6741243138549807594_6000000000_12288_12288
    [email protected]:~/bc/plotter/mjminer-fix-optimize$ md5sum ~/bc/plotter/mdcct-master/plots/6741243138549807594_6000000000_12288_12288 
    e355faca3ca6d43c81c152c196060836  /home/beckett/bc/plotter/mdcct-master/plots/6741243138549807594_6000000000_12288_12288

    might try os x just for comparison

    let me know if there is more i can provide to help you.

  • @damncourier can you give me command you used for plotting?

  • @k06a sure

    [email protected]:~/bc/plotter/mjminer-fix-optimize$ ./plot -k 6741243138549807594 -x 2 -s 6000000000 -n 12288 -t 4
    Using AVX2 core.
    Total generation steps: 2
    Creating plots for nonces 6000000000 to 6000012288 (3 GB) using 3072 MB memory and 4 threads
    Using ftruncate to expand file size to 3072GB
    100.00% Percent done. 12976 nonces/minute, 0:00 left                
    Finished plotting.

    same command on mdcct (had enough ram no optimize needed at that size)

    would it help to try different core (-x <n>)? (edit tried without change to md5)

  • @damncourier thanks for reporting! Just fixed bug. Try newest version.

    $ sudo ./plot -k 6741243138549807594 -x 2 -d ./ -n 12288 -s 6000000000 -m 12288 -t 8
    Using AVX2 core.
    Total generation steps: 2
    Creating plots for nonces 6000000000 to 6000012288 (3 GB) using 3072 MB memory and 8 threads
    Using fcntl::F_SETSIZE to expand file size to 3GB
    100.00% Percent done. 10457 nonces/minute, 0:00 left                
    Finished plotting.
    $ md5 6741243138549807594_6000000000_12288_12288
    MD5 (6741243138549807594_6000000000_12288_12288) = e355faca3ca6d43c81c152c196060836

  • @k06a I will try this as soon as I can and let you know how it works

  • @k06a awesome, that produced correct file, thank you some much!

    though now i have a feature request, feel free to disregard if it is a huge pain in the ass because a optimized cpu plotter for linux and os x is a huge contribution already.

    a version or build option that uses sphlib shabal (or other none chip specific implementation) instead of mshabal assembly. i suppose this was what the dcct plotter used but i am unable to find a copy. this would remove 64 bit requirement (i have seen one request on discord for 32 bit linux plotter which was directed to the pocminer java version (never used this so dunno how it performs esp on 32 bit systems)) and should enable plotting on non x86 systems (a lot of interest on raspberry pi mining, don't know if plotting would be worth it but i have a pi3 and would be willing to try, also willing to trying on linux 32 and linux ppc). i know mshabal is used for performance reasons so another implementation would be slower.

    as i have said i dunno how difficult this would be but it would provide native plotting to anything running linux (or unix-like) and able to compile c. just an idea that i had awhile ago.

    anyway thanks so much!

  • @damncourier did you mean mshabal do not support 32bit?

  • @k06a sorry did my reading

    from mshabal site

    SSE2 instructions are available on all Intel processors from the Pentium 4 onward, and are a standard part of the 64-bit ABI.

    i was trying on p3 with "make OS_32BIT=1" which doesn't remove sse2 instruction set

    advice on make options or Makefile edits to remove sse4 source files completely?