BitcoinUtopia 'CPUMiner w/ BU mods' CGMiner GPU hack amd64/linux
As of this moment, there is one app at Bitcoin Utopia and it's amd64 linux. Also, as far as I can tell, it's CPU only (please correct me if I'm wrong). Well, I managed to hack it (temporarily) to run cgminer instead capturing the tasks command line in my own 'wrapper'. All we're doing is crunching a known quantity that anyone has access to, we're just allowing our PCs to do it for credits for someone else rather than our own coins. This method could probably be used with any OS that gives the ability to wrap someone else's command with the one you want to run. My app_info is probably a bit dirty and could probably be cleaned up, but here is my wrapper and then the app_info that calls it.
minerd.ermine
Code:
#!/bin/sh
cgminer -T -I d --scrypt -o $2 -u $4 -p $6 --shares ${10} --verbose
Here's what I'm doing. When the projects task comes, all it is is a command sent by the project with specific command line flags and info. Some of those flags won't apply to the app you want to use, so we capture what we want in the wrapper above and discard the rest. We move the binary out of the way and replace it with our script (not to be confused with 'scrypt'). The project wrapper and job_cpuminer-bu-20140211_00001_linux64.xml call minerd.ermine, but we intercept and run cgminer (or whatever) instead. Here's the current command line from the project.
Quote:
wrapper: running ../../projects/www.bitcoinutopia.net_bitcoinutopia/minerd.ermine ( -o stratum+tcp://eu.multipool.us:7777 -u bu_kampanja1.scrypt -p x -a scrypt -t 1)
cgminer doesn't understand "-a" or "-t", so I call scrypt the way cgminer understands it, pull the URL ($2), username ($4), password ($6) and the number of shares (${10}). Then I add a few other things I want such as my desired intensity, text only (not ncurses) and a little more info for my stderr file. One problem, though is that my share difficulty is being raised from 1 (standard CPU app) to 32. It's still faster, but not as much as I would like.
The app_info:
Code:
<app_info>
<app>
<name>cpuminer-bu-20140211</name>
<user_friendly_name>CPUMiner w/ BU mods 2014-02-11</user_friendly_name>
<non_cpu_intensive>0</non_cpu_intensive>
</app>
<file_info>
<name>minerd.ermine</name>
<executable/>
</file_info>
<file_info>
<name>wrapper_26005_x86_64-pc-linux-gnu</name>
<executable/>
</file_info>
<file_info>
<name>cgminer</name>
<executable/>
</file_info>
<file_info>
<name>job_cpuminer-bu-20140211_00001_linux64.xml</name>
</file_info>
<app_version>
<app_name>cpuminer-bu-20140211</app_name>
<version_num>1</version_num>
<api_version>7.1.2</api_version>
<avg_ncpus>1.000000</avg_ncpus>
<max_ncpus>1.000000</max_ncpus>
<flops>2.1e10</flops>
<plan_class>opencl_nvidia_100</plan_class>
<file_ref>
<file_name>minerd.ermine</file_name>
<copy_file/>
</file_ref>
<file_ref>
<file_name>wrapper_26005_x86_64-pc-linux-gnu</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>cgminer</file_name>
</file_ref>
<file_ref>
<file_name>job_cpuminer-bu-20140211_00001_linux64.xml</file_name>
<open_name>job.xml</open_name>
<copy_file/>
</file_ref>
<coproc>
<type>NVIDIA</type>
<count>1.000000</count>
</coproc>
<gpu_ram>300.000000</gpu_ram>
<needs_network/>
</app_version>
</app_info>
If someone could give me tips on how to clean this app_info up, please let me know. I'm a little out of practice.
Clear as mud?