Advertisement
Gingeropolous

djm34 and gingeropolous hashout mining software

Aug 26th, 2015
1,068
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.76 KB | None | 0 0
  1. <gingeropolous> hows it going? I think I saw you post somewhere that you were unclear regarding the Monero gpu mining specifics for the funding / bounty. Anything I can help clarify?
  2. <djm34> what do you expect at first milestone ?
  3. <djm34> this is mostly what I don't understand
  4. <gingeropolous> gotcha.
  5. <gingeropolous> I wrote it out here: https://bitcointalk.org/index.php?topic=656841.msg12094899#msg12094899
  6. <gingeropolous> but basically, if you're unable to get a lot of hashrate from your efforts
  7. <gingeropolous> then some improvement over the current nvidia miner would be required for a payout.
  8. <gingeropolous> so, point A is essentially - making the code well commented and clean. I've heard your a good programmer, so this shouldn't be a big problem
  9. <gingeropolous> point B - the software should work on linux, windows, macs, etc
  10. <djm34> I don't have macs
  11. <gingeropolous> gotcha
  12. <gingeropolous> does anyone even mine on macs?
  13. <djm34> not really apple computer don't really use much nvidia either
  14. <gingeropolous> okay, well, we'll get rid of that.
  15. <gingeropolous> point C: tunable parameters
  16. <gingeropolous> basically, the software should be very modifiable with a config file.
  17. <djm34> hmm... what do you want to modify ?
  18. <gingeropolous> well, i imagine anything that you would otherwise hard code
  19. <gingeropolous> but im not a programmer, so I dunno how feasible that is
  20. <gingeropolous> I imagine if you were writing something, you would put 1024 in..
  21. <gingeropolous> for some value dealing with memory
  22. <gingeropolous> for instance
  23. <gingeropolous> instead of putting the hard value at 1024, would it be possible to just call it ValueX, and then set valueX = 1024
  24. <gingeropolous> and make it adjustable via a config file?
  25. <gingeropolous> the hope is to extend the life of the software
  26. <gingeropolous> so that in 3 years, when nvidia releases a 12 gig maxwell card for some reason (for example), your software might be tweakable
  27. <djm34> the current one can already do that with thread and block value
  28. <gingeropolous> right. My question is whether there are other values that could be swapped in
  29. <djm34> that's basically how the required memory gets assigned
  30. <gingeropolous> I don't know the code
  31. <gingeropolous> ok
  32. <gingeropolous> well, that point in general means exactly that - if you come up with something in your code that could be modifiable instead of a set value, it would be cool to make it modifiable
  33. <djm34> also it isn't necessary to pass to many parameter to the config files because it makes the compiler clueless
  34. <djm34> a good idea*
  35. <gingeropolous> gotcha. well, in general, the point is just to think of what would happen to your code if a new GPU came out
  36. <gingeropolous> with the same architecture, but more memory, faster memory, etc
  37. <djm34> this is already handled by the current version
  38. <gingeropolous> ok, cool. I didn't know that (i only have 750 tis, so I haven't really tried other cards)
  39. <gingeropolous> point D: basically, it should be really easy to compile this from source
  40. <djm34> well the -l"thread"x"block" tells to the program how much memory it should use
  41. <gingeropolous> so, very limited dependencies. I know from watching monero development that it is possible to include dependencies in the actual source code
  42. <djm34> yes it is possible latest version of ccminer does that and uses static libraries
  43. <gingeropolous> nice
  44. <gingeropolous> so you don't have to install the CUDA toolkit?
  45. <gingeropolous> with the latest ccminer?
  46. <djm34> this you still have, if you want to compile
  47. <gingeropolous> ugh
  48. <djm34> also cuda isn't opensource
  49. <gingeropolous> ah, so there's technically no way to use static libraries
  50. <gingeropolous> well, in that case, would it be possible to create a compile package?
  51. <gingeropolous> the goal here again is user friendliness
  52. <djm34> ? you use the static libraries when you compile, so your binaries doesn't require any dynamic libraries
  53. <djm34> but assuming you are compiling it yourself, you still have to get cuda
  54. <gingeropolous> gotcha
  55. <djm34> (it is a compiler...)
  56. <gingeropolous> would it be possible to include cuda in a downloadable gzip file or something?
  57. <gingeropolous> ideally, someone wanting to mine would just download 1 zip file, and have everything they need to compile
  58. <gingeropolous> as opposed to now, where you have to hunt down the cuda toolkit, driver, etc.
  59. <gingeropolous> well, for linux compiling. I guess things are easier for windows
  60. <djm34> cuda distribution is around 1GB
  61. <djm34> windows or linux
  62. <gingeropolous> well, then it becomes a problem for whoever is hosting the file :)
  63. <gingeropolous> so, for reference
  64. <gingeropolous> this is how I tell people to install tsivs miner: https://d3adbra1n.wordpress.com/2014/05/03/cuda-miner-installation-on-a-fresh-ubuntu-14-04-lts/
  65. <gingeropolous> its 39 steps.
  66. <gingeropolous> ( obviously, the git clone command is replaced for tsivs repo )
  67. <djm34> I know, but I am afraid it isn't really easy to put in a full distribution (or may-be doing something like what ethereum did... )
  68. <gingeropolous> i dunno what they did...
  69. <djm34> you end downloading 5gb of useless crap
  70. <gingeropolous> ah
  71. <djm34> (not entirely useless... but qt just for mining...)
  72. <gingeropolous> welp, for noobs, its better that the useless crap is downloaded and it actually works
  73. <gingeropolous> as opposed to it requiring 40 steps.
  74. <djm34> actually it still doesn't download cuda
  75. <gingeropolous> ha!
  76. <gingeropolous> or, the 40 steps could be scripted in some bash script
  77. <gingeropolous> if thats possible.
  78. <djm34> may-be
  79. <gingeropolous> well, in any case, does that milestone point make sense now? thats item D
  80. <gingeropolous> item E is just that it works on available nvidia hardware. Honestly, I can't test if it works on anything except maxwell, so who knows how useful this is
  81. <gingeropolous> is the old architecture even worth it these days?
  82. <djm34> the 780ti is still good
  83. <gingeropolous> ah, so thats kepler
  84. <djm34> yes
  85. <gingeropolous> does tsivs work on kepler? but yeah, thats the point of item E - that it works on as many architectures as possible
  86. <gingeropolous> realistically, I imagine this is like maxwell, kepler, and whatever came before kepler
  87. <djm34> mostly, actually it is where I was able to optimize a bit
  88. <gingeropolous> interesting. are you still planning on rebuilding from scratch, or just work with tsivs code?
  89. <djm34> for the moment I prefer to use tsiv code... but it would probably better to use the current ccminer interface
  90. <gingeropolous> well, whatever code is cleaner
  91. <gingeropolous> and whatever code will be easier for others to come in and contribute to in the future
  92. <gingeropolous> ok, the final point, F, is the ability to solo mine
  93. <gingeropolous> so, someone could use their GPU to mine on their own node, no need to connect to a pool
  94. <gingeropolous> or no need to run their own private pool
  95. <gingeropolous> one of the things to think about while your working on this is that , hopefully, this code will one day be included in the Monero source code
  96. <gingeropolous> in other words, we ultimately want Monero to remain decentralized, and to maintain that, we need as much independent mining nodes as possible.
  97. <gingeropolous> Thus, each solo miner should be able to use all the hardware they can - their CPU, and GPUs, or any on-board GPUs (even if its only 40 h/s)
  98. <djm34> will have to check the cpuminer code for that
  99. <gingeropolous> so, thats milestone 1. Do you think thats worth 1500 xmr?
  100. <gingeropolous> and then milestone #2 is the hashrate, with some exponential curve relating payout to hashrate increases, with a max of 3500 xmr.
  101. <djm34> yeah but quite frankly I don't think it can be reached
  102. <gingeropolous> which one, milestone 1?
  103. <djm34> second 1
  104. <gingeropolous> milestone 2?
  105. <djm34> yes
  106. <gingeropolous> because the POW function is that difficult?
  107. <djm34> actually the pow fucntion isn't difficult (that's why there isn't much to optimize mostly xor and a multiplication)
  108. <djm34> however I am still surprise that the amd are doing so well
  109. <gingeropolous> smooth once said that to really get at optimization, we'd need to know the level of like circuitry diagrams etc
  110. <gingeropolous> so maybe claymore has that kind of knowledge
  111. <gingeropolous> perhaps there's a reason he keeps his stuff closed source, beside the profit model :)
  112. <djm34> don't know... I have a couple of other idea I might try though...
  113. <gingeropolous> well, if they curve is too shallow, let me know and I can try to come up with a better one
  114. <gingeropolous> well, how does it all sound? Is milestone #1 clearer now, and do you still want to do it?
  115. <djm34> I can try
  116. <gingeropolous> ok. Is it cool if I post this entire conversation, to try and get the funding secured?
  117. <djm34> sure
  118. <gingeropolous> i'll remove my claymore comment :)
  119. <djm34> lol
  120. <gingeropolous> aight cool. What kind of timeline do you think you'll need for milestone #1?
  121. <gingeropolous> 3 months? 1 month? 5 months? 2 weeks?
  122. <djm34> rather 2 weeks
  123. <gingeropolous> okay, and milestone #2?
  124. <djm34> difficult to say...
  125. <gingeropolous> also, for milestone #2, keep in mind that you can enlist others to help
  126. <gingeropolous> in that case, you would manage the payout to your team
  127. <gingeropolous> okay, well for milestone #2, we'll just give it 1 year.
  128. <gingeropolous> and the payout can be incremental. So, if you get it to +100 h/s, you would get paid 280 xmr. Then, if you come back and find another optimization, and get it to +200, you'd get (784 - 280) ~ 500 xmr, etc. You'd get the difference along the curve
  129. <djm34> for 100H/s this isn't really a lot
  130. <djm34> those 100H/s don't really come easily
  131. <gingeropolous> okay, so the curve needs to be steeper
  132. <djm34> yes
  133. <gingeropolous> what would be a good target for the first 100 h/s?
  134. <djm34> I would say around 750xmr
  135. <gingeropolous> ok
  136. <gingeropolous> man im really bad at making curves
  137. <gingeropolous> there we go. OK, nice and easy. +hr/0.133333 for first 100 h/s, then +hr/0.18.
  138. <gingeropolous> so first +100 = 750 xmr, +200 = 2025, +300 = 3037
  139. <gingeropolous> thus, + 346 = 3500 xmr
  140. <djm34> sounds better already
  141. <gingeropolous> but im sure when we get to that bridge, things will be different
  142. <gingeropolous> so, if u get it to +100, you'd be payed out 750. If you then take a break, come back and get another +100, you'd get (2025 - 750), and if you came back later you'd get (3037 - 2025)
  143. <gingeropolous> so its linear, but each +100 h/s is about 1000 xmr after the first one
  144. <gingeropolous> and of course, this is all relative to the current hardware. If a new card comes out and can get +400 h/s, this payout schedule still relates to getting the nvidia 970 gtx == R290x
  145. <djm34> yeah but a new card doesn't really count...
  146. <gingeropolous> right right
  147. <gingeropolous> so is everything clear and we're good to go?
  148. <djm34> sound good yes
  149. <gingeropolous> okey doke! I'll try to get this funded!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement