Pages:
Author

Topic: CCminer M7 (XCN) by djm34, fixed + optimized for cuda 8 and new cards by PALLAS - page 10. (Read 52608 times)

legendary
Activity: 1504
Merit: 1002
If you can wait a bit, I will commit the changes to github.

Thank You!  I can wait.
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
If you can wait a bit, I will commit the changes to github.
legendary
Activity: 1504
Merit: 1002
nvcc is not in the PATH.
find it and then:

export PATH=***nvcc directory***:$PATH

if you install cuda by .run file, it will be into a subdir of /usr/local, don't know about the deb method.
you can run "find / -xdev -name nvcc" if unsure.

OK, GOOD, NVCC IS THERE--

But, then "make" failed on not finding "gcc-4.9".  An attempt to install v4.9 revealed that  gcc-4.9 was up-to-date.  I then created a symlink to the "/usr/bin/gcc-4.8" directory with "sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc-4.9".  

On returning to the "pallas" directory, I issued the command "make", and the compilation continued from where it had errored out.  The compilation is running while I type this.  

VOILA'  It compiled!!!! I  ran the "--help" command.  Right now, the machine is mining Ethereum (ETH), and I will check out your work sometime today.  Thank you, Pallas!

--scryptr

Evening scryptr - I tried your method above - in full disclosure - I am a Ubuntu noob.  I keep running into this error and have tried now for 24 hours with no luck to get past this point.  I am running Ubuntu 14.04 LTS.

The error:
nvcc -g -O2 -I . -Xptxas "-v" --compiler-bindir /usr/bin/gcc-4.9 -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" --maxrregcount=80 --ptxas-options=-v -I./compat/jansson -o heavy/cuda_blake512.o -c heavy/cuda_blake512.cu
heavy/cuda_blake512.cu(11): error: invalid redeclaration of type name "uint64_t"
/usr/include/stdint.h(55): here

1 error detected in the compilation of "/tmp/tmpxft_00003be0_00000000-9_cuda_blake512.compute_52.cpp1.ii".
make[2]: *** [heavy/cuda_blake512.o] Error 2
make[2]: Leaving directory `/home/pokeytex/Downloads/ccminer-m7-branch-master'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pokeytex/Downloads/ccminer-m7-branch-master'
make: *** [all] Error 2

Any help is appreciated.

Thanks - pokeytex

your system headers have those typedefs already defined. probably gcc 5.4, the issue wasn't there with older compilers.
you need to remove those definitions at the beginning of the related files.
there are a bunch.
or use gcc 4.9 (the default for this fork).


@pallas  I am not sure what you mean by typedefs.  I am running Ubuntu 14.04 - clean install on an intel box.  I believe the 64 bit version.  I installed all basic stuff and have followed along on all of the tutorials so far.  The error I am getting is based in GCC - I downloaded gcc 4.9 but get the same error still.  I refuse to give up! :-)  Any more advice please?  With a cherry on top!
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
nvcc is not in the PATH.
find it and then:

export PATH=***nvcc directory***:$PATH

if you install cuda by .run file, it will be into a subdir of /usr/local, don't know about the deb method.
you can run "find / -xdev -name nvcc" if unsure.

OK, GOOD, NVCC IS THERE--

But, then "make" failed on not finding "gcc-4.9".  An attempt to install v4.9 revealed that  gcc-4.9 was up-to-date.  I then created a symlink to the "/usr/bin/gcc-4.8" directory with "sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc-4.9".  

On returning to the "pallas" directory, I issued the command "make", and the compilation continued from where it had errored out.  The compilation is running while I type this.  

VOILA'  It compiled!!!! I  ran the "--help" command.  Right now, the machine is mining Ethereum (ETH), and I will check out your work sometime today.  Thank you, Pallas!

--scryptr

Evening scryptr - I tried your method above - in full disclosure - I am a Ubuntu noob.  I keep running into this error and have tried now for 24 hours with no luck to get past this point.  I am running Ubuntu 14.04 LTS.

The error:
nvcc -g -O2 -I . -Xptxas "-v" --compiler-bindir /usr/bin/gcc-4.9 -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" --maxrregcount=80 --ptxas-options=-v -I./compat/jansson -o heavy/cuda_blake512.o -c heavy/cuda_blake512.cu
heavy/cuda_blake512.cu(11): error: invalid redeclaration of type name "uint64_t"
/usr/include/stdint.h(55): here

1 error detected in the compilation of "/tmp/tmpxft_00003be0_00000000-9_cuda_blake512.compute_52.cpp1.ii".
make[2]: *** [heavy/cuda_blake512.o] Error 2
make[2]: Leaving directory `/home/pokeytex/Downloads/ccminer-m7-branch-master'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pokeytex/Downloads/ccminer-m7-branch-master'
make: *** [all] Error 2

Any help is appreciated.

Thanks - pokeytex

your system headers have those typedefs already defined. probably gcc 5.4, the issue wasn't there with older compilers.
you need to remove those definitions at the beginning of the related files.
there are a bunch.
or use gcc 4.9 (the default for this fork).
legendary
Activity: 1504
Merit: 1002
nvcc is not in the PATH.
find it and then:

export PATH=***nvcc directory***:$PATH

if you install cuda by .run file, it will be into a subdir of /usr/local, don't know about the deb method.
you can run "find / -xdev -name nvcc" if unsure.

OK, GOOD, NVCC IS THERE--

But, then "make" failed on not finding "gcc-4.9".  An attempt to install v4.9 revealed that  gcc-4.9 was up-to-date.  I then created a symlink to the "/usr/bin/gcc-4.8" directory with "sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc-4.9".  

On returning to the "pallas" directory, I issued the command "make", and the compilation continued from where it had errored out.  The compilation is running while I type this.  

VOILA'  It compiled!!!! I  ran the "--help" command.  Right now, the machine is mining Ethereum (ETH), and I will check out your work sometime today.  Thank you, Pallas!

--scryptr

Evening scryptr - I tried your method above - in full disclosure - I am a Ubuntu noob.  I keep running into this error and have tried now for 24 hours with no luck to get past this point.  I am running Ubuntu 14.04 LTS.

The error:
nvcc -g -O2 -I . -Xptxas "-v" --compiler-bindir /usr/bin/gcc-4.9 -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" --maxrregcount=80 --ptxas-options=-v -I./compat/jansson -o heavy/cuda_blake512.o -c heavy/cuda_blake512.cu
heavy/cuda_blake512.cu(11): error: invalid redeclaration of type name "uint64_t"
/usr/include/stdint.h(55): here

