Bitcoin Forum
October 22, 2017, 11:10:13 PM *
News: Latest stable version of Bitcoin Core: 0.15.0.1  [Torrent]. (New!)
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 ... 72 »
  Print  
Author Topic: [ANN] [SKC] Skeincoin 0.9.3.1 | Skein-SHA2  (Read 154122 times)
broketech
Member
**
Offline Offline

Activity: 104


View Profile
November 25, 2013, 06:18:20 PM
 #241

Quote
Wanted to Buy Skeincoin.  Paying 1LTC per 10k Skein or 0.25 BTC per 20k Skein.

missing a zero   Wink

Sysadmin - Troubleshooter - Armchair Debugger
BTC: 1PCocLTxLJP4L1d1Gigjhxoy2WypifA4Cy - UN: uQAR2PhjtdvNvbbh4JC4wJdx3SCh2W4xB4 - SKC: SR81M5iqLkRB6PjZgkpNkpz1G7KmY3zceL
1508713813
Hero Member
*
Offline Offline

Posts: 1508713813

View Profile Personal Message (Offline)

Ignore
1508713813
Reply with quote  #2

1508713813
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
Majormax
Legendary
*
Offline Offline

Activity: 1484


View Profile WWW
November 26, 2013, 12:27:47 AM
 #242

Quote
Wanted to Buy Skeincoin.  Paying 1LTC per 10k Skein or 0.25 BTC per 20k Skein.

missing a zero   Wink

I have obviously made an error. Prices don't match in LTC or BTC. No deals until I recheck the correct prices !
daemonfox
Hero Member
*****
Offline Offline

Activity: 630



View Profile
November 26, 2013, 12:50:57 AM
 #243

Is there something wrong with SKC? Is it mining and difficulty keeping up properly? Is the wallet crashing or forking?

So... what you're saying is... most people are just bitching because A. there is no compiled, dedicated GPU miner... and B. no exchange has picked this up so people can dump and feel better about using their hashrates?

I've been mining SKC for weeks... I rarely even check my miner or wallet... only to make sure it is indeed mining... and I am happy with my results thus far with only a couple of i5s.

If all you have to bitch about is you can't GPU mine and you can't list your stash on an exchange, no wonder the dev is silent... THEY DON'T WANT YOU PUMPING AND DUMPING THIS COIN!!!!!

There is nothing to fix, hence the dev should be able to just sit back and watch their creation unfold... have some GD patience... jeez.

I'll be holding my SKC just like I held my MEC through thick and thin until I cashed half today at it's peak... bought all new pieces for a gaming rig from Amazon through Gyft purely from MEC profits... one day SKC will do the same.

.ZenCash. █████
█████ ██
▀▀▀▀▀ ▀▀
▄▄▄ ███
▀▀▀ ▀▀▀
   ████
   ▀▀▀▀
███   ▄
███  ▄▄▄
   ▄▄ ███
  ▄
▄▄▄▄▄
    █████
██ █████
█████
█████ ██
▀▀▀▀▀ ▀▀
▄▄▄ ███
▀▀▀ ▀▀▀
   ████
   ▀▀▀▀
███   ▄
███  ▄▄▄
   ▄▄ ███
  ▄
▄▄▄▄▄
    █████
██ █████
slack   III   ANN Thread   III   Blog
Telegram   III   forum   III   twitter

▬▬▬▬▬▬▬▬▬▬▬▬▬  ZEN
Majormax
Legendary
*
Offline Offline

Activity: 1484


View Profile WWW
November 26, 2013, 10:00:59 AM
 #244

wanted to buy Skeincoin. UPDATED PRICE...
10k SKC for 0.014 BTC      or 1LTC
5k SKC for  0.007 BTC       or 0.5LTC
Gunther
Legendary
*
Offline Offline

Activity: 826


View Profile
November 26, 2013, 09:14:50 PM
 #245

Daemonfox: we'll see, we'll see. I'm keeping my SKC's by the way. Those prices are ridiculous imo.
This is the first coin i've seriously mined, so it's my favorite. But what 's the use of a coin without a value?
mladen00
Legendary
*
Offline Offline

Activity: 1414


K-ing®


