Bitcoin Forum
May 26, 2024, 10:08:01 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Doing a project for a parallel computing class, looking into crypto-mining  (Read 1749 times)
skeeterskeeter (OP)
Full Member
***
Offline Offline

Activity: 160
Merit: 100


View Profile
October 14, 2014, 06:40:17 AM
 #1

For a parallel programming class at my university I need to implement some sort of parallel computation. It is a broad as that. I was thinking to do something involving crypto-coin mining. I would really like to try to optimize a current algorithm or try to implement something new in parallel. Obviously people are already trying stuff like this and I am trying to get a good understanding of where everything is currently at some I might find something I could contribute to for my project.

I was wondering if anyone might have any ideas that would be interesting and useful to the community. I will have about 6 weeks to devote to it so it can't be a massive under taking.

 
MaxDZ8
Hero Member
*****
Offline Offline

Activity: 672
Merit: 500



View Profile
October 14, 2014, 04:01:56 PM
 #2

I'd like you to take a look at my miner, designed to be understandable and easy to use.
First miner with GPU specific kernels, solved overspilling. Proper GPU OpenCL kernels (instead of just running CPU code on GPU). MIT license. Sort-of-C++11.

If you can add kernels for the coin of your choice that would rock!
Or, you could optimize the kernels since I speculate there's another 70% to squeeze out.
skeeterskeeter (OP)
Full Member
***
Offline Offline

Activity: 160
Merit: 100


View Profile
October 15, 2014, 05:00:00 PM
 #3

I'd like you to take a look at my miner, designed to be understandable and easy to use.
First miner with GPU specific kernels, solved overspilling. Proper GPU OpenCL kernels (instead of just running CPU code on GPU). MIT license. Sort-of-C++11.

If you can add kernels for the coin of your choice that would rock!
Or, you could optimize the kernels since I speculate there's another 70% to squeeze out.

What do these kernels represent? (CubeHash_2W.cl, Echo_8W.cl, Luffa_1W.cl, SHAvite3_1W.cl, SIMD_16W.cl) I recognize SHA-3, but what are the others? SIMD, single instruction multiple data.? I'm not familiar with any of the mining algorithms yet, I know the names just not their implementations.
MaxDZ8
Hero Member
*****
Offline Offline

Activity: 672
Merit: 500



View Profile
October 18, 2014, 08:13:05 AM
 #4

This miner mangles Qubit, a form of chained hashing: Luffa, CubeHash, Shavite, SIMD, Echo. The ending _X is the amount of kernel parallelism used.

SIMD stands for "SIMD is a message digest". Silly jokes.

Legacy kernels build a big function out of all those algorithms. In my implementation instead, the phases are clearly separated. This allows me to reconfigure GPU ALU more appropriately. Most of the benefit comes from the improved SIMD and Echo implementation.

Note: same algorithms but different implementations.

To your project, the value is mostly in the new codebase which is hopefully easier to understand. I do not claim it to be complete nor efficient but it is surely more compact.
MaxDZ8
Hero Member
*****
Offline Offline

Activity: 672
Merit: 500



View Profile
October 25, 2014, 01:38:30 PM
 #5

Thank you but SIMD_16 is a huge bet and I'm not sure it's worth it at all (over 8-way)!  Roll Eyes
I'd have to work on it. Sometime in the future.
Epsylon3
Legendary
*
Offline Offline

Activity: 1484
Merit: 1082


ccminer/cpuminer developer


View Profile WWW
October 27, 2014, 08:12:46 AM
 #6

Check this : https://blake2.net/ blake2sp seems used in RARv5 (and more recently in neo-scrypt)

BTC: 1FhDPLPpw18X4srecguG3MxJYe4a1JsZnd - My Projects: ccminer - cpuminer-multi - yiimp - Forum threads : ccminer - cpuminer-multi - yiimp
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!