Pages:
Author

Topic: Phoenix - Efficient, fast, modular miner - page 57. (Read 760706 times)

member
Activity: 78
Merit: 10
How should I use this with deepbit.net pool, where usernames are emails? The @ symbol in email conflicts with @ separator between user/password and hostname.

If you're in Linux just escape the @ in the username:

Code:
http://myself\@here.net:[email protected]

I don't use Windows so I have no clue there.
hero member
Activity: 607
Merit: 500
How should I use this with deepbit.net pool, where usernames are emails? The @ symbol in email conflicts with @ separator between user/password and hostname.
hero member
Activity: 742
Merit: 500
BTCDig - mining pool
Version 1.01 has been released.

Changes:
1. Fixed RPC LP to allow different domain and port.
2. Added WORKSIZE= kernel argument to tweak performance.
3. Other minor fixes to improve speed.

We are also working on a CUDA kernel to improve performance on Nvidia hardware.

Very good.
Added to pool download page, support for long polling enabled.
member
Activity: 78
Merit: 10
poclbm with f=1, ws=128: 385MH/s
phoenix 1.0 with agg=12: 377MH/s
phoenix 1.01 with agg=13 ws=128: 380MH/s

ubuntu 10.10, 5870, 2.1 sdk, vectors
full member
Activity: 219
Merit: 120
Version 1.01 has been released.

Changes:
1. Fixed RPC LP to allow different domain and port.
2. Added WORKSIZE= kernel argument to tweak performance.
3. Other minor fixes to improve speed.

We are also working on a CUDA kernel to improve performance on Nvidia hardware.
full member
Activity: 219
Merit: 120
We certainly appreciate everyone rushing to try it, and provide feedback. Thank you very much!