View Profile
November 27, 2013, 06:16:58 AM
 #246

I'm keeping it too. It's my first 1000+ coin, so i'm attached to SKC.
I wont sell SKC, untill price is so bad.
But...what is a good price for SKC?
When SKC will be on market?

Any news from creator of SKC?

asor
Hero Member
*****
Offline Offline

Activity: 788



View Profile
November 27, 2013, 08:29:13 AM
 #247

I'm keeping it too. It's my first 1000+ coin, so i'm attached to SKC.
I wont sell SKC, untill price is so bad.
But...what is a good price for SKC?
When SKC will be on market?

Any news from creator of SKC?

I mined over 1000 XenCoins and they were nearly worthless.
Some people have GPU implementations for SKC and they are able to mine 1000 SKC in 1 hr. So when SKC will be traded on Cryptsy or somewhere else, I think 1000 SKC is nothing...
barwizi
Legendary
*
Offline Offline

Activity: 868



View Profile
November 27, 2013, 08:45:24 AM
 #248

I maintain, 0.125 LTC per 2500. I pay fast and accurate. buying 400k.

LAUDA = SCAMMER, THE WORST MANAGER IN BITCOINALK, DO NOT TRADE WITH LAUDA
LAUDA = SCAMMER, THE WORST MANAGER IN BITCOINALK, DO NOT TRADE WITH LAUDA
LAUDA = SCAMMER, THE WORST MANAGER IN BITCOINALK, DO NOT TRADE WITH LAUDA
LAUDA = SCAMMER, THE WORST MANAGER IN BITCOINALK, DO NOT TRADE WITH LAUDALAUDA = SCAMMER, THE WORST MANAGER IN BITCOINALK, DO NOT TRADE WITH LAUDA
LAUDA = SCAMMER, THE WORST MANAGER IN BITCOINALK, DO NOT TRADE WITH LAUDA
LAUDA = SCAMMER, THE WORST MANAGER IN BITCOINALK, DO NOT TRADE WITH LAUDA
LAUDA = SCAMMER, THE WORST MANAGER IN BITCOINALK, DO NOT TRADE WITH LAUDA
ziegengert
Newbie
*
Offline Offline

Activity: 19


View Profile
November 27, 2013, 07:03:41 PM
 #249

I'm keeping it too. It's my first 1000+ coin, so i'm attached to SKC.
I wont sell SKC, untill price is so bad.
But...what is a good price for SKC?
When SKC will be on market?

Any news from creator of SKC?

I mined over 1000 XenCoins and they were nearly worthless.
Some people have GPU implementations for SKC and they are able to mine 1000 SKC in 1 hr. So when SKC will be traded on Cryptsy or somewhere else, I think 1000 SKC is nothing...

Sorry but I have to disagree with you:

As it seems there is no hidden miner making 1000SKC/h or what ever with his GPU; this you can find out by just comparing some numbers:
There is only one pool mining a signifant amount of SKC on "coinmine" ( 24200 coins per day that is roughly the 32 SKC per 2min).
Top miners now mine with 10-27 Mh/s. My simple now already nearly 3 years old notebook, with a i7 reaches arround
1,2 Mh/s. So with some high end machine and - lets say- a bit affinitly 10 Mh/s is totally ecspectable.

I also think you cannot compare Skeincoins to XenCoin, because:
XenCoin had been premined (5% = 105mln coin allready in the beginning ); I think this is always bad
if you want to have a currency with high value and trust, when there are a lot of alternatives.
And the generation rate of XenCoins is 37.5 times higher (200 XenCoins per 20 sec vs. 32 SkeinCoinds per 120 sec)
asor
Hero Member
*****
Offline Offline

Activity: 788



View Profile
November 27, 2013, 09:28:49 PM
 #250

I'm keeping it too. It's my first 1000+ coin, so i'm attached to SKC.
I wont sell SKC, untill price is so bad.
But...what is a good price for SKC?
When SKC will be on market?

Any news from creator of SKC?

I mined over 1000 XenCoins and they were nearly worthless.
Some people have GPU implementations for SKC and they are able to mine 1000 SKC in 1 hr. So when SKC will be traded on Cryptsy or somewhere else, I think 1000 SKC is nothing...

