Pages:
Author

Topic: Ufasoft Miner - Windows/Linux, x86/x64, SSE2/OpenCL, Open Source - page 26. (Read 631117 times)

newbie
Activity: 47
Merit: 0
Code:
bitcoin-miner 0.21  Copyright (c) 2011 Ufasoft  http://ufasoft.com/open/bitcoin
Mining for mining.eligius.st
Using CPU (2 threads)
Error 80072EE9

Anyone knows how to fix it? I'm getting it on all systems, trying to mine on Eligius. Works perfectly on Linux though.

BTW, I've started a repo trying to rewrite Ufasoft sources to compile under mingw32 (couldn't manage to do it on my own). The URL is https://github.com/d33tah/ufasoft-bitcoin-miner-mingw ; feel free to contact me if you want to help me developing this Wink
full member
Activity: 176
Merit: 100
Most efficient CPU and CUDA miner in existence right now, and you guys are giving the developer crap for using (perfectly valid) uppercase in the results?

fffffuuuuu

Sad state of affairs, people.
sr. member
Activity: 404
Merit: 251
How about precedent?  No miner software or pool uses uppercase except yours.  It may seem trivial to you but every operation counts on the poolserver side and having to convert a long string to lowercase everytime is a waste of cycles.  particularly when in 99.9% of cases the string is already completely lowercase. If you have a good reason for converting to uppercase then fine but if you don't please do what every other miner does so I can stop wasting cpu time for absolutely no reason.

There is reference implementation exists. Function ParseHex() in the file util.cpp of Bitcoin client:
Code:
vector ParseHex(const char* psz) {
    static char phexdigit[256] =
    { -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
      -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
      -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
      0,1,2,3,4,5,6,7,8,9,-1,-1,-1,-1,-1,-1,
      -1,0xa,0xb,0xc,0xd,0xe,0xf,-1,-1,-1,-1,-1,-1,-1,-1,-1,
      -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
      -1,0xa,0xb,0xc,0xd,0xe,0xf,-1,-1,-1,-1,-1,-1,-1,-1,-1
      -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
As you can see, it parses equally Uppercase and Lowercase Hex-digits with NO additional cost by simple translation table.

Without specs, all that works with reference implementation is right, all that don't work is wrong. Isn't it?


sr. member
Activity: 266
Merit: 254
Where is it specified that hexadecimal data should be in lower case?
Any parser should understand any- and mixed-case letters.

How about precedent?  No miner software or pool uses uppercase except yours.  It may seem trivial to you but every operation counts on the poolserver side and having to convert a long string to lowercase everytime is a waste of cycles.  particularly when in 99.9% of cases the string is already completely lowercase. If you have a good reason for converting to uppercase then fine but if you don't please do what every other miner does so I can stop wasting cpu time for absolutely no reason.
legendary
Activity: 1386
Merit: 1097
great, I'll implement it tomorrow
sr. member
Activity: 404
Merit: 251
ufasoft, is there any modification in user agent for this version? It would be nice to know if pool can enable LP for given worker or not...

User-Agent contains substring:   Ufasoft bitcoin-miner/0.21
I think LP can be enabled for versions >= 0.21
legendary
Activity: 1386
Merit: 1097
ufasoft, is there any modification in user agent for this version? It would be nice to know if pool can enable LP for given worker or not...
sr. member
Activity: 404
Merit: 251
Version 0.21 with slush's suggestions released.
Fixed bug in solo-mining.

Windows binary, version 0.21 (2011-October), unpack with password: bitcoin
legendary
Activity: 1386
Merit: 1097
Thanks for fast reply. I'll announce it in my thread.
sr. member
Activity: 404
Merit: 251
Ufasoft, can you please fix your Long polling support? You're not sending credentials (Authorization:) header in LP request, which breaks protocol spec (and don't work with my pool, because I need to know worker login).

LP specs say (point 3):
"Miner starts a request to long polling URL with GET method and same basic authorization as on main connection."

Fixed in 0.21 sources. will be released soon. In current version it will work correctly if login/password are set as:
-u login -p password  options instead of inside URL.

I have also one simple feature request. Miner should disconnect from LP if pool stops providing X-Long-Polling header.

Ok. I will implement this.
legendary
Activity: 1386
Merit: 1097
Ufasoft, can you please fix your Long polling support? You're not sending credentials (Authorization:) header in LP request, which breaks protocol spec (and don't work with my pool, because I need to know worker login).

LP specs say (point 3):
"Miner starts a request to long polling URL with GET method and same basic authorization as on main connection."

I have also one simple feature request. Miner should disconnect from LP if pool stops providing X-Long-Polling header. For example I'm now unable to stop long polling on already connected clients although I see their LP support is broken.

