Beginer experience with NVIDIA GTX 1070

gjaingjain Southern CalifoniaMember Posts: 4
edited July 2017 in Mining
Thought I'll give back to the community by sharing the experience of building a 4 GPU rig.

Base: i3-7100, Corsair H60 CPU cooler, Corsair Vengeance LPX 8GB 3200 on MSI Z170A M5
Wi-Fi: TP-Link AC1900
4 GPUs: One(1) MSI GTX 1070 Gaming X 8G and Three(3) MSI GTX 1070 Sea Hawk X 8G
PSU: EVGA 850w with 4 VGA outputs
Case: Corsair 750D Airflow Edition (cannot build open air rig with small children in the house.)

OS: Ubuntu 16.04 desktop, enabled Broadcom chipset in "Software & Updates >> Additional Drivers" to enable Wi-Fi.

Nvidia drivers installation:
1. sudo add-apt-repository ppa:graphics-drivers/ppa

2. sudo apt update

3. sudo apt install nvidia-381

4. sudo apt install nvidia-cuda-toolkit

Ethminer installation:

Generate /etc/X11/xorg.conf using nvidia-xconfig

<<< X11 configuration to enable overclocking >>>

For each GPU, ensure /etc/X11/xorg.conf has following lines

Section "Device"
Identifier "Device3" <<<<<---- This is GPU 4
Driver "nvidia"
BusID "PCI:[email protected]:0:0" <<<<<---- This should be address of your GPU
Option "ConstrainCursor" "off"

Section "Screen"
Identifier "Screen3"
Device "Device3"
Option "AllowEmptyInitialConfiguration" "on"
Option "IgnoreDisplayDevices" "CRT"
Option "Coolbits" "31" <<<<<<<<------ This enables overclocking options in nvidia-settings

<<< end of X11 config file modifications to enable overclocking>>>

<<< X11 configuration for use without monitor >>>

For the FIRST GPU ONLY, ensure /etc/X11/xorg.conf has following lines

Section "Device"
Identifier "Device0" <<<<<---- This is GPU 1 with additional config for headless display
Driver "nvidia"
BusID "PCI:[email protected]:0:0" <<<<<---- This should be address of your first GPU
Option "ConstrainCursor" "off"

Section "Screen"
Identifier "Screen0"
Device "Device0"
Option "AllowEmptyInitialConfiguration" "on"
Option "IgnoreDisplayDevices" "CRT"
Option "Coolbits" "31"
Option "ConnectedMonitor" "DFP-0"
Option "CustomEDID" "DFP-0:/etc/X11/edid.bin" <<<< Extracted using nvidia-settings application

<<< end of X11 config file for use without monitor>>>


Stock hashrate: 26 MH/s
Overclocked hashrate: Varies between 30 MH/s - 36 MH/s depending on heat generation, fan placement, power draw etc.

Temperature, Overclocking, Fan and Power Draw adjusted using following procedure

1) Use nvidia-settings and start with fan speed set to 100% and memory overclocking with +600. Move memory clock up +50 with each iteration to ensure stability over 4 hr period. Go back to previous setting ( -50) if ethminer crashes.

2) Reduce fan speed by 10% and observe if the temperature starts rising over 60 minutes.

3) Use nvidia-smi and reduce power draw by 2W in each iteration and observe if the hashrate starts to come down (ethminer output).

Screenshot of fan speeds and power draw:
Screenshot of hashrate with stable overclocking:

<<<Overclocking - end>>>>

<<<Overclocking - automatically apply settings on system reboot>>>>

X11 is set to autologin so that following nvidia-settings are loaded automatically

$ cat .nvidia-settings-rc
# /home/vyomjain/.nvidia-settings-rc
# Configuration file for nvidia-settings - the NVIDIA X Server Settings utility
# Generated on Sat Jul 1 13:28:32 2017

# ConfigProperties:
<<<<added to end of file>>>>




<<<< end of .nvidia-settings-rc >>>>>

<<<< /etc/rc.local to automatically adjust power draw at system startup >>>>>

$ cat /etc/rc.local
#!/bin/sh -e
# rc.local
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
# In order to enable or disable this script just change the execution
# bits.
# By default this script does nothing.

nvidia-smi -pm 1
nvidia-smi -i 0 -pl 120
nvidia-smi -i 1 -pl 120
nvidia-smi -i 2 -pl 120
nvidia-smi -i 3 -pl 120

exit 0

<<<< end of /etc/rc.local >>>>>

Here is how it looks on Nanopool:

Comment if anyone would benefit from more details. I'd happy to help.


Sign In or Register to comment.