The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle properties and the optical responses of a large variety of materials from bulk periodic crystals to nanostructures such as slabs, wires and molecules.
Local support is not available. For detailed documentation and tutorials, visit the BerkeleyGW website. The user forum can be found here.

Software Category: URL:

Available Versions

To find the available versions and learn how to load them, run:

module spider berkeleygw

The output of the command shows the available BerkeleyGW module versions.

For detailed information about a particular BerkeleyGW module, including how to load the module, run the module spider command with the module’s full version label. For example:

module spider berkeleygw/3.0.1
ModuleVersionModule Load Command
berkeleygw3.0.1module load nvhpc/21.9 openmpi/3.1.6 berkeleygw/3.0.1

Users may build their own versions of BerkeleyGW if they wish to use a different compiler+MPI combination, or to choose individual optional packages. Please consult the official documentation.

Example Slurm script

We built BerkeleyGW with GPU support. It can only run on V100 and A100 GPUs. Please use the following Slurm script as a template.

#SBATCH -A myallocation        # your allocation
#SBATCH -p gpu                 # do not change
#SBATCH --gres=gpu:1           # number of GPU devices
#SBATCH -C v100|a100           # can only run on V100 and A100
#SBATCH -N 1                   # number of nodes
#SBATCH --ntasks-per-node=2    # number of tasks
#SBATCH -t 1-00:00:00          # walltime

module purge
module load nvompic berkeleygw

# see $BERKELEYGW_ROOT/bin for the available executables
srun ...

We highly recommend running a benchmark to decide how many CPU cores and/or GPU devices you should use.