1 error detected in the compilation of "/tmp/tmpxft_00003be0_00000000-9_cuda_blake512.compute_52.cpp1.ii".
make[2]: *** [heavy/cuda_blake512.o] Error 2
make[2]: Leaving directory `/home/pokeytex/Downloads/ccminer-m7-branch-master'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pokeytex/Downloads/ccminer-m7-branch-master'
make: *** [all] Error 2

Any help is appreciated.

Thanks - pokeytex
newbie
Activity: 54
Merit: 0
Honestly this topic is ...
Still no windows compile after few weeks.
We better donate to tpruvot, he's the man !!

Peace
member
Activity: 96
Merit: 25
Would there be much involved in changing the cuda toolkit used to 8.0 so it compiles with VS2015?

It does use cuda 8 already and compiles fine on linux and, I assume, Windows with mingw. For visual studio, I think you need to update the project file.

That's what I thought but when using the master branch from github it tries to use 6.5.

line 54: "The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 6.5.props" was not found"  I only have 8.0 in that folder.
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
Would there be much involved in changing the cuda toolkit used to 8.0 so it compiles with VS2015?

It does use cuda 8 already and compiles fine on linux and, I assume, Windows with mingw. For visual studio, I think you need to update the project file.
member
Activity: 96
Merit: 25
Would there be much involved in changing the cuda toolkit used to 8.0 so it compiles with VS2015?
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
Code:
		m7_keccak512_cpu_hash(thr_id, throughput*tp_coef_f[thr_id], pdata[29], KeccakH[thr_id], order++);
m7_sha512_cpu_hash_120(thr_id, throughput*tp_coef_f[thr_id], pdata[29], d_prod1[thr_id], order++);
    cpu_mulT4(0, throughput*tp_coef_f[thr_id], 8, 8, d_prod1[thr_id], KeccakH[thr_id], d_prod0[thr_id],order); //64
// MyStreamSynchronize(0,order++,thr_id);

    m7_whirlpool512_cpu_hash_120(thr_id, throughput*tp_coef_f[thr_id], pdata[29], KeccakH[thr_id], order++);
cpu_mulT4(0, throughput*tp_coef_f[thr_id],8, 16, KeccakH[thr_id], d_prod0[thr_id], d_prod1[thr_id],order); //128
// MyStreamSynchronize(0,order++,thr_id);

m7_sha256_cpu_hash_120(thr_id, throughput*tp_coef_f[thr_id], pdata[29], KeccakH[thr_id], order++);
cpu_mulT4(0, throughput*tp_coef_f[thr_id], 4, 24, KeccakH[thr_id], d_prod1[thr_id], d_prod0[thr_id],order); //96
// MyStreamSynchronize(0,order++,thr_id);

m7_haval256_cpu_hash_120(thr_id, throughput*tp_coef_f[thr_id], pdata[29], KeccakH[thr_id], order++);
cpu_mulT4(0, throughput*tp_coef_f[thr_id], 4, 28, KeccakH[thr_id], d_prod0[thr_id], d_prod1[thr_id],order);  //112
// MyStreamSynchronize(0,order++,thr_id);

m7_tiger192_cpu_hash_120(thr_id, throughput*tp_coef_f[thr_id], pdata[29], KeccakH[thr_id], order++);
m7_bigmul_unroll1_cpu(thr_id, throughput*tp_coef_f[thr_id], KeccakH[thr_id], d_prod1[thr_id], d_prod0[thr_id],order);
// MyStreamSynchronize(0,order++,thr_id);

m7_ripemd160_cpu_hash_120(thr_id, throughput*tp_coef_f[thr_id], pdata[29], KeccakH[thr_id], order++);
m7_bigmul_unroll2_cpu(thr_id, throughput*tp_coef_f[thr_id], KeccakH[thr_id], d_prod0[thr_id], d_prod1[thr_id],order);
// MyStreamSynchronize(0,order++,thr_id);

uint32_t foundNonce = m7_sha256_cpu_hash_300(thr_id, throughput*tp_coef_f[thr_id], pdata[29], NULL, d_prod1[thr_id], order);

someone must rewrite this(join in one function) to prevent to many memory writes... like Tanguy Pruvot did with lbry miner.

no, it will be much slower.
you can do it with lbry because they are a few little hashes, those are 7 (+ all the muls) and some are much heavier (like whirlpool).
full member
Activity: 243
Merit: 105
Code:
		m7_keccak512_cpu_hash(thr_id, throughput*tp_coef_f[thr_id], pdata[29], KeccakH[thr_id], order++);
m7_sha512_cpu_hash_120(thr_id, throughput*tp_coef_f[thr_id], pdata[29], d_prod1[thr_id], order++);
    cpu_mulT4(0, throughput*tp_coef_f[thr_id], 8, 8, d_prod1[thr_id], KeccakH[thr_id], d_prod0[thr_id],order); //64
// MyStreamSynchronize(0,order++,thr_id);

    m7_whirlpool512_cpu_hash_120(thr_id, throughput*tp_coef_f[thr_id], pdata[29], KeccakH[thr_id], order++);
cpu_mulT4(0, throughput*tp_coef_f[thr_id],8, 16, KeccakH[thr_id], d_prod0[thr_id], d_prod1[thr_id],order); //128
// MyStreamSynchronize(0,order++,thr_id);

m7_sha256_cpu_hash_120(thr_id, throughput*tp_coef_f[thr_id], pdata[29], KeccakH[thr_id], order++);
cpu_mulT4(0, throughput*tp_coef_f[thr_id], 4, 24, KeccakH[thr_id], d_prod1[thr_id], d_prod0[thr_id],order); //96
// MyStreamSynchronize(0,order++,thr_id);

m7_haval256_cpu_hash_120(thr_id, throughput*tp_coef_f[thr_id], pdata[29], KeccakH[thr_id], order++);
cpu_mulT4(0, throughput*tp_coef_f[thr_id], 4, 28, KeccakH[thr_id], d_prod0[thr_id], d_prod1[thr_id],order);  //112
// MyStreamSynchronize(0,order++,thr_id);

m7_tiger192_cpu_hash_120(thr_id, throughput*tp_coef_f[thr_id], pdata[29], KeccakH[thr_id], order++);
m7_bigmul_unroll1_cpu(thr_id, throughput*tp_coef_f[thr_id], KeccakH[thr_id], d_prod1[thr_id], d_prod0[thr_id],order);
// MyStreamSynchronize(0,order++,thr_id);

m7_ripemd160_cpu_hash_120(thr_id, throughput*tp_coef_f[thr_id], pdata[29], KeccakH[thr_id], order++);
m7_bigmul_unroll2_cpu(thr_id, throughput*tp_coef_f[thr_id], KeccakH[thr_id], d_prod0[thr_id], d_prod1[thr_id],order);
// MyStreamSynchronize(0,order++,thr_id);

uint32_t foundNonce = m7_sha256_cpu_hash_300(thr_id, throughput*tp_coef_f[thr_id], pdata[29], NULL, d_prod1[thr_id], order);

someone must rewrite this(join in one function) to prevent to many memory writes... like Tanguy Pruvot did with lbry miner.
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
hm, is there source code? just require compile?

yes it's on git, see first post.

what version there is there on git, the one that does 20MH?

the one that works on cuda8 and pascal and is about 10% faster than the code base (djm version).
legendary
Activity: 3248
Merit: 1070
hm, is there source code? just require compile?

yes it's on git, see first post.

what version there is there on git, the one that does 20MH?
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
hm, is there source code? just require compile?

yes it's on git, see first post.
full member
Activity: 269
Merit: 100
hm, is there source code? just require compile?
legendary
Activity: 1750
Merit: 1024
Weird there isn't anyone around willing to compile this. I even offered some devs BTC to compile it and fix the bugs, no one has responded.
member
Activity: 96
Merit: 25
I still have a 2y/o copy of djm34's Cryptonite miner m7_v5 for windows using cuda 6.5 if anyone wants.
Was the best I could find for gtx 650/750/750ti back then.
Gets around 5MH/s on the 750ti and works well with Suprnova.
newbie
Activity: 54
Merit: 0
Someone can link me his compile windows version please?
Thanks
legendary
Activity: 1797
Merit: 1028
Cuda 8 final is out, no need to register and get the rc.

GOOD! WE CAN USE WGET--

The packages can be downloaded to a headless rig with wget, lynx, or curl under Linux.  Then simply read the online Install manual at nVidia, and stepwise upgrade to CUDA 8.0.  My 750ti rig is now CUDA 8.0 compliant.  I was able to compile KlausT's CCminer-CryptoNight and it will mine on NiceHash.  He updated the extranonce functions required there from tsiv's 2014 version.
       --scryptr
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
Cuda 8 final is out, no need to register and get the rc.
Pages:
Jump to: