Show Posts
|
Pages: [1] 2 »
|
I had some trouble getting this to work with SDK 2.4, but finally its running.
On my HD6950 I get ~343Mhash/s, with diapolo's 11-07-17 its slightly better, ~345Mhash/s.
I tested some combinations - but both run best with BFI_INT WORKSIZE=128 VECTORS AGGRESSION=11
|
|
|
this transaction will never be confirmed. I see no problem there ..
|
|
|
thats really weired. I cant see why the compiler generates better code with this statement - but it does. Verified it with SDK 2.4 myself .. Anyone noticed that during the last few rounds a lot of variables are calculated, but never used again? I took the time to optimize all unused statements out, but got no speed improvements at all. Seems like the compiler optimized it anyway. Here it is - from round 124 to the #ifdef VECTORS preprocessor command sharound(121);
// Optimized out all unused calculations W[122 - O] = P4(122) + P3(122) + P2(122) + P1(122); Vals[1] += K[58] + Vals[5] + W[122 - O] + s1(122) + ch(122); Vals[0] += K[59] + Vals[4] + s1(123) + ch(123) + P4(123) + P3(123) + P2(123) + P1(123); Vals[7] += Vals[3] + P4(124) + P3(124) + P2(124) + P1(124) + s1(124) + ch(124);
#ifdef VECTORS Maybe someone can trick the compiler into making better code ;-)
|
|
|
let me make a guess:
you forgot to put
server=1
in your bitcoin.conf?
edit:
you are connecting from another machine, so you also need to set:
rpcallowip and rpcconnect
|
|
|
I once did a similar recovery for a friend of mine. He reinstalled windows including a format and forgot to backup his wallet. Big panic from his side, he installed a lot of shitty tools trying to recover the file.
DONT DO THIS!
Shutdown your pc - no, dont use the "shutdown" in windows, just cut power off.
Get a linux recovery or live-cd and boot your pc from it. make sure it does not write anything to your disk!
Now you can start recovering.
I recommend mondo or scrounge-ntfs for ntfs. They are built-in into most live-cd's.
If everything fails there is still hope: there is a specific structure inside the wallet.dat-file, for example it contains lots of "blockindex"-strings, your public addresses (you can still get them, for example from your pool, do you?) and some more.
i wrote a little tool that searches your whole harddisk for this structure and recovers all private keys it finds - even if there is no reference to the file in the file system, even if the file is partially overwritten - and generates a new wallet.dat file from it.
Write me if you need more help!
|
|
|
I got it from the official github, https://github.com/vinced/namecoin. Its the 3.21.91-version I downloaded as source, unzipped it switched to "src"-directory and compiled with make -f makefile.unix -j 6 this needs a few libraries installed, but it keeps on telling you whats missing. afterwards i copied the namecoind-binary to /usr/local/bin created a simple config in ~/.namecoin/bitcoin.conf (just rpcuser, rpcpassword, rpcport, daemon=1 and server=1) and started up with namecoind I'm running all my rigs on this one and already found some blocks - low difficulty at the moment!
|
|
|
Fixed!
I used the most recent version from git which maybe had some bug or maybe the developers changed something. Now its running with a version a few weeks older - no problems at all.
|
|
|
Just a small update:
I use linux (ubuntu natty 64bit), still cant get namecoind to download the block chain.
$ namecoind getinfo { "version" : 32451, "balance" : 0.00000000, "blocks" : 0, "connections" : 8, "proxy" : "", "generate" : false, "genproclimit" : -1, "difficulty" : 512.00781274, "hashespersec" : 0, "testnet" : false, "keypoololdest" : 1311269883, "paytxfee" : 0.00000000, "errors" : "" }
already tried to delete the database, config, no changes. Letting it run for 2 hours didnt change anything either.
|
|
|
I'm having some trouble getting my self-compiled namecoind to connect to the network / get the blockchain.
Right after starting it up it does not get any connection, instead tries to connect to some nodes on port 36384??
So I gave it a node manually:
addnode=69.164.206.88:8334
now it connects quickly, gets tons of nodes and has 8 connections, but does not download the blockchain. debug.log says:
received block 0000000000540162cbc9 ERROR: CheckProofOfWork() : block does not have our chain ID ERROR: CheckBlock() : proof of work failed ERROR: ProcessBlock() : CheckBlock FAILED received: block (215 bytes) received block 00000000003f8b788e9f ERROR: CheckProofOfWork() : block does not have our chain ID ERROR: CheckBlock() : proof of work failed ERROR: ProcessBlock() : CheckBlock FAILED received: block (215 bytes) received block 00000000007f3cb18860 ERROR: CheckProofOfWork() : block does not have our chain ID ERROR: CheckBlock() : proof of work failed ERROR: ProcessBlock() : CheckBlock FAILED
tons of these.
Any ideas??
|
|
|
Hmmm, my latest payout to my wallet isn't showing up either on blockexplorer. On my deepbit payment page, all the prior transactions (when you click on the dates) are linked up to blockexplorer, but the last one says "No such transaction". I hope this is just a delay.
Same for my last payout. The link to the non-existing transaction is: http://blockexplorer.com/tx/5f694fef5d144d6a1752a9c33a4c1ef4b56a9daf41045c3497808a157a2ccd60Tell me if you need more information!
|
|
|
Here's my card fan regulator tool, written in php. It adjusts the card temp to a specific temperature. It also catches temperature changes faster and adjusts the fan better than the simple version above. It also has some safety extras: Set fan to 100% if card is above 96° (can be adjusted) Clock card down to 500Mhz at 100°C (100% fan here already) and you can change clock frequencies by typing 1 <enter> to 5 <enter> (Silent to full speed), adjust frequencies if needed. 6 is for full speed + cooler card Have fun  <?
// Start with this fan speed $fan = 40;
// Target temperature $targetb = 86;
// At this temp switch to 100% fan $highlim = 96;
$memspeed = 900;
$hyst = 2; $temp = 0; $target = $targetb;
while ( true) { $last = $temp; $temp = gt(); if($last) { $diff = $temp - $last; if($diff > 2) $fan+=5+2*$diff; if($diff < -2) $fan-=5-2*$diff; }
if($temp > $target + $hyst + 2) $fan+=4; if($temp > $target + $hyst + 4) $fan+=20; if($temp < $target - $hyst - 4) $fan-=4; if($temp > $target + $hyst) $fan++; if($temp < $target - $hyst) $fan--; if($fan > 100) $fan = 100; if($fan < 0) $fan = 0; if($temp > $highlim) $fan = 100; // At 100 Deg throttle card if($temp > 100) throttle(); sf($fan);
$a = array(STDIN); $l = array();
if(stream_select($a, $l, $l, 10) > 0) { $d = fread(STDIN,1); echo "--".$d."--"; switch($d) { case '1': sett(500); $target = $targetb + 1; break; case '2': sett(600); $target = $targetb + 1; break; case '3': sett(700); $target = $targetb; break; case '4': sett(800); $target = $targetb - 1; break; case '5': sett(840); $target = $targetb - 2; break; case '6': sett(840); $target = $targetb - 4; } }
}
echo "\n";
function sett($speed) { echo "Setting clock to ".$speed."\n"; exec("aticonfig --odsc ".$speed.",".$GLOBALS["memspeed"]); }
function throttle() { echo "Too hot. Clocking card down to 500Mhz ...\n"; exec("aticonfig --odsc 500,".$globals["memspeed"]); }
function sf($speed) { echo "Setting fan to ".$speed."\n"; exec('aticonfig --pplib-cmd "set fanspeed 0 '.$speed.'"'); }
function gt() { $ausgabe = array(); $e = exec("aticonfig --odgt", $ausgabe); foreach($ausgabe as $line) { $t = explode("Sensor 0: Temperature -", $line); if(count($t) > 1) { $t2 = explode(".", $t[1]); echo "Card at ".$t2[0]."\n"; return (int)$t2[0]; } } }
?>
|
|
|
I was getting only .01% stales, with your patch I have an increase of 10mhash on average with my 5830 ( 295->305) but my stale count is now around 3-4%.....
So .. what about some more information?  Pool? Version used? Clock speeds? 5830 @ 305 seems to be somewhat overclocked ..
|
|
|
How hot does your middle card get? If it locks its maybe >100°C, not good, especially not 24/7.
What about some extra fans / riser cables?
|
|
|
So here are some more changes: I introduced const uint W17_2, containing P1(19) + 0x11002000, thats 3 shifts, 2 xor, 1 add traded against one extra parameter, well worth it, extended self.f: self.f = np.zeros(5, np.uint32) to self.f = np.zeros(6, np.uint32) just after W17 calculation in calculateF: #W17_2 self.f[5] = np.uint32(0x11002000+( rot(self.f[2], 32-13) ^ rot(self.f[2], 32-15) ^ (self.f[2] >> 10) )) added the parameter (right after W17) in call and function => Effectively 3 Op's saved. next change: You can cut out all W0 to W14! Most of them are zero anyway, just needed to hardcode the first ones. Also W[73] to W[78] are not used anymore with some small changes, so no need to initialize them. => less memory use, but has the same speed for me Next one: Round 3 #ifdef VECTORS Vals[4] = (W_3 = ((base + get_global_id(0)) << 1) + (uint2)(0, 1)) + PreVal4; #else Vals[4] = (W_3 = base + get_global_id(0)) + PreVal4; #endif -- // Round 3 Vals[0] = state0 + Vals[4]; Vals[4] += T1; -- W[64 - O] = state0 + Vals[0]; you can reorganize and shorten round 3 to: Vals[0] = T1 + Vals[4]; needed changes in precalculation: Preval4 += T1 T1 = state0 - T1 => another addition almost effortless here the files with these changes: http://www.filesonic.com/file/1423103594still some more to come!
|
|
|
Decreasing hashrates .. thats really strange. These 58xx-cards sometimes behave quite strange.
I cant test it cause all my rigs run on 6950's unlocked to 6970's
|
|
|
I wonder why do we need const uint D1. It is only use once.
Its part of the precalculation. Its needed.
|
|
|
Dont give up! There's still more to optimize, I'm at 1694 ALU OPs (HD6970) at the moment.
|
|
|
I'm pretty sure the compiler will catch this  Note that the speed increase is minimal, ~0.1-0.2% maybe.
|
|
|
Mind explaining more? I don't get it
Its a constant. If I add it together with the other stuff in round 124 to Vals[7], it takes an addition to do so, cause its the only constant. If moved to the comparison at the end, the two constants H[7] and K[60] are merged together into one by the compiler, same execution time here.
|
|
|
how would this save an instruction? did you just move -K[60]?
Yes, just moved it. Now the compiler optimizes it away, before it didn't.
|
|
|
|