Posts

High-Performance Linpack

Image
 HPL Benchmark on my laptop It's the Top500 season time. I therefore tested HPL on my laptop using Intel's latest OneAPI version 2021.1.10.2261. The laptop specifications are obtained from lscpu : $ lscpu Architecture:                    x86_64 CPU op-mode(s):                  32-bit, 64-bit Byte Order:                      Little Endian Address sizes:                   39 bits physical, 48 bits virtual CPU(s):                          8 On-line CPU(s) list:             0-7 Thread(s) per core:              2 Core(s) per socket:              4 Socket(s):                       1 NUMA node(s):                    1 Vendor ID:                       GenuineIntel CPU family:                      6 Model:                           158 Model name:                      Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz Stepping:                        9 CPU MHz:                         874.469 CPU max MHz:                     3800.0000 CPU min MHz:                     800.0000 BogoMIPS:       

NOPs in MIPS

Image
The following no t e address es   questions regarding the  number of  required  NOPs in 5 stages MIPS pipelined processor.  In this example  lw  is the first instruction  follow ed  by an   add  (R-type) instruction with a RAW data dependency .     Table 1 In Table 1 we have an old MIPS which requires 3 NOPs because only after updating the architectural state (cycle 5) the add instruction can proceed.    (D)   refers to NOP instead of Decode.   Table 2 In Table 2 we assume that our  MIPS  can  write data in the first half of the clock cycle and read data in the second half  of the clock cycle  then the  number of NOPs  can be reduced  to 2.   Table 3 Finally in Table 3, like in the previous case, we assume the processor can  write data in the first half of the clock cycle and read data in the second half of the clock cycle  and in addition  it  also supports   forwarding . This time the second instruction  completes with just  1 NOP  del

Hybrid MPI + OpenMP

Image
Nice profiling using TAU from U. of Oregon This tool together with many other useful Parallel Processing tools and packages are available as a single VirtualBox ova image  here from Vi-HPS . You may also be interested to visit Paratools  (HPCLinux) website.

Parallel Debugging with a Serial Debugger

Image
Parallel Debuggers are important tools when trying to eliminate bugs in parallel programs. Commercial parallel debuggers are expensive. In this blog post I will show you a free and open source alternative which is good enough for education purposes and for small codes. Suppose you want to debug the famous cpi.c code which computes an approximation to pi by a parallel numerical integration. This demo uses the free Data Display Debugger (ddd) which is based on gdb but has a nice GUI. Step 1, compile: mpicc -g -o cpi ./cpi.c Step 2, run (without a debugger): mpirun -np 2 ./cpi Step 3, run with the free Data Display Debugger (ddd) : mpirun -np 2 ddd ./cpi The last command will open two MPI processes (instances) of ddd each running cpi, see screen capture: Finally, I enclose here a short video which I hope is convincing: hi-res version:  https://youtu.be/N_J4NKJkuMs Happy (Free) MPI debugging!

OpenFOAM in a container

Image
OpenFOAM up and running in 5 minutes! Get the instructions and the container from  http://openfoam.com/download/install-binary.php   MYLAPTOP> ~/Downloads/startOpenFoam+ non-network local connections being added to access control list of_v1606_plus /opt/OpenFOAM bash-4.1$ echo 'now I am inside the container' now I am inside the container bash-4.1$ cd /home/telzur/OpenFOAM/telzur-v1606+/run/cavity/cavity blockMesh icoFoam paraFoam That's it!

Subversion installation problem in Linux Mint 17.3

sudo apt-get install subversion [sudo] password for telzur: Reading package lists... Done Building dependency tree       Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies:  subversion : Depends: libsvn1 (= 1.8.8-1ubuntu3.2) but it is not going to be installed               Depends: libapr1 (>= 1.4.8-2~) but it is not installable               Depends: libaprutil1 (>= 1.2.7+dfsg) but it is not installable E: Unable to correct problems, you have held broken packages. Any ideas...?

Scientific Python versus Matlab: Geographical differences in interest

Scientific Python versus Matlab: Geographical differences in interest  according to Google trends. Scientific Python: Matlab: Do you think what I think?