How to Install Rustup for All Linux Users in a Cluster or Shared Environment

Rustup is an installer for System Programming Language Rust. If you are running the installer script for yourself, you can take a look at https://github.com/vi/rustup

# curl -sf https://static.rust-lang.org/rustup.sh | sudo sh

But what if you have to install for all users in a Cluster or Shared Environment, how do we do it? Fortunately, we have good information that is found at Installing rustup for all linux users . I took some snipplets from that site

In that article, the author recommends to define RUSTUP_HOME and CARGO_HOME

# export RUSTUP_HOME=/usr/local/rust
# export CARGO_HOME=/usr/local/rust
# curl https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path

The directory should be installed at /usr/local/rust/toolchains/stable-x86_64-unknown-linux-gnu

# ls -l /usr/local/rust/toolchains/stable-x86_64-unknown-linux-gnu
drwxr-xr-x. 2 root root 0 May  6 13:43 bin
drwxr-xr-x. 3 root root 0 May  6 13:42 etc
drwxr-xr-x. 3 root root 0 May  6 13:43 lib
drwxr-xr-x. 2 root root 0 May  6 13:43 libexec
drwxr-xr-x. 5 root root 0 May  6 13:42 share

Configuring ABAQUS Linux Client for New License Server | Step-by-Step

If you have migrated to a new ABAQUS License Server and is planning to point your ABAQUS Linux Client to the new License Server. Here are the simple steps you will need to do

Step 1: Find the custom_v6.env files to edit.

Depending on how you install, for me I like to put everything in /usr/local so my abaqus will be placed there.

# cd /usr/local/abaqus-2023/SIMULIA/EstProducts/2023/linux_a64/SMA/site/
# vim custom_v6.env

Step 2: Edit the custom_v6.env file

Add the abaquslm_license_file = “27398@XXX.XXX.XXX.XXX”

# Installation of Established Products 2023
# Wed Oct 11 13:30:54 2023
plugin_central_dir="/usr/local/abaqus-2023/DassaultSystemes/SIMULIA/CAE/plugins/2023"
# retrieve licensing configuration from EstablishedProductsConfig.ini
importEnv('licensing.env')
abaquslm_license_file = "27398@XXX.XXX.XXX.XXX"

References:

  1. Manually Configuring Licensing for ABAQUS

Options for ANSYS Batch Mode

OptionsDescription
-aasstart Fluent in server mode
-actload ACT Start page
affinity=<x>set processor affinity; <x>={core | sock | off}
-applaunches the Remote Visualization Client
-appscript=<scriptfile>run the specified script in App
-case <file_path> [-data]reads the case file immediately after Fluent launches;
can include the data file if it shares the same name as the case file
-cflushflush the file cache buffer
-cnf=<x>specify the hosts file
-command=”<TUI command>”run TUI command on startup,
-driver <name>sets the graphics driver;
 <name>={opengl | opengl2 | x11 | null}
-envshow environment variables
-grun without GUI or graphics
-gpgpu=<n>    specify number of GPGPUs per machine
-gpu[=<n>]run with GPU Solver, and specify devices to
use as needed (where <n> is a comma-separated
list of devices)
-grrun without graphics
-gurun without GUI
-gui_machine=<hostname>specify the machine to be used for running
graphics-related process
-h<heap_size>  specify heap size for Cortex
-helpthis listing
-host_ip=<host:ip>specify the ip interface to be used by the host process
-i <journal>   read the specified journal file
-license=<x>specify the license capability;
<x>={enterprise | premium}
-meshingrun Fluent in meshing mode
-mpi=<mpi>specify MPI implementation;
 <mpi>={openmpi | intel | …},
-mpitest       run the mpitest program instead of Fluent
to test the network
-nmdon’t display mesh after reading
-pcheckcheck the network connections before spawning
compute node processes
-platform=inteluse AVX2 optimized binary;
This option is for processors that can
support AVX2 instruction set
-postrun a post-processing-only executable
-prepost       run a pre/post-processing-only executable
-p<ic>specify interconnect;
<ic>={default | eth | ib},
-rlist all releases
-r<x>specify release <x>

Building LAMMPS using CMAKE with OpenMPI on Rocky Linux 8

What is LAMMPS (briefly)?

LAMMPS is a classical molecular dynamics code with a focus on materials modeling. It’s an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. More Information on the software, do take a look at https://www.lammps.org/

Where to Download?

You can download the latest stable from Download LAMMPS

Step 1: Ensure Prerequisites are present

Step 2: Download and build LAMMPS

For more information, do take a look at https://docs.lammps.org/Install_tarball.html

$ tar -zxvf lammps-stable.tar.gz
$ cd lammps-2Aug203
$ mkdir build
$ touch setup.sh
$ vim setup.sh

Inside the setup.sh

cmake   -C ../cmake/presets/most.cmake ../cmake             \
-D CMAKE_INSTALL_PREFIX=/usr/local/lammps-2Aug2023 \
-D BUILD_MPI=on \
-D BUILD_SHARED_LIBS=yes \
-D FFT=FFTW3 \
-D FFTW3_INCLUDE_DIRS=${FFTW_INC} \
-D FFTW3_LIBRARIES=${FFTW_LIB}/libfftw3_mpi.a

Notes:
The -C ../cmake/presets/most.cmake command adds the packages that don’t need extra libraries.

Make and Compile……

$ make -j 16 
$ make install

References:

  1. Compiling LAMMPS and using it with Python
  2. Building LAMMPS using CMake

Compiling FFTW-3.3.10 with OpenMPI on Rocky Linux 8

For detailed explanation and information, do take a look at FFTW Installation on UNIX. For my installation.

We will be focusing on using Nvidia hpcx only for this blog. To compile Nvidia hpcx, do take a look at Installing and using Mellanox HPC-X Software Toolkit

You may want to module use which come in the hpcx installation

export HPCX_HOME=/usr/local/hpcx-v2.15-gcc-MLNX_OFED_LINUX-5-redhat8-cuda12-gdrcopy2-nccl2.17-x86_64
module use $HPCX_HOME/modulefiles

Next, I used the following parameters that suit my HPC Environment. The default installation is already double-precision. I needed MPI, OPenMPI and needs AVX512…..

# ./configure --prefix=/usr/local/fftw-3.3.10 --enable-threads --enable-openmp --enable-mpi --enable-avx512
# make && make install

References:

  1. FFTW Installation on UNIX

Installing ORCA-5.0.4 on Rocky Linux 8 with OpenMPI

ORCA is a general-purpose quantum chemistry package that is free of charge for academic users. The Project and Download Website can be found at ORCA Forum. The current version is 5.0.4.

The current prerequisites that I have used were OpenMPI-4.1.1 and System GNU which is 8.5.

Unless I have missed something, the packages of ORCA-5.0.4 has been split into 3 different packages which you have to untar and combine together

  • orca_5_0_4_linux_x86-64_openmpi411_part1
  • orca_5_0_4_linux_x86-64_openmpi411_part2
  • orca_5_0_4_linux_x86-64_openmpi411_part3

How do I untar the packages?

The first thing is to untar all the packages separately first. Assuming you are untarring at the /usr/local/

$ tar -xf orca_5_0_4_linux_x86-64_openmpi411_part1.tar.xz
$ tar -xf orca_5_0_4_linux_x86-64_openmpi411_part2.tar.xz
$ tar -xf orca_5_0_4_linux_x86-64_openmpi411_part3.tar.xz

How do I do with all the untarred packages?

Copy all the untar files into /usr/local/orca-5.0.4.

cp -rv ../orca_5_0_4_linux_x86-64_openmpi411_part1/* .
cp -rv ../orca_5_0_4_linux_x86-64_openmpi411_part2/* .
cp -rv ../orca_5_0_4_linux_x86-64_openmpi411_part3/* .

How to Compile OpenMPI-4.1.1?

Although the Compiling OpenMPI-4.1.5 for ROCEv2 with GNU-8.5 is of a higher version of OpenMPI, the principle and parameters can still be used.

How do I Put them Together?

If you are not using the Module Environment, you can consider installing. For more information do take a look at Installing Environment Modules on Rocky Linux 8.5. All you need to do is then is to load the additional module such as OpenMPI as a prerequisites. Alternatively, you can set the PATH, LD_LIBRARY_PATH of OpenMPI something like this.

export OPENMPI_HOME=/usr/local/openmpi-4.1.1
export PATH=$PATH:$OPENMPI_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OPENMPI_HOME/lib:$OPENMPI_HOME/lib64
export MANPATH=$MANPATH:$OPENMPI_HOME/share
export PATH=$PATH:/usr/local/orca-5.0.4

If you are using without Module Environment, you may want to

orca $INPUT > $OUTPUT

References:

  1. Installing ORCA

Errors with sirius-7.5.2 packages during installation

If you are installing based on Installing CP2K with Nvidia HPCX on Rocky Linux 8.5 and if you encounter the issue

.....
Installing from scratch into /usr/local/software/cp2k/tools/toolchain/install/sirius-7.5.2
for (auto it : unit_cell_.spl_num_paw_atoms()) {
^
/usr/local/software/cp2k/tools/toolchain/build/SIRIUS-7.5.2/src/potential/potential.hpp:710:9: error: expected iteration declaration or initialization
for (auto it : unit_cell_.spl_num_paw_atoms()) {
^~~
/usr/local/software/cp2k/tools/toolchain/build/SIRIUS-7.5.2/src/potential/potential.hpp:717:5: warning: no return statement in function returning non-void [-Wreturn-type]
}
.....

The reason is that the sirius package is installed by default. The issue can be issued if you put the parameters “–with-sirius=no”

% cd cp2k
% cd /usr/local/software/cp2k/tools/toolchain
% ./install_cp2k_toolchain.sh --no-check-certificate --with-openmpi --with-sirius=no

/usr/bin/ld: cannot find -liberty on Rocky Linux 8

I was trying to install CP2K on Rocky Linux 8 using the Installing CP2K with Nvidia HPCX on Rocky Linux 8.5 and I encountered an issue

libtool: warning: library '/usr/local/hpcx-v2.17.1-gcc-mlnx_ofed-redhat8-cuda12-x86_64/ucc/lib/libucc.la' was moved.
/usr/bin/ld: cannot find -liberty
collect2: error: ld returned 1 exit status

The Resolution can be done by installing binutils-devel

# dnf install binutils-devel

Updating ANSYS 2023R2 License Server Information for Linux Client using the command line

If you are updating ANSYS License Server Information for ANSYS Client using only the command line, do the following

# vim usr/local/ansys_inc/shared_files/licensing/ansyslmd.ini
SERVER=1055@IP_Address_Of_ANSYS_LIC_SVR
ANSYSLI_SERVERS=2325@IP_Address_Of_ANSYS_LIC_SVR

Make sure the 1055, 1056, 2325 Ports of the License Server are opened.

Could not load the Qt platform plugin “xcb” in “” even though it was found in Rocky Linux 8

I was installing ANSYS 2023 R2 on Rocky Linux 8 and I encoutnered the error

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb.

Solution

# dnf install python3-qt5