Thanks,
slush
sr. member
Activity: 362
Merit: 250
Change it to AMDAPPSDKROOT=/opt/AMD-APP-SDK-v2.4-lnx64
sr. member
Activity: 404
Merit: 251
Also tried whit this too -->
Code:
sudo CC=gcc-4.5 CXX=g++-4.5 AMDAPPSDKROOT=/opt/AMD-APP-SDK-v2.4-lnx64/bin/x86_64/ ./configure && sudo make && sudo make install

This command is not correct
Do following:

1. sudo bash
2. CC=gcc-4.5 CXX=g++-4.5 AMDAPPSDKROOT=/opt/AMD-APP-SDK-v2.4-lnx64/bin/x86_64/ ./configure && make
newbie
Activity: 15
Merit: 0
Have an issue to install on linux

Code:
miner4@miner4-pc:~/ufasoft_bitcoin-miner-0.20$ sudo CC=gcc-4.5 CXX=g++-4.5 ./configure && sudo make && sudo make install
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc-4.5
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc-4.5 accepts -g... yes
checking for gcc-4.5 option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc-4.5... gcc3
checking whether we are using the GNU C++ compiler... yes
checking whether g++-4.5 accepts -g... yes
checking dependency style of g++-4.5... gcc3
checking for g++-4.5... /usr/bin/g++-4.5
checking build system type... x86_64-unknown-linux-gnu
checking for jwasm... jwasm
checking for pcre_compile in -lpcre... yes
checking for pthread_create in -lpthread... yes
checking for curl_global_init in -lcurl... yes
checking for dlopen in -ldl... yes
checking for clock_gettime in -lrt... yes
checking for gcc 4.4... yes
configure: error: "set AMDAPPSDKROOT environment variable or run ./configure --disable-amdapp"

note that i've already running phoenix and poclbm --> OpenCL it's correctly running (11.6 & 2.4).

Also tried whit this too -->
Code:
sudo CC=gcc-4.5 CXX=g++-4.5 AMDAPPSDKROOT=/opt/AMD-APP-SDK-v2.4-lnx64/bin/x86_64/ ./configure && sudo make && sudo make install
full member
Activity: 176
Merit: 100
No. Aggression setting is not implemented
Fair 'nuf Smiley I still use it for CPU mining - 11.3 MH/s on my Core 2 Quad Q6600 I just installed, but I split out the GPU mining to  Phoenix with aggression=1, 2.7MH/s is a tiny but appreciable boost.

All your work on this miner is much appreciated! I'll send something your way in donations - I've only made about 1.5bcn on mining to date, so I hope it's not too small...
sr. member
Activity: 404
Merit: 251
Is there a way to set "aggression" in ufasoft's (rather efficient, it seems) CUDA miner?

No. Aggression setting is not implemented
full member
Activity: 176
Merit: 100
Where is it specified that hexadecimal data should be in lower case?
Any parser should understand any- and mixed-case letters.
+1 on this just for backup's sake... I work with a lot of hex stuff and while hashes are typically represented in lowercase, it's very poor form to make anything case-sensitive to hex values. Not even Linux is case-sensitive to hex values AFAIK...

Anyway, I just stopped by to ask a quick question. Is there a way to set "aggression" in ufasoft's (rather efficient, it seems) CUDA miner? It makes my desktop almost completely unusable when I run it, and it'd be nice to be able to use the office PC I'm mining on at ~3 MHash/sec on an 8600GT Wink
sr. member
Activity: 404
Merit: 251
Where is it specified that hexadecimal data should be in lower case?
Any parser should understand any- and mixed-case letters.
sr. member
Activity: 266
Merit: 254
I encountered an Problem with Ufasoft and PoolServerJ.
It seems PoolServerJ only accept lowercase Results and Ufasoft sends it uppercase...

However, till this behavior is fixed in PoolServerJ, I´ve got a little fix for Ufasoft:


This is now handled by poolserverj.  Though I prefer the term workaround for Ufasoft's weird behaviour to fix.  Why on earth would you convert the solution to uppercase?
newbie
Activity: 3
Merit: 0
I encountered an Problem with Ufasoft and PoolServerJ.
It seems PoolServerJ only accept lowercase Results and Ufasoft sends it uppercase...

However, till this behavior is fixed in PoolServerJ, I´ve got a little fix for Ufasoft:

In bitcoin-client.cpp:

At BitcoinMiner::SubmitResult insert
Code:
arg.MakeLower();
right before
Code:
String r = wc.UploadString(GetCurrentUrl(), arg);

If you want the displayed result also in lowercase, insert
Code:
shash.MakeLower();
before
Code:
TRACE_BITCOIN(cout << (isatty(fileno(stdout)) ? "\r" : "") << DateTime::Now() << " Result: " << shash << (r ? " accepted" : " rejected") << endl);


Since the conversion is only performed when an result is already local tested it should not affect the performance at all.
Pages:
Jump to: