d3m0n1q_733rz
|
|
June 22, 2011, 09:16:44 AM Last edit: June 22, 2011, 09:26:45 AM by d3m0n1q_733rz |
|
Hey, I forgot to mention that both of my computers are using Core2 processors. So, while it might only be about 10% of an increase with the new code, it's still a significant increase. Getting a seg fault for the sha256 cryptopp_asm32 option. I build from the git repo, using: ./autogen.sh CFLAGS="-O3 -Wall -msse2" ./configure make I run it for the btcguild (haven't tried a different pool though..) and I get this: [2011-06-21 18:54:36] JSON option quiet invalid [2011-06-21 18:54:37] Long-polling activated for http://uscentral.btcguild.com:8332/LPSegmentation fault I tried using the 4way option, and got ~700 kh/s which seems quite slow for my cpu (quad xeon @ 2.83) - I get 1200 kh/s with the cryptoapp_asm32 option in an older build. I've just rebuilt using the default flags: -g -O2 This seems to work fine. Possibly something wrong in the usage of SSE2? I don't have a huge amount of experience with gcc, so can't be a lot more specific. EDIT: Compiles fine with CFLAGS="-O2 -Wall -msse2" switch to -O3 and it seg faults. I'm using gcc 4.4 btw Do you get the same result without using longpolling? It will help us to track down the issue. Since it doesn't state that it's activated a core, it stands to reason that it's not in the cryptopp_asm32 code. However, reason should only ever be taken as suspicion. Next, what distro of Linux are you using and what architecture? I might be able to toss you a binary. On that note, since you're using a quad xeon anyway, why the debugger are you using cryptopp_asm32 when you should be using SSE2_64? That 1200 you're getting could quite easily become a 2400 on the 1.0.2 code and even a 2700 if you replace the SSE2_64 with the newer atom code. One last thing, try adding -march=native to your CFLAGS there. It'll use what it knows your processor can handle. Might not be necessary, but can't really hurt.
|
Funroll_Loops, the theoretically quicker breakfast cereal! Check out http://www.facebook.com/JupiterICT for all of your computing needs. If you need it, we can get it. We have solutions for your computing conundrums. BTC accepted! 12HWUSguWXRCQKfkPeJygVR1ex5wbg3hAq
|
|
|
theowalpott
Member
Offline
Activity: 80
Merit: 10
|
|
June 22, 2011, 10:27:35 AM |
|
cryptopp_asm32 as it gives me the best hashrate - nothing else gets close :/ I'm running ubuntu 10.04 32-bit i686. I need to upgrade to 64-bit, but I've got a few things to do before I go reinstalling the distro. Unless you have a way to run sse2_64 on a 32-bit OS? I've just tried running it locally (no mining pool). Same compiler flags, -O3 -Wall -msse2 ./minerd --user un --pass pw --algo cryptopp_asm32 [2011-06-22 11:18:02] Binding thread 0 to cpu 0 Segmentation fault using -march=native makes no difference
|
1FwGATm6eU5dSiTp2rpazV5u3qwbx1fuDn
|
|
|
d3m0n1q_733rz
|
|
June 22, 2011, 11:25:09 AM |
|
Okay, well I can only think of a few things that might help you. First off, if you've downloaded jansson, uninstall it and just don't. The most recent version breaks the compile and there's already a version with the program that works. Second, you're using autogen.sh which is intended for Fedora Linux. The correct method to use in Ubuntu is thus: run ./configure CFLAGS="-march=native -O3 -Wall <--(though you can leave this out if you want) -msse2" && make If the only errors shown are error 1, run sudo make install minerd has been installed so you may now run it as you were before. But, as I was saying, the sooner you get that 64-bit OS installed the better. Because, while you can't run 64-bit apps on a 32-bit distro, you can run 32-bit apps on a 64-bit distro as long as you download the appropriate programs from the repositories. This should fix your problem.
|
Funroll_Loops, the theoretically quicker breakfast cereal! Check out http://www.facebook.com/JupiterICT for all of your computing needs. If you need it, we can get it. We have solutions for your computing conundrums. BTC accepted! 12HWUSguWXRCQKfkPeJygVR1ex5wbg3hAq
|
|
|
d3m0n1q_733rz
|
|
June 22, 2011, 11:33:51 AM |
|
Wait a minute! Where are you even getting autogen.sh? The 1.0.2 version doesn't even have it that I see. >_< Have you tried using the latest release found in the first post of this thread? I'm heading to bed. It's way to late not to be sleeping and way too early to try to think. Keep me posted.
|
Funroll_Loops, the theoretically quicker breakfast cereal! Check out http://www.facebook.com/JupiterICT for all of your computing needs. If you need it, we can get it. We have solutions for your computing conundrums. BTC accepted! 12HWUSguWXRCQKfkPeJygVR1ex5wbg3hAq
|
|
|
theowalpott
Member
Offline
Activity: 80
Merit: 10
|
|
June 22, 2011, 11:56:16 AM |
|
The autogen.sh comes from the git repo. I've got the tarball as well as the git version - both give the seg fault. With the tarball you dont need to use automake (via autogen.sh), but its needed when using git. I tried your configure line - it makes no difference (its the same as the one I was using, except I was using the CFLAGS= before ./configure (afaik this doesnt matter) In the output from make, I can see it is using the folder /compat/jansson - so it is using the intended version and not any other installed version. Anyway, I can run it as long as I drop to -O2, which will do for now Thanks for trying.. will have to wait until I've got time to install 64-bit to get full speed hashing power! I have a lot of programs I'd need to find 64 bit versions of and I'm only running the miner when I'm not using the machine
|
1FwGATm6eU5dSiTp2rpazV5u3qwbx1fuDn
|
|
|
ancow
|
|
June 22, 2011, 12:07:41 PM |
|
I tried your configure line - it makes no difference (its the same as the one I was using, except I was using the CFLAGS= before ./configure (afaik this doesnt matter)
It doesn't? With the CFLAGS before the command, bash will make it an environment variable to this command, after, and it gets passed to the command as an argument. Does configure really handle environment variable style arguments?
|
BTC: 1GAHTMdBN4Yw3PU66sAmUBKSXy2qaq2SF4
|
|
|
-ck
Legendary
Offline
Activity: 4256
Merit: 1645
Ruu \o/
|
|
June 22, 2011, 02:34:03 PM |
|
Okay so I've spent many hours understanding GPU code and opencl code and ported stuff from all over the place and modified it to suit c and optimised it to get half decent performance out of cpuminer. So I now have a branch of cpuminer that will mine on both cpu and gpu where possible. There are no extra command line tunables at the moment, but by default it uses a modified version of the poclbm kernel, vectors, bfi_int patching and optimised worksizes for the vectors that I've tried to use the most of all pipelines. I've designed the threads that manage the GPU carefully to spend as little time wasted as possible between feeding work to the GPU, and does most of the work asynchronously. The GPU managing thread uses very little CPU of its own. I must stress I have only just got all the features working that I wanted and have decent performance out of it now. With time I should be able to make it more configurable. For those who want to test it at this early stage, this is my development git tree and is currently usable: https://github.com/ckolivas/cpuminer/tree/gpumineBy default it will mine on both cpu and gpu, but I've made it so you can disable cpu with --threads 0. I'm planning on hopefully merging the phatk kernel into it as well as it seems to be even better than what I currently have. The output looks like this and is a running total of both CPU and GPU: [2011-06-23 00:29:27] [187.15 Mhash/sec] [37 Accepted] [0 Rejected] [2011-06-23 00:29:32] [187.05 Mhash/sec] [37 Accepted] [0 Rejected] [2011-06-23 00:29:37] [186.94 Mhash/sec] [37 Accepted] [0 Rejected] [2011-06-23 00:29:40] GPU 0 found something? [2011-06-23 00:29:41] PROOF OF WORK RESULT: true (yay!!!) [2011-06-23 00:29:42] [187.22 Mhash/sec] [38 Accepted] [0 Rejected] [2011-06-23 00:29:47] [187.09 Mhash/sec] [38 Accepted] [0 Rejected] It's supposed to work on all GPU cards installed at the same time, but I only have one (at the moment) to test. Note it will ONLY work on ATI cards at the moment, and only those that support BFI_INT instructions, till I build more infrastructure into the code for the rest.
|
Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel 2% Fee Solo mining at solo.ckpool.org -ck
|
|
|
theowalpott
Member
Offline
Activity: 80
Merit: 10
|
|
June 22, 2011, 04:52:22 PM |
|
I tried your configure line - it makes no difference (its the same as the one I was using, except I was using the CFLAGS= before ./configure (afaik this doesnt matter)
It doesn't? With the CFLAGS before the command, bash will make it an environment variable to this command, after, and it gets passed to the command as an argument. Does configure really handle environment variable style arguments? I don't think so, I checked with env | grep CFLAGS - this returned nothing. I can also see in the output of make that the compiler switches are the ones I requested with CFLAGS="..." regardless of if I put it before or after ./configure Either way, I am still getting a seg fault for the cryptopp_asm32 algorithm, all others work. The seg fault goes away if I reduce the optimization level to O2 :/
|
1FwGATm6eU5dSiTp2rpazV5u3qwbx1fuDn
|
|
|
jgarzik (OP)
Legendary
Offline
Activity: 1596
Merit: 1099
|
|
June 22, 2011, 10:19:59 PM |
|
Now that cpuminer is being updated to support OpenCL mining, a new thread has been created for support for the GPU mining aspects.
|
Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own. Visit bloq.com / metronome.io Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
|
|
|
d3m0n1q_733rz
|
|
June 23, 2011, 05:32:03 AM Last edit: June 23, 2011, 06:54:18 AM by d3m0n1q_733rz |
|
Hey, I don't mean to thread bump, but I could really use a hand with the SSE commands if someone is familiar with programming. I'm trying to optimize some of the reads and writes to and from the buffer to occur simultaneously in order to take advantage of some of the later SSE additions beyond SSE2. My CPU is quite capable of SSE4.1 so it's not a problem, but if someone would be ever so kind as to give a beginning programmer a hand, I would really appreciate it. I'm looking at some of the horizontal math calculations in SSE3 and thinking that one or two of them can be used towards the end of the hashing once the bit rotations have been completed. And I was going to use PINSRQ, but I found that movdqa was STILL faster somehow. I've been looking for a method to optimize the writing of duplicate variables to multiple xmm locations at once where they're used. But I can't seem to find an instruction to do that. Anyone know of one? An example of this is the sse2_64 code where xmm0 is duplicated to xmm2 and xmm4 is duplicated to xmm6. Then we have xmm0 duplicated to xmm1 and xmm4 to xmm5. If there's a method to tell the system to add the values to two or more xmms at the same time, it would significantly speed up operations. So, how do we get rid of these excessive reads and writes?
|
Funroll_Loops, the theoretically quicker breakfast cereal! Check out http://www.facebook.com/JupiterICT for all of your computing needs. If you need it, we can get it. We have solutions for your computing conundrums. BTC accepted! 12HWUSguWXRCQKfkPeJygVR1ex5wbg3hAq
|
|
|
Anonymous
Guest
|
|
June 30, 2011, 05:21:02 AM |
|
(Excuse me for my bad English. I'm french ...)
I'm feeling a little bit dump. What command have I to enter into the .bat-file to start the miner and connect him to a pool? On my PC, the cmd.exe-Window opens, but it closes just after that.
|
|
|
|
rocksalt
Newbie
Offline
Activity: 51
Merit: 0
|
|
June 30, 2011, 08:02:40 AM |
|
i use this in a batch file your_miner.exe -o http://btcguild.com:8332/ -v -u username -p password
|
|
|
|
Anonymous
Guest
|
|
June 30, 2011, 03:06:41 PM |
|
It still doesn't work... I wrote: minerd.exe -o SERVER:PORT -v -u USERNAME.WORKERNAME -p WORKERSPASSWORT
What is wrong?
|
|
|
|
dserrano5
Legendary
Offline
Activity: 1974
Merit: 1029
|
|
June 30, 2011, 03:25:23 PM |
|
Why not use a config file? See #473.
|
|
|
|
rocksalt
Newbie
Offline
Activity: 51
Merit: 0
|
|
June 30, 2011, 03:54:01 PM |
|
minerd.exe has different variables.... minderd /?
|
|
|
|
Anonymous
Guest
|
|
June 30, 2011, 04:31:36 PM |
|
It still doesn't work. Now, my computer says, the process had crashed and have to be killed.
Well, it changes a bit now...
|
|
|
|
rocksalt
Newbie
Offline
Activity: 51
Merit: 0
|
|
June 30, 2011, 04:33:52 PM |
|
minerd.exe --algo cryptopp_asm32 --s 2 --url http://btcguild.com/ --userpass xxxx:xxx
|
|
|
|
Anonymous
Guest
|
|
June 30, 2011, 04:50:50 PM |
|
I got an error message: HTTP request failed: necessary data rewind wasn't possible
|
|
|
|
rocksalt
Newbie
Offline
Activity: 51
Merit: 0
|
|
July 01, 2011, 08:03:49 AM |
|
never seen that one before can you telnet to your pool ? open a cmd prompt type this for example.. change the btcguild to your mining pool C:\>telnet http://btcguild.com 8332 you should get a blank screen as it makes a connection if you do, then it's not a comms issue.... do you have any filtering in between your miner machine and the pool ? like proxy or firewall that does content filtering ? if you can't telnet and get the blank screen then your not able to see it to make the connection in the first place, so i'd say test it against another pool.. see if you get same result, failing that, run up a local bitcoin.exe -server follow the instructions on setting up a user account locally and connect your miner to your local bitcoin server and see what the results are.
|
|
|
|
jgarzik (OP)
Legendary
Offline
Activity: 1596
Merit: 1099
|
|
July 13, 2011, 03:18:34 AM |
|
cpuminer has largely been superceded by Con Kolivas's cgminer fork. See cgminer's official forum thread for updates and details.
|
Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own. Visit bloq.com / metronome.io Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
|
|
|
|