• BFI_INT support - Improves performance by 5-20% on supported GPUs
• Efficient - Phoenix 2 doesn’t discard any work unless it is invalid.
• X-Roll-NTime support - Reduces load on pool servers by generating more work locally.
• Free, open-source software - Phoenix 2 is available under the X11 license, and written in (fairly) well-documented and commented Python.
• Modular kernels - If someone releases a more efficient kernel for our miner, it’s as simple as dropping in the new kernel and using it.
• Multiple device support - A single Phoenix 2 instance can mine on all the hardware in the system.
• Hardware autodetect - Phoenix 2 can automatically detect and configure hardware.
• RPC interface - Phoenix 2 can be monitored or controlled remotely using the RPC interface.
• Config file - All user settings are stored in a simple config file.
• Backup pool support - You can specify any number of backup pools in the config file
• Supports RPC w/LP and MMP
Phoenix 2 can automatically detect and configure all supported devices in the system. This can be configured via the global config option.
Autodetect can be specified by device class. With the default kernels Phoenix 2 support 3 classes of device: OpenCL (cl), CPU (cpu), and CUDA (cuda)
You can set the autodetect to only use certain devices. For example, the following setting will enable autodetect on all OpenCL devices except those which are CPUs or Nvidia GPUs (CUDA)
autodetect = +cl -cpu -cuda
Each device is given a unique device ID. For OpenCL the format works like this:
So [cl:0:0] refers to OpenCL device 0 of platform 0.
[cpu:0] Is a generic identifier for the CPU.
Phoenix 2 has a built-in JSON-RPC server that allows remote monitoring and control of the miner. In the future this will be expanded to include a web interface.
• bind - IP to bind the RPC server to.
• disabled - Disables the RPC server.
• logbuffer - The number of logs to return in the getlogs() call.
• password - Password for the RPC server. Default is phoenix.
• port - Port to use for the RPC server. Default is 7780.
• root - Root directory for the web server.
• autodetect - Sets which classes of devices should be automatically detected.
• backend - Sets the backend server. EX: http://user:[email protected]:8332
• backups - Sets the backup servers. EX: http://user2:[email protected]:8332 http://bitcoin:[email protected]:8332
• failback - Sets the interval to check the main server when on a backup server.
• logfile - Enable this option to log to a file.
• queuesize - Target/maximum size of queue.
• queuedelay - Seconds before work expires to request more work.
• ratesamples - Number of samples to average for hashrate reporting.
• statusinterval - Seconds between status bar updates.
• verbose - Enables verbose logging.
Global device settings
• autoconfigure - Enables automatic configuration for the selected device.
• disabled - Disables mining on this device.
• kernel - Specifies which kernel to use for this device.
• name - Sets the name to use for this device.
• start_undetected - Sets if the kernel should start even if the device is not detected.
OpenCL/phatk2 Kernel settings
• aggression - Sets the aggression. This allows you to control the kernel execution time to improve hashrate or reduce interface lag.
• bfi_int - Enables the BFI_INT instruction on this device. (only supported by ATI 5xxx and 6xxx)
• fastloop - Enables fast internal loop. This improves hashrate at lower aggression levels without introducing any additional interface lag.
• goffset - Enables OpenCL 1.1 global offset. This can improve hashrate on supported devices.(does nothing for phatk2)
• vectors - Enables 2-way vectors. (use this or vectors4, not both)
• vectors4 - Enables 4-way vectors. (use this or vectors, not both)
• worksize - Sets the worksize. Tweaking this setting may improve performance.