Saturday, May 29, 2010

Signals from the Command Lines

Read an interesting article from LINUX format May 2010 on "Sending the right signal". Learned quite a bit from this article on signals.

Name: SIGHUP 
No: 1
Description. Tells a daemon that its configuration file has changed and named to be re-read
Default action: Terminate

Name: SIGINT
No: 2
Description: SIGINT is sent to the foreground process when you type Ctrl + C. It terminate the process
Default action: Terminate

Name: SIGQUIT
No: 3
Description: SIGQUIT is sent to the foreground process and you type Ctrl + \. It terminate the process with a core dump
Default action: Terminate with core dump.
Note: For Fedora, the core file are suppressed. You can check with the command umlimit -a

Name: SIGKILL
No: 9
Description: Extreme signal that can't be caught or ignored.
Default action: Terminate

Name: SIGSEGV
No: 11
Description: It is sent from within the the program when it tried to access a memory that is not in it allocated range. The memory management hardwre notice the attempt and inform the kernel which send a SIGSEGV to terminate the program

Friday, May 28, 2010

Basic xCAT installation

This Blog entry Basic xCAT Installation is a write-up on how to setup a cluster using xCAT

Thursday, May 27, 2010

Installng xsensors and lm-sensors on fedora 12



Background
It is quite useful to know information regarding  your hardware especially the temperature.

Lm-sensors is the low level driver and service that connects to the motherboard components capable of monitoring temperatures and voltages. Lm-sensors collects the data over the reevant subsystem, an I2C interface.

XSensors is the front-end to display the data collected by Lm-sensors

Hardware Prerequisites.
For more information on hardware support by lm_sensors, please visit the Device lm-sensors wiki



Install Prerequisites and XSensors
Step 1: Install lm_sensors package
yum install lm_sensors lm_sensors-devel

Step 2: Install gtk2

yum install gtk+

Step 3: Download the xsensors from the http//linuxhardware.org). The current version at this point in writing is xsensors-0.70.
*Ensure you have GNU compilers installed so that you can compile the program
tar -zxvf xsensors-0.70.tar.gz
cd xsensors-0.70
./configure
make
make install

Tuesday, May 25, 2010

Use Yum to download without installing it

Step 1: First, you have to install the yum-downloadonly plugin for yum
# yum install yum-downloadonly

Step 2: Run the command to download the latest vsftpd
# yum install vsftpd --downloadonly 

Step 3: To specifies an alternate directory to store packages
# yum install vsftpd --downloadonly --downloaddir=/opt

Monday, May 24, 2010

Using yum to local install without checking repository

To prevent yum from going online and check with the repositories, you will need to include --disablerepo flag. For example:
 
yum localinstall --disablerepo=* gcc-4.1.2-48.el5.x86_64.rpm --nogpgcheck

Tuesday, May 18, 2010

Installing Quantum-ESPRESSO with OpenMPI, Intel Compilers and MKL

Do read the Quantum-ESPRESSO website on the requirements required.
Installing the Quantum-Espresso distribution

In this blog entry, I'm compiling Quantum-ESPRESSO with OpenMPI, Intel Compilers and MKL. First thing first, prepare the prerequisites
  1. If you are eligible for the Intel Compiler Free Download. Download the Free Non-Commercial Intel Compiler Download
  2. Compile Intel Compilers with OpenMPI. See Building OpenMPI with Intel Compiler. Make sure your pathing are properly written and sourced.
  3. Install FFTW. For more information, see Installing FFTW 
And now Installing Quantum Espresso
  1. Untar the Quantum Espresso package
    # tar -zxvf espresso-4.1.3.tar.gz
  2. Go to the espresso package directory
    # cd espresso-4.1.3/
    # ./configure
  3. Finall Compile
    # make all
    . You should see a number of *.x in the $ESPRESSO_SOURCE/bin directory.
  4. Make sure you PATH your binaries. For more information, see Installing the Quantum-Espresso distribution

Friday, May 14, 2010

Yahoo! to open source floating its "internal serving" cloud

This article taken from The Register titled "Yahoo! to open source floating Google-Amazon crossbreed"

Early next year, Yahoo! intends to open source its internal "cloud serving" platform, described as something halfway between Amazon's Elastic Compute Cloud and Google's App Engine....................

Thursday, May 13, 2010

BOINC - Open-source software for volunteer computing and grid computing

BOINC is a program that lets you donate your idle computer time to science projects like SETI@home, Climateprediction.net, Rosetta@home, World Community Grid, and many others. Currently more than 500,000 computers are linked and BIONIC is delivering 5 PetaFlops of Computin Hours! Amazing.


Gentoo, Fedora, Ubuntu and Debian are supported. For more information on installation on Linux, you can read the BIONIC wiki. Installing BOINC
For Fedora, do the following
Install the package using yum
yum install boinc-client boinc-manager

