ICTP cloud

From The Yambo Project
Jump to navigation Jump to search

In the case of Yambo activities sponsored by ICTP all the participants will receive a link and a password to connect via noVNC to a Virtual Machine running on the ICTP cloud server.

noVNC is a open source VNC (Virtual Network Computing, a graphical desktop-sharing system) client that runs well in any modern browser.

How to connect

  • Click on the link that you received by the school organizers or copy and paste it in the url bar of your favorite browser.

Yambo tutorial image

  • Click on the connect button and insert the password.

Your browser will become a linux desktop

Yambo tutorial image

How to load the Yambo code and the tutorials

(i) Open a terminal (click on the black terminal icon, the second from the left in the lower part of the screen) and load the yambo code via spack:

spack load yambo

Yambo tutorial image

(ii) The Yambo tutorial material is available for the copy from this path:

cp -r /media/ictpuser/smr3694/ictptutor/YAMBO_TUTORIALS ~/

(iii) One of the tutorial shows the usage of Yambopy, it is installed via Anaconda. Yambopy is used both to manage workflows and to do postprocessing. So, in order to use it you have to load three spack pakages:

spack load quantum-espresso
spack load yambo
spack load anaconda3

NB: load the anaconda3 package only for the yambopy tutorial, otherwise you may run into problems with gnuplot.

(iv) The Yambopy tutorial material is available for the copy from this path:

cp -r /media/ictpuser/smr3694/ictptutor/YAMBOPY_TUTORIALS ~/

Other useful spack commands

In the virtual machine Yambo was installed via the Spack tool. Spack is a package manager for supercomputers, Linux, and macOS. It makes installing scientific software easy.

spack find [options] [package]

List and search installed packages.

Useful options can be:

-p: show paths to package install directories
-v: show variants in output (can be long)

An example:

ictpuser@smr3694test:~$ spack find -v yambo
==> 1 installed package
-- linux-ubuntu20.04-cascadelake / gcc@11.2.0 -------------------
yambo@5.1.0~cuda~dp+mpi+openmp~parallel_io+ph+rt~yambopy cuda_arch=none linalg=slepc 
patches=b9362020b0a29abec535afd7d782b8bb643678fe9215815ca8dc9e4941cb169f,e3dcb3df39e2c70ebd57ded322d4ddbc1e23bf3b521541d29d4ea0377c475059 profile=memory,time

Variants are the way Spack calls the packages' installation options. The command used to have info about a package and its variants is:

spack info <package>

An example:

ictpuser@smr3694test:~$ spack info yambo
AutotoolsPackage:   yambo

Description:
   YAMBO is an open-source code released within the GPL licence. YAMBO
   implements Many-Body Perturbation Theory (MBPT) methods (such as GW and
   BSE) and Time-Dependent Density Functional Theory (TDDFT), which allows
   for accurate prediction of fundamental properties as band gaps of
   semiconductors, band alignments, defect quasi-particle energies, optics
   and out-of-equilibrium properties of materials. The code resorts to
   previously computed electronic structure, usually at the Density
   Functional Theory (DFT) level and for this reason it is interfaced with
   two of the most used planewave DFT codes used in scientific community,
   Quantum ESPRESSO and Abinit.

Homepage: http://www.yambo-code.org/index.php

Maintainers: @nicspalla

Externally Detectable: 
   False

Tags: 
   None

Preferred version:  
   5.1.0    [git] https://github.com/yambo-code/yambo.git on branch master

Safe versions:  
   5.1.0    [git] https://github.com/yambo-code/yambo.git on branch master
   5.0.4    https://github.com/yambo-code/yambo/archive/5.0.4.tar.gz
   5.0.3    https://github.com/yambo-code/yambo/archive/5.0.3.tar.gz
   5.0.2    https://github.com/yambo-code/yambo/archive/5.0.2.tar.gz
   5.0.1    https://github.com/yambo-code/yambo/archive/5.0.1.tar.gz
   5.0.0    https://github.com/yambo-code/yambo/archive/5.0.0.tar.gz
   4.5.3    https://github.com/yambo-code/yambo/archive/4.5.3.tar.gz
   4.5.2    https://github.com/yambo-code/yambo/archive/4.5.2.tar.gz
   4.5.1    https://github.com/yambo-code/yambo/archive/4.5.1.tar.gz
   4.5.0    https://github.com/yambo-code/yambo/archive/4.5.0.tar.gz
   4.4.1    https://github.com/yambo-code/yambo/archive/4.4.1.tar.gz
   4.3.3    https://github.com/yambo-code/yambo/archive/4.3.3.tar.gz

Deprecated versions:  
   None

Variants:
   Name [Default]       When             Allowed values          Description
   =================    =============    ====================    =========================================================================

   cuda [off]           --               on, off                 Build with CUDA
   cuda_arch [none]     --               none, 75, 70, 35,       CUDA architecture
                                         86, 72, 60, 21, 10,     
                                         80, 13, 53, 20, 62,     
                                         32, 30, 11, 61, 52,     
                                         37, 50, 12              
   dp [off]             --               on, off                 Enable double precision
   linalg [none]        --               none, parallel,         Activate additional support for linear algebra:
                                         slepc                   "parallel" uses SCALAPACK and "slepc" is used for diagonalization of BSE
   mpi [on]             --               on, off                 Enable MPI support
   openmp [off]         --               on, off                 Enable OpenMP support
   parallel_io [off]    @4.4.0:+mpi      on, off                 Activate the HDF5 parallel I/O
   ph [off]             --               on, off                 Compile PH executables
   profile [none]       --               none, time, memory      Activate profiling of specific sections
   rt [off]             --               on, off                 Compile RT executables
   yambopy [off]        --               on, off                 Install Yambopy package

Installation Phases:
   autoreconf    configure    build    install

Build Dependencies:
   blas  cuda  fftw-api  gnuconfig  hdf5  lapack  libxc  mpi  netcdf-c  netcdf-fortran  netlib-lapack  openmpi  petsc  py-yambopy  scalapack  slepc

Link Dependencies:
   blas  cuda  fftw-api  hdf5  lapack  libxc  mpi  netcdf-c  netcdf-fortran  netlib-lapack  openmpi  petsc  py-yambopy  scalapack  slepc

Run Dependencies:
   None

Virtual Packages: 
   None

How to retrieve data

On the Virtual Machine

First of all, it is a good idea to compact the data you want to download. So open a terminal inside the VM and pack the tutorial directories using the tar command:

tar zcvf yambo_tutorials.tgz YAMBO*

or using the zip command (you need to install it before):

sudo apt update && sudo apt install zip
zip -r yambo_tutorials.zip YAMBO*

On your laptop/workstation

If you are a Windows user I'm assuming that you installed OpenSSH as suggested in the document you received to obtain the VM credentials. Open a terminal (or cmd) in your laptop/workstation and copy the compressed package created in the VM. Remember to use the ssh key provided when you asked for the VM credentials and replace "ins45170.ictp.it" with the URL of your VM:

scp -i SMR3694 ictpuser@ins45170.ictp.it:yambo_tutorials.tgz .

or

scp -i SMR3694 ictpuser@ins45170.ictp.it:yambo_tutorials.zip .