Sorry but I have to disagree with you:

As it seems there is no hidden miner making 1000SKC/h or what ever with his GPU; this you can find out by just comparing some numbers:
There is only one pool mining a signifant amount of SKC on "coinmine" ( 24200 coins per day that is roughly the 32 SKC per 2min).
Top miners now mine with 10-27 Mh/s. My simple now already nearly 3 years old notebook, with a i7 reaches arround
1,2 Mh/s. So with some high end machine and - lets say- a bit affinitly 10 Mh/s is totally ecspectable.

I also think you cannot compare Skeincoins to XenCoin, because:
XenCoin had been premined (5% = 105mln coin allready in the beginning ); I think this is always bad
if you want to have a currency with high value and trust, when there are a lot of alternatives.
And the generation rate of XenCoins is 37.5 times higher (200 XenCoins per 20 sec vs. 32 SkeinCoinds per 120 sec)

I'm able to mine SKC at 30 MHs (some i7, FX8350 et al) but other coins are more profitable. That's the reason I'm currently not mining SKC and also the reason why you currently see no one mines SKC using his GPU. redorder and some other people also mined on coinmine at 160 MHs - others 330 MHs. redorder already posted his code for mining SKC using poclbm here: https://bitcointalk.org/index.php?topic=322828.msg3584121#msg3584121
Red Kendra also confirmed that it's not that difficult to create a GPU miner. I'm not a OpenCL/GPU developer but I also created an OpenCL implementation for this coin...

I agree with you that it's not that easy to compare SKC and XEN. It was my mistake. But as long as the coin isn't on any exchange yet, it isn't worth anything... that's also the reason I'm selling (better: sold) all my mined SKC coins.
ludd
Newbie
*
Offline Offline

Activity: 21


View Profile
November 27, 2013, 09:34:57 PM
 #251

where can i sell my 1200 SKC?
asor
Hero Member
*****
Offline Offline

Activity: 788



View Profile
November 27, 2013, 09:41:50 PM
 #252

where can i sell my 1200 SKC?

barwizi or Majormax
Majormax
Legendary
*
Offline Offline

Activity: 1484


View Profile WWW
November 28, 2013, 01:32:19 AM
 #253

where can i sell my 1200 SKC?

I will pay 0.0015 BTC for 1200
Majormax
Legendary
*
Offline Offline

Activity: 1484


View Profile WWW
November 28, 2013, 01:35:29 AM
 #254

Paying 1LTC for 12000 SKC

surfer43
Sr. Member
****
Offline Offline

Activity: 420



View Profile
November 28, 2013, 12:59:09 PM
 #255

I will pay .03 BTC for 30K SKC
D4T
Newbie
*
Offline Offline

Activity: 13


View Profile
November 28, 2013, 03:16:37 PM
 #256

Not to claim the bounty, but here goes my kernel. Poclbm API, hashes at ~140MHs @7870 @1150MHz. Probably best with modern SDK and GCN, being vectors and all. Feel free to use it whatever you like.
Code:
#include "crycl.h"

inline uint sha256_res(uint16 data)
{
    u32 temp1, W[62];
    vstore16(TOBE32V16(data), 0, W);

#define S0(x) (ROL32(x, 25) ^ ROL32(x, 14) ^  SHR(x, 3))
#define S1(x) (ROL32(x, 15) ^ ROL32(x, 13) ^  SHR(x, 10))

#define S2(x) (ROL32(x, 30) ^ ROL32(x, 19) ^ ROL32(x, 10))
#define S3(x) (ROL32(x, 26) ^ ROL32(x, 21) ^ ROL32(x, 7))

#define F0(y, x, z) bitselect(z, y, z ^ x)
#define F1(x, y, z) bitselect(z, y, x)

#define R(t)                                    \
(                                               \
    W[t] = S1(W[t -  2]) + W[t -  7] +          \
           S0(W[t - 15]) + W[t - 16]            \
)

#define RD(t)                                   \
(                                               \
    S1(W[t -  2]) + W[t -  7] +                 \
           S0(W[t - 15]) + W[t - 16]            \
)

#define P(a,b,c,d,e,f,g,h,x,K)                  \
{                                               \
    temp1 = h + S3(e) + F1(e,f,g) + K + x;      \
    d += temp1; h = temp1 + S2(a) + F0(a,b,c);  \
}
#define PS(a,b,c,d,e,f,g,h,S)                  \
{                                               \
    temp1 = h + S3(e) + F1(e,f,g) + S;      \
    d += temp1; h = temp1 + S2(a) + F0(a,b,c);              \
}

#define PSLAST(a,b,c,d,e,f,g,h,S)                  \
{                                               \
    d += h + S3(e) + F1(e,f,g) + S;              \
}

    uint8 state = (uint8)(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19);
    uint8 vars = state;

    P( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, W[ 0], 0x428A2F98 );
    P( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, W[ 1], 0x71374491 );
    P( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, W[ 2], 0xB5C0FBCF );
    P( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, W[ 3], 0xE9B5DBA5 );
    P( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, W[ 4], 0x3956C25B );
    P( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, W[ 5], 0x59F111F1 );
    P( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, W[ 6], 0x923F82A4 );
    P( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, W[ 7], 0xAB1C5ED5 );
    P( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, W[ 8], 0xD807AA98 );
    P( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, W[ 9], 0x12835B01 );
    P( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, W[10], 0x243185BE );
    P( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, W[11], 0x550C7DC3 );
    P( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, W[12], 0x72BE5D74 );
    P( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, W[13], 0x80DEB1FE );
    P( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, W[14], 0x9BDC06A7 );
    P( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, W[15], 0xC19BF174 );
    P( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, R(16), 0xE49B69C1 );
    P( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, R(17), 0xEFBE4786 );
    P( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, R(18), 0x0FC19DC6 );
    P( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, R(19), 0x240CA1CC );
    P( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, R(20), 0x2DE92C6F );
    P( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, R(21), 0x4A7484AA );
    P( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, R(22), 0x5CB0A9DC );
    P( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, R(23), 0x76F988DA );
    P( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, R(24), 0x983E5152 );
    P( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, R(25), 0xA831C66D );
    P( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, R(26), 0xB00327C8 );
    P( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, R(27), 0xBF597FC7 );
    P( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, R(28), 0xC6E00BF3 );
    P( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, R(29), 0xD5A79147 );
    P( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, R(30), 0x06CA6351 );
    P( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, R(31), 0x14292967 );
    P( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, R(32), 0x27B70A85 );
    P( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, R(33), 0x2E1B2138 );
    P( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, R(34), 0x4D2C6DFC );
    P( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, R(35), 0x53380D13 );
    P( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, R(36), 0x650A7354 );
    P( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, R(37), 0x766A0ABB );
    P( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, R(38), 0x81C2C92E );
    P( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, R(39), 0x92722C85 );
    P( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, R(40), 0xA2BFE8A1 );
    P( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, R(41), 0xA81A664B );
    P( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, R(42), 0xC24B8B70 );
    P( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, R(43), 0xC76C51A3 );
    P( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, R(44), 0xD192E819 );
    P( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, R(45), 0xD6990624 );
    P( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, R(46), 0xF40E3585 );
    P( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, R(47), 0x106AA070 );
    P( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, R(48), 0x19A4C116 );
    P( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, R(49), 0x1E376C08 );
    P( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, R(50), 0x2748774C );
    P( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, R(51), 0x34B0BCB5 );
    P( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, R(52), 0x391C0CB3 );
    P( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, R(53), 0x4ED8AA4A );
    P( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, R(54), 0x5B9CCA4F );
    P( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, R(55), 0x682E6FF3 );
    P( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, R(56), 0x748F82EE );
    P( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, R(57), 0x78A5636F );
    P( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, R(58), 0x84C87814 );
    P( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, R(59), 0x8CC70208 );
    P( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, R(60), 0x90BEFFFA );
    P( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, R(61), 0xA4506CEB );
    P( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, RD(62), 0xBEF9A3F7 );
    P( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, RD(63), 0xC67178F2 );

    state += vars;
    vars = state;

    PS( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, 0x80000000 + 0x428A2F98 );
    PS( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, 0 + 0x71374491 );
    PS( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, 0 + 0xB5C0FBCF );
    PS( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, 0 + 0xE9B5DBA5 );
    PS( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, 0 + 0x3956C25B );
    PS( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, 0 + 0x59F111F1 );
    PS( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, 0 + 0x923F82A4 );
    PS( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, 0 + 0xAB1C5ED5 );
    PS( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, 0 + 0xD807AA98 );
    PS( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, 0 + 0x12835B01 );
    PS( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, 0 + 0x243185BE );
    PS( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, 0 + 0x550C7DC3 );
    PS( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, 0 + 0x72BE5D74 );
    PS( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, 0 + 0x80DEB1FE );
    PS( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, 0 + 0x9BDC06A7 );
    PS( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, 512 + 0xC19BF174 );

    PS( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, 0x80000000 + 0xE49B69C1 );
    PS( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, 0x01400000 + 0xEFBE4786 );
    PS( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, 0x00205000 + 0x0FC19DC6 );
    PS( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, 0x00005088 + 0x240CA1CC );
    PS( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, 0x22000800 + 0x2DE92C6F );
    PS( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, 0x22550014 + 0x4A7484AA );
    PS( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, 0x05089742 + 0x5CB0A9DC );
    PS( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, 0xa0000020 + 0x76F988DA );
    PS( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, 0x5a880000 + 0x983E5152 );
    PS( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, 0x005c9400 + 0xA831C66D );
    PS( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, 0x0016d49d + 0xB00327C8 );
    PS( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, 0xfa801f00 + 0xBF597FC7 );
    PS( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, 0xd33225d0 + 0xC6E00BF3 );
    PS( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, 0x11675959 + 0xD5A79147 );
    PS( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, 0xf6e6bfda + 0x06CA6351 );
    PS( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, 0xb30c1549 + 0x14292967 );
    PS( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, 0x08b2b050 + 0x27B70A85 );
    PS( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, 0x9d7c4c27 + 0x2E1B2138 );
    PS( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, 0x0ce2a393 + 0x4D2C6DFC );
    PS( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, 0x88e6e1ea + 0x53380D13 );
    PS( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, 0xa52b4335 + 0x650A7354 );
    PS( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, 0x67a16f49 + 0x766A0ABB );
    PS( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, 0xd732016f + 0x81C2C92E );
    PS( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, 0x4eeb2e91 + 0x92722C85 );
    PS( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, 0x5dbf55e5 + 0xA2BFE8A1 );
    PS( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, 0x8eee2335 + 0xA81A664B );
    PS( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, 0xe2bc5ec2 + 0xC24B8B70 );
    PS( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, 0xa83f4394 + 0xC76C51A3 );
    PS( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, 0x45ad78f7 + 0xD192E819 );
    PS( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, 0x36f3d0cd + 0xD6990624 );
    PS( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, 0xd99c05e8 + 0xF40E3585 );
    PS( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, 0xb0511dc7 + 0x106AA070 );
    PS( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, 0x69bc7ac4 + 0x19A4C116 );
    PS( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, 0xbd11375b + 0x1E376C08 );
    PS( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, 0xe3ba71e5 + 0x2748774C );
    PS( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, 0x3b209ff2 + 0x34B0BCB5 );
    PS( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, 0x18feee17 + 0x391C0CB3 );
    PS( vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, 0xe25ad9e7 + 0x4ED8AA4A );
    PS( vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, 0x13375046 + 0x5B9CCA4F );
    PS( vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, 0x0515089d + 0x682E6FF3 );
    PS( vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, vars.s7, 0x4f0d0f04 + 0x748F82EE );
    PS( vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, vars.s6, 0x2627484e + 0x78A5636F );
    PS( vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, vars.s5, 0x310128d2 + 0x84C87814 );
    PS( vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, vars.s4, 0xc668b434 + 0x8CC70208 );
    PSLAST( vars.s4, vars.s5, vars.s6, vars.s7, vars.s0, vars.s1, vars.s2, vars.s3, 0x420841cc + 0x90BEFFFA );

    return vars.s7 + state.s7;
}

