支援 NVIDIA GPU 挖礦工具編譯 [論壇 - Ubuntu 非官方發行版討論]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



支援 NVIDIA GPU 挖礦工具編譯
會員二級
註冊日期:
2017/3/23 10:15
所屬群組:
已註冊使用者
等級: 5
HP : 0 / 122
MP : 16 / 616
EXP: 90
離線
############################################
#### 安裝編譯工具 cuda、gcc-5
############################################
首先安裝 nVidia CUDA SDK

安裝套件庫版本方法:
sudo apt-get install nvidia-cuda-dev nvidia-cuda-toolkit

安裝套件庫版本,編譯時可免於設定環境變數。

但每個發行版套件庫 CUDA 版本有些不同,所以推薦安裝 NVIDIA 官方版的 CUDA。可自由安裝需要的版本,只是編譯時須設定環境變數。

CUDA 支援 GPU 清單
https://en.wikipedia.org/wiki/CUDA

CUDA SDK 6.5: 支援 compute capability 1.x (Tesla) 架構
CUDA SDK 7.5: 支援 compute capability 2.0 – 5.x (Fermi, Kepler, Maxwell) 架構
CUDA SDK 8.0: 支援 compute capability 2.0 – 6.x (Fermi, Kepler, Maxwell, Pascal) 架構,最後一個支援 Fermi 架構版本
CUDA SDK 9.0: 架構 compute capability 3.0 – 7.x (Kepler, Maxwell, Pascal, Volta) 架構

建議下載 run 檔案手動安裝,因為 DEB 版本在不同發行版有依賴問題。

範例: CUDA 版本 8.0.44
Build NVIDIA CUDA 8.0
https://raw.githubusercontent.com/Mint-Fans/linux-package/master/Build%20NVIDIA%20CUDA%208.0

CUDA 只支援 gcc-5, 在 Debian 發行版,只有「sid」套件庫還有 gcc-5。

Debian 安裝 gcc-5 方法:
* 添加 sid 套件庫到 /etc/sources.list 或 /etc/sources.list.d 裡面
deb http://opensource.nchc.org.tw/debian sid main contrib non-free
* 更新套件庫清單
sudo apt-get update
* 安裝 gcc-5
sudo apt-get install gcc-5 g++-5

安裝完後記得刪除 sid 套件庫。

在編譯時必須設定gcc環境變數
export CC=/usr/bin/gcc-5
export CXX=/usr/bin/g++-5

或者乾脆切換gcc版本,省略設定變數
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 40
sudo update-alternatives --config gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 40
sudo update-alternatives --config g++

2/4 7:13:34
應用擴展 工具箱
回覆: 支援 NVIDIA GPU 挖礦工具編譯
會員二級
註冊日期:
2017/3/23 10:15
所屬群組:
已註冊使用者
等級: 5
HP : 0 / 122
MP : 16 / 616
EXP: 90
離線
##############################
### Build xmrig-nvidia
##############################
支援幣種:BCN、XMR、FCN、AEON

範例: 基於 Debian buster/testing 環境,CUDA 版本 8.0

* 必要依賴
sudo apt-get install git build-essential cmake libuv1-dev libmicrohttpd-dev

* NVIDIA CUDA 官方版變數:
CUDA_SOVERSION='8.0.44'
CUDA_BIN=/opt/cuda/$CUDA_SOVERSION/bin
CUDA_LIB=/opt/cuda/$CUDA_SOVERSION/lib
export PATH=$PATH:$CUDA_BIN
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_LIB

* 切換GCC版本 (for nVidia CUDA)
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 40
sudo update-alternatives --config gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 40
sudo update-alternatives --config g++
or
export CC=/usr/bin/gcc-5
export CXX=/usr/bin/g++-5

* 編譯
git clone https://github.com/xmrig/xmrig-nvidia.git
cd xmrig-nvidia
sed -i 's/kDonateLevel = 5/kDonateLevel = 0/g' src/donate.h
sed -i s/'arg < 1 || arg > 99'/'arg < 0 || arg > 99'/g src/Options.cpp
sed -i s/'donate-level": 5'/'donate-level": 0'/g src/config.json

mkdir build
cd build

cmake .. -DUV_LIBRARY=/usr/lib/x86_64-linux-gnu/libuv.a \
-DCUDA_ARCH="20;30;32;35;37;50;52;53;60;61;62" \
-DCMAKE_C_COMPILER=gcc-5 -DCMAKE_CXX_COMPILER=g++-5
make

cp ../src/config.json .

==============================
CMake 額外選項
==============================
* Disable CryptoNight-Lite support:
-DWITH_AEON=OFF

* Build without built in http server and API:
-DWITH_HTTPD=OFF

* Use static libuv version:
-DUV_LIBRARY=/usr/lib/x86_64-linux-gnu/libuv.a

* CUDA 6.5
-DCUDA_ARCH="10;11;12;13"
* CUDA 7.5
-DCUDA_ARCH="20;30;32;35;37;50;52;53"
* CUDA 8
-DCUDA_ARCH="20;30;32;35;37;50;52;53;60;61;62"
* CUDA 9
-DCUDA_ARCH="30;32;35;37;50;52;53;60;61;62;70;71"

2/4 7:18:22
應用擴展 工具箱
回覆: 支援 NVIDIA GPU 挖礦工具編譯
會員二級
註冊日期:
2017/3/23 10:15
所屬群組:
已註冊使用者
等級: 5
HP : 0 / 122
MP : 16 / 616
EXP: 90
離線
##############################
### Build xmr-stak
##############################
支援幣種:BCN、XMR、FCN、AEON

範例: 基於 Debian buster/testing 環境,CUDA 版本 8.0

* 必要依賴
sudo apt install libmicrohttpd-dev libssl-dev cmake build-essential libhwloc-dev ocl-icd-opencl-dev

* NVIDIA CUDA 官方版變數:
CUDA_SOVERSION='8.0.44'
CUDA_BIN=/opt/cuda/$CUDA_SOVERSION/bin
CUDA_LIB=/opt/cuda/$CUDA_SOVERSION/lib
export PATH=$PATH:$CUDA_BIN
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_LIB

* 切換GCC版本 (for nVidia CUDA)
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 40
sudo update-alternatives --config gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 40
sudo update-alternatives --config g++
or
export CC=/usr/bin/gcc-5
export CXX=/usr/bin/g++-5

* 編譯
git clone https://github.com/fireice-uk/xmr-stak.git
sed -i 's/= 2.0/= 0.0/g' xmr-stak/xmrstak/donate-level.hpp
cd xmr-stak
mkdir build
cd build
cmake .. -DCUDA_ARCH="20;30;32;35;37;50;52;53;60;61;62" \
-DMICROHTTPD_ENABLE=ON \
-DOpenSSL_ENABLE=ON \
-DHWLOC_ENABLE=ON \
-DCMAKE_LINK_STATIC=ON -DXMR-STAK_COMPILE=generic \
-DCMAKE_INSTALL_PREFIX=$HOME/xmr-stak-cpu
make install

# CUDA 版本選項
* CUDA 6.5
-DCUDA_ARCH="10;11;12;13"
* CUDA 7.5
-DCUDA_ARCH="20;30;32;35;37;50;52;53"
* CUDA 8
-DCUDA_ARCH="20;30;32;35;37;50;52;53;60;61;62"
* CUDA 9
-DCUDA_ARCH="30;32;35;37;50;52;53;60;61;62;70;71"

2/4 7:23:48
應用擴展 工具箱
回覆: 支援 NVIDIA GPU 挖礦工具編譯
會員二級
註冊日期:
2017/3/23 10:15
所屬群組:
已註冊使用者
等級: 5
HP : 0 / 122
MP : 16 / 616
EXP: 90
離線
########################
### Build nheqminer
########################
支援幣種:ZEC

範例: 基於 Debian buster/testing 環境,CUDA 版本 8.0

* 安裝必要依賴
sudo apt-get install cmake build-essential libboost-all-dev

* NVIDIA CUDA 官方版變數:
CUDA_SOVERSION='8.0.44'
CUDA_BIN=/opt/cuda/$CUDA_SOVERSION/bin
CUDA_LIB=/opt/cuda/$CUDA_SOVERSION/lib
export PATH=$PATH:$CUDA_BIN
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_LIB

* 切換GCC版本 (for nVidia CUDA)
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 40
sudo update-alternatives --config gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 40
sudo update-alternatives --config g++
or
export CC=/usr/bin/gcc-5
export CXX=/usr/bin/g++-5

* 下載原始碼
git clone -b Linux https://github.com/nicehash/nheqminer.git

##### Build CPU_XENONCAT #####
cd nheqminer/cpu_xenoncat/Linux/asm/
sh assemble.sh
cd ../../../Linux_cmake/nheqminer_cpu
cmake .
make -j $(nproc)

##############################

###### Build CUDA_TROMP ######
cd nheqminer/Linux_cmake/nheqminer_cuda_tromp
## CUDA 8 ARCH Patch
sed -i 's/CUDA_NVCC_FLAGS};;.*/CUDA_NVCC_FLAGS};; -gencode arch=compute_20,code=sm_20; -gencode arch=compute_20,code=sm_21; -gencode arch=compute_30,code=sm_30; -gencode arch=compute_32,code=sm_32; -gencode arch=compute_35,code=sm_35; -gencode arch=compute_37,code=sm_37; -gencode arch=compute_50,code=sm_50; -gencode arch=compute_52,code=sm_52; -gencode arch=compute_53,code=sm_53; -gencode arch=compute_60,code=sm_60; -gencode arch=compute_61,code=sm_61; -gencode arch=compute_62,code=sm_62 )/g' CMakeLists.txt

cmake .
make -j $(nproc)

##############################

2/4 7:30:34
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.