Post
Topic
Board Announcements (Altcoins)
Re: [ANN] [SKC] Skeincoin | Skein-SHA2 | CPU mining | GPU miner available
by
reorder
on 03/01/2014, 00:48:35 UTC
Casting uint to uint16 compiles on your system? Guess something is awfully wrong with it, then, it is against OpenCL spec (and common sense Smiley ). Anyway, it would be great if you manage to optimize sha256, I have only quickly thrown together something that worked for me and feel somewhat embarrassed now that it is public.

Yeah, compiles, even tried fresh checkout:D
Code:
    if(sha256_res(sha256_res(as_uint16(state))) & 0xf0ffffff)
        return;
Agree, that's really weird casting Smiley And no worries about the code, you kernel works, and thank you very much for developing and publishing it!!!

I've already moved W[62] and all it usages to kernel's search method, declared it as local, but haven't got any significant speedup. Tried to rid off all vectors, but made even much worse Smiley Now will try to use original poclbm sha256D search with reduced rounds (without 2nd call).

Is skeincoin's SHA256 hash function the same as the one used in normal SHA256 coins? Or is it a variation?

It's the same, but not double sha256 as in Bitcoin and other coins, so we can't just reuse well optimized bitcoin's kernel.
Looks like you misunderstand the local memory, it is shared between threads in a workgroup, and you do not want all threads writing in this array simultaneously. The idea is to get rid of array and replace it wilt just 16 uint variables: AMD stores arrays in global memory when optimization cannot coerce them into registers (and optimization is not necessarily supersmart), and uint variables are always mapped to registers (then there may be register spilling if you don't have enough of them, but at least you get a warning).