#define rolhackl(n) \
inline ulong rol ## n  (ulong l) \
{ \
    uint2 t = rotate(as_uint2(l), (n)); \
    return as_ulong((uint2)(bitselect(t.s0, t.s1, (uint)(1 << (n)) - 1), bitselect(t.s0, t.s1, (uint)(~((1 << (n)) - 1))))); \
}

rolhackl(8)
rolhackl(9)
rolhackl(10)
rolhackl(13)
rolhackl(14)
rolhackl(17)
rolhackl(19)
rolhackl(22)
rolhackl(24)
rolhackl(25)
rolhackl(27)
rolhackl(29)
rolhackl(30)

#define rolhackr(n) \
inline ulong rol ## n  (ulong l) \
{ \
    uint2 t = rotate(as_uint2(l), (n - 32)); \
    return as_ulong((uint2)(bitselect(t.s1, t.s0, (uint)(1 << (n - 32)) - 1), bitselect(t.s1, t.s0, (uint)(~((1 << (n - 32)) - 1))))); \
}

rolhackr(33)
rolhackr(34)
rolhackr(35)
rolhackr(36)
rolhackr(37)
rolhackr(39)
rolhackr(42)
rolhackr(43)
rolhackr(44)
rolhackr(46)
rolhackr(49)
rolhackr(50)
rolhackr(54)
rolhackr(56)

#define SKEIN_ROL_0_0(x) rol46(x)
#define SKEIN_ROL_0_1(x) rol36(x)
#define SKEIN_ROL_0_2(x) rol19(x)
#define SKEIN_ROL_0_3(x) rol37(x)
#define SKEIN_ROL_1_0(x) rol33(x)
#define SKEIN_ROL_1_1(x) rol27(x)
#define SKEIN_ROL_1_2(x) rol14(x)
#define SKEIN_ROL_1_3(x) rol42(x)
#define SKEIN_ROL_2_0(x) rol17(x)
#define SKEIN_ROL_2_1(x) rol49(x)
#define SKEIN_ROL_2_2(x) rol36(x)
#define SKEIN_ROL_2_3(x) rol39(x)
#define SKEIN_ROL_3_0(x) rol44(x)
#define SKEIN_ROL_3_1(x) rol9(x)
#define SKEIN_ROL_3_2(x) rol54(x)
#define SKEIN_ROL_3_3(x) rol56(x)
#define SKEIN_ROL_4_0(x) rol39(x)
#define SKEIN_ROL_4_1(x) rol30(x)
#define SKEIN_ROL_4_2(x) rol34(x)
#define SKEIN_ROL_4_3(x) rol24(x)
#define SKEIN_ROL_5_0(x) rol13(x)
#define SKEIN_ROL_5_1(x) rol50(x)
#define SKEIN_ROL_5_2(x) rol10(x)
#define SKEIN_ROL_5_3(x) rol17(x)
#define SKEIN_ROL_6_0(x) rol25(x)
#define SKEIN_ROL_6_1(x) rol29(x)
#define SKEIN_ROL_6_2(x) rol39(x)
#define SKEIN_ROL_6_3(x) rol43(x)
#define SKEIN_ROL_7_0(x) rol8(x)
#define SKEIN_ROL_7_1(x) rol35(x)
#define SKEIN_ROL_7_2(x) rol56(x)
#define SKEIN_ROL_7_3(x) rol22(x)

#define SKEIN_KS_PARITY         0x1BD11BDAA9FC1A22UL

#define SKEIN_R512(p0,p1,p2,p3,p4,p5,p6,p7,ROTS)                      \
    X.s##p0 += X.s##p1; \
    X.s##p2 += X.s##p3; \
    X.s##p4 += X.s##p5; \
    X.s##p6 += X.s##p7; \
    X.s##p1 = SKEIN_ROL_ ## ROTS ## _0(X.s##p1) ^ X.s##p0; \
    X.s##p3 = SKEIN_ROL_ ## ROTS ## _1(X.s##p3) ^ X.s##p2; \
    X.s##p5 = SKEIN_ROL_ ## ROTS ## _2(X.s##p5) ^ X.s##p4; \
    X.s##p7 = SKEIN_ROL_ ## ROTS ## _3(X.s##p7) ^ X.s##p6;