We know what the problem with speed is. Our test environment uses SDK 2.4, which didn't require a worksize since the default of 256 was providing the best results. We're adding a WORKSIZE option to the kernel right now, (an equivalent to poclbm's -w) that should help you tweak it a bit more for other SDK versions.

Thank you for your patience!
member
Activity: 78
Merit: 10
poclbm with vectors and f=1: 385MH/s
phoenix with vectors and agg=12: 377MH/s

5870
member
Activity: 63
Merit: 10
Long polling support not functional.
You use old and stupid restriction: LP path with same domain and port.
There is no strict description in LP first draft specification about this.
But this is already discussed and implemented in miners.

http://domain.com:port/path/

Full URL Supported by:
poclbm miner from beta1 vesrion
ufasoft SSE2 miner
git version of jgarzik cpuminer

Oops, thanks for the heads up; I didn't know about that little detail, though I would have appreciated a less flamish way of letting me know.
Full-URL support will be included in the next release.
hero member
Activity: 532
Merit: 505
just did a quick test on XP Cat10.12/SDK2.2

HD5570 @750MHz
poclbm -f 5 -w 128 -v gives ~72Mhash/s
phoenix VECTORS AGGRESSION=10 ~68.5Mhash/s

HD5850 @775MHz
poclbm -f 40 -w 128 -v gives ~262Mhash/s
phoenix VECTORS AGGRESSION=10 ~257.5Mhash/s

not really faster it seems,
setting Aggro higher on either card just makes the system unusable, but doesn't improve speed much.



hero member
Activity: 742
Merit: 500
BTCDig - mining pool
Long polling support not functional.
You use old and stupid restriction: LP path with same domain and port.
There is no strict description in LP first draft specification about this.
But this is already discussed and implemented in miners.

http://domain.com:port/path/

Full URL Supported by:
poclbm miner from beta1 vesrion
ufasoft SSE2 miner
git version of jgarzik cpuminer


full member
Activity: 125
Merit: 100
Code looks very nice, unfortunately I get the same issues as with poclbm using it.  Hashrate is roughly as expected, but CPU usage is pegged at 100% on one core while it is running.  Guess I'll be sticking with Diablominer which also gives roughly the same rate without the CPU usage.

This is a 5770 running on Gentoo, hashrate is in the ~165-170M range depending on exact settings.
hero member
Activity: 1204
Merit: 502
Vave.com - Crypto Casino
April 24, 2011, 10:08:24 PM
#9

nevermind.
legendary
Activity: 1750
Merit: 1007
April 24, 2011, 10:05:12 PM
#8
In that case it's slightly slower (~2 mHash/sec) using Aggression 12.  It's slightly faster than base poclbm, but slower than the modified poclbm with the H.x, H.y, and H==0 modification.
full member
Activity: 219
Merit: 120
April 24, 2011, 10:04:23 PM
#7
Comparable to poclbm.py in Linux with my 5870s (using the H.x, H.y, and H == 0 mod) when using aggression 12, compared to poclbm.py with -f1.

Are you using 1024 kHash = 1 mHash, or 1000?

1000, so the rates should be directly comparable.
legendary
Activity: 1750
Merit: 1007
April 24, 2011, 10:01:49 PM
#6
Comparable to poclbm.py in Linux with my 5870s (using the H.x, H.y, and H == 0 mod) when using aggression 12, compared to poclbm.py with -f1.

Are you using 1024 kHash = 1 mHash, or 1000?
sr. member
Activity: 406
Merit: 250
April 24, 2011, 09:57:59 PM
#5
This runs far far slower than poclbm on my nvidia GTX 280.

poclbm = ~50MHash/sec
phoenix = ~32MHash/sec

That's probably the result of our changes to the poclbm OpenCL kernel. The speed tests were run on an ATI 5870. Also, you may want to try with/without VECTORS to see if it helps.

What aggression and -f values were you using for each?

nvidia GTX 280

poclbm
----------------------------
Vectors off / -f 60 = ~50MH/s desktop lag barely noticeable


phoenix
----------------------------
Vectors on / Aggression Default / FastLoop off = ~29.5MH/s
Vectors off / Aggression Default / FastLoop off = ~32MH/s
Vectors off / Aggression Default / FastLoop on = ~41MH/s
Vectors off / Aggression 3 / FastLoop on = ~46MH/s desktop lag barely noticeable
Vectors off / Aggression 4 / FastLoop on = ~47.5MH/s with noticeable desktop lag
Vectors off / Aggression 5 / FastLoop on = ~49.5MH/s but quite a bit of desktop lag
Vectors off / Aggression 7 / FastLoop off = ~50MH/s but extreme desktop lag
Vectors off / Aggression 7 / FastLoop on = ~51MH/s but extreme desktop lag
member
Activity: 84
Merit: 10
April 24, 2011, 09:55:45 PM
#4
Hi does this support solo mining?
full member
Activity: 219
Merit: 120
April 24, 2011, 09:39:34 PM
#3
This runs far far slower than poclbm on my nvidia GTX 280.

poclbm = ~50MHash/sec
phoenix = ~32MHash/sec

That's probably the result of our changes to the poclbm OpenCL kernel. The speed tests were run on an ATI 5870. Also, you may want to try with/without VECTORS to see if it helps.

What aggression and -f values were you using for each?
sr. member
Activity: 406
Merit: 250
April 24, 2011, 09:36:47 PM
#2
This runs far far slower than poclbm on my nvidia GTX 280.

poclbm = ~50MHash/sec
phoenix = ~32MHash/sec
full member
Activity: 219
Merit: 120
April 24, 2011, 09:18:28 PM
#1
Phoenix 1 is no longer in development, please use Phoenix 2:
https://bitcointalksearch.org/topic/phoenix-2-miner-v200-75786

Features

Here's what it has to offer:
  • It's fast - Phoenix implements the BFI_INT instruction, which can improve performance by 5-20%
  • It's as efficient as theoretically possible (that is, it doesn't discard any work unless that work would be invalid)
  • It's free, open-source software - It's available under the X11 license, and written in (fairly) well-documented and commented Python.
  • It loads kernels dynamically - If someone releases a more efficient kernel for our miner, it's as simple as dropping in the new kernel and using it.
  • It has a simple command-line interface - Obviously "simple" is subjective, but it's pretty easy to get started using.
  • It supports RPC w/LP and MMP, and provides plenty of stats.
  • It supports automatic failover by specifying a backup server with -b
-

Example usage

To connect to a pool such as Slush's using our miner and Phateus's phatk2 kernel, you would use a command line such as:
phoenix -u http://USERNAME.WORKERNAME:[email protected]:8332/ -k phatk2 DEVICE=0 VECTORS BFI_INT AGGRESSION=4
...where DEVICE=0 instructs it to use OpenCL device #0, VECTORS has it run 2-way vectors, BFI_INT enables the BFI_INT instruction in newer ATI GPUs, and AGGRESSION can be used to tweak execution size (similar to poclbm's -f)

If you want to tweak the askrate, (since the default is 10 without LP, or none with LP enabled servers) you can use something like this:
phoenix -u http://USERNAME.WORKERNAME:[email protected]:8332/;askrate=5 -k phatk2 DEVICE=0 VECTORS BFI_INT AGGRESSION=4

This should only be used on pools that don't support RPC LP or MMP.


Download

Latest version: 1.7.5
Windows binaries
Source code/Linux release (requires Python, Twisted, and PyOpenCL)

GitHub:
https://github.com/jedi95/Phoenix-Miner


Donations

1PHoenix9j9J3M6v3VQYWeXrHPPjf7y3rU


Phoenix interface
The hashrate display is an average using the most recent 16 samples by default. (configure with -a) It also automatically scales the units depending on the rate.

Accepted and rejected share counts should be pretty self-explanatory.

The protocol type indicates the type of connection:
  • RPC - A standard RPC server, such as Slush's pool or bitcoind
  • RPC (+LP) - An RPC server supporting long polling, such as deepbit.net or bitcoinpool.com
  • MMP - An MMP server, such as Multiminer.

The block change notification only appears on RPC servers that implement the X-Blocknum header and MMP servers that send the BLOCK message.
NOTE: RPC servers with long poll have a different notification.


Command line options

Phoenix arguments

 -v (verbose) - Logs additional debug messages to the console. Default is disabled.
 -q (queue size) - Sets the size of the internal work queue. Default is 1. This shouldn't need to be changed for most GPU miners.
 -a (average samples) - Sets the number of samples to use for hashrate averaging. Default is 10. You might want to lower this for longer kernel execution times. (high aggression)
 -u (URL) - Sets the URL of the work server. The correct protocol is selected based on the prefix (RPC for http://, MMP for mmp://)
 -b (Backup URL) - Sets the URL of the backup work server. The backup server will be used if the primary server is down. Works exactly like -u.
 -k (kernel) - Selects which kernel to load. Default is poclbm. All other arguments MUST come before specifying a kernel. Any arguments after -k are sent to the kernel.

Poclbm/phatk/phatk2 kernel arguments

 PLATFORM=ID - Sets the OpenCL platform to use. This isn't needed if you only have a single platform.
 DEVICE=ID - Sets the OpenCL device to use. This isn't needed if you only have a single device.
 VECTORS - Enables 2-way vectors. This may improve hashrate if enabled, but it can be slower on some hardware. Default is disabled.
 AGGRESSION=LEVEL - Sets the aggression. This allows you to control the kernel execution time to improve hashrate or reduce interface lag. Default is 4 (poclbm), 5 (phatk/phatk2).
 WORKSIZE=SIZE - Sets the worksize. Tweaking this setting may improve performance similar to poclbm's -w flag. Default is the maximum supported by the device.
 FASTLOOP - Enables fast internal loop. This improves hashrate at lower aggression levels without introducing any additional interface lag. Default is enabled.
 BFI_INT - Enables the BFI_INT instruction on newer AMD/ATI GPUs. This significantly improves hashrate. Default is enabled on phatk/phatk2, disabled on poclbm.

NOTE 1: Using FASTLOOP at higher AGGRESSION won't improve performance. However, it no longer results in stale shares. To disable FASTLOOP use FASTLOOP=false.
NOTE 2: The phatk and phatk2 kernels don't work well Nvidia GPUs. Use poclbm kernel instead.


Recommended settings

High-end ATI cards (58xx, 5970, 68xx, 69xx)

Non-dedicated (use these settings if you use the computer while mining)
-k phatk2 VECTORS BFI_INT AGGRESSION=7

Dedicated miner
-k phatk2 VECTORS BFI_INT FASTLOOP=false AGGRESSION=11


Midrange and older ATI cards (48xx, 57xx, ect)

Non-dedicated (use these settings if you use the computer while mining)
-k phatk2 VECTORS BFI_INT AGGRESSION=5

Dedicated miner
-k phatk2 VECTORS BFI_INT FASTLOOP=false AGGRESSION=9

BFI_INT only supported on 5xxx and newer
NOTE: For optimal performance use either SDK 2.1 with poclbm or SDK 2.4 with phatk2. Using phatk/phatk2 on SDK versions other than 2.4 will likely reduce performance.

These settings are intended only as a starting point, and may not be optimal for your system configuration.


Links

Multiminer thread
MMP protocol specifications
phatk/phatk2 kernel thread
Diapolo's modified phatk kernel
Pages:
Jump to: