Git at simple

Git a simple system for version control system, with a basic steps is possible to install or compile git and start using.

 


 
After a simple apt-get install git or a ./configure, make and make install the software is ready to run. To create the repository:

mkdir gitrepo
cd gitrepo (with the code)
git init #init repository
git config –global user.name “user”
git config –global user.email “user@user.com”
git commit -m ‘initial commit’
git push master
git config core.bare true

The workflow:
git status #shows the changed files
git add -u #add changed files or git add -u
git commit #inform the changes
git push #send the files

Infiniband for HPC

Which is the minimum hardware for InfiniBand for HPC ?

–  InfiniBand Adapter Card, Single-Port QSFP QDR IB (40Gb/s)  ($495 ~ R$ 4000)
–  Mellanox Passive Copper Cable, IB QDR/FDR10, 40Gb/s, QSFP, ($134 ~R$1200)
– Switch QDR 36-Port Managed InfiniBand ($10000 ~ R$50000)

For 10 computer nodes 10 x $495 (adpter card) + 10 x $134 Copper Cable + $10000 (switch) = $16290  ~ R$102000

For software, RocksCluster is very suitably solution.

Slurm against torque

Slurm is a very interesting queue sytem for high performance computing, scalable and powerful. Several cluster world wide uses Slurm queue system. One main feature (is a little odd, because this should not be a main feature) the development is still on differently from torque…

The Slurm components:

GPU or not GPU

GPU programing for scientific computing has several gains in the processing time and there is some libraries who could help like blas, lapack etc. One option to use GPU and those libraries is cuBlas, with those libraries is possible to run several functions in GPU:

  1. cublas<t>geam();
  2. cublas<t>her()
  3. and all the 152 blas function.

The statment is cuBlas is lot faster than MKL:

Code time analysis for intel ICC or GCC

During a code parallelization is important see which is most time spending function, using gprof and gprof2dot is possible to generate some graphs like this:

sw2
In the nutshell, using Debian:

# apt-get install python graphviz
# pip install gprof2dot
# icc yourSoftware.c -pg -o yourSoftware or gcc yourSoftware.c -pg -o yourSoftware
# ./yourSoftware
# gprof ./yourSoftware
# gprof ./yourSoftware | gprof2dot -n0 -e0 | dot -Tpng -o output.png ; eog output.png