#define SKEIN_I512(R)                                                     \
    X.s0   += ks[((R)+1) % 9];   /* inject the key schedule value */  \
    X.s1   += ks[((R)+2) % 9];                                        \
    X.s2   += ks[((R)+3) % 9];                                        \
    X.s3   += ks[((R)+4) % 9];                                        \
    X.s4   += ks[((R)+5) % 9];                                        \
    X.s5   += ks[((R)+6) % 9] + ts[((R)+1) % 3];                      \
    X.s6   += ks[((R)+7) % 9] + ts[((R)+2) % 3];                      \
    X.s7   += ks[((R)+8) % 9] +     (R)+1;                            \

#define SKEIN_R512_8_rounds(R) \
        SKEIN_R512(0,1,2,3,4,5,6,7, 0);   \
        SKEIN_R512(2,1,4,7,6,5,0,3, 1);   \
        SKEIN_R512(4,1,6,3,0,5,2,7, 2);   \
        SKEIN_R512(6,1,0,7,2,5,4,3, 3);   \
        SKEIN_I512(2*(R));                              \
        SKEIN_R512(0,1,2,3,4,5,6,7, 4);   \
        SKEIN_R512(2,1,4,7,6,5,0,3, 5);   \
        SKEIN_R512(4,1,6,3,0,5,2,7, 6);   \
        SKEIN_R512(6,1,0,7,2,5,4,3, 7);   \
        SKEIN_I512(2*(R)+1);

inline ulong8 skein512_mid_impl(ulong8 X, ulong2 msg)
{
    u64 ts[3], ks[9];

    vstore8(X, 0, ks);
    X.s01 += msg;

    ks[8] = ks[0] ^ ks[1] ^ ks[2] ^ ks[3] ^
            ks[4] ^ ks[5] ^ ks[6] ^ ks[7] ^ SKEIN_KS_PARITY;

    ts[0] = 80;
    ts[1] = 176UL << 56;
    ts[2] = 0xB000000000000050UL;

    X.s5 += 80;
    X.s6 += 176UL << 56;

    SKEIN_R512_8_rounds( 0);
    SKEIN_R512_8_rounds( 1);
    SKEIN_R512_8_rounds( 2);
    SKEIN_R512_8_rounds( 3);
    SKEIN_R512_8_rounds( 4);
    SKEIN_R512_8_rounds( 5);
    SKEIN_R512_8_rounds( 6);
    SKEIN_R512_8_rounds( 7);
    SKEIN_R512_8_rounds( 8);

    X.s01 ^= msg;
    vstore8(X, 0, ks);

    ks[8] = ks[0] ^ ks[1] ^ ks[2] ^ ks[3] ^
            ks[4] ^ ks[5] ^ ks[6] ^ ks[7] ^ SKEIN_KS_PARITY;

    ts[0] = 8UL;
    ts[1] = 255UL << 56;
    ts[2] = 0xFF00000000000008UL;

    X.s5 += 8UL;
    X.s6 += 255UL << 56;

    SKEIN_R512_8_rounds( 0);
    SKEIN_R512_8_rounds( 1);
    SKEIN_R512_8_rounds( 2);
    SKEIN_R512_8_rounds( 3);
    SKEIN_R512_8_rounds( 4);
    SKEIN_R512_8_rounds( 5);
    SKEIN_R512_8_rounds( 6);
    SKEIN_R512_8_rounds( 7);
    SKEIN_R512_8_rounds( 8);

    return TOLE64V8(X);
}

__kernel void search(const u64 state0, const u64 state1, const u64 state2, const u64 state3,
                     const u64 state4, const u64 state5, const u64 state6, const u64 state7,
                     const u32 data16, const u32 data17, const u32 data18,
                     const u32 base,
                     __global u32* output)
{
    local u32 nonce;
    nonce = FROMLE32(base) + get_global_id(0);
    ulong8 state = (ulong8)(FROMLE64(state0), FROMLE64(state1), FROMLE64(state2), FROMLE64(state3),
                          FROMLE64(state4), FROMLE64(state5), FROMLE64(state6), FROMLE64(state7));

    ulong2 msg = as_ulong2((uint4)(data16, data17, data18, TOBE32(nonce)));

    if(sha256_res(as_uint16(skein512_mid_impl(state, msg)))/* & 0xc0ffffff*/)
        return;
    output[OUTPUT_SIZE] = output[nonce & OUTPUT_MASK] = nonce;
}


