Skip to content

Instantly share code, notes, and snippets.

@ChrisDowning
ChrisDowning / slurm-aws-startup.sh
Created July 22, 2020 20:45
OpenHPC PEARC20 Slurm node startup script for a dynamic cluster (ARM nodes)
#!/bin/bash
export SLURM_HEADNODE_IPADDR=$(curl -sS http://169.254.169.254/latest/meta-data/local-ipv4)
export SLURM_HEADNODE_AWS_REGION=$(curl -sS http://169.254.169.254/latest/dynamic/instance-identity/document | jq -r '.region')
export COMPUTE_SG=@COMPUTESG@
export COMPUTE_SUBNET_ID=@SUBNETID@
export AWS_DEFAULT_MAC=$(curl -sS http://169.254.169.254/latest/meta-data/mac)
export AWS_SECURITY=$(curl -sS http://169.254.169.254/latest/meta-data/network/interfaces/macs/$AWS_DEFAULT_MAC/security-group-ids)
export AWS_AMI=@COMPUTEAMI@
export AWS_KEYNAME=@KEYNAME@
@ChrisDowning
ChrisDowning / slurm-compute-userdata.sh
Last active February 21, 2022 09:22
OpenHPC PEARC20 Slurm node user-data for a dynamic cluster
#!/bin/bash -xe
exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
sed -i "s|SELINUX=enforcing|SELINUX=permissive|g" /etc/selinux/config
setenforce 0
sleep 180
echo "192.168.0.100:/home /home nfs nfsvers=3,nodev,nosuid 0 0" >> /etc/fstab
echo "192.168.0.100:/opt/ohpc/pub /opt/ohpc/pub nfs nfsvers=3,nodev 0 0" >> /etc/fstab
mount -a
cp /home/.munge /etc/munge/munge.key
chown munge:munge /etc/munge/munge.key
@ChrisDowning
ChrisDowning / slurm-aws-shutdown.sh
Last active February 21, 2022 09:22
OpenHPC PEARC20 Slurm node shutdown script for a dynamic cluster
#!/bin/bash
export SLURM_ROOT=/etc/slurm
export CLUSTER_REGION=$(curl -sS http://169.254.169.254/latest/dynamic/instance-identity/document | jq -r '.region')
export SLURM_POWER_LOG=$SLURM_ROOT/power_save.log
export PATH=$PATH:/usr/local/bin:/usr/bin
function aws_shutdown()
{
COMPUTE_INSTANCE=$(aws ec2 describe-instances \
@ChrisDowning
ChrisDowning / slurm-aws-startup.sh
Last active July 18, 2020 17:37
OpenHPC PEARC20 Slurm node startup script for a dynamic cluster
#!/bin/bash
export SLURM_HEADNODE_IPADDR=$(curl -sS http://169.254.169.254/latest/meta-data/local-ipv4)
export SLURM_HEADNODE_AWS_REGION=$(curl -sS http://169.254.169.254/latest/dynamic/instance-identity/document | jq -r '.region')
export COMPUTE_SG=@COMPUTESG@
export COMPUTE_SUBNET_ID=@SUBNETID@
export AWS_DEFAULT_MAC=$(curl -sS http://169.254.169.254/latest/meta-data/mac)
export AWS_SECURITY=$(curl -sS http://169.254.169.254/latest/meta-data/network/interfaces/macs/$AWS_DEFAULT_MAC/security-group-ids)
export AWS_AMI=@COMPUTEAMI@
export AWS_KEYNAME=@KEYNAME@
@ChrisDowning
ChrisDowning / slurm.conf
Last active February 21, 2022 09:23
OpenHPC PEARC20 slurm.conf file for a dynamic cluster
ClusterName=pearc20
ControlMachine=ip-192-168-0-100
SlurmUser=slurm
SlurmctldPort=6817
SlurmdPort=6818
AuthType=auth/munge
StateSaveLocation=/var/spool/slurm/ctld
SlurmdSpoolDir=/var/spool/slurm/d
SwitchType=switch/none
@ChrisDowning
ChrisDowning / slurm.conf
Last active July 18, 2020 13:08
OpenHPC PEARC20 slurm.conf file for a static 2-node cluster
ClusterName=pearc20
ControlMachine=ip-192-168-0-100
SlurmUser=slurm
SlurmctldPort=6817
SlurmdPort=6818
AuthType=auth/munge
StateSaveLocation=/var/spool/slurm/ctld
SlurmdSpoolDir=/var/spool/slurm/d
SwitchType=switch/none
@ChrisDowning
ChrisDowning / nwchem-make.sh
Last active October 20, 2018 15:55
NWChem compilation (GCC, Intel MPI, MKL, fast ARMCI implementation)
#!/bin/bash
# Before compilation, need to build standalone version of ARMCI provided with NWChem
# To build: cd $NWCHEM_TOP/tools && ./install-armci-mpi
source /opt/intel/mkl/bin/mklvars.sh intel64
source /opt/intel/impi/2018.4.274/intel64/bin/mpivars.sh
export FC=gfortran
export _FC=mpif90
@ChrisDowning
ChrisDowning / nwchem-make.sh
Last active October 20, 2018 00:47
NWChem compilation (GCC, Intel MPI, internal BLAS)
#!/bin/bash
source /opt/intel/mkl/bin/mklvars.sh intel64
source /opt/intel/impi/2018.4.274/intel64/bin/mpivars.sh
export FC=gfortran
export _FC=mpif90
export CC=gcc
export _CC=mpicc
@ChrisDowning
ChrisDowning / quantumespresso-yum.def
Last active March 4, 2019 11:05
Singularity recipe for QuantumEspresso using GCC, Intel MPI & MKL (Yum base)
Bootstrap: yum
OSVersion: 7
MirrorURL: http://mirror.centos.org/centos-%{OSVERSION}/%{OSVERSION}/os/$basearch/
Include: yum
%post
yum -y install yum-utils
yum-config-manager --add-repo https://yum.repos.intel.com/setup/intelproducts.repo
rpm --import https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
yum -y update
@ChrisDowning
ChrisDowning / quantumespresso-docker.def
Last active October 19, 2018 18:04
Singularity recipe for QuantumEspresso using GCC, Intel MPI & MKL (Docker base)
Bootstrap: docker
From: centos:7.5.1804
%post
yum-config-manager --add-repo https://yum.repos.intel.com/setup/intelproducts.repo
rpm --import https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
yum -y update
yum -y install intel-mkl intel-mpi
yum -y install wget make which gcc gcc-gfortran
wget https://gitlab.com/QEF/q-e/-/archive/qe-6.3/q-e-qe-6.3.tar.gz