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.
Currently we run Ubuntu 22.04
Manual Pages, Documentation
man manor online
- Maybe there's something in
Notes on the system configuration
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-rle since 20.04.
For a long time we used to have XFS for /scratch* filesystems, around 2015, 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.
APFS and NTFS support are available on request (since 22.04). (apfs-dkms, apfsprogs, ntfs2btrfs)
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 Introduction
- 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)
juliahigh-performance programming language for technical computing Julia
Java software usually don't need an installation. They can be just
downloaded to your
/scratch/directory and unpacked, and
java -jar the.jar
Feel free to request
lazarus if you need Pascal.
Installed by default.
Python 3.8.10 is default for
Please don't forget to add
--user if you use
python setup.py install
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 11/bullseye GCC version 10.2 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
- SageMath on request
- IDL Online Tutorial with Astrolib
- GDL (free alternative to IDL)
- 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.
- cuba on request
- magma only on toad
- mm3d (import special 3d formats that cloudcompare fails with)
- pynpoint on request
- pytorch 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)
Data sources and software
Note on usage: some software like Google Earth Pro, just don't get
caching files right, you have a remote filesystem $HOME, so run it with
$HOME=/scratch/youruser to not get into quota problems, and run fast.
Software useful with special hardware
If you absolutely must have docker, you can request a "CUSTOMER"
managed machine, where you get access with ssh keys to as root,
and no NFS. Feel free to do anything (within BOT compliance) you want there. Find such machines with
ruptime | grep root.
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.
htop- shows you number of CPUs/cores and memory/swap usage
ruptime/rload- shows you hosts and their CPU/MEM/GPU/GPUMEM usage in %
dmtcp- Distributed MultiThreaded Checkpointing installed.
CUDA enabled machines also have
nvtop- shows you number of GPUs and GPU memory usage
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
rload | grep pf-pc
GUENTHER cluster also has
rload | grep guenther
- 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.
cat /etc/serial- shows you the serial number of the computer, if there is LETTER-XX.YY.ZZ, then XX is the year of delivery and YY the month.
If you're missing software, don't hesitate to contact us, with the following details:
- Computer hostname you work on
- URL of the homepage of the software
- The version of the software you would like to have