Been fiddling with this for days now and still can't get any sense out of it. Guess my coding skills just aren't up to scratch! Sad lol
reorder
Sr. Member
****
Offline Offline

Activity: 462


View Profile
November 28, 2013, 03:27:55 PM
 #257

Been fiddling with this for days now and still can't get any sense out of it. Guess my coding skills just aren't up to scratch! Sad lol

Please don't hesitate to ask your questions (but not about cgminer inner structure, I have spent couple hours trying to get my head around it and gave up).
D4T
Newbie
*
Offline Offline

Activity: 13


View Profile
November 28, 2013, 04:45:46 PM
 #258

Well I'm at a stage where poclbm mines but all shares are rejected so i must be doing something wrong.

I want to be sure I'm sending the correct data to your opencl kernel but unsure which parts of the state, state2 and f arrays poclbm generates i should be sending as what variable. In particular I'm referring as to what i should supply for "data16", "data17" & "data18".

Are you calculating mid state in python anywhere?
reorder
Sr. Member
****
Offline Offline

Activity: 462


View Profile
November 28, 2013, 05:57:59 PM
 #259

Well I'm at a stage where poclbm mines but all shares are rejected so i must be doing something wrong.

I want to be sure I'm sending the correct data to your opencl kernel but unsure which parts of the state, state2 and f arrays poclbm generates i should be sending as what variable. In particular I'm referring as to what i should supply for "data16", "data17" & "data18".

Are you calculating mid state in python anywhere?
I think a couple of code snippets will make it more clear..

in Switch.decode:
Code:
            binary_data = block_header.decode('hex')
            job.headerX = binary_data[:76]
            job.dataX = unpack('<19I', job.headerX)

in OpenCLMiner.mining_thread:
Code:
                    state = skeinhashmid(pack('>16I', *work.dataX[:16]))
                    for i in xrange(8):
                        self.kernel.set_arg(i, state[i * 8:i * 8 + 8])
                    for i in range(16, 19):
                        self.kernel.set_arg(i - 8, pack('>I', work.dataX[i]))

I do not use poclbm's engine to recalculate the merkle tree, just always use full getwork as it has arrived from the server. Probably it does not play well with stratum, but works to some extent.

skeinhashmid is a ctypes wrapper for skein calculation in shared lib, I believe I have posted the C function for that somewhere below the kernel itself.
D4T
Newbie
*
Offline Offline

Activity: 13


View Profile
November 28, 2013, 07:19:03 PM
 #260

Well I'm at a stage where poclbm mines but all shares are rejected so i must be doing something wrong.

I want to be sure I'm sending the correct data to your opencl kernel but unsure which parts of the state, state2 and f arrays poclbm generates i should be sending as what variable. In particular I'm referring as to what i should supply for "data16", "data17" & "data18".

Are you calculating mid state in python anywhere?
I think a couple of code snippets will make it more clear..

in Switch.decode:
Code:
            binary_data = block_header.decode('hex')
            job.headerX = binary_data[:76]
            job.dataX = unpack('<19I', job.headerX)

in OpenCLMiner.mining_thread:
Code:
                    state = skeinhashmid(pack('>16I', *work.dataX[:16]))
                    for i in xrange(8):
                        self.kernel.set_arg(i, state[i * 8:i * 8 + 8])
                    for i in range(16, 19):
                        self.kernel.set_arg(i - 8, pack('>I', work.dataX[i]))

I do not use poclbm's engine to recalculate the merkle tree, just always use full getwork as it has arrived from the server. Probably it does not play well with stratum, but works to some extent.

skeinhashmid is a ctypes wrapper for skein calculation in shared lib, I believe I have posted the C function for that somewhere below the kernel itself.

Thanks reorder Smiley

I won't lie, this is still a struggle for me but I don't expect to be drip fed bits of code until it works. I'm doing this to learn and I'm certainly achieving that so thank you Cheesy
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 ... 72 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!