Skip to content

Instantly share code, notes, and snippets.

@q3w3e3
Created December 19, 2020 04:55
Show Gist options
  • Save q3w3e3/5819b31b044e0a496a2d23d6173d856a to your computer and use it in GitHub Desktop.
Save q3w3e3/5819b31b044e0a496a2d23d6173d856a to your computer and use it in GitHub Desktop.
Tuning a cluster to get the highest possible scores is an art all of its own - with compiler optimisations, customised math libraries, etc. However these scores are from the standard hpcc binary package in Ubuntu 16.04.4, using the default configuration.
# Setup on each node
apt install hpcc
swapoff -a
adduser mpiuser
# Controller node setup
su - mpiuser
cp /usr/share/doc/hpcc/examples/_hpccinf.txt hpccinf.txt
# Edit default hpccinf.txt so that NB=80, N=18560, P=8 and Q=12 (P x Q = 96 cores)
sed -i "8s/.*/80\tNBs/; 6s/.*/18560\tNs/; 11s/.*/8\tPs/; 12s/.*/12\tQs/" hpccinf.txt
# Generate & copy SSH keys across cluster, so controller can run benchmark on all nodes
# (use the hostnames or IP addresses for your nodes)
ssh-keygen -t rsa
nodes=('controller' 'b1' 'b2' 'b3' 'b4' 'b5' 't1' 't2' 't3' 't4' 't5' 't6')
for i in ${nodes[@]}
do
ssh-copy-id "fire3-$i"
echo "fire3-$i slots=8" >> mycluster
done
mpirun -hostfile mycluster --mca plm_rsh_no_tree_spawn 1 hpcc
grep -F -e HPL_Tflops -e PTRANS_GBs -e MPIRandomAccess_GUPs -e MPIFFT_Gflops -e StarSTREAM_Triad -e StarDGEMM_Gflops -e CommWorldProcs -e RandomlyOrderedRingBandwidth_GBytes -e RandomlyOrderedRingLatency_usec hpccoutf.txt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment