Yambo via Docker: Difference between revisions

From The Yambo Project
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 34: Line 34:
  ./drun -i
  ./drun -i


this command will pull the container if not already done and will create a file named env.txt needed by the container to run Yambo.
this command will pull the container (needs ~1.8GB in your filesystem) if not already done and will create a file named env.txt needed by the container to run Yambo.


* Now you can run yambo like in this example:
* Now you can run yambo like in this example:
Line 40: Line 40:
  ./drun yambo -F yambo.in -J yambo.out
  ./drun yambo -F yambo.in -J yambo.out


Some useful options of the script drun:
These are the options of the script drun:


-np N              # n. of MPI tasks for a parallel run
-t N              # n. of threads per task
--env-file FILE    # to use a different environment file
  -i                # container initialization
  -i                # container initialization
-np N              # Number of MPI tasks for a parallel run (default 0, i.e. serial run)
-t N              # Number of threads per process/task (default 1)
--env-file FILE    # to set the path of an environment file (default ./env.txt)


If the yambo container is working correctly this command
If the yambo container is working correctly this command

Revision as of 08:37, 31 March 2022

An alternative to get the Yambo code is to install the Yambo container in your machine and this can be done in few steps:

  • Install the docker platform (Linux or Mac). Follow the instruction in the docker website.

It is possible to run Docker by a normal user without the sudo privileges. In order to do that you have to add your username to the group "docker" (suggested on Linux!).

For Linux users:

 sudo groupadd docker
 sudo usermod -aG docker $USER

For Mac users:

 sudo dscl . create /Groups/docker
 sudo dseditgroup -o edit -a $USER -t user docker

Log out and log back in so that your group membership is re-evaluated.

If you you prefer to use sudo please remember to add the "sudo" command before all the commands below.

  • Download the script file "drun" that will help you hiding the many options needed by the container:
wget https://raw.githubusercontent.com/nicspalla/yambo-containers/main/drun

then give the file execute privileges:

chmod +x drun

Move (or copy) this file in the directory where you want to use Yambo and use it as prefix of your Yambo calculation.

  • First you have to initialize the environment needed by the container:
./drun -i

this command will pull the container (needs ~1.8GB in your filesystem) if not already done and will create a file named env.txt needed by the container to run Yambo.

  • Now you can run yambo like in this example:
./drun yambo -F yambo.in -J yambo.out

These are the options of the script drun:

-i                 # container initialization
-np N              # Number of MPI tasks for a parallel run (default 0, i.e. serial run)
-t N               # Number of threads per process/task (default 1)
--env-file FILE    # to set the path of an environment file (default ./env.txt)

If the yambo container is working correctly this command

./drun yambo -h

should provide in output the help for yambo usage.

  • To delete the container images downloaded you can use this command:
docker image rm <image_name>

To remove all the stopped containers use this command:

docker system prune