ICTP cloud: Difference between revisions

From The Yambo Project
Jump to navigation Jump to search
No edit summary
 
(12 intermediate revisions by one other user not shown)
Line 1: Line 1:
A the participants of the computational school on "Ab-initio Many-body Methods and Simulations with the Yambo Code" will be sent a link and a password to connect via noVNC to a Virtual Machine running on the ICTP cloud server. This is the strongly suggested mode to work on the hand-on sessions.
In the case of Yambo activities sponsored by [https://www.ictp.it// 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.
noVNC is a open source VNC (Virtual Network Computing, a graphical desktop-sharing system) client that runs well in any modern browser.


Line 18: Line 19:
[[File:ICTP Virtual machine terminal.png|600px|Yambo tutorial image]]
[[File:ICTP Virtual machine terminal.png|600px|Yambo tutorial image]]


(ii) The tutorial material is available for the copy from this path:
(ii) The Yambo tutorial material is available for the copy from this path:
  cp -r /media/ictpuser/smr3694/ictptutor/YAMBO_TUTORIALS ~/
  cp -r /media/ictpuser/smr3694/ictptutor/YAMBO_TUTORIALS ~/


Line 25: Line 26:
  spack load yambo
  spack load yambo
  spack load anaconda3
  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 ==
== Other useful spack commands ==
Line 47: Line 53:


An example:
An example:
  ictptutor@smr3694test:~/YAMBO_TUTORIALS$ spack info yambo
  ictpuser@smr3694test:~$ spack info yambo
  AutotoolsPackage:  yambo
  AutotoolsPackage:  yambo
 
  Description:
  Description:
     YAMBO is an open-source code released within the GPL licence. YAMBO
     YAMBO is an open-source code released within the GPL licence. YAMBO
Line 61: Line 67:
     two of the most used planewave DFT codes used in scientific community,
     two of the most used planewave DFT codes used in scientific community,
     Quantum ESPRESSO and Abinit.
     Quantum ESPRESSO and Abinit.
 
  Homepage: http://www.yambo-code.org/index.php
  Homepage: http://www.yambo-code.org/index.php
 
  Maintainers: @nicspalla
  Maintainers: @nicspalla
 
  Externally Detectable:  
  Externally Detectable:  
     False
     False
 
  Tags:  
  Tags:  
     None
     None
 
  Preferred version:   
  Preferred version:   
     5.1.0    [git] https://github.com/yambo-code/yambo.git on branch master
     5.1.0    [git] https://github.com/yambo-code/yambo.git on branch master
 
  Safe versions:   
  Safe versions:   
     5.1.0    [git] https://github.com/yambo-code/yambo.git on branch master
     5.1.0    [git] https://github.com/yambo-code/yambo.git on branch master
Line 88: Line 94:
     4.4.1    https://github.com/yambo-code/yambo/archive/4.4.1.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
     4.3.3    https://github.com/yambo-code/yambo/archive/4.3.3.tar.gz
 
  Deprecated versions:   
  Deprecated versions:   
     None
     None
 
  Variants:
  Variants:
     Name [Default]      When            Allowed values          Description
     Name [Default]      When            Allowed values          Description
     =================    =============    ====================    =========================================================================
     =================    =============    ====================    =========================================================================
 
     cuda [off]          --              on, off                Build with CUDA
     cuda [off]          --              on, off                Build with CUDA
     cuda_arch [none]    --              none, 75, 70, 35,      CUDA architecture
     cuda_arch [none]    --              none, 75, 70, 35,      CUDA architecture
Line 112: Line 118:
     rt [off]            --              on, off                Compile RT executables
     rt [off]            --              on, off                Compile RT executables
     yambopy [off]        --              on, off                Install Yambopy package
     yambopy [off]        --              on, off                Install Yambopy package
 
  Installation Phases:
  Installation Phases:
     autoreconf    configure    build    install
     autoreconf    configure    build    install
 
  Build Dependencies:
  Build Dependencies:
     blas  cuda  fftw-api  gnuconfig  hdf5  lapack  libxc  mpi  netcdf-c  netcdf-fortran  netlib-lapack  openmpi  petsc  py-yambopy  scalapack  slepc
     blas  cuda  fftw-api  gnuconfig  hdf5  lapack  libxc  mpi  netcdf-c  netcdf-fortran  netlib-lapack  openmpi  petsc  py-yambopy  scalapack  slepc
 
  Link Dependencies:
  Link Dependencies:
     blas  cuda  fftw-api  hdf5  lapack  libxc  mpi  netcdf-c  netcdf-fortran  netlib-lapack  openmpi  petsc  py-yambopy  scalapack  slepc
     blas  cuda  fftw-api  hdf5  lapack  libxc  mpi  netcdf-c  netcdf-fortran  netlib-lapack  openmpi  petsc  py-yambopy  scalapack  slepc
 
  Run Dependencies:
  Run Dependencies:
     None
     None
 
  Virtual Packages:  
  Virtual Packages:  
     None
     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 .

Latest revision as of 10:15, 13 April 2022

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 .