Bitcoin Forum
June 17, 2024, 05:47:45 PM *
News: Voting for pizza day contest
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Mining software (miners) / Re: New demonstration CPU miner available on: May 13, 2011, 08:53:18 PM
I got Mach-O x86_64 SSE2 to work (Mac OS 10.6.7). Here's the list of everything I did:

1. I got the file libcurl.m4 from a curl source tarball and stuck it in an m4 directory.

2. I installed the gnulib byteswap module into the cpuminer directory and updated build scripts as necessary.

3. When configuring, I had to use both "-arch x86_64" in CFLAGS and the '--build=x86_64-apple-darwin10.7.0' flag, since it seems to detect that my kernel is 32 bit rather than that my processor is 64 bit.

4. To assemble sha256_xmm_amd64.asm, I set "-f macho64" in the Makefile (todo: integrate this into configure)

5. To fix the assembly failures, I applied the patch here: <https://gist.github.com/971291>.

It fixes the 32-bit offset by using another register to hold the current target, which is then used directly and updated as necessary. This adds one extra line of assembly (I'm not sufficiently familiar with x86_64 assembly to know whether or not it actually adds an extra _instruction_, but it probably does) to the main loop as well as a push and a pop to save and restore the values of the register I used (r8). The assembly already uses r10 without doing a save and restore, but I'm not sure how to check that r8 is unused, so this might be unnecessary. It also fixes a problem where my gcc apparently adds leading underscores to all of the names.

This is the least clean section because it probably breaks the build on Linux. Nobody said assembly was supposed to be portable...
2  Bitcoin / Bitcoin Technical Support / Failed assertion with bitcoind-0.3.20.01-linux on: March 01, 2011, 10:27:29 PM
When I upgraded to 0.3.20.1 from 0.3.19, I started getting this error after a while (call it 30 seconds, but I didn't time it) when I start bitcoind:

Code:
bitcoind: main.cpp:3615: void BitcoinMiner(): Assertion `hash == pblock->GetHash()' failed.

This is the debug.log for this run, but I don't see anything interesting.

Code:
Bitcoin version 0.3.20.1 beta
Default data directory /home/<redacted>/.bitcoin
Bound to port 8333
Loading addresses...
dbenv.open strLogDir=/home/<redacted>/.bitcoin/database strErrorFile=/home/<redacted>/.bitcoin/db.log
Loaded 20944 addresses
 addresses              4635ms
Loading block index...
LoadBlockIndex(): hashBestChain=000000000000a91e4022  height=111255
 block index           62109ms
Loading wallet...
nFileVersion = 32001
fGenerateBitcoins = 1
nTransactionFee = 0
addrIncoming = <redacted>:8333
fMinimizeToTray = 0
fMinimizeOnClose = 0
fUseProxy = 0
addrProxy = 127.0.0.1:9050
 wallet                  116ms
Done loading
mapBlockIndex.size() = 111257
nBestHeight = 111255
mapKeys.size() = 104
mapPubKeys.size() = 104
mapWallet.size() = 1
mapAddressBook.size() = 2
sending: version (85 bytes)
ipv4 eth0: <redacted>
addrLocalHost = <redacted>:8333
1 processors
Starting 1 BitcoinMiner threads
ThreadOpenConnections started
ThreadSocketHandler started
ThreadMessageHandler started
ThreadIRCSeed started
BitcoinMiner started
CPUID 6c65746e family 6, model 8, stepping 6, fUseSSE2=0
ThreadRPCServer started
trying connection  lastseen=-0.2hrs lasttry=-360838.0hrs
connected
sending: version (85 bytes)
received: version (85 bytes)
Added time data, samples 2, offset +2 (+0 minutes)
sending: verack (0 bytes)
sending: getaddr (0 bytes)
sending: getblocks (933 bytes)
version message: version 31900, blocks=111257
keypool reserve 1
Running BitcoinMiner with 1 transactions in block

Is anyone else seeing this?

Code:
$ uname -a
Linux lithium 2.6.37-ARCH #1 SMP PREEMPT Fri Feb 18 16:58:42 UTC 2011 i686 Pentium III (Coppermine) GenuineIntel GNU/Linux
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!