IntelMPI Application Tuning for AMD EPYC

If you wish to Intel MPI on AMD EPYC Servers, you have to change your MPI

-genv I_MPI_DEBUG=5 -genv I_MPI_PIN=1 -genv KMP_AFFINITY verbose,granularity=fine,compact

Explnation of Options:

-genv I_MPI_DEBUG=5
(Enable debug output to print transport and pinning information)

-genv I_MPI_PIN=1
(Enables Rank Pining. Use in conjunction with the previous options)

-genv KMP_AFFINITY verbose,granularity=fine,compact
( For more information, Thread Affinity Interface (Linux* and Windows*) )

 

References:

  1. High Performance Computing Tuning Guide for AMD EPYC 7002 Series Processors

Allow SSH Root Login From Selected IP Addresses

To secure your system better by allowing selected hosts to ssh into your system as root, you will need the Match keyword found in the /etc/ssh/sshd_config

For example, to allow only 192.168.x to be able to ssh into the system, you do the following. If you are using

Edit the SSH Config

% vim /etc/ssh/sshd_config

1. By IP Addresses

PermitRootLogin no
.....
.....
# Example of overriding settings on a per-user basis
Match Address 192.168.*,172.21.1.1
PermitRootlogin yes

2. By Host Name

PermitRootLogin no
UseDNS yes
.....
.....
# Example of overriding settings on a per-user basis
Match Host *.example.com,host1.idontknow.com
PermitRootlogin yes

3. By User and IP Addresses

PermitRootLogin no
UseDNS yes
.....
.....
# Example of overriding settings on a per-user basis
Match User user1 Host *.example.com
PermitRootlogin yes

References:

  1. Linux: Allow SSH Root Login From Specific IP
  2. How to restrict ssh logins by user and client address on CentOS/RHEL
  3. Limit access to openssh features with the Match option

Compiling and Using PDSH

What is PDSH?

Pdsh is a multithreaded remote shell client which executes commands on multiple remote hosts in parallel. Pdsh can use several different remote shell services, including standard “rsh”, Kerberos IV, and ssh. For more information, do look at https://github.com/chaos/pdsh

Compilating PDSH

% ./configure CC=/usr/local/intel/2019u5/bin/icc --enable-static-modules --without-rsh --with-ssh --without-ssh-connect-timeout-option --prefix=/usr/local/pdsh-2.33
% make
% make install

Specifying a list of hosts

% pdsh -w ^/home/user1/pdsh/hosts uptime

* pdsh take the hostnames from the listed after -w ^ which is /home/users/tmp/hosts

node1: 16:52:59 up 527 days, 3:36, 0 users, load average: 39.46, 38.98, 37.59
node2: 16:53:00 up 30 days, 6:53, 0 users, load average: 44.54, 42.87, 42.20
node3: 16:53:00 up 105 days, 6:40, 0 users, load average: 0.00, 0.01, 0.05
node4: 16:53:00 up 147 days, 9 min, 0 users, load average: 116.68, 111.40, 106.65
node5: 16:53:00 up 548 days, 6:05, 0 users, load average: 32.01, 32.02, 32.05
node6: 16:53:00 up 413 days, 5:19, 0 users, load average: 21.68, 20.74, 20.43
node7: 16:53:00 up 548 days, 6:04, 0 users, load average: 32.00, 32.01, 32.05
node8: 16:53:00 up 23 days, 6:08, 0 users, load average: 32.06, 32.05, 32.05