Author

Topic: [ANN] cudaMiner & ccMiner CUDA based mining applications [Windows/Linux/MacOSX] - page 723. (Read 3426922 times)

sr. member
Activity: 350
Merit: 250
I've been thinking that we need our own pool for a while now
we need our coin... something which would work with cuda but would create a huge bottleneck in opencl...
(then complain about about fairness, once it is resolved like all the whiners which populate that forum)

Now this I would like to see. Christian you up for writing a special algo that works well on cuda and crappy for opencl
legendary
Activity: 1400
Merit: 1050
I've been thinking that we need our own pool for a while now
we need our coin... something which would work with cuda but would create a huge bottleneck in opencl...
(then complain about about fairness, once it is resolved like all the whiners which populate that forum)
hero member
Activity: 756
Merit: 502
p.s. check your btc wallet.

I just did and my eyes popped.

OMG WHY?

(no, I wasn't robbed, quite the opposite)

Christian
sr. member
Activity: 350
Merit: 250
I've been thinking that we need our own pool for a while now
hero member
Activity: 756
Merit: 502

If (when) you get this working someone should put up a pool for us nvidia miners to bring some healthy hash to the network. Wink


Yeah, we Westerners should just hijack that coin Wink  The challenge would be to get a working stratum module for this coin (maybe forking some existing stratum repo for some scrypt-jane coin would work).

but what good is that coin if I cannot find any exchanges... BEWARE: there is another coin under the HTC moniker (Hotcoin).  Maybe some of you could scour the Chinese exchanges for any markets trading HTC. I've checked on bter.com and there is nada....zilch....niente

I am looking into how much effort it would be to make this coin cuda-mineable....
newbie
Activity: 37
Merit: 0
Quote from: cbuchner1

Looking at the pool stats of the ONLY mining pool (which has 454 kHash/s) I would say the top miners are most likely GPU farms. The kHash rating per GPU would be in a similar area as for Yacoin, given that the total scratchpad size is about 4 MB.

http://pool.huitongbi.com:8088/index.php?page=statistics&action=pool

Christian


If (when) you get this working someone should put up a pool for us nvidia miners to bring some healthy hash to the network. Wink
hero member
Activity: 756
Merit: 502

does it compile ?

Code:
buchner@Rennsemmel:~/huitongbi_src_r2$ qmake huitongbi-qt.pro
Project MESSAGE: Building with UPNP support
Removed plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.
...
buchner@Rennsemmel:~/huitongbi_src_r2$ make
cd /home/buchner/huitongbi_src_r2/src/leveldb && CC=gcc CXX=g++ make OPT="-m64 -pipe -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2" libleveldb.a libmemenv.a
/bin/sh: 1: ./build_detect_platform: Permission denied
make[1]: Betrete Verzeichnis '/home/buchner/huitongbi_src_r2/src/leveldb'
Makefile:18: build_config.mk: Datei oder Verzeichnis nicht gefunden
make[1]: *** Keine Regel, um »build_config.mk« zu erstellen.  Schluss.
make[1]: Verlasse Verzeichnis '/home/buchner/huitongbi_src_r2/src/leveldb'
make: *** [/home/buchner/huitongbi_src_r2/src/leveldb/libleveldb.a] Fehler 2

the same computer compiled the Blakecoin wallet just fine minutes ago.

but hey, copying in build_config.mk from the same folder in the Blakecoin wallet worked. Now I get this:

Code:
g++ -c -m64 -pipe -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -D_REENTRANT -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -DQT_WEBKIT -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_UPNP=1 -DSTATICLIB -DUSE_IPV6=1 -DHAVE_BUILD_INFO -DLINUX -D_FILE_OFFSET_BITS=64 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/json -Isrc/qt -Isrc/leveldb/include -Isrc/leveldb/helpers -Ibuild -Ibuild -o build/bitcoin.o src/qt/bitcoin.cpp
In file included from src/bignum.h:12:0,
                 from src/chainparams.h:9,
                 from src/base58.h:21,
                 from src/walletdb.h:9,
                 from src/wallet.h:8,
                 from src/qt/walletmodel.h:7,
                 from src/qt/bitcoin.cpp:7:
src/util.h:125:2: Fehler: #error missing boost sleep implementation
make: *** [build/bitcoin.o] Fehler 1

It's a Chinese obstacle course!

the code snippet it barfs on is this:
Code:
#if defined(HAVE_WORKING_BOOST_SLEEP_FOR)
    boost::this_thread::sleep_for(boost::chrono::milliseconds(n));
#elif defined(HAVE_WORKING_BOOST_SLEEP)
    boost::this_thread::sleep(boost::posix_time::milliseconds(n));
#else
  //should never get here  
#error missing boost sleep implementation
#endif

I will simply keep patching bits and pieces with code I find in the Blakecoin wallet Wink

NOW we're getting somewhere. The wallet contains some scrypt-jane code, and apparently we're lacking a global #define that sets which hash function we need.

This is kind of bad, because it keeps me guessing.

Code:
In file included from src/scrypt-jane/scrypt-jane.c:11:0:
src/scrypt-jane/code/scrypt-jane-hash.h: In Funktion »scrypt_hash_init«:
src/scrypt-jane/code/scrypt-jane-hash.h:19:50: Warnung: unbenutzter Parameter »S« [-Wunused-parameter]
src/scrypt-jane/code/scrypt-jane-hash.h: In Funktion »scrypt_hash_update«:
src/scrypt-jane/code/scrypt-jane-hash.h:20:52: Warnung: unbenutzter Parameter »S« [-Wunused-parameter]
src/scrypt-jane/code/scrypt-jane-hash.h:20:70: Warnung: unbenutzter Parameter »in« [-Wunused-parameter]
src/scrypt-jane/code/scrypt-jane-hash.h:20:81: Warnung: unbenutzter Parameter »inlen« [-Wunused-parameter]
src/scrypt-jane/code/scrypt-jane-hash.h: In Funktion »scrypt_hash_finish«:
src/scrypt-jane/code/scrypt-jane-hash.h:21:52: Warnung: unbenutzter Parameter »S« [-Wunused-parameter]
src/scrypt-jane/code/scrypt-jane-hash.h:21:64: Warnung: unbenutzter Parameter »hash« [-Wunused-parameter]
src/scrypt-jane/code/scrypt-jane-hash.h: Auf höchster Ebene:
src/scrypt-jane/code/scrypt-jane-hash.h:23:3: Fehler: #error must define a hash function!


In file included from src/scrypt-jane/scrypt-jane.c:12:0:
src/scrypt-jane/code/scrypt-jane-romix.h: Auf höchster Ebene:
src/scrypt-jane/code/scrypt-jane-romix.h:16:3: Fehler: unbekannter Typname: »scrypt_ROMixfn«
src/scrypt-jane/code/scrypt-jane-romix.h: In Funktion »scrypt_getROMix«:
src/scrypt-jane/code/scrypt-jane-romix.h:16:45: Warnung: return erzeugt Ganzzahl von Zeiger ohne Typkonvertierung [standardmäßig aktiviert]
src/scrypt-jane/code/scrypt-jane-romix.h: Auf höchster Ebene:
src/scrypt-jane/code/scrypt-jane-romix.h:21:3: Fehler: #error must define a mix function!


from what I gather looking at the strings in the windows wallet's EXE file, it seems to use
keccak hash and chacha mix function. So maybe it's a scrypt-jane coin... what isn't clear to me yet is whether it uses keccak256 or keccak512....

From the web page (through Google Translate)

"Remittance currency using the original Scrypt-HTC workload proved algorithm, its enormous amount of computation".

They call it Scrypt-HTC and original. hmm....

I am joining the opinion here: https://bitcointalksearch.org/topic/m.3329194

scrypt-htc is reminscent of scrypt-pgc (Pangu) and scrypt-new (Kingcoin) - just another scrypt-jane that is disguised as a CPU-mining algo while the creators mine on their GPUs

Another interesting quote https://bitcointalksearch.org/topic/m.3347456

From sources - there is scrypt-jane, forked from yacoin, so it must be scrypt-chacha + pbkdf with keccak 512.
Nfactor is 9, rfactor is 5, so for one thread must be used:
for V array
2^(9+1) * 2^5 * 128 / LOOKUP_GAP = 4194304 bytes (for lookup_gap = 1)
+ for X array = 4096 bytes
+ for Y array = 4096 bytes

The ybc-miner will not work with it, as it hardcoded for rfactor = 0.

Theriotically hashing can be run on GPU, but there no gpu-miner available on the internet, maybe someone already has it.

Looking at the pool stats of the ONLY mining pool (which has 454 kHash/s) I would say the top miners are most likely GPU farms. The kHash rating per GPU would be in a similar area as for Yacoin, given that the total scratchpad size is about 4 MB.

http://pool.huitongbi.com:8088/index.php?page=statistics&action=pool

Christian
full member
Activity: 168
Merit: 100
guys, there is a Chinese cryptocurrency called huitongbi and someone asked if I can make a cuda miner for it.

I've looked at the wallet's source code and I find this.

Code:
void scrypt_hash(const void* input, size_t inputlen, uint32_t *res, unsigned char Nfactor)
{
    Nfactor = 9;
    return scrypt((const unsigned char*)input, inputlen,
                  (const unsigned char*)input, inputlen,
                  Nfactor, 5, 0, (unsigned char*)res, 32);
}

a bit later there is this

Code:
       scrypt((const unsigned char*)&data, 80,
               (const unsigned char*)&data, 80,
               Nfactor, 8, 0, (unsigned char*)hash, 32);
        hash_count += 1;

and yet the scrypt function only takes 4 arguments

Code:
static void scrypt(const void* input, size_t inputlen, uint32_t *res, void *scratchpad)


much confused...

code is here: http://pan.baidu.com/wap/share/home?uk=2923272396&third=0

Chinese web page is http://huitongbi.com

and through google translate: http://translate.google.com/translate?sl=zh-CN&tl=en&js=n&prev=_t&hl=de&ie=UTF-8&u=http%3A%2F%2Fhuitongbi.com%2F


Cute name "Gray Copper Coin"
full member
Activity: 199
Merit: 100
Is there a plan for DRK (Darkcoin) support?  Roll Eyes
hero member
Activity: 756
Merit: 502
does it compile ?

will try when I am at home.

This could be one of the coins where having a CUDA miner first would be a nice advantage
(provided that it isn't just standard scrypt mining)

Christian
sr. member
Activity: 350
Merit: 250
Hmm so it's passing 9 values through to a 4 value array?

That seems a little strange, I will go through it and check through the code to see where it might be parsed out separately if you want? Haven't gone through the cudaminer code before. Or any of these code but is seems stupidly similar to language used for arduino
legendary
Activity: 1400
Merit: 1050
guys, there is a Chinese cryptocurrency called huitongbi and someone asked if I can make a cuda miner for it.

I've looked at the wallet's source code and I find this.

Code:
void scrypt_hash(const void* input, size_t inputlen, uint32_t *res, unsigned char Nfactor)
{
    Nfactor = 9;
    return scrypt((const unsigned char*)input, inputlen,
                  (const unsigned char*)input, inputlen,
                  Nfactor, 5, 0, (unsigned char*)res, 32);
}

a bit later there is this

Code:
        scrypt((const unsigned char*)&data, 80,
               (const unsigned char*)&data, 80,
               Nfactor, 8, 0, (unsigned char*)hash, 32);
        hash_count += 1;

and yet the scrypt function only takes 4 arguments

Code:
static void scrypt(const void* input, size_t inputlen, uint32_t *res, void *scratchpad)


much confused...

code is here: http://pan.baidu.com/wap/share/home?uk=2923272396&third=0

Chinese web page is http://huitongbi.com

does it compile ?
hero member
Activity: 756
Merit: 502
guys, there is a Chinese cryptocurrency called huitongbi and someone asked if I can make a cuda miner for it.

I've looked at the wallet's source code and I find this.

Code:
void scrypt_hash(const void* input, size_t inputlen, uint32_t *res, unsigned char Nfactor)
{
    Nfactor = 9;
    return scrypt((const unsigned char*)input, inputlen,
                  (const unsigned char*)input, inputlen,
                  Nfactor, 5, 0, (unsigned char*)res, 32);
}

a bit later there is this

Code:
       scrypt((const unsigned char*)&data, 80,
               (const unsigned char*)&data, 80,
               Nfactor, 8, 0, (unsigned char*)hash, 32);
        hash_count += 1;

and yet the scrypt function only takes 4 arguments

Code:
static void scrypt(const void* input, size_t inputlen, uint32_t *res, void *scratchpad)


much confused...

code is here: http://pan.baidu.com/wap/share/home?uk=2923272396&third=0

Chinese web page is http://huitongbi.com

and through google translate: http://translate.google.com/translate?sl=zh-CN&tl=en&js=n&prev=_t&hl=de&ie=UTF-8&u=http%3A%2F%2Fhuitongbi.com%2F
hero member
Activity: 756
Merit: 502

Cool beans. I'll look forward to it. I have been using a commit from just a few days ago, but I want to play with blake. Not worth my time to set Windows up.


a slow, but working blake implementation is now committed, and this time it's meant for Linux.

Today I used the sph_blake code as a basis for starting out, just like the original blakecoin cpuminer does.
Note that this will become much faster, once I manage to move all the data from local memory to registers.

yesterday's attempt was based on blake256_light.c, with code lifted from here (except for HMAC parts)
https://github.com/davidlazar/BLAKE/blob/master/blake256.c

Christian
hero member
Activity: 756
Merit: 502
Wouldn't be easier to start from the opencl (sgminer) code ?

nope. Trying to not poison my mind with other people's optimizations for other architectures. Wink

I might consider this when I hit a dead-end in my optimization efforts.

newbie
Activity: 34
Merit: 0
you might want to get the latest tagged release instead.

by the way, compilation on windows seemed to work fine for blake.cu

EDIT: I can repro the problem now under Linux. I think I am going to replace the entire blake implementation anyway, as yesterday's approach with some simple and clean blake256 implementation didn't produce compatible hashes. So it's likely the problem will go away as a result.
Cool beans. I'll look forward to it. I have been using a commit from just a few days ago, but I want to play with blake. Not worth my time to set Windows up.

p.s. check your btc wallet.
legendary
Activity: 1400
Merit: 1050
I can't seem to compile the latest commit for blake and I'm not familiar with how to handle nvcc errors like the following:

Code:
nvcc -g -O2 -Xptxas "-abi=no -v" -arch=compute_10 --maxrregcount=64 --ptxas-options=-v  -o blake.o -c blake.cu

### Assertion failure at line 1917 of ../../be/cg/cgemit.cxx:
### Compiler Error in file /tmp/tmpxft_000010b1_00000000-9_blake.cpp3.i during Assembly phase:
### operand 0 is not a register
nvopencc INTERNAL ERROR: /usr/lib/nvidia-cuda-toolkit/lib//be returned non-zero status 1


you might want to get the latest tagged release instead.

by the way, compilation on windows seemed to work fine for blake.cu

EDIT: I can repro the problem now under Linux. I think I am going to replace the entire blake implementation anyway, as yesterday's approach with some simple and clean blake256 implementation didn't produce compatible hashes. So it's likely the problem will go away as a result.

Christian

Wouldn't be easier to start from the opencl (sgminer) code ?
newbie
Activity: 32
Merit: 0
You can get a 4x multiplier card here:

http://www.aliexpress.com/item/PCI-e-PCIe-Express1X-to-4port-1X-multiplier-switch-riser-card-adapter-cable-for-diy-bitcoin/1444567810.html

The only manufacturer that does that. Probably the guy from GPU coin is having some kind of deal with this manufacturer to get 8x multiplier.
I think that 4x is enough, it will save you from investing in a lot of computers.

As of now it is the single manufacturer in China that offers such things.

Good luck in your mining adventures !

do you own such multiplier already? will this really work to load 4 gpu without any performance/bandwidth disadvantages?
hero member
Activity: 756
Merit: 502
I can't seem to compile the latest commit for blake and I'm not familiar with how to handle nvcc errors like the following:

Code:
nvcc -g -O2 -Xptxas "-abi=no -v" -arch=compute_10 --maxrregcount=64 --ptxas-options=-v  -o blake.o -c blake.cu

### Assertion failure at line 1917 of ../../be/cg/cgemit.cxx:
### Compiler Error in file /tmp/tmpxft_000010b1_00000000-9_blake.cpp3.i during Assembly phase:
### operand 0 is not a register
nvopencc INTERNAL ERROR: /usr/lib/nvidia-cuda-toolkit/lib//be returned non-zero status 1


you might want to get the latest tagged release instead.

by the way, compilation on windows seemed to work fine for blake.cu

EDIT: I can repro the problem now under Linux. I think I am going to replace the entire blake implementation anyway, as yesterday's approach with some simple and clean blake256 implementation didn't produce compatible hashes. So it's likely the problem will go away as a result.

Christian
Jump to: