In recent years, large-scale FPGA acceleration cards are rarely used in cryptocurrency mining tasks because of their development threshold and high price. But NOW! The AMD-Xilinx Varium C1100 Blockchain Accelerator Card(C1100) entered the market. This project will provide a step-by-step tutorial on building your FPGA mining machine with commercial TeamRedMiner(TRM) and evaluate C1100's excellent efficiency.
Content:- Start the ETH mining!!!
- Mining Optimization
- Cost evaluation and comparison
I know you want to start immediately !!!
- 1.1 Hardware system requirement
Figure 1. System components and connection.
Minimum hardware requirement:
- The motherboard needs to support PCI Express 3.0 full-height x16 slot (Gen3x16). For current firmware of C1100, it supports gen3x4 XDMA.
- A 150W PCI Express slot connection
- An 8-pin PCI Express auxiliary (AUX) power
- Minimum 16GB memory. If you want to develop your bitstream, 80GB memory is recommended.
For more details, please refer to the UG1525 guide.
Figure 2. C1100 with a blower fan.
We use N2DCRYPT's 3D Pointed Cooling solution. Please refer to his Youtube video for more details.
- 1.2 Software installation
Operating system choice (Linux, 64-bit):
- Ubuntu: 16.04, 18.04, 20.04
- CentOS: 7.6, 7.7, 7.8, 8.1, 8.2
- RHEL: 7.6, 7.7, 7.8, 8.1, 8.2
This project applies Ubuntu 18.04.
- 1.2.1 Install TeamRedMiner (TRM)
git clone https://github.com/todxx/teamredminer.git
Download the latest TRM version from the release page.
We use v.0.9.4.2 in this project.
Unpack the ".tgz" file
tar zxvf teamredminer-v0.9.4.2-linux.tgz
- 1.2.2 Firmware installation
- Shut down the computer and plug the C1100 into the PCIe x16 slot on the motherboard.
- Connecting the AUX power connector to C1100 compute adaptor.
- Turn on the computer
Note: PCIe need firmware to boot the machine while turn on the computer, so the first time you plug-in your card will not be started correctly without any firmware setup.
- Install AMD-Xilinx FPGA run time (XRT)
Download C1100 XRT 2020.2.1
sudo apt install ./xrt_202020.2.9.317_18.04-amd64-xrt.deb
Note: This will install the XRT along with any necessary dependencies.
You will get the XRT folder at:
/opt/xilinx/xrt
Configure the bash.
gedit ~/.bashrc
Add the following commands to the bash file.
source /opt/xilinx/xrt/setup.sh
export PATH=/opt/xilinx/xrt/bin:$PATH
Source XRT.
source ~/.bashrc
Download Deployment Target Platform and unpack it.
tar zxvf xilinx-u55n-gen3x4-xdma-all_1-3191732.deb.tar.gz
You will get 4 ".deb" files:
- xilinx-cmc-u55_1.5.16-2.3143933_all.deb
- xilinx-sc-fw-u55_7.1.12-1.ba326cb_all.deb
- xilinx-u55n-gen3x4-xdma-base_1-3191732_all.deb
- xilinx-u55n-gen3x4-xdma-validate_1-3191757_all.deb
Install all of them, and you will get the firmware folder at:
/opt/xilinx/firmware
Then, reboot the computer and flash the firmware on the FPGA card.
- Obtain firmware's <base_name>
and <card_bdf>
by command:
sudo /opt/xilinx/xrt/bin/xbmgmt flash --scan
- Flash the firmware:
sudo /opt/xilinx/xrt/bin/xbmgmt flash --update --shell <base_name> --card <card_bdf>
Example:
sudo /opt/xilinx/xrt/bin/xbmgmt flash --update --shell xilinx_u55n_gen3x4_xdma_base_1 –-card 0000:02:00.0
Please refer to UG1525 for more information.
- 1.2.3 Install the development file
Skip this step if you don't want to develop your bitstream through the AMD-Xilinx Vitis flow.
Download Development Target Platform and install it.
sudo apt install ./xilinx-u55n-gen3x4-xdma-1-202110-1-dev_1-3236984_all.deb
You will get the platform (.xpfm) file located at:
/opt/xilinx/platforms/xilinx_u55n_gen3x4_xdma_1_202110_1/
- Cold reboot your computer to verify your firmware and device that have been installed correctly by the following command:
sudo lspci -vd 10ee:
The following output represents the correct installation.
- 1.3 Run TRM
Run TRM by command:
sudo ./teamredminer -a ethash -o stratum+tcp://us1.ethermine.org:4444 -u <wallet address>.<username> -p x --fpga_tcore_limit=70 --fpga_clk_core=300 --fpga_clk_mem=1310 --fpga_vcc_int=700 --fpga_vcc_bram=800 --fpga_vcc_mem=900 --fpga_update_fw
- Update the firmware to associate with TRM by --fpga_update_fw.
You will have the following vision, which means the mining starts.
Note: The commercial mining software (TRM) will be subject to development fees (4% mining rewards).2. Mining Optimization
If you want to optimize the mining efficiency, you can change the following parameters:
--fpga_tcore_limit
Core temperature, FPGA overheat protection threshold.
--fpga_clk_core
Core clock frequency. A larger frequency means the internal IP will execute faster, but it will increase the temperature and may generate faults if the frequency is too high.
--fpga_clk_mem
HBM clock frequency is related to memory temperature (TMem).
--fpga_vcc_int
The FPGA internal supply voltage value for LUT and internal components.
--fpga_vcc_bram
BRAM supply voltage.
--fpga_vcc_mem
HBM supply voltage.
Please note the TMem and TCore value. The normal execution temperature will not be larger than 80 Celsius.
If the TMem or TCore is always too high, the thermal compound paste is not working well. So you need to uninstall the passive cooling system and spread more on the chip.
Figure 3. Spread new thermal compound paste to achieve better performance.
After fine-tuning the voltage, we can achieve the following performance:
Here we provide a performance comparison of different devices:
We compute the efficiency of different devices. As the ETHMiner is hard to observe and is no longer being used, we can only provide its principle performance. In the above table, we can highlight that C1100 has the highest efficiency, and it is close to ASIC ETHMiner !!!
Comments