<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Computing on ISG Blog · D-MATH</title><link>https://isg-blog.math.ethz.ch/tags/computing/</link><description>Recent content in Computing on ISG Blog · D-MATH</description><generator>Hugo</generator><language>en-gb</language><lastBuildDate>Wed, 08 Jul 2026 08:50:24 +0200</lastBuildDate><atom:link href="https://isg-blog.math.ethz.ch/tags/computing/index.xml" rel="self" type="application/rss+xml"/><item><title>Euler for D-MATH users</title><link>https://isg-blog.math.ethz.ch/posts/euler/</link><pubDate>Thu, 18 Jun 2026 17:03:22 +0200</pubDate><guid>https://isg-blog.math.ethz.ch/posts/euler/</guid><description>&lt;p&gt;The D-MATH is a &lt;a href="https://docs.hpc.ethz.ch/users/shareholders/"&gt;shareholder&lt;/a&gt; of the HPC cluster Euler. All our resources are in the single share “ls_math” (which is also the default for our members).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; all users need to request the access supported by a member (Professor, Senior Scientist) of D-MATH.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; On 7 January 2026, the resources of “es_math” have been transferred to “ls_math”. This will lead to a more efficient Euler usage for our department.&lt;/p&gt;
&lt;h2 id="computing-resources"&gt;Computing resources&lt;/h2&gt;
&lt;p&gt;The “ls_math” share provides access to 1’504 CPU cores, 5’248 GB of system RAM, 108 GPUs, and 3’968 GB of VRAM. These resources consist of:&lt;/p&gt;</description></item><item><title>Central Clients of D-MATH</title><link>https://isg-blog.math.ethz.ch/posts/central-clients/</link><pubDate>Wed, 22 Apr 2026 14:52:39 +0200</pubDate><guid>https://isg-blog.math.ethz.ch/posts/central-clients/</guid><description>&lt;p&gt;Central Clients are powerful computers in the server room, running Fedora. The software available is the same as on the Linux desktops at the D-MATH. We distinguish between two types of Central Clients: &lt;a href="../central-clients/#compute-clients"&gt;Compute Clients&lt;/a&gt; and &lt;a href="../central-clients/#load-clients"&gt;Load Clients&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="compute-clients"&gt;Compute Clients&lt;/h2&gt;
&lt;p&gt;Note: The central IT services have a very powerful &lt;strong&gt;HPC-cluster&lt;/strong&gt; called &lt;a href="../euler/"&gt;Euler&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Application area:&lt;/strong&gt; compute jobs (!) like R, Python or Matlab which produce heavy load or use a lot of memory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; Run your &lt;strong&gt;&lt;em&gt;compute jobs&lt;/em&gt;&lt;/strong&gt; with &lt;em&gt;scheduling priority 7&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Jupyter Notebook</title><link>https://isg-blog.math.ethz.ch/posts/jupyter-notebook-on-compute-clients-ada-x/</link><pubDate>Mon, 22 Dec 2025 15:00:58 +0100</pubDate><guid>https://isg-blog.math.ethz.ch/posts/jupyter-notebook-on-compute-clients-ada-x/</guid><description>&lt;h2 id="euler-cluster"&gt;Euler Cluster&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://jupyter.euler.hpc.ethz.ch/"&gt;https://jupyter.euler.hpc.ethz.ch/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This service is made for &lt;strong&gt;developing and debugging your code&lt;/strong&gt; , not to run your code on the cluster. If you wish to run it, please use the SLURM queue system. Please &lt;strong&gt;only&lt;/strong&gt; request &lt;strong&gt;multiple cores&lt;/strong&gt; if you are planning to run some code that can make use of multiple cores.&lt;/p&gt;
&lt;p&gt;For more information go to the following website:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.hpc.ethz.ch/services/jupyterhub"&gt;https://docs.hpc.ethz.ch/services/jupyterhub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;~/.config/euler/jupyterhub
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="i-want-to-load-a-cluster-module--i-want-to-activate-a-virtualenv--jupyterlab-is-missing-some-features"&gt;I want to load a cluster module / I want to activate a virtualenv / Jupyterlab is missing some features&lt;/h3&gt;
&lt;p&gt;This script will be sourced (&lt;code&gt;. ~/.config/euler/jupyterhub/jupyterlabrc&lt;/code&gt;) before starting any service.&lt;/p&gt;</description></item><item><title>Torch</title><link>https://isg-blog.math.ethz.ch/posts/torch/</link><pubDate>Mon, 22 Dec 2025 14:33:30 +0100</pubDate><guid>https://isg-blog.math.ethz.ch/posts/torch/</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/pytorch/pytorch/blob/main/RELEASE.md#release-compatibility-matrix"&gt;https://github.com/pytorch/pytorch/blob/main/RELEASE.md#release-compatibility-matrix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is necessary that the required CUDA library is installed in the system, normally this is under &lt;code&gt;ls -lad /usr/local/cuda*&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="in-a-python-project"&gt;…&lt;strong&gt;in a python project&lt;/strong&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.astral.sh/uv/guides/integration/pytorch/"&gt;https://docs.astral.sh/uv/guides/integration/pytorch/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;First create a new uv project:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export UV_CACHE_DIR&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/scratch/userdata/&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;USER&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;/CACHE
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export UV_NO_CACHE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd /scratch/userdata/&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;USER&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# uv will create a virtual env for each project&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;uv init new-uv-project
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd new-uv-project
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Customise the file &lt;code&gt;pyproject.toml&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[&lt;span style="color:#a6e22e"&gt;project&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# the following supports CUDA 12.8 w/ CUDNN 9.10.2.21&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;requires-python&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;&amp;gt;=3.10,&amp;lt;=3.15&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;dependencies&lt;/span&gt; = [
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;torch&amp;gt;=2.9,&amp;lt;=2.10&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;torchvision&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;torchaudio&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[&lt;span style="color:#a6e22e"&gt;tool&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;uv&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;sources&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;torch&lt;/span&gt; = { &lt;span style="color:#a6e22e"&gt;index&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;pytorch&amp;#34;&lt;/span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[[&lt;span style="color:#a6e22e"&gt;tool&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;uv&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;index&lt;/span&gt;]]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;name&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;pytorch&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# experimental with 2.9 + 2.10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#url = &amp;#34;https://download.pytorch.org/whl/cu130&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# stable support&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;url&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;https://download.pytorch.org/whl/cu128&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;explicit&lt;/span&gt; = &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now add packages defined in the &lt;code&gt;pyproject.toml&lt;/code&gt; to the new project, the packages will be installed inside a virtual environment:&lt;/p&gt;</description></item><item><title>Tensorflow</title><link>https://isg-blog.math.ethz.ch/posts/tensorflow/</link><pubDate>Mon, 13 Oct 2025 13:52:32 +0200</pubDate><guid>https://isg-blog.math.ethz.ch/posts/tensorflow/</guid><description>&lt;p&gt;Resources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.tensorflow.org/guide/gpu"&gt;https://www.tensorflow.org/guide/gpu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.astral.sh/uv/"&gt;https://docs.astral.sh/uv/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To be able to use tensorflow you need to install it for your project. We recommend to use &lt;code&gt;uv&lt;/code&gt; for creating your tensorflow python project.&lt;/p&gt;
&lt;h3 id="setup-your-project"&gt;Setup your project&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;uv&lt;/code&gt; will create and use a python virtual environment transparently so there is no need to create one separately. Use the storage on &lt;code&gt;/scratch/userdata/$USER&lt;/code&gt; for your project, this is on the local disk of the ada-Xs as not all have the same python versions so the virtual environment must be recreated for every ada-X.&lt;/p&gt;</description></item><item><title>Linux Environment Modules at the D-MATH</title><link>https://isg-blog.math.ethz.ch/posts/modules/</link><pubDate>Fri, 09 May 2025 08:12:22 +0200</pubDate><guid>https://isg-blog.math.ethz.ch/posts/modules/</guid><description>&lt;p&gt;With &lt;strong&gt;Environment Modules&lt;/strong&gt;, or simply called &lt;strong&gt;Modules&lt;/strong&gt;, it is possible to dynamically expand the active user environment and to remove it again without closing the shell.&lt;/p&gt;
&lt;p&gt;At the D-MATH modules are used for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;providing applications in different versions,&lt;/li&gt;
&lt;li&gt;customising the personal library environment,&lt;/li&gt;
&lt;li&gt;setting environment presets for institutes and groups.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Modules are grouped by their functionality in different folders. These module collections are referenced by their MODULEPATH.&lt;/p&gt;
&lt;h2 id="default-collections"&gt;Default collections&lt;/h2&gt;
&lt;p&gt;Every bash-shell starts with two collections.&lt;/p&gt;</description></item><item><title>Sagemath</title><link>https://isg-blog.math.ethz.ch/posts/sagemath/</link><pubDate>Tue, 16 Jul 2024 15:09:50 +0200</pubDate><guid>https://isg-blog.math.ethz.ch/posts/sagemath/</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hub.docker.com/r/sagemath/sagemath/"&gt;https://hub.docker.com/r/sagemath/sagemath/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Since Fedora 39 &lt;a href="https://www.sagemath.org/"&gt;sagemath&lt;/a&gt; is not included as a package anymore. There are several possibilities you can use sagemath on Fedora, let’s highlight two:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Using the official docker image&lt;/li&gt;
&lt;li&gt;Installing it with conda&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="podman"&gt;Podman&lt;/h2&gt;
&lt;h5 id="sagemath-commandline"&gt;sagemath commandline&lt;/h5&gt;
&lt;p&gt;As our installation provides a fully configured rootless podman configuration, you can for example use the following commands to run the sagemath image:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# connect to a central client&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh ada-X
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# start tmux, alternativly you can use screen&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tmux
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# create a .sage folder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir $HOME/.sage
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# run sage with your home mounted to /home/sage/mydata and a mounted .sage&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;podman run --user &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; -ti -v $HOME/.sage:/home/sage/.sage -v $HOME:/home/sage/mydata sagemath/sagemath:latest
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# to detach from the tmux session use the following keystrokes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#CTRL+B then D&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To add an additional folder you can put another &lt;code&gt;-v&lt;/code&gt; parameter, for example:&lt;/p&gt;</description></item><item><title>Using “screen” to run simulations on a remote host</title><link>https://isg-blog.math.ethz.ch/posts/screen/</link><pubDate>Wed, 17 May 2023 10:34:15 +0200</pubDate><guid>https://isg-blog.math.ethz.ch/posts/screen/</guid><description>&lt;p&gt;The suggested way to run your simulations on a remote host (let&amp;rsquo;s say for instance on ada-18) is to use screen, which allows you to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;use multiple shell windows from a &lt;strong&gt;single SSH session&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;keep a shell active&lt;/strong&gt; even through network disruptions&lt;/li&gt;
&lt;li&gt;disconnect and &lt;strong&gt;re-connect to a shell session&lt;/strong&gt; from multiple locations&lt;/li&gt;
&lt;li&gt;run a long running process without maintaining an active shell session.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="start-screen"&gt;Start screen&lt;/h2&gt;
&lt;p&gt;Enter in a terminal&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;screen
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;or – better – start a screen session by giving it a name (for instance “sim1”):&lt;/p&gt;</description></item></channel></rss>