Start the service
service bionic-client start

Wednesday, May 12, 2010

Parallel Computing and Packages of Octave

Here is some interesting information on Parallel Computation for Octave
  1. openmpi_ext
    MPI functions for parallel computing using simple MPI Derived Datatypes. It requires Octave
    (>= 3.2.4)
  2. parallel
    Parallel execution package for cluster computers. For parallel execution on a single machine see e.g. function parcellfun (author: Jaroslav Hajek) in package general. It requires Octave (>= 3.0.0)
  3. multicore
    An Octave-forge package providing functions for parallel processing on multiple cores. It requires (>= 2.9.12)
For more information on Octave Packages, see Octave Package

Tuesday, May 11, 2010

Tips on RPM (Part 1)

Read up on some good tips on  RHEL / Fedora RPM from Linux Format magazine. thought I list it down to use it in the future.
  1. To list a specific package, you use
    rpm -qa|grep (package)
  2. To find out what package a file came from
    rpm -qf /usr/sbin/sshd
  3. To show details of a not-yet-installed package
    rpm -qip Singular-release.rpm
  4. Find out what the package depends on
    rpm -qR openssh-server
  5. Show the files contained in an installed package
    rpm -qi openssh-server

Monday, May 10, 2010

IBM and NTU collaborative effort to converge cloud computing & HPC

NTU and IBM HPC-Cloud Collaboration
  1. IBM and NTU announce collaborative effort to converge cloud computing and high performance computing (AlphaGalileo)
  2. IBM, NTU to converge cloud computing, high performance computing (Singapore Business Review)
  3. IBM and NTU collaborative effort to converge cloud computing & HPC (Twitter.com)
  4. IBM and Singapore work on HPC and Clouds (Compute Scotland)
  5. IBM-NTU collaboration  (Convergence Asia)

" Correctable ECC memory error logging limit reached " Error found on IBM H22 Server

The Error Light Emitting Diode (LED) is illuminated on the chassis and the BladeCenter HS22 blade server front information panel. The Advanced Management Module (AMM) system status indicates that there is a " correctable ECC memory error logging limit reached " error. The AMM logs the following errors:

19 E Blade_05 12/08/09, 11:29:06 (octans012) Correctable memory error logging limit reached



The memory errors occurs in the following BladeCenter HS22 configuration:

  • CPU-C states [Enable]
  • Thermal Mode [Normal] double refresh rate
  • 4 GB Samsung VLP DIMMs installed, Option 44T1488, Field Replaceable Unit (FRU) 44T1498

Method 1: Change Thermal Mode setting (preferred method)


  1. Boot the blade into the F1 "System Configuration and Boot Management" screen. Highlight "System Settings". Press Enter and select "Memory". Select "Thermal Mode" and change the setting to "Performance".
  2. Press the Esc key twice to get to "System Configuration and Boot Management" and then select "Save Settings" and "Exit Setup".
  3. Follow the instructions on the next screen to exit the "Setup Utility".
  4. Power the blade off for the changes to take effect and restart.
Changing "Normal" mode to "Performance" mode affects the way that the Dual In-Line Memory Modules (DIMMs) are refreshed. This results in a DIMM temperature warning message occurring at a 10 degree lower temperature. This causes no impact in most industry standard data centers.

For information on the error and alternative solution, see AMM "Correctable ECC memory error logging limit reached" - IBM BladeCenter HS22

Saturday, May 8, 2010

Installing NWChem with OpenMPI, Intel Compilers and MKL and CentOS 5.4

With much credit to Vallard Land's Blog on Compiling NWChem and information on NwChem Build Notes from CSE Wiki. I was able to install NwChem on my GE-interconnect cluster with minimal modification.

For more information, see  Installing NWChem with OpenMPI, Intel Compilers and MKL and CentOS 5.x on my Linux Cluster Blog

Friday, May 7, 2010

NWChem

NWChem is a computational chemistry package that is designed to run on high-performance parallel supercomputers as well as conventional workstation clusters. It aims to be scalable both in its ability to treat large problems efficiently and in its usage of available parallel computing resources. NWChem has been developed by the Molecular Sciences Software group at the Department of Energy's EMSL. Most of the implementation has been funded by the EMSL Construction Project.

Thursday, May 6, 2010

GAMESS

GAMESS is a program for ab initio molecular quantum chemistry. Briefly, GAMESS can compute SCF wavefunctions ranging from RHF, ROHF, UHF, GVB, and MCSCF. Correlation corrections to these SCF wavefunctions include Configuration Interaction, second order perturbation Theory, and Coupled-Cluster approaches, as well as the Density Functional Theory approximation.

Important Information
  1. Jan Jensen's blog on GAMESS usage (especially on desktop platform):
  2. Google Groups discussion forum exists for GAMESS users

