CentOS 7 Desktop Server From Scratch

(This desktop is assembled primarily for molecular dynamics calcualtions via LAMMPS, http://lammps.sandia.gov)


Account Information
Full Name: Paul Huang
User Name: phuang

$ su
# echo 'phuang ALL=(ALL) ALL' >> /etc/sudoers
# tail -1 /etc/sudoers
phuang ALL=(ALL) ALL

Hardware
Device Name: phLMP
Memory: 16 GB x 14 = 224 GB
Processor: Intel Xeon(R) CPU E5-2697 v3 @ 2.6 GHz x 14 Core (28 cores, 56 processors w/HT)
OS Type: CentOS Linux 7 (Core) 64-bit
GNOME: verion 3.14.2
Disk: 3TB x 5 = 15 TB

APPS
/opt
Intel Parallel Studio XE 2015 Cluster Edition for Linux:
Intel C/C++/Forran2015.1.133
Intel MKL 11.2
Intel MPI 5.0.2.044
Intel Advisor_xe_2015.1.0.367266
Intel Inspector_xe_2015.1.0.366509

Intel Compiler
icc: C
icpc: C++
ifort: Fortran

mpiicc - icc - C
mpiicpc - icpc - C++
mpiifort - ifort - Fortran 77/95

Attention!
Intel MPI uses different commands from Open MPI:
mpicc, mpif90, mpifc: GNU
mpiicc, mpiicoc, mpiifort: Intel

$mpirun -genv I_MPI_DEBBUG 5 -n 8 ./my_application
(-xHost, -O2, but turn off optimization when debuting, -O0)

Intel Math Kernel Library Link Line Advisor:
https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/

Open MPI
• CPPFLAGS: C or C++ preprocessor
• LDFLAGS: linker
• LIBS: libraries for linker
• CC: C
• CFLAGS: C
• CXX: C++
• CXXFLAGS: C++
• F77: Fortran 77
• FFLAGS: Fortran 77
• FC: Fortran 90
• FCFLAGS: Fortran 90

LAMMPS Version 7DEC15
NOT INCLUDED:
GPU, KIM, KOKKOS, PYTHON, VORONOI,
USER-CUDA, USER-H5MD, USER-INTEL, USER-QMMM USER-QUIP USER-SMD

Makefile.intel_cpu
($ make -j 28 intel)

Benchmark: 10,000 steps for a system with 11868 atoms
$ mpirun -n 28
5.855 ns/day
4.099 hours/ns
67.771 timesteps/s

$ mpirun -n 56
(with HT)
5.934 ns/day
4.045 hours/ns
68.677 timesteps/s

Add New Hard Drives
The OS is installed on /dev/sda, other 4 3TB hard drives are recognized as /dev/sdb, /dev/sdc, /dev/sdd, /dev/sde
In order to use partitions larger than 2 TB, we need to use parted command. Note. use root to add new hard drivers:

$ su root
$ parted /dev/sdb
$ (parted) mklabel gpt
$ (parted) unit TB
$ (parted) mkpart primary 0 -0
$ print
(You shall see 3TB)
$ quit

(Ref. https://icesquare.com/wordpress/how-to-install-a-3tb-drive-on-linux/)

$ fdisk -l
to check if you have /dev/sdb1 created
$ mkfs -t ext4 /dev/sdb1
$ mkdir /disk1
$ chmod -R 0777 /disk1
$ mount /dev/sdb1 /disk1 -t ext4
$ touch /disk1/test.txt
$ ls /disk1/*
to check if you can write files to the new hard drive
$ nano /etc/fstab
add the following line:
/dev/sdb1 /disk1 ext4 defaults 0 0

REPEAT the steps to add the other three hard drives.
Restart the desktop to make the changes effective.


Yum
Add Repository (EPEL, Nux Dextop, ELRepo)
$ sudo yum install epel-release
$ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

Check: /etc/yum.repos.d, there should be three new folders, "epel.repo", "nux-dextop.repo", and "elrepo.repo"

Remove a repository:
$ rpm -qf /etc/yum.repos.d/cuda-7-5-local.repo
$ sudo yum remove cuda-repo-rhel7-7-5-local.x86_64

OS and Kernel Info
$ uname -r
$ rpm -qa | grep kernel | sort

Compiler & Others
$ sudo yum install gcc
$ sudo yum install gcc-c++
$ sudo yum install gcc-gfortran
$ sudo yum install clang
$ sudo yum install clang-analyzer
$ sudo yum install environment-modules

$ sudo yum install make
$ sudo yum install gdb
$ sudo yum install cmake
$ sudo yum install git
$ sudo yum install tig
$ sudo yum install git-svn

Hard Drive Format
sudo yum install ntfs-3g
sudo yum install fuse-exfat

Python
Deafult in CentOS 7: Python 2.7
$ sudo yum install python-matplotlib
$ sudo yum install PyQt4
$ sudo yum install numpy
$ sudo yum install scipy
$ sudo yum install python-requests
$ sudo yum install python-docopt

Others
$ sudo yum install ghostscript
$ sudo yum gnuplot
$ sudo yum install p7zip
$ sudo yum install unrar
$ sudo yum install filezilla
$ sudo yum install terminator
$ sudo yum install yum-axelget
$ sudo yum install java
$ sudo rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
$ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
$ sudo yum install flash-plugin

Update
$ sudo yum update
$ reboot

Show hidden files from Keyboard
CTRL + H

(Ref. http://seisman.info/linux-environment-for-seismology-research.html)


First draft, January 09, 2016.
Email me (HLL at OU dot EDU) if you have questions or comments.
The Huang Group at The University of Oklahoma
@ The Huang Group
Publication
Research
People
Course
Wiki
News