Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - dga

Pages: 1 2 3 [4] 5 6 7 8 9
46
BitShares PTS / Re: Open source optimized PTS CPU miner (BETA)
« on: January 16, 2014, 05:46:39 pm »
Code: [Select]
Couldn't use the hugepage speed optimization.  Enable huge pages for a slight speed boost.
kernel config:
Code: [Select]
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y

Code: [Select]
$ cat /proc/meminfo | grep HugePages
AnonHugePages:     14336 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0

followed https://wiki.archlinux.org/index.php/KVM#Enabling_huge_pages

What am I missing here?

sudo bash
echo "4096" > /proc/sys/vm/nr_hugepages

47
BitShares PTS / Re: Open source optimized PTS CPU miner (BETA)
« on: January 16, 2014, 04:18:14 pm »
I've released beta 2 of my AVX2-optimized build for Linux x64:

http://www.cs.cmu.edu/~dga/ptsminer/ptsminer-dga-beta2-avx2-linux64.bin

EEeeeeeek.  If you grabbed it in the prior 30 minutes, download again.  I botched the dev-fee switching when I implemented the new dev mining code and it's not switching properly.

Sorry about that.  Re-tested and it's happy.

48
BitShares PTS / Re: Open source optimized PTS CPU miner (BETA)
« on: January 16, 2014, 04:09:57 pm »
dga any plans of blessing the people who only have avx?

It's a lot harder to beat Intel's assembly-optimized sha512 on avx than it was on avx2.  I'll port my most recent speed improvements back, but the biggest speed gain came from rewriting the sha512 computation, and I'm not going to do that for avx.  I'll give a few more % in the avx version of my code, but it won't be the same as the 80cpm jump I just introduced for avx2.

It'll be a while.  I've used up my free time coding quota for the week. :)

49
BitShares PTS / Re: Open source optimized PTS CPU miner (BETA)
« on: January 16, 2014, 04:01:49 pm »
I've released beta 2 of my AVX2-optimized build for Linux x64:

http://www.cs.cmu.edu/~dga/ptsminer/ptsminer-dga-beta2-avx2-linux64.bin

(Note the changed URL).  This one is still binary-only -- I've been focusing on speed, not making it possible for anyone else to build this hunk o'junk code.

This is the first version of my code that beats 400 cpm on a stock i7-4770.  You i7-4770k overclocked folks should see very happy results.  I've affectionately termed this release "herbivore", because, of course, that's what eats yams for dinner.   :)

This version has a 3% dev fee, which I'll reduce further in later builds.  If it's not clear, I'm using the ratcheting-down dev fee as a good reason for people to upgrade to the later releases and not have old versions of the code floating around.

I've updated the dev fee mechanism a little, so don't freak out:
  - It mines for the 60 seconds for dev
  - It mines for the next 2000 seconds for the user
  -- After that, those numbers are multiplied by 20, so that the miner runs with fewer interruptions:  20 minutes of dev mining followed by 1.3 days of blissfully uninterrupted user mining.
 
Still tied to beeeeeeer.  Are there other pools that use the same protocol as beer?  I can support those easily.

  -Dave

50
BitShares PTS / Re: Open source optimized PTS CPU miner (BETA)
« on: January 16, 2014, 02:50:25 pm »
I googled Haswell and since mine isn't one I tried commenting out the failing sha512_avx2.S bit in the makefile.unix , since apparently I can't use it anyway, but now it fails with the following. Not sure if I need to do more than mess with the makefile...


Code: [Select]
~/comps/ptsminer/src$ make -f makefile.unix
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13
make: *** [ptsminer] Error 1

Oof.  This is going to be a problem on a 32 bit system.  There are some very x86_64 specific chunks of code in the assembly-optimized sha512 routines (which you need if you want this thing to be fast).

