Когда у меня было мало khash'ей я поиском нашёл именно эту тему. Первая ссылка не работает, вторая - только для 32-битных систем, да и программа по ней старая. Я хоть и ламер, но решил написать что узнал дальше.
Есть
несколько видов майнеров для GPU и все они работают либо с bitcoin (ускоряя его), либо с пулом. Для Linux я нашёл два, беспроблемный
poclbm (OpenCL) и проблемный
RPC Miner (CUDA). Описываю запуск в Linux. Конечно же, в системе должны быть библиотеки CUDA и OpenCL (у nVidia они уже в проприетарном драйвере, и несколько - в отдельном CUDA Toolkit), и для всего, кроме poclbm, необходимо установить SDK. Для poclbm его не нужно устанавливать для nVidia (я не стал и всё заработало), для AMD - надо (в SDK - системная библиотека libOpenCL.so).
poclbmУдовлетворяем зависимости. Устанавливаем pyopencl (у меня нашёлся в репозитарии, если у вас не нашёлся - предлагаю найти любимым поисковиком и установить). Затем устанавливаем python-jsonrpc (у меня не нашёлся в репозитарии, поэтому ниже способ установки без него:)
svn checkout http://svn.json-rpc.org/trunk/python-jsonrpc
cd python-jsonrpc
su
# python setup.py install
# exit
Настраиваем Bitcoin (если не будет использован пул). В скрытом каталоге /home/user/.bitcoin в bitcoin.conf вписываем:
rpcuser=user
rpcpassword=password
Придумать можно своё. Это нужно для того, чтобы сторонняя программа могла присоединиться к нашему bitcoin либо bitcoind, без этого после запуска с ключом -server в консольном выводе мы увидим ошибку (невозможно включить режим сервера RPC, потому что нет параметров rpcuser и rpcpassword в файле конфигурации программы - что-то такое).
Запускаем bitcoin либо bitcoind с ключом -server. Можно в консоли, можно по "Выполнить..." через Alt-F2.
Запускаем в консоли ту самую программу:
python poclbm.py -d 0 --user user --pass password
Где -d 0 - это номер нужной видеокарты. То что у неё номер 0 я узнал из сообщения об ошибке при запуске скрипта без параметров. Мы увидим то, что генерируется заметно быстрее, чем на CPU (у меня с GeForce 9800GT 512 Mb RAM - около 26700, если не шевелить мышкой и ничего не делать, иначе замедлится на 400-500, а ещё интейфейс системы немного замедлится).
Для пула команда другая:
python poclbm.py -d 0 --host=deepbit.net --port=8332 --user=xxx@xxx.ru --pass=xxx
Для пула deepbit.net. Название пула, его порт, имя пользователя и пароль нужно заменить на свои.
Стоит сказать, что я только запускал оба майнера, дополнительные настройки не смотрел. Выключить poclbm можно сочетанием клавиш Ctrl-C, нам скажут bye и выключатся.
RPC MinerЕго установка сложна, так как он ориентирован в основном на Windows. Мне очень помогло
сообщение 222 в его теме обсуждения. Это руководство для того чтобы заставить работать последний на данный момент исходный код, дата которого 20110227. Можно сделать всё как там написано. Зависимости: boost, DB, CUDA Toolkit вместе с CUDA SDK (последний нужен для компилирования), больше не знаю что нужно ещё.
Открыть главный CMakeLists.txt и увидеть список того что, нужно скомпилировать. Везде выставить OFF, кроме первого и последнего (CUDA и RPC Miner). GUI, к сожалению, не компилируется (у меня, не находит какие-то заголовочные файлы wxWidgets), хотя вам, может, и повезёт! Затем найти строчку SET(Boost_USE_STATIC_LIBS ON) и заменить ON на OFF. Сохранить.
Зайти в каталог с этим файлом и выполнить cmake . Это конфигуратор, компиляцию запускать не надо. Ищем файл src/serialize.h и дописываем последний include: #include <limits.h> . А следующей строчкой дописываем using namespace boost; Сохраняем файл.
Открываем файл src/cuda/bitcoinminercuda.cu и дописываем в самом начале над #ifdef _BITCOIN_MINER_CUDA_ следующее #define _BITCOIN_MINER_CUDA_ . Зачем это надо и надо ли вообще я не знаю, но при компиляции из-за этого действия я получил 5 WARNING'ов, но компиляция прошла успешно.
Запускаем make. Всё скомпилировалось. Теперь запускаем:
nvcc src/cuda/bitcoinminercuda.cu -gencode arch=compute_10,\"code=sm_10,compute_10\" -gencode arch=compute_11,\"code=sm_11,compute_11\" --keep -gencode arch=compute_20,\"code=sm_20,compute_20\" --keep
Выполнение команды закончится ошибкой - так и должно быть.
Заходим в cmake-rpcminer и видим бинарник rpcminer. Запускаем его из консоли.
После недолгой инициализации видим ошибку. Хочет какой-то файл с расширением cubin (у меня захотел версию 11), каталогом ниже лежат версии 10, 11 и 20. Берём нужную и переименовываем в тот вид, в котором у нас этот файл затребовали. Снова запускаем rpcminer. Вот, теперь работает. Теперь запускаем с параметрами:
./rpcminer -user=user -password=password
Предварительно необходимо отредактировать файл конфигурации bitcoin (как именно я написал выше, в совете по запуску poclbm). У меня на GeForce 9800GT 512 Mb RAM выдало 18000 khash. Меньше, чем с неродным для nVidia OpenCL Странно. Наверное, дело в том что с pyoclbm у меня ещё и все ядра процессора заняты на 100% тоже, а с RPC Miner возможно занят только GPU. Мне лень остановить pyoclbm и проверить: я уже увидел, что колоссального прироста в скорости нет, и возвращаться к тому, на компиляцию чего потратил столько времени, не хочу.
Как и с pyoclbm, я не знаю никаких особых параметров для RPC Miner. -agression=5 и -agression=10 - вот что увидел в его теме форума беглым взглядом. Мне не помогли.