Software on the D-PHYS Linux Computers
Here is a list of some software that is available on the D-PHYS Linux workstations. It is by far incomplete and we install more packages as the need arises.
Notes on the system configuration
OOM has been a problem for a long time, fortunately a backported nohang package for 18.04 and 20.04 is very helpful. Be aware that it works much better with 20.04 due to the newer kernel and PSI support.
We also mostly have and use zRAM,
swapon gives you an overview about it, as well as
cat /sys/block/zram*/comp_algorithm on the used compression.
Generally it's lzo for 18.04, and lzo-rle for 20.04.
For a long time we used to have XFS for /scratch* filesystems, since ~5 years, we switched to btrfs and thus can support live file system compression. (There was a time when btrfs did not support swapfiles)
exfat support has been switched to the Samsung implementation for 20.04.
If you want to squeeze out some more, we also have mimalloc
Text Processing and Editors
- LibreOffice: a complete office suite with
lowriteras the text processing tool. It has its own file formats but can read and write MS Word documents, ASCII texts, and more.
- Emacs: a variant of the classic Emacs extensible editor. Perfect for text files, program development, and a lot more.
- vi: a classic among Unix editors, comes as
- mcedit: for fans of Norton Commander
- TeX, LaTeX: professional document processing tool, a classic
- Microsoft Office: can be accessed with RDP,
xfreerdp /f /bpp:24 /d:ad /v:winlogin.phys.ethz.ch /u:$USER +fontsor
- Visual Studio Code
- PyCharm on request, how to get a desktop icon
Compilers & Interpreters
pcbasicthe GW-BASIC compatible interpreter
C, Objective-C and C++
g++from the GNU Compiler Collection
clangLLVM/clang (dlang to follow soon)
iccthe Intel C/C++ Compiler
tccthe tiny C compiler/interpreter
pccthe Portable C Compiler
aoccthe AMD Optimizing C/C++ Compiler where applicable
NVIDIA CUDA Compiler
- where installed, available with
/usr/local/cuda/bin/nvcc(cudnn is also included)
gfortran(Fortran 95) from the GNU Compiler Collection
ifortthe Intel Fortran Compiler on request
juliahigh-performance programming language for technical computing Julia
Java software usually don't need an installation. They can be just
downloaded to your $HOME or /scratch/directory and unpacked, and
java -jar the.jar
Feel free to request fpc, lcl, lazarus if you need Pascal.
Python 3.8.5 is default for
Please don't forget to add
--user if you use
python setup.py install
swiftSwift interpreter Swift
There are just too many libraries and too diverse needs to provide a useful overview. Most libraries are part of the system (e.g. OpenGL is part of the X Window system) and as such compiled with the default compiler (i.e. currently, for Debian 9/stretch GCC version 6.3 in most cases). See the last section to check the state of specific libraries.
- Octave drop in compatible with Matlab scripts
- Comsol needs be bought
- CST needs be bought
- Lumerical/FDTD needs be bought
- R Studio on request, from 20.04 on
- The GIMP: tool to create and manipulate pixel oriented graphics files (e.g., JPEG, PNG, PPM, etc.), useful for working with photos, web graphics and more. Similar uses as Adobe PhotoShop
- inkscape: Vector drawing software.
- Scribus: WYSIWYG desktop publishing
- xmgr, grace: an XY plotting tool
- xfig: drawing tool, powerful, although with a slightly unusual user interface
- Blender: 3d/VFX software, use ctrl-alt-u to set /tmp/ to be /scratch/user/tmp.
- magma only on toad
- mm3d (import special 3d formats that cloudcompare fails with)
- pynpoint on request
- ROOT (run
source /opt/root/bin/thisroot.shto set the correct environment)
- snap you can install this one yourself
- tensorflow only on CUDA enabled machines (1.x or 2.x)
Software useful with special hardware
Finding Software Packages
You can list all installed packages with
This command will also find packages which are not installed on our system. You can check whether a specific package is installed by specifying the package name like such:
dpkg -l emacs
To list the content of a package use
dpkg -L package
Another source of software is https://github.com/
We have a lot of tools, please use them.
dmtcp- Distributed MultiThreaded Checkpointing installed.
CUDA enabled machines also have
You might want to setup these environment variables:
export PATH=$PATH:/usr/local/cuda/bin/(for nvcc)
You might want to setup the directories versioned, if you need a specific version of CUDA/nvcc
PF machines have
GUENTHER cluster also has
- SLURM batch queueing system
strace yourcommand (-c to count calls)
are often useful to trace system/library calls of some software.
bash -x bashscript
-x with bash shows you all lines executing the script
which often is helpful too.