Sorry. :(

51
BitShares PTS / Re: Open source optimized PTS CPU miner (BETA)
« on: January 16, 2014, 12:18:41 pm »
I got the following trying to compile...
anyone know how to fix this ? I'm on a 32-bit kernel(PAE), not sure if that's relevant...

Code: [Select]
~/comps/ptsminer/src$ make -f makefile.unix
cc -c -O3 intel/sha512_avx2.S -o obj/sha512_avx2.o
intel/sha512_avx2.S: Assembler messages:
intel/sha512_avx2.S:64: Error: bad expression
intel/sha512_avx2.S:64: Error: junk at end of line, first unrecognized character is `y'
intel/sha512_avx2.S:67: Error: bad expression
intel/sha512_avx2.S:67: Error: junk at end of line, first unrecognized character is `y'
intel/sha512_avx2.S:70: Error: bad expression
intel/sha512_avx2.S:70: Error: junk at end of line, first unrecognized character is `r'
intel/sha512_avx2.S:72: Error: bad expression
intel/sha512_avx2.S:72: Error: junk at end of line, first unrecognized character is `r'
...
intel/sha512_avx2.S:784: Error: bad register name `%rsp)'
intel/sha512_avx2.S:785: Error: bad register name `%rsp)'
intel/sha512_avx2.S:788: Error: bad register name `%rsp)'
make: *** [obj/sha512_avx2.o] Error 1

Are you using an older version of gcc?  If so, try upgrading -- or I can explain how to remove the need for the avx2 code if you're not on a Haswell CPU.

52

I have a dual GTX690 rig that's currently doing about 3600 c/m.  I like it.

Dear dga,

There are 2 GPU on 1 card GTX690 and it' s mean that 1 card GTX690 get 3600 c/m ? Or you use 2 card GTX690 to get 3600 c/m?

Two cards.  One GTX690 gets 900 cpm on each of its chips, for a total of about 1800cpm per card.

53
MemoryCoin / Re: [ANN] reverse-engineer of MMC (GPU) miner
« on: January 15, 2014, 10:36:12 pm »

I'd like to add that the approach I speculate (hard-coded donation mining), if done for, say, six months, would probably net reorder far more than a salary and/or voluntary donations (depending on how widely the re-coded miner is adopted).

Did I hear an offer for donations for another open-source currency miner?  <grins>

I've been looking a bit at MMC since FreeTrade pointed me at it.  Do-able.  Takes some work to get it to be fast.  I could even go to the dark side and make one for AMD. :p

How much faster is the MMC GPU miner than the best CPU miner out there, though?  I assume that might be Yam M7j.  The AES component adds an interesting twist to MMC.

  -Dave

54
just curious whats the best CPU miner around?

Depends a little on your hardware.

Windows:  Probably the latest version of yam m7j
         https://mega.co.nz/#F!h0tkXSxZ!f62uoUXogkxQmP2xO8Ib-g
Linux/Mac:  Either yam or
         https://bitbucket.org/dave_andersen/ptsminer
(you have to compile ptsminer yourself)

I believe yam is still faster on bigger multi-CPU machines, but it's binary only.  The new version of yam can mine on beeeeeer, where older versions couldn't, so be sure to get m4j if you try it.  My ptsminer mines only on beeeeeeeeeeer for now.

  -Dave

55
BitShares PTS / Re: Open source optimized PTS CPU miner (BETA)
« on: January 15, 2014, 12:03:07 pm »
great works, can you add ypool support(from the official jhProtominer v0.1e) to it?
btw. according to intel, avx can do two sha512 and avx2 can do four at the same time~~

Speaking of avx2, I've been targeting it a little in a build I'm working on.  If people want to test it, there's a linux binary-only build available for avx2 CPUs at:

http://www.cs.cmu.edu/~dga/ptsminer-dga-adv-avx2-linux64.bin

I believe this one substantially outperforms yam, but only for avx2.  I'd be curious if others can confirm.

  -Dave
avx/sse performs more or less the same as x86 instruction if SIMD is not used, those bit operations(80 round calulation etc.) must be done with intel intrinsics SIMD to get a great performance boost.

Yes.  The reason this one is a binary-only build is that I rewrote the sha512 generating code.  It was previously using Intel's hand-optimized avx2 SIMD code.  Now it's using my own.  The binary I linked is using my own version, also SIMD using avx2, which is faster.  It's binary-only in part because I haven't made it anywhere near easy for anyone else to compile it - or made a version that is generalized across architectures.  This one is a toy for Haswell owners for now while I play with it more.

  -Dave

56
BitShares PTS / Re: Open source optimized PTS CPU miner (BETA)
« on: January 15, 2014, 06:10:52 am »
great works, can you add ypool support(from the official jhProtominer v0.1e) to it?
btw. according to intel, avx can do two sha512 and avx2 can do four at the same time~~

Going to work on it.  I'm having more fun with the algorithms than with the stuff around it - patches accepted to be able to support either pool. :-)

Speaking of avx2, I've been targeting it a little in a build I'm working on.  If people want to test it, there's a linux binary-only build available for avx2 CPUs at:

http://www.cs.cmu.edu/~dga/ptsminer-dga-adv-avx2-linux64.bin

I'll be releasing the code for this series once I've finished ironing out the kinks, but I'd be curious to know if people are seeing the same kind of speed gains that I am on their Intel Haswell-based systems.  On mine - a stock i7-4770 running at normal clock rates - I see:

[STATS] 2014-Jan-15 01:09:04 | 356.8 c/m | 5.5 sh/m | VL: 1195 (98.6%), RJ: 17 (1.4%), ST: 0 (0.0%)

Because it's a preview dev build, I changed the mining fee a little - it's higher just for this one - 5% - but in big blocks (200 seconds dev and then 4000 seconds user) so that it has more time to stabilize so you can see the true cpm rate.

I believe this one substantially outperforms yam, but only for avx2.  I'd be curious if others can confirm.

  -Dave

57
For those who don't feel like reading through a bunch of source code but find the algorithmic issues interesting, I've posted a little writeup on my blog about the basic problem and solution used in the GPU PTS miner:

http://da-data.blogspot.com/2014/01/gaining-momentum-duplicate-detection-in.html

  -Dave

Hi dga.
Your work is fantastic. But I do have a small request for the next build, and I would like to ask if it's possible: Could you implement the interactive mode like cudaminer. Your miner is already top, efficient and in low temperature for the card, but I can't use the computer anymore if I let it runs. Cudaminer has the interactive switch, so if you switch this on, you lose about 5-10% of hash, but you won't notice much about how your computer lags. I would be very happy with this.

Thanks dga.

Regards.

Yup, it's on the TODO.

58
yvg1900,
Thank you very much!
My result: AMD FX 8350 (OC 4600Mhz) 345 CPM!

P.S: 7 Thread!

Out of curiosity, would you mind letting me know how this compares to the open source version I just released, if you're mining on beeeeeer? :)

59
My personal opinion on copyright is that it is invalid and may only be enforced on those who attempt to claim their own copyrights.  Any party releasing binaries that do not follow the license that comes with the code have, in my opinion, given up all copyright in anything they do as demonstrated by their actions.   

DGA has received his payment and as such has not been harmed by these actions.

Because copyright is invalid, I cannot blame them for their actions unless they are shown to be hypocritical.   That said, I would consider everyone who uses these binaries and believes in copyright to also be hypocritical. 

I also believe that the free market solution to resolving these kinds of disputes is to simply refuse to do business with these individuals if they are found to be hypocritical in this manner. 

The other solution is to undercut them, copy their binaries and modify the payment address inside the binary to be the ANGEL address, provide a proxy that intercepts their packets and rewrites the payment address, or some other solution that destroys their market advantage.  Remember, they have no copyright and by doing so you are not stealing anything from them.

Bytemaster, I have to totally disagree. This discussion is not about copyright and credits. It's about copyleft.

And I have to agree in all points with the thread starter. These licenses are not enforcing copyright and restricting the usage and distribution, in opposite, they encourage to do so as long as you respect the terms and conditions which include to release all work based on the code under same open source standards as defined in the license.

Speaking as one of said authors, I think there are really two issues:  What the licenses say, and what the community wants.

I released my code under a license that permits redistribution and reuse in binary form without providing the source.  The Bitcoin source is similar.  There are some restrictions -- namely, that the license file be included -- but, honestly, little violations of that are the least of anyone's concern.

In other words, in my read of it, what the binary releasers are doing is entirely within both the letter and the spirit of the licenses that I and the other developers chose.

But I'll admit that I was naive in choosing that license. :-)  It feels a little funny to see people taking my code, repackaging it, and doing what is effectively selling it.  But as Bytemaster points out, I was paid for it, and I had the option of taking other approaches.  I think that were I to do it again, I would have selected a GPL-style copyright to require source redistribution to provide continued benefits to the community source code.  But I often choose to release my code under Apache knowing that such reuse is a possibility.  As an academic, I typically want my code to have impact, whether or not it's binary or open.

Then there's the question of the community and expectations, and here I'm completely with you:  I'd strongly encourage people to vote with their feet and pick the open source options over the closed builds, for a variety of reasons -- not the least of which is trust!

This addresses only the question of my own copyright (and the inherited copyright from ptsminer, which draws from protoshares, and back to bitcoin).  The question of Earthbound's copyright on his windows-related modifications is entirely separate, and if he didn't release his code under a permissive license, then the binary builds are, in fact, in violation.  IANAL, of course, but I think that the real answer is not to get legal about it but for people to make the right votes with their feet.

Of course, that raises the question:  How do you give people enough information to do that voting in an informed way?  Sounds like some marketing to be done, of which this thread may be the start.

  -Dave

60
I've gone back and forth about this, and I feel I must say this.

All of the code which dga used in his development (of a GPU-enabled ProtoShares miner) is either copyleft or open, with the only exception being his original code itself, which simply claims his copyright. However, the expected terms of use of dga's code have been very clearly expressed in the forum. bytemaster paid a very substantial ProtoShares bounty (1,000!) to dga with the express hope that it would lead to open development of a GPU-enabled ProtoShares miner. dga has himself also expressed his wish for others to openly develop modifications to his work. I do not speak for bytemaster or dga, but I will comment on the nature of their comments: their expressions form a very clear verbal license which states that if you produce derived works from dga's source code, you must make the sources for your derived works available.

It is therefore only right that you should make your sources available, or else stop distributing the resultant binaries. Although my modifications to dga's work are only in a development stage, I have made those source modifications publicly available. But I am the only programmer who has released my modified sources.

Programmers: you should either make your modified sources (from dga's work) available, or else stop distributing the resultant binaries.

Your better option is to release your sources, since it was the expectation to begin with that you do so. Moreover, the community will gladly continue to donate to you from their mining proceeds.

Community: if you have not been liberally sharing some of your proceeds to these programmers, please reconsider. They deserve compensation for their hard work.

Aside: I earlier posted a philosophical rant arguing for Invictus to release their sources to the Public Domain. But now I see how sadly necessary express copyleft can be :(

As a clarification:  The unique bits that I developed in gpuhash.h and gpuhash.cu are Apache2 licensed, as specified in the LICENSE file of cudapts, but the modifications I made to the hasher surrounding it are covered under the original license of ptsminer.

Substantial parts of the ptsminer code and others are derived from the original Bitcoin code and seem to carry that copyright, which is under an MIT/Apache-like freely reusable license.  It's a little bit difficult to track back, but to the best of my knowledge, I believe this is the case.

Pages: 1 2 3 [4] 5 6 7 8 9