Wednesday, May 5, 2010

Installing CPMD with OpenMPI, Intel Compilers and MKL

Thie is a continuation of the blog CPMD Consortium

I was compiling CPMD with OpenMPI, Intel Compilers and MKL on CentOS 5.4. It was tough until I stumble onto this blog Install CPMD by craigb (http://cheminsilico.blogspot.com/). I used the recommendation with minor tweak and it works right out of the box!

The University of Sydney Silica Cluster has also written some information on how to compile CMPD in their environment. For more information take a look at How to compile cpmd (No Gromos QMMM)



Step 1: From the CPMD Directory
cd ~/CPMD-3.13.2/SOURCE
./mkconfig.sh IFORT-AMD64-MPI > Makefile

Step 2:  Edit the Makefile to
FFLAGS = -pc64 -O2 -unroll
LFLAGS = -L/opt/intel/mkl/10.0.3.020/lib/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core
CPPFLAGS = -D__Linux -D__PGI -DFFT_DEFAULT -DPOINTER8 -DLINUX_IFC -DPARALLEL
CC = mpicc -cc=icc
FC = mpif90 -fc=ifort -c
LD = mpif90 -fc-ifort -i-static


Step 3: Compile CPMD
# make
If the compilation succeed, it should generate a cpmd.x executable.


Step 4: Pathing
Make sure your $PATH reflect the path of the executable cpmd.x. It is also important to ensure that you check that the libraries are properly linked to the executable
# ldd cpmd.x


Step 5: Test your executable. You have to go to CPMD Consortium to download the cpmd-test.tar.gz for testing.

Tuesday, May 4, 2010

Preventing Swapping unless absolutely necessary

If you have lots of RAM, you may want to use RAM as I/O caches and buffers. The benefits of using RAM as I/O caches and buffers are definitely speed when compared to swapping data.

To review the value of swappiness can be seen by running the following commands
# cat /proc/sys/vm/swappiness

To modified by running the following command (0 will prevent swapping unless absolutely required)
# echo 0 > /proc/sys/vm/swappiness

To make the settings permanent, edit /etc/sysctl.conf
vm.swappiness=0

Monday, May 3, 2010

Using Intel® MKL with Threaded Applications

It seems that calling Intel MKL routines that are threaded from multiple application threads can lead to conflict (including incorrect answers or program failures) or at best longer unexpected CPU times.

A good and through description is given by the Intel Website on the issue as well as the workaround
.Using Intel® MKL with Threaded Applications.

The crux of the problem accoring to Intel is as followed:

Intel MKL can be aware that it is in a parallel region only if the threaded program and Intel MKL are using the same threading library. If the user program is threaded by some other means, Intel MKL may operate in multithreaded mode and the computations may be corrupted. Here is Intel recommendation
Here are several cases and our recommendations:


  1. User threads the program using OS threads (pthreads on Linux*, Win32* threads on Windows*). If more than one thread calls Intel MKL and the function being called is threaded, it is important that threading in Intel MKL be turned off. Set OMP_NUM_THREADS=1 in the environment.
  2. User threads the program using OpenMP directives and/or pragmas and compiles the program using a compiler other than a compiler from Intel. This is more problematic because setting OMP_NUM_THREADS in the environment affects both the compiler's threading library and the threading library with Intel MKL. In this case, the safe approach is to set OMP_NUM_THREADS=1.
  3. Multiple programs are running on a multiple-CPU system. In cluster applications, the parallel program can run separate instances of the program on each processor. However, the threading software will see multiple processors on the system even though each processor has a separate process running on it. In this case OMP_NUM_THREADS should be set to 1.
  4. If the variable OMP_NUM_THREADS environment variable is not set, then the default number of threads will be assumed 1. 


Setting the Number of Threads for OpenMP* (OMP)

The OpenMP* software responds to the environment variable OMP_NUM_THREADS:
  1. Windows*: Open the Environment panel of the System Properties box of the Control Panel on Microsoft* Windows NT*, or it can be set in the shell the program is running in with the command: set OMP_NUM_THREADS=.
  2. Linux*: To set and export the variableP "export OMP_NUM_THREADS=".
This is issue was mentioned by Axel Kohlmeyer at this forum on Parallization Issues

Sunday, May 2, 2010

Quantum ESPRESSO


Quantum ESPRESSO is an integrated suite of computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudopotentials (both norm-conserving and ultrasoft)
  1. Installing the Quantum-Espresso distribution
  2. Parallelization Issues with MKL
  3. Installing Espresso with OpenMPI

Saturday, May 1, 2010

Cache packages permanently by yum

It is possible to stored installed packages by yum by tweaking th /etc/yum.conf command. Edit with the following
keepcache=1

After installing packages, you will noticed that the rpm will be found at /var/cache/yum