<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bwhpc.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=S+Raffeiner</id>
	<title>bwHPC Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bwhpc.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=S+Raffeiner"/>
	<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/e/Special:Contributions/S_Raffeiner"/>
	<updated>2026-05-24T07:48:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=12003</id>
		<title>BwUniCluster2.0/Hardware and Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=12003"/>
		<updated>2023-06-05T09:12:57Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Architecture of bwUniCluster 2.0 =&lt;br /&gt;
&lt;br /&gt;
The bwUniCluster 2.0 is a parallel computer with distributed memory. Each node of system consists of at least two Intel Xeon processor, local memory, disks, network adapters and optionally accelerators (NVIDIA Tesla V100, A100 or H100). All nodes are connected by a fast InfiniBand interconnect. In addition the file system&lt;br /&gt;
Lustre, that is connected by coupling the InfiniBand of the file server with the InfiniBand&lt;br /&gt;
switch of the compute cluster, is added to bwUniCluster 2.0 to provide a fast and scalable&lt;br /&gt;
parallel file system.&lt;br /&gt;
&lt;br /&gt;
The operating system on each node is Red Hat Enterprise Linux (RHEL) 8.4. A number of additional software packages like e.g. SLURM have been installed on top. Some of these components are of special interest to end users and are briefly&lt;br /&gt;
discussed in this document. Others which are of greater importance to system&lt;br /&gt;
administrators will not be covered by this document.&lt;br /&gt;
&lt;br /&gt;
The individual nodes of the system may act in different roles. According to the services supplied by the nodes, they are separated into disjoint groups. From an end users point of view the different groups of nodes are login nodes, compute nodes, file server nodes and administrative server nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Login Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The login nodes are the only nodes that are directly accessible by end users. These nodes&lt;br /&gt;
are used for interactive login, file management, program development and interactive pre-&lt;br /&gt;
and postprocessing. Two nodes are dedicated to this service but they are all accessible via&lt;br /&gt;
one address and a DNS round-robin alias distributes the login sessions to the&lt;br /&gt;
different login nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compute Node&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The majority of nodes are compute nodes which are managed by a batch system. Users &lt;br /&gt;
submit their jobs to the SLURM batch system and a job is executed when the required resources become available (depending on its fair-share priority).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;File Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The hardware of the parallel file system Lustre incorporates some file server nodes; the file&lt;br /&gt;
system Lustre is connected by coupling the InfiniBand of the file server with the independent InfiniBand switch of the compute cluster. In addition to shared file space there is also local storage on the disks of each node (for details see chapter &amp;quot;File Systems&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Administrative Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some other nodes are delivering additional services like resource management, external&lt;br /&gt;
network connection, administration etc. These nodes can be accessed directly by system administrators only.&lt;br /&gt;
&lt;br /&gt;
= Components of bwUniCluster =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;width:9%&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Thin&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;HPC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;IceLake&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Fat&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x4&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x8&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| IceLake + GPU x4&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Login&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of nodes&lt;br /&gt;
| 200 + 60&lt;br /&gt;
| 260&lt;br /&gt;
| 272&lt;br /&gt;
| 6&lt;br /&gt;
| 14&lt;br /&gt;
| 10&lt;br /&gt;
| 15&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processors&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Platinum 8358&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6248&lt;br /&gt;
| Intel Xeon Platinum 8358&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of sockets&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processor frequency (GHz)&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.6 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.6 Ghz&lt;br /&gt;
| 2.5 Ghz&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Total number of cores&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 64&lt;br /&gt;
| 80&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 64&lt;br /&gt;
| 40&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Main memory&lt;br /&gt;
| 96 GB / 192 GB&lt;br /&gt;
| 96 GB&lt;br /&gt;
| 256 GB&lt;br /&gt;
| 3 TB&lt;br /&gt;
| 384 GB&lt;br /&gt;
| 768 GB&lt;br /&gt;
| 512 GB&lt;br /&gt;
| 384 GB&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Local SSD&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 1,8 TB NVMe&lt;br /&gt;
| 4,8 TB NVMe&lt;br /&gt;
| 3,2 TB NVMe&lt;br /&gt;
| 15  TB NVMe&lt;br /&gt;
| 6,4 TB NVMe&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Accelerators&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 4x NVIDIA Tesla V100&lt;br /&gt;
| 8x NVIDIA Tesla V100&lt;br /&gt;
| 4x NVIDIA A100 / 4x NVIDIA H100&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Accelerator memory&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 32 GB&lt;br /&gt;
| 32 GB&lt;br /&gt;
| 80 GB / 94 GB&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Interconnect&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
| IB HDR100&lt;br /&gt;
| IB HDR200&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR200&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
|}&lt;br /&gt;
Table 1: Properties of the nodes&lt;br /&gt;
&lt;br /&gt;
= File Systems =&lt;br /&gt;
&lt;br /&gt;
On bwUniCluster 2.0 the parallel file system Lustre is used for most globally visible user data. Lustre is open source and Lustre solutions and support are available from different vendors. Nowadays, most of the biggest HPC systems are using Lustre. An initial home directory on a Lustre file system is created automatically after account activation, and the environment variable $HOME holds its name. Users can create so-called workspaces on another Lustre file system for non-permanent data with temporary lifetime. There is another workspace file system based on flash storage for special requirements available.&lt;br /&gt;
&lt;br /&gt;
Within a batch job further file systems are available: &lt;br /&gt;
* The directory $TMP is only available and visible on the local node. It is located on fast SSD storage devices.&lt;br /&gt;
* On request a parallel on-demand file system (BeeOND) is created which uses the SSDs of the nodes which were allocated to the batch job.&lt;br /&gt;
* On request the external LSDF Online Storage is mounted on the nodes which were allocated to the batch job. This file system is based on the parallel file system Spectrum Scale. &lt;br /&gt;
&lt;br /&gt;
Some of the characteristics of the file systems are shown in Table 2.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; background:#f5fffa;border:1px solid #000000;padding:1px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;width:20%;height=20px; text-align:left;padding:3px&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Property&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $TMP&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| BeeOND&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $HOME&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Workspace&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Workspace &amp;lt;br&amp;gt; on flash&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Visibility &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| local node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| nodes of batch job&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Lifetime &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| permanent&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| max. 240 days&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| max. 240 days&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Disk space &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 960 GB - 6.4 TB &amp;lt;br&amp;gt; details see table 1&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*750 GB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1.2 PiB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 4.1 PiB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 236 TiB&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Capacity Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 1 TiB per user &amp;lt;br&amp;gt; also per organization&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 40 TiB per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 1 TiB per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Inode Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 10 million per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 30 million per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 5 million per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Backup&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Read perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 6 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 520 MB/s @ single / multiple &amp;lt;br&amp;gt; 800 MB/s @ multiple_e &amp;lt;br&amp;gt; 6600 MB/s @ fat &amp;lt;br&amp;gt; 6500 MB/s @ gpu_4 &amp;lt;br&amp;gt; 6500 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 400 MB/s - 500 MB/s&amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 500 MB/s @ multiple &amp;lt;br&amp;gt; 400 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Write perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 4 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 500 MB/s @ single / multiple &amp;lt;br&amp;gt; 650 MB/s @ multiple_e &amp;lt;br&amp;gt; 2900 MB/s @ fat &amp;lt;br&amp;gt; 2090 MB/s @ gpu_4 &amp;lt;br&amp;gt; 4060 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 250 MB/s - 350 MB/s &amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 350 MB/s @ multiple &amp;lt;br&amp;gt; 250 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total read perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-6000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*400-500 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 45 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total write perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-4000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*250-350 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 38 GB/s&lt;br /&gt;
|}&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
  global: all nodes of UniCluster access the same file system;&lt;br /&gt;
  local: each node has its own file system;&lt;br /&gt;
  permanent: files are stored permanently;&lt;br /&gt;
  batch job: files are removed at end of the batch job.&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
Table 2: Properties of the file systems&lt;br /&gt;
&lt;br /&gt;
== Selecting the appropriate file system ==&lt;br /&gt;
&lt;br /&gt;
In general, you should separate your data and store it on the appropriate file system.&lt;br /&gt;
Permanently needed data like software or important results should be stored below $HOME&lt;br /&gt;
but capacity restrictions (quotas) apply. In case you accidentally deleted data on $HOME&lt;br /&gt;
you can usually restore it from backup. Permanent data which is not needed for months&lt;br /&gt;
or exceeds the capacity restrictions should be sent to the LSDF Online Storage &lt;br /&gt;
or to the archive and deleted from the file systems. Temporary data which is only needed on a single&lt;br /&gt;
node and which does not exceed the disk space shown in the table above should be stored&lt;br /&gt;
below $TMP. Data which is read many times on a single node, e.g. if you are doing AI training, &lt;br /&gt;
should be copied to $TMP and read from there. Temporary data which is used from many nodes &lt;br /&gt;
of your batch job and which is only needed during job runtime should be stored on a &lt;br /&gt;
parallel on-demand file system. Temporary data which can be recomputed or which is the &lt;br /&gt;
result of one job and input for another job should be stored in workspaces. The lifetime &lt;br /&gt;
of data in workspaces is limited and depends on the lifetime of the workspace which can be &lt;br /&gt;
several months.&lt;br /&gt;
&lt;br /&gt;
For further details please check the chapters below.&lt;br /&gt;
&lt;br /&gt;
== $HOME ==&lt;br /&gt;
&lt;br /&gt;
The home directories of bwUniCluster 2.0 (uc2) users are located in the parallel file system Lustre.&lt;br /&gt;
You have access to your home directory from all nodes of uc2. A regular backup of these directories &lt;br /&gt;
to tape archive is done automatically. The directory $HOME is used to hold those files that are&lt;br /&gt;
permanently used like source codes, configuration files, executable programs etc. &lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 1 TiB and 10 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In addition to the user limit there is a limit of your organization (e.g. university) which depends on the financial share. This limit is enforced with so-called Lustre project quotas. You can show the current usage and limits of your organization with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lfs quota -ph $(grep $(echo $HOME | sed -e &amp;quot;s|/[^/]*/[^/]*$||&amp;quot;) /pfs/data5/project_ids.txt | cut -f 1 -d\ ) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workspaces ==&lt;br /&gt;
&lt;br /&gt;
On uc2 workspaces can be used to store large non-permanent data sets, e.g. restart files or output&lt;br /&gt;
data that has to be post-processed. The file system used for workspaces is also the parallel file system Lustre. This file system is especially designed for parallel access and for a high throughput to large&lt;br /&gt;
files. It is able to provide high data transfer rates of up to 54 GB/s write and read performance when data access is parallel. &lt;br /&gt;
&lt;br /&gt;
Workspaces have a lifetime and the data on a workspace expires as a whole after a fixed period. The maximum lifetime of a workspace is 60 days, but it can be renewed at the end of that period 3 times to a total maximum of 240 days after workspace generation. If a workspace has inadvertently expired we can restore the data during a limited time (few weeks). In this case you should create a new workspace and report the name of the new and of the expired workspace in a ticket.&lt;br /&gt;
&lt;br /&gt;
Creating, deleting, finding and extending workspaces is explained on the  [[workspace]] page.&lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 40 TiB and 30 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) /pfs/work7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the quotas include data and inodes for all of your workspaces and all of your expired workspaces (as long as they are not yet completely removed).&lt;br /&gt;
&lt;br /&gt;
=== Reminder for workspace deletion ===&lt;br /&gt;
&lt;br /&gt;
Normally you will get an email every day starting 7 days before a workspace expires. You can send yourself a calender entry which reminds you when a workspace will be automatically deleted:&lt;br /&gt;
&lt;br /&gt;
 $ ws_send_ical.sh &amp;lt;workspace&amp;gt; &amp;lt;email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Improving Performance on $HOME and workspaces ==&lt;br /&gt;
&lt;br /&gt;
The following recommendations might help to improve throughput and metadata&lt;br /&gt;
performance on Lustre filesystems.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Throughput Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Depending on your application some adaptations might be necessary if you want to reach&lt;br /&gt;
the full bandwidth of the filesystems. Parallel filesystems typically stripe files over storage subsystems, i.e. large files are separated into stripes and distributed to different storage subsystems. In Lustre, the size of these stripes (sometimes also mentioned as chunks) is called stripe size and the number of used storage subsystems is called stripe count.&lt;br /&gt;
&lt;br /&gt;
When you are designing your application you should consider that the performance of&lt;br /&gt;
parallel filesystems is generally better if data is transferred in large blocks and stored in&lt;br /&gt;
few large files. In more detail, to increase throughput performance of a parallel application&lt;br /&gt;
following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* collect large chunks of data and write them sequentially at once,&lt;br /&gt;
&lt;br /&gt;
* to exploit complete filesystem bandwidth use several clients,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive file access by different tasks or use blocks with boundaries at stripe size (default is 1MB),&lt;br /&gt;
&lt;br /&gt;
* if files are small enough for the SSDs and are only used by one process store them on $TMP.&lt;br /&gt;
&lt;br /&gt;
With previous Lustre versions adapting the Lustre stripe count was the most important optimization. However, for the workspaces of uc2 the new Lustre feature Progressive File Layouts has been used to define file striping parameters. This means that the stripe count is adapted if the file size is growing. In normal cases users no longer need to adapt file striping parameters in case they have very huge files or in order to reach better performance. &lt;br /&gt;
&lt;br /&gt;
If you know what you are doing you can still change striping parameters, e.g. the stripe count, of a directory and of newly created files. New files and directories inherit the stripe count from the parent directory. E.g. if you want to enhance throughput on a single very large file which is created in the directory $HOME/my_output_dir you can use the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs setstripe -c-1 $HOME/my_output_dir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to change the stripe count to -1 which means that all storage subsystems of the file system are used to store that file. If you change the stripe count of a directory the stripe count of existing files inside this&lt;br /&gt;
directory is not changed. If you want to change the stripe count of existing files, change&lt;br /&gt;
the stripe count of the parent directory, copy the files to new files, remove the old files&lt;br /&gt;
and move the new files back to the old name. In order to check the stripe setting of&lt;br /&gt;
the file my_file use&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs getstripe my_file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also note that changes on the striping parameters (e.g. stripe count) are not saved in the&lt;br /&gt;
backup, i.e. if directories have to be recreated this information is lost and the default stripe&lt;br /&gt;
count will be used. Therefore, you should annotate for which directories you made changes&lt;br /&gt;
to the striping parameters so that you can repeat these changes if required.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Metadata Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Metadata performance on parallel file systems is usually not as good as with local&lt;br /&gt;
filesystems. In addition, it is usually not scalable, i.e. a limited resource. Therefore,&lt;br /&gt;
you should omit metadata operations whenever possible. For example, it is much better&lt;br /&gt;
to have few large files than lots of small files. In more detail, to increase metadata&lt;br /&gt;
performance of a parallel application following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* avoid creating many small files,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive directory access, e.g. by creating files in separate subdirectories for each task,&lt;br /&gt;
&lt;br /&gt;
* if many small files are only used within a batch job and accessed by one process store them on $TMP,&lt;br /&gt;
&lt;br /&gt;
* change the default colorization setting of the command ls (see below).&lt;br /&gt;
&lt;br /&gt;
On modern Linux systems, the GNU ls command often uses colorization by default to&lt;br /&gt;
visually highlight the file type; this is especially true if the command is run within a terminal&lt;br /&gt;
session. This is because the default shell profile initializations usually contain an alias&lt;br /&gt;
directive similar to the following for the ls command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=tty&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
However, running the ls command in this way for files on a Lustre file system requires&lt;br /&gt;
a stat() call to be used to determine the file type. This can result in a performance&lt;br /&gt;
overhead, because the stat() call always needs to determine the size of a file, and that&lt;br /&gt;
in turn means that the client node must query the object size of all the backing objects&lt;br /&gt;
that make up a file. As a result of the default colorization setting, running a simple&lt;br /&gt;
ls command on a Lustre file system often takes as much time as running the ls command&lt;br /&gt;
with the -l option (the same is true if the -F, -p, or the -classify option, or any other option &lt;br /&gt;
that requires information from a stat() call, is used). To avoid this performance overhead&lt;br /&gt;
when using ls commands, add an alias directive similar to the following&lt;br /&gt;
to your shell startup script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=never&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workspaces on flash storage ==&lt;br /&gt;
&lt;br /&gt;
There is another workspace file system for special requirements available. The file system is called &#039;&#039;full flash pfs&#039;&#039; and is based on the parallel file system Lustre.&lt;br /&gt;
&lt;br /&gt;
=== Advantages of this file system ===&lt;br /&gt;
&lt;br /&gt;
# All storage devices are based on flash (no hard disks) with low access times. Hence performance is better compared to other parallel file systems for read and write access with small blocks and with small files, i.e. IOPS rates are improved.&lt;br /&gt;
# The file system is mounted on bwUniCluster 2.0 and HoreKa, i.e. it can be used to share data between these clusters.&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&lt;br /&gt;
Only HoreKa users or KIT users of bwUniCluster 2.0 can use this file system.&lt;br /&gt;
&lt;br /&gt;
=== Using the file system ===&lt;br /&gt;
&lt;br /&gt;
As KIT or HoreKa user you can use the file system in the same way as a normal workspace. You just have to specify the name of the flash-based workspace file system using the option &#039;&#039;-F&#039;&#039; to all the commands that manage workspaces. On bwUniCluster 2.0 it is called &#039;&#039;ffuc&#039;&#039;, on HoreKa it is &#039;&#039;ffhk&#039;&#039;. For example, to create a workspace with name myws and a lifetime of 60 days on bwUniCluster 2.0 execute:&lt;br /&gt;
 ws_allocate -F ffuc myws 60&lt;br /&gt;
&lt;br /&gt;
If you want to use the full flash pfs on bwUniCluster 2.0 &#039;&#039;&#039;and&#039;&#039;&#039; HoreKa at the same time, please note that you only have to manage a particular workspace on one of the clusters since the name of the workspace directory is different. However, the path to each workspace is visible and can be used on both clusters.&lt;br /&gt;
&lt;br /&gt;
Other features are similar to normal workspaces. For example, we are able to restore expired workspaces for few weeks and you have to open a ticket to request the restore. There are quota limits with a default limit of 1 TB capacity and 5 millions inodes per user. You can check your current usage with&lt;br /&gt;
 lfs quota -uh $(whoami) /pfs/work8&lt;br /&gt;
&lt;br /&gt;
== $TMPDIR ==&lt;br /&gt;
&lt;br /&gt;
The environment variable $TMPDIR contains the name of a directory which is local to each node. This means &lt;br /&gt;
that different tasks of a parallel application use different directories when they do not utilize the same node. &lt;br /&gt;
Although $TMPDIR points to the same path name for different nodes of a batch job, the physical location and the &lt;br /&gt;
content of this directory path on these nodes is different.&lt;br /&gt;
&lt;br /&gt;
This directory should be used for temporary files being accessed from the local node during job runtime. It should &lt;br /&gt;
also be used if you read the same data many times from a single node, e.g. if you are doing AI training. In this &lt;br /&gt;
case you should copy the data at the beginning of your batch job to $TMPDIR and read the data from there.&lt;br /&gt;
&lt;br /&gt;
The $TMPDIR directory is located on extremely fast SSD local storage devices. This means that performance &lt;br /&gt;
on small files is much better than on the parallel file systems. The capacity of $TMPDIR for each node type &lt;br /&gt;
can be checked in Table 1 above. The capacity is at least 900 GB.&lt;br /&gt;
&lt;br /&gt;
Each time a batch job is started, a subdirectory is created on the SSD of each node and assigned to the job. &lt;br /&gt;
$TMPDIR is set to the name of the subdirectory and this name contains the job ID so that it is unique &lt;br /&gt;
for each job. At the end of the job the subdirectory is removed.&lt;br /&gt;
&lt;br /&gt;
On login nodes $TMPDIR also points to a fast directory on a local SSD disk but this directory is not unique. &lt;br /&gt;
It is recommended to create your own unique subdirectory on these nodes. This directory should be used for the &lt;br /&gt;
installation of software packages. This means that the software package to be installed should be unpacked, &lt;br /&gt;
compiled and linked in a subdirectory of $TMPDIR. The real installation of the package (e.g. make install) &lt;br /&gt;
should be made into the $HOME folder.&lt;br /&gt;
&lt;br /&gt;
=== Usage example for $TMPDIR ===&lt;br /&gt;
&lt;br /&gt;
We will provide an example for using $TMPDIR and describe efficient data transfer to and from $TMPDIR. &lt;br /&gt;
&lt;br /&gt;
If you have a data set with many files which is frequently used by batch jobs you should create &lt;br /&gt;
a compressed archive on a workspace. This archive can be extracted on $TMPDIR inside your batch jobs. &lt;br /&gt;
Such an archive can be read efficiently from a parallel file system since it is a single huge file. &lt;br /&gt;
On a login node you can create such an archive with the following steps: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Create a workspace to store the archive&lt;br /&gt;
[ab1234@uc2n997 ~]$ ws_allocate data-ssd 60&lt;br /&gt;
# Create the archive from a local dataset folder (example)&lt;br /&gt;
[ab1234@uc2n997 ~]$ tar -cvzf $(ws_find data-ssd)/dataset.tgz dataset/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inside a batch job extract the archive on $TMPDIR, read input data from $TMPDIR, store results on $TMPDIR &lt;br /&gt;
and save the results on a workspace: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# very simple example on how to use local $TMPDIR&lt;br /&gt;
#SBATCH -N 1&lt;br /&gt;
#SBATCH -t 24:00:00&lt;br /&gt;
&lt;br /&gt;
# Extract compressed input dataset on local SSD&lt;br /&gt;
tar -C $TMPDIR/ -xvzf $(ws_find data-ssd)/dataset.tgz&lt;br /&gt;
&lt;br /&gt;
# The application reads data from dataset on $TMPDIR and writes results to $TMPDIR&lt;br /&gt;
myapp -input $TMPDIR/dataset/myinput.csv -outputdir $TMPDIR/results&lt;br /&gt;
&lt;br /&gt;
# Before job completes save results on a workspace&lt;br /&gt;
rsync -av $TMPDIR/results $(ws_find data-ssd)/results-${SLURM_JOB_ID}/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LSDF Online Storage==&lt;br /&gt;
&lt;br /&gt;
In some cases it is useful to have access to the LSDF Online Storage on the HPC-Clusters also. Therefore the LSDF Online Storage is mounted on the Login- and Datamover-Nodes.&lt;br /&gt;
Furthermore it can be used on the compute nodes during the job runtime with the constraint flag &amp;quot;LSDF&amp;quot; ([[bwUniCluster_2.0_Slurm_common_Features|Slurm common features]]&lt;br /&gt;
). There is also an example about the LSDF batch usage: [[bwUniCluster_2.0_Slurm_common_Features#LSDF_Online_Storage|Slurm LSDF example ]] .&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH ...&lt;br /&gt;
#SBATCH --constraint=LSDF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For the usage of the LSDF Online Storage the following environment variables are available: $LSDF, $LSDFPROJECTS, $LSDFHOME.&lt;br /&gt;
Please request storage projects in the LSDF Online Storage seperately:&lt;br /&gt;
[https://www.lsdf.kit.edu/os/storagerequest/: LSDF Storage Request].&lt;br /&gt;
&lt;br /&gt;
==BeeOND (BeeGFS On-Demand)==&lt;br /&gt;
&lt;br /&gt;
Users of the UniCluster have possibility to request a private BeeOND (on-demand BeeGFS) parallel filesystem for each job. The file system is created during job startup and purged after your job.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT: All data on the private filesystem will be deleted after your job. Make sure you have copied your data back to the global filesystem (within job), e.g., $HOME or any workspace.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
BeeOND/BeeGFS can be used like any other parallel file system. Tools like cp or rsync can be used to copy data in and out. &lt;br /&gt;
&lt;br /&gt;
For detailed usage see here:[[BwUniCluster_2.0_Slurm_common_Features#BeeOND_.28BeeGFS_On-Demand.29|Request on-demand file system]]&lt;br /&gt;
&lt;br /&gt;
==Backup and Archiving==&lt;br /&gt;
&lt;br /&gt;
There are regular backups of all data of the home directories,whereas ACLs and extended attributes will&lt;br /&gt;
not be backuped. &lt;br /&gt;
&lt;br /&gt;
Please open a ticket if you need backuped data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:bwUniCluster 2.0|File System]][[Category:Hardware_and_Architecture|bwUniCluster 2.0]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Batch_Queues&amp;diff=12002</id>
		<title>BwUniCluster2.0/Batch Queues</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Batch_Queues&amp;diff=12002"/>
		<updated>2023-06-05T09:11:57Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== sbatch -p &#039;&#039;queue&#039;&#039; ===&lt;br /&gt;
Compute resources such as (wall-)time, nodes and memory are restricted and must fit into &#039;&#039;&#039;queues&#039;&#039;&#039;. Since requested compute resources are NOT always automatically mapped to the correct queue class, &#039;&#039;&#039;you must add the correct queue class to your sbatch command &#039;&#039;&#039;. &amp;lt;font color=red&amp;gt;The specification of a queue is obligatory on BwUniCluster 2.0.&amp;lt;/font&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Details are:&lt;br /&gt;
&lt;br /&gt;
{| width=750px class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | bwUniCluster 2.0 &amp;lt;br&amp;gt; sbatch -p &#039;&#039;queue&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
! queue !! node !! default resources !! minimum resources !! maximum resources&lt;br /&gt;
|- style=&amp;quot;text-align:left&amp;quot;&lt;br /&gt;
| dev_single&lt;br /&gt;
| thin&lt;br /&gt;
| time=10, mem-per-cpu=1125mb&lt;br /&gt;
| &lt;br /&gt;
| time=30, nodes=1, mem=180000mb, ntasks-per-node=40, (threads-per-core=2)&amp;lt;br&amp;gt;6 nodes are reserved for this queue. &amp;lt;br&amp;gt; Only for development, i.e. debugging or performance optimization ...&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
| single&lt;br /&gt;
| thin&lt;br /&gt;
| time=30, mem-per-cpu=1125mb&lt;br /&gt;
| &lt;br /&gt;
| time=72:00:00, nodes=1, mem=180000mb, ntasks-per-node=40, (threads-per-core)=2&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
| dev_multiple&lt;br /&gt;
| hpc&lt;br /&gt;
| time=10, mem-per-cpu=1125mb&lt;br /&gt;
| nodes=2&lt;br /&gt;
| time=30, nodes=4, mem=90000mb, ntasks-per-node=40, (threads-per-core=2)&amp;lt;br&amp;gt;8 nodes are reserved for this queue.&amp;lt;br&amp;gt; Only for development, i.e. debugging or performance optimization ...&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
| multiple&lt;br /&gt;
| hpc&lt;br /&gt;
| time=30, mem-per-cpu=1125mb&lt;br /&gt;
| nodes=2&lt;br /&gt;
| time=72:00:00, mem=90000mb, nodes=80, ntasks-per-node=40, (threads-per-core=2) &lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
| dev_multiple_il&lt;br /&gt;
| IceLake&lt;br /&gt;
| time=10, mem-per-cpu=1950mb&lt;br /&gt;
| nodes=2&lt;br /&gt;
| time=30, nodes=8, mem=249600mb, ntasks-per-node=64, (threads-per-core=2)&amp;lt;br&amp;gt;8 nodes are reserved for this queue &amp;lt;br&amp;gt; Only for development, i.e. debugging or performance optimization ...&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
| multiple_il&lt;br /&gt;
| IceLake&lt;br /&gt;
| time=10, mem-per-cpu=1950mb&lt;br /&gt;
| nodes=2&lt;br /&gt;
| time=72:00:00, nodes=80, mem=249600mb, ntasks-per-node=64, (threads-per-core=2)&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
| dev_gpu_4_a100&lt;br /&gt;
| IceLake + A100&lt;br /&gt;
| time=10, mem-per-gpu=127500mb, cpus-per-gpu=16&lt;br /&gt;
| &lt;br /&gt;
| time=30, nodes=1, mem=510000mb, ntasks-per-node=64, (threads-per-core=2)&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
| gpu_4_a100&lt;br /&gt;
| IceLake + A100&lt;br /&gt;
| time=10, mem-per-gpu=127500mb, cpus-per-gpu=16&lt;br /&gt;
| &lt;br /&gt;
| time=48:00:00, nodes=9, mem=510000mb, ntasks-per-node=64, (threads-per-core=2)&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
| gpu_4_h100&lt;br /&gt;
| IceLake + H100&lt;br /&gt;
| time=10, mem-per-gpu=127500mb, cpus-per-gpu=16&lt;br /&gt;
| &lt;br /&gt;
| time=48:00:00, nodes=5, mem=510000mb, ntasks-per-node=64, (threads-per-core=2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top; text-align:left&amp;quot;&lt;br /&gt;
| fat &lt;br /&gt;
| fat&lt;br /&gt;
| time=10, mem-per-cpu=18750mb&lt;br /&gt;
| mem=180001mb&lt;br /&gt;
| time=72:00:00, nodes=1, mem=3000000mb, ntasks-per-node=80, (threads-per-core=2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top; text-align:left&amp;quot;&lt;br /&gt;
| dev_gpu_4&lt;br /&gt;
| gpu4&lt;br /&gt;
| time=10, mem-per-gpu=94000mb, cpus-per-gpu=10&lt;br /&gt;
| &lt;br /&gt;
| time=30, nodes=1, mem=376000, ntasks-per-node=40, (threads-per-core=2)&amp;lt;br&amp;gt;1 node is reserved for this queue &amp;lt;br&amp;gt; Only for development, i.e. debugging or performance optimization ...&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
| gpu_4&lt;br /&gt;
| gpu4&lt;br /&gt;
| time=10, mem-per-gpu=94000mb, cpus-per-gpu=10&lt;br /&gt;
| &lt;br /&gt;
| time=48:00:00, mem=376000, nodes=14, ntasks-per-node=40, (threads-per-core=2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top; text-align:left&amp;quot;&lt;br /&gt;
| gpu_8&lt;br /&gt;
| gpu8&lt;br /&gt;
| time=10, mem-per-cpu=94000mb, cpus-per-gpu=10&lt;br /&gt;
|&lt;br /&gt;
| time=48:00:00, mem=752000, nodes=10, ntasks-per-node=40, (threads-per-core=2)&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Default resources of a queue class defines time, #tasks and memory if not explicitly given with sbatch command. Resource list acronyms &#039;&#039;--time&#039;&#039;, &#039;&#039;--ntasks&#039;&#039;, &#039;&#039;--nodes&#039;&#039;, &#039;&#039;--mem&#039;&#039; and &#039;&#039;--mem-per-cpu&#039;&#039; are described [[BwUniCluster_2.0_Slurm_common_Features|here]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Queue class examples ====&lt;br /&gt;
To run your batch job on one of the thin nodes, please use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch --partition=dev_multiple&lt;br /&gt;
     or &lt;br /&gt;
$ sbatch -p dev_multiple&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Interactive Jobs ====&lt;br /&gt;
On bwUniCluster 2.0 you are only allowed to run short jobs (&amp;lt;&amp;lt; 1 hour) with little memory requirements (&amp;lt;&amp;lt; 8 GByte) on the logins nodes. If you want to run longer jobs and/or jobs with a request of more than 8 GByte of memory, you must allocate resources for so-called interactive jobs by usage of the command salloc on a login node. Considering a serial application running on a compute node that requires 5000 MByte of memory and limiting the interactive run to 2 hours the following command has to be executed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p single -n 1 -t 120 --mem=5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then you will get one core on a compute node within the partition &amp;quot;single&amp;quot;. After execution of this command &#039;&#039;&#039;DO NOT CLOSE&#039;&#039;&#039; your current terminal session but wait until the queueing system Slurm has granted you the requested resources on the compute system. You will be logged in automatically on the granted core! To run a serial program on the granted core you only have to type the name of the executable.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./&amp;lt;my_serial_program&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please be aware that your serial job must run less than 2 hours in this example, else the job will be killed during runtime by the system. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
You can also start now a graphical X11-terminal connecting you to the dedicated resource that is available for 2 hours. You can start it by the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ xterm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that, once the walltime limit has been reached the resources - i.e. the compute node - will automatically be revoked.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
An interactive parallel application running on one compute node or on many compute nodes (e.g. here 5 nodes) with 40 cores each requires usually an amount of memory in GByte (e.g. 50 GByte) and a maximum time (e.g. 1 hour). E.g. 5 nodes can be allocated by the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p multiple -N 5 --ntasks-per-node=40 -t 01:00:00  --mem=50gb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run parallel jobs on 200 cores requiring 50 GByte of memory per node. Please be aware that you will be logged in on core 0 of the first node.&lt;br /&gt;
If you want to have access to another node you have to open a new terminal, connect it also to BwUniCluster 2.0 and type the following commands to&lt;br /&gt;
connect to the running interactive job and then to a specific node:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ srun --jobid=XXXXXXXX --pty /bin/bash&lt;br /&gt;
$ srun --nodelist=uc2nXXX --pty /bin/bash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
With the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ squeue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
the jobid and the nodelist can be shown.&lt;br /&gt;
&lt;br /&gt;
If you want to run MPI-programs, you can do it by simply typing mpirun &amp;lt;program_name&amp;gt;. Then your program will be run on 200 cores. A very simple example for starting a parallel job can be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mpirun &amp;lt;my_mpi_program&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can also start the debugger ddt by the commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module add devel/ddt&lt;br /&gt;
$ ddt &amp;lt;my_mpi_program&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The above commands will execute the parallel program &amp;lt;my_mpi_program&amp;gt; on all available cores. You can also start parallel programs on a subset of cores; an example for this can be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mpirun -n 50 &amp;lt;my_mpi_program&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you are using Intel MPI you must start &amp;lt;my_mpi_program&amp;gt; by the command mpiexec.hydra (instead of mpirun).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:bwUniCluster 2.0|Batch Jobs - bwUniCluster 2.0 Features]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=11688</id>
		<title>BwUniCluster2.0/Hardware and Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=11688"/>
		<updated>2023-01-05T13:35:08Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Components of bwUniCluster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Architecture of bwUniCluster 2.0 =&lt;br /&gt;
&lt;br /&gt;
The bwUniCluster 2.0 is a parallel computer with distributed memory. Each node of system consists of at least two Intel Xeon processor, local memory, disks, network adapters and optionally accelerators (NVIDIA Tesla V100, A100 or H100). All nodes are connected by a fast InfiniBand interconnect. In addition the file system&lt;br /&gt;
Lustre, that is connected by coupling the InfiniBand of the file server with the InfiniBand&lt;br /&gt;
switch of the compute cluster, is added to bwUniCluster 2.0 to provide a fast and scalable&lt;br /&gt;
parallel file system.&lt;br /&gt;
&lt;br /&gt;
The operating system on each node is Red Hat Enterprise Linux (RHEL) 8.4. A number of additional software packages like e.g. SLURM have been installed on top. Some of these components are of special interest to end users and are briefly&lt;br /&gt;
discussed in this document. Others which are of greater importance to system&lt;br /&gt;
administrators will not be covered by this document.&lt;br /&gt;
&lt;br /&gt;
The individual nodes of the system may act in different roles. According to the services supplied by the nodes, they are separated into disjoint groups. From an end users point of view the different groups of nodes are login nodes, compute nodes, file server nodes and administrative server nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Login Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The login nodes are the only nodes that are directly accessible by end users. These nodes&lt;br /&gt;
are used for interactive login, file management, program development and interactive pre-&lt;br /&gt;
and postprocessing. Two nodes are dedicated to this service but they are all accessible via&lt;br /&gt;
one address and a DNS round-robin alias distributes the login sessions to the&lt;br /&gt;
different login nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compute Node&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The majority of nodes are compute nodes which are managed by a batch system. Users &lt;br /&gt;
submit their jobs to the SLURM batch system and a job is executed when the required resources become available (depending on its fair-share priority).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;File Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The hardware of the parallel file system Lustre incorporates some file server nodes; the file&lt;br /&gt;
system Lustre is connected by coupling the InfiniBand of the file server with the independent InfiniBand switch of the compute cluster. In addition to shared file space there is also local storage on the disks of each node (for details see chapter &amp;quot;File Systems&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Administrative Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some other nodes are delivering additional services like resource management, external&lt;br /&gt;
network connection, administration etc. These nodes can be accessed directly by system administrators only.&lt;br /&gt;
&lt;br /&gt;
= Components of bwUniCluster =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;width:9%&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Thin&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;HPC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;IceLake&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Fat&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x4&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x8&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| IceLake + GPU x4&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Login&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of nodes&lt;br /&gt;
| 100 + 60&lt;br /&gt;
| 360&lt;br /&gt;
| 272&lt;br /&gt;
| 6&lt;br /&gt;
| 14&lt;br /&gt;
| 10&lt;br /&gt;
| 15&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processors&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Platinum 8358&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6248&lt;br /&gt;
| Intel Xeon Platinum 8358&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of sockets&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processor frequency (GHz)&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.6 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.6 Ghz&lt;br /&gt;
| 2.5 Ghz&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Total number of cores&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 64&lt;br /&gt;
| 80&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 64&lt;br /&gt;
| 40&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Main memory&lt;br /&gt;
| 96 GB / 192 GB&lt;br /&gt;
| 96 GB&lt;br /&gt;
| 256 GB&lt;br /&gt;
| 3 TB&lt;br /&gt;
| 384 GB&lt;br /&gt;
| 768 GB&lt;br /&gt;
| 512 GB&lt;br /&gt;
| 384 GB&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Local SSD&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 1,8 TB NVMe&lt;br /&gt;
| 4,8 TB NVMe&lt;br /&gt;
| 3,2 TB NVMe&lt;br /&gt;
| 15  TB NVMe&lt;br /&gt;
| 6,4 TB NVMe&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Accelerators&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 4x NVIDIA Tesla V100&lt;br /&gt;
| 8x NVIDIA Tesla V100&lt;br /&gt;
| 4x NVIDIA A100 / 4x NVIDIA H100&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Accelerator memory&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 32 GB&lt;br /&gt;
| 32 GB&lt;br /&gt;
| 80 GB / 94 GB&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Interconnect&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
| IB HDR100&lt;br /&gt;
| IB HDR200&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR200&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
|}&lt;br /&gt;
Table 1: Properties of the nodes&lt;br /&gt;
&lt;br /&gt;
= File Systems =&lt;br /&gt;
&lt;br /&gt;
On bwUniCluster 2.0 the parallel file system Lustre is used for most globally visible user data. Lustre is open source and Lustre solutions and support are available from different vendors. Nowadays, most of the biggest HPC systems are using Lustre. An initial home directory on a Lustre file system is created automatically after account activation, and the environment variable $HOME holds its name. Users can create so-called workspaces on another Lustre file system for non-permanent data with temporary lifetime. There is another workspace file system based on flash storage for special requirements available.&lt;br /&gt;
&lt;br /&gt;
Within a batch job further file systems are available: &lt;br /&gt;
* The directory $TMP is only available and visible on the local node. It is located on fast SSD storage devices.&lt;br /&gt;
* On request a parallel on-demand file system (BeeOND) is created which uses the SSDs of the nodes which were allocated to the batch job.&lt;br /&gt;
* On request the external LSDF Online Storage is mounted on the nodes which were allocated to the batch job. This file system is based on the parallel file system Spectrum Scale. &lt;br /&gt;
&lt;br /&gt;
Some of the characteristics of the file systems are shown in Table 2.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; background:#f5fffa;border:1px solid #000000;padding:1px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;width:20%;height=20px; text-align:left;padding:3px&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Property&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $TMP&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| BeeOND&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $HOME&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Workspace&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Workspace &amp;lt;br&amp;gt; on flash&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Visibility &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| local node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| nodes of batch job&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Lifetime &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| permanent&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| max. 240 days&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| max. 240 days&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Disk space &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 960 GB - 6.4 TB &amp;lt;br&amp;gt; details see table 1&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*750 GB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1.2 PiB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 4.1 PiB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 236 TiB&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Capacity Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 1 TiB per user &amp;lt;br&amp;gt; also per organization&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 40 TiB per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 1 TiB per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Inode Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 10 million per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 30 million per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 5 million per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Backup&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Read perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 6 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 520 MB/s @ single / multiple &amp;lt;br&amp;gt; 800 MB/s @ multiple_e &amp;lt;br&amp;gt; 6600 MB/s @ fat &amp;lt;br&amp;gt; 6500 MB/s @ gpu_4 &amp;lt;br&amp;gt; 6500 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 400 MB/s - 500 MB/s&amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 500 MB/s @ multiple &amp;lt;br&amp;gt; 400 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Write perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 4 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 500 MB/s @ single / multiple &amp;lt;br&amp;gt; 650 MB/s @ multiple_e &amp;lt;br&amp;gt; 2900 MB/s @ fat &amp;lt;br&amp;gt; 2090 MB/s @ gpu_4 &amp;lt;br&amp;gt; 4060 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 250 MB/s - 350 MB/s &amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 350 MB/s @ multiple &amp;lt;br&amp;gt; 250 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total read perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-6000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*400-500 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 45 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total write perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-4000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*250-350 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 38 GB/s&lt;br /&gt;
|}&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
  global: all nodes of UniCluster access the same file system;&lt;br /&gt;
  local: each node has its own file system;&lt;br /&gt;
  permanent: files are stored permanently;&lt;br /&gt;
  batch job: files are removed at end of the batch job.&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
Table 2: Properties of the file systems&lt;br /&gt;
&lt;br /&gt;
== Selecting the appropriate file system ==&lt;br /&gt;
&lt;br /&gt;
In general, you should separate your data and store it on the appropriate file system.&lt;br /&gt;
Permanently needed data like software or important results should be stored below $HOME&lt;br /&gt;
but capacity restrictions (quotas) apply. In case you accidentally deleted data on $HOME&lt;br /&gt;
you can usually restore it from backup. Permanent data which is not needed for months&lt;br /&gt;
or exceeds the capacity restrictions should be sent to the LSDF Online Storage &lt;br /&gt;
or to the archive and deleted from the file systems. Temporary data which is only needed on a single&lt;br /&gt;
node and which does not exceed the disk space shown in the table above should be stored&lt;br /&gt;
below $TMP. Data which is read many times on a single node, e.g. if you are doing AI training, &lt;br /&gt;
should be copied to $TMP and read from there. Temporary data which is used from many nodes &lt;br /&gt;
of your batch job and which is only needed during job runtime should be stored on a &lt;br /&gt;
parallel on-demand file system. Temporary data which can be recomputed or which is the &lt;br /&gt;
result of one job and input for another job should be stored in workspaces. The lifetime &lt;br /&gt;
of data in workspaces is limited and depends on the lifetime of the workspace which can be &lt;br /&gt;
several months.&lt;br /&gt;
&lt;br /&gt;
For further details please check the chapters below.&lt;br /&gt;
&lt;br /&gt;
== $HOME ==&lt;br /&gt;
&lt;br /&gt;
The home directories of bwUniCluster 2.0 (uc2) users are located in the parallel file system Lustre.&lt;br /&gt;
You have access to your home directory from all nodes of uc2. A regular backup of these directories &lt;br /&gt;
to tape archive is done automatically. The directory $HOME is used to hold those files that are&lt;br /&gt;
permanently used like source codes, configuration files, executable programs etc. &lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 1 TiB and 10 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In addition to the user limit there is a limit of your organization (e.g. university) which depends on the financial share. This limit is enforced with so-called Lustre project quotas. You can show the current usage and limits of your organization with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lfs quota -ph $(grep $(echo $HOME | sed -e &amp;quot;s|/[^/]*/[^/]*$||&amp;quot;) /pfs/data5/project_ids.txt | cut -f 1 -d\ ) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workspaces ==&lt;br /&gt;
&lt;br /&gt;
On uc2 workspaces can be used to store large non-permanent data sets, e.g. restart files or output&lt;br /&gt;
data that has to be post-processed. The file system used for workspaces is also the parallel file system Lustre. This file system is especially designed for parallel access and for a high throughput to large&lt;br /&gt;
files. It is able to provide high data transfer rates of up to 54 GB/s write and read performance when data access is parallel. &lt;br /&gt;
&lt;br /&gt;
Workspaces have a lifetime and the data on a workspace expires as a whole after a fixed period. The maximum lifetime of a workspace is 60 days, but it can be renewed at the end of that period 3 times to a total maximum of 240 days after workspace generation. If a workspace has inadvertently expired we can restore the data during a limited time (few weeks). In this case you should create a new workspace and report the name of the new and of the expired workspace in a ticket.&lt;br /&gt;
&lt;br /&gt;
Creating, deleting, finding and extending workspaces is explained on the  [[workspace]] page.&lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 40 TiB and 30 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) /pfs/work7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the quotas include data and inodes for all of your workspaces and all of your expired workspaces (as long as they are not yet completely removed).&lt;br /&gt;
&lt;br /&gt;
=== Reminder for workspace deletion ===&lt;br /&gt;
&lt;br /&gt;
Normally you will get an email every day starting 7 days before a workspace expires. You can send yourself a calender entry which reminds you when a workspace will be automatically deleted:&lt;br /&gt;
&lt;br /&gt;
 $ ws_send_ical.sh &amp;lt;workspace&amp;gt; &amp;lt;email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Improving Performance on $HOME and workspaces ==&lt;br /&gt;
&lt;br /&gt;
The following recommendations might help to improve throughput and metadata&lt;br /&gt;
performance on Lustre filesystems.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Throughput Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Depending on your application some adaptations might be necessary if you want to reach&lt;br /&gt;
the full bandwidth of the filesystems. Parallel filesystems typically stripe files over storage subsystems, i.e. large files are separated into stripes and distributed to different storage subsystems. In Lustre, the size of these stripes (sometimes also mentioned as chunks) is called stripe size and the number of used storage subsystems is called stripe count.&lt;br /&gt;
&lt;br /&gt;
When you are designing your application you should consider that the performance of&lt;br /&gt;
parallel filesystems is generally better if data is transferred in large blocks and stored in&lt;br /&gt;
few large files. In more detail, to increase throughput performance of a parallel application&lt;br /&gt;
following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* collect large chunks of data and write them sequentially at once,&lt;br /&gt;
&lt;br /&gt;
* to exploit complete filesystem bandwidth use several clients,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive file access by different tasks or use blocks with boundaries at stripe size (default is 1MB),&lt;br /&gt;
&lt;br /&gt;
* if files are small enough for the SSDs and are only used by one process store them on $TMP.&lt;br /&gt;
&lt;br /&gt;
With previous Lustre versions adapting the Lustre stripe count was the most important optimization. However, for the workspaces of uc2 the new Lustre feature Progressive File Layouts has been used to define file striping parameters. This means that the stripe count is adapted if the file size is growing. In normal cases users no longer need to adapt file striping parameters in case they have very huge files or in order to reach better performance. &lt;br /&gt;
&lt;br /&gt;
If you know what you are doing you can still change striping parameters, e.g. the stripe count, of a directory and of newly created files. New files and directories inherit the stripe count from the parent directory. E.g. if you want to enhance throughput on a single very large file which is created in the directory $HOME/my_output_dir you can use the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs setstripe -c-1 $HOME/my_output_dir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to change the stripe count to -1 which means that all storage subsystems of the file system are used to store that file. If you change the stripe count of a directory the stripe count of existing files inside this&lt;br /&gt;
directory is not changed. If you want to change the stripe count of existing files, change&lt;br /&gt;
the stripe count of the parent directory, copy the files to new files, remove the old files&lt;br /&gt;
and move the new files back to the old name. In order to check the stripe setting of&lt;br /&gt;
the file my_file use&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs getstripe my_file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also note that changes on the striping parameters (e.g. stripe count) are not saved in the&lt;br /&gt;
backup, i.e. if directories have to be recreated this information is lost and the default stripe&lt;br /&gt;
count will be used. Therefore, you should annotate for which directories you made changes&lt;br /&gt;
to the striping parameters so that you can repeat these changes if required.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Metadata Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Metadata performance on parallel file systems is usually not as good as with local&lt;br /&gt;
filesystems. In addition, it is usually not scalable, i.e. a limited resource. Therefore,&lt;br /&gt;
you should omit metadata operations whenever possible. For example, it is much better&lt;br /&gt;
to have few large files than lots of small files. In more detail, to increase metadata&lt;br /&gt;
performance of a parallel application following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* avoid creating many small files,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive directory access, e.g. by creating files in separate subdirectories for each task,&lt;br /&gt;
&lt;br /&gt;
* if many small files are only used within a batch job and accessed by one process store them on $TMP,&lt;br /&gt;
&lt;br /&gt;
* change the default colorization setting of the command ls (see below).&lt;br /&gt;
&lt;br /&gt;
On modern Linux systems, the GNU ls command often uses colorization by default to&lt;br /&gt;
visually highlight the file type; this is especially true if the command is run within a terminal&lt;br /&gt;
session. This is because the default shell profile initializations usually contain an alias&lt;br /&gt;
directive similar to the following for the ls command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=tty&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
However, running the ls command in this way for files on a Lustre file system requires&lt;br /&gt;
a stat() call to be used to determine the file type. This can result in a performance&lt;br /&gt;
overhead, because the stat() call always needs to determine the size of a file, and that&lt;br /&gt;
in turn means that the client node must query the object size of all the backing objects&lt;br /&gt;
that make up a file. As a result of the default colorization setting, running a simple&lt;br /&gt;
ls command on a Lustre file system often takes as much time as running the ls command&lt;br /&gt;
with the -l option (the same is true if the -F, -p, or the -classify option, or any other option &lt;br /&gt;
that requires information from a stat() call, is used). To avoid this performance overhead&lt;br /&gt;
when using ls commands, add an alias directive similar to the following&lt;br /&gt;
to your shell startup script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=never&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workspaces on flash storage ==&lt;br /&gt;
&lt;br /&gt;
There is another workspace file system for special requirements available. The file system is called &#039;&#039;full flash pfs&#039;&#039; and is based on the parallel file system Lustre.&lt;br /&gt;
&lt;br /&gt;
=== Advantages of this file system ===&lt;br /&gt;
&lt;br /&gt;
# All storage devices are based on flash (no hard disks) with low access times. Hence performance is better compared to other parallel file systems for read and write access with small blocks and with small files, i.e. IOPS rates are improved.&lt;br /&gt;
# The file system is mounted on bwUniCluster 2.0 and HoreKa, i.e. it can be used to share data between these clusters.&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&lt;br /&gt;
Only HoreKa users or KIT users of bwUniCluster 2.0 can use this file system.&lt;br /&gt;
&lt;br /&gt;
=== Using the file system ===&lt;br /&gt;
&lt;br /&gt;
After access is granted, you can use the file system in the same way as a normal workspace. You just have to specify the name of the flash-based workspace file system using the option &#039;&#039;-F&#039;&#039; to all the commands that manage workspaces. On bwUniCluster 2.0 it is called &#039;&#039;ffuc&#039;&#039;, on HoreKa it is &#039;&#039;ffhk&#039;&#039;. For example, to create a workspace with name myws and a lifetime of 60 days on bwUniCluster 2.0 execute:&lt;br /&gt;
 ws_allocate -F ffuc myws 60&lt;br /&gt;
&lt;br /&gt;
If you want to use the full flash pfs on bwUniCluster 2.0 &#039;&#039;&#039;and&#039;&#039;&#039; HoreKa at the same time, please note that you only have to manage a particular workspace on one of the clusters since the name of the workspace directory is different. However, the path to each workspace is visible and can be used on both clusters.&lt;br /&gt;
&lt;br /&gt;
Other features are similar to normal workspaces. For example, we are able to restore expired workspaces for few weeks and you have to open a ticket to request the restore. There are quota limits with a default limit of 1 TB capacity and 5 millions inodes per user. You can check your current usage with&lt;br /&gt;
 lfs quota -uh $(whoami) /pfs/work8&lt;br /&gt;
&lt;br /&gt;
== $TMP ==&lt;br /&gt;
&lt;br /&gt;
While all tasks of a parallel application access the same $HOME and workspace directory, the &lt;br /&gt;
$TMP directory is local to each node on bwUniCluster 2.0. All nodes have fast SSDs &lt;br /&gt;
local storage devices which are used to store data below $TMP. Different tasks of a parallel&lt;br /&gt;
application use different $TMP directories when they do not utilize one node. This directory should&lt;br /&gt;
be used for temporary files being accessed by single tasks. It should also be used if you read the &lt;br /&gt;
same data many times from a single node, e.g. if you are doing AI training. In this case you should &lt;br /&gt;
copy the data at the beginning of your batch job to $TMP and read the data from there.&lt;br /&gt;
In addition, this directory should be used for the installation&lt;br /&gt;
of software packages. This means that the software package to be installed should be&lt;br /&gt;
unpacked, compiled and linked in a subdirectory of $TMP. The real installation of the&lt;br /&gt;
package (e.g. make install) should be made in(to) the Lustre filesystem. &lt;br /&gt;
&lt;br /&gt;
Each time a batch job is started, a subdirectory is created on each node and assigned to the job. &lt;br /&gt;
$TMP is newly set and the name of the subdirectory contains the Job-id so that the&lt;br /&gt;
subdirectory name is unique for each job. This unique name is then assigned to the&lt;br /&gt;
environment variable $TMP within the job. At the end of the job the subdirectory is removed.&lt;br /&gt;
Although $TMP points to the same path name for different nodes of a job, the physical location &lt;br /&gt;
on these nodes is different.&lt;br /&gt;
&lt;br /&gt;
== LSDF Online Storage==&lt;br /&gt;
&lt;br /&gt;
In some cases it is useful to have access to the LSDF Online Storage on the HPC-Clusters also. Therefore the LSDF Online Storage is mounted on the Login- and Datamover-Nodes.&lt;br /&gt;
Furthermore it can be used on the compute nodes during the job runtime with the constraint flag &amp;quot;LSDF&amp;quot; ([[bwUniCluster_2.0_Slurm_common_Features|Slurm common features]]&lt;br /&gt;
). There is also an example about the LSDF batch usage: [[bwUniCluster_2.0_Slurm_common_Features#LSDF_Online_Storage|Slurm LSDF example ]] .&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH ...&lt;br /&gt;
#SBATCH --constraint=LSDF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For the usage of the LSDF Online Storage the following environment variables are available: $LSDF, $LSDFPROJECTS, $LSDFHOME.&lt;br /&gt;
Please request storage projects in the LSDF Online Storage seperately:&lt;br /&gt;
[https://www.lsdf.kit.edu/os/storagerequest/: LSDF Storage Request].&lt;br /&gt;
&lt;br /&gt;
==BeeOND (BeeGFS On-Demand)==&lt;br /&gt;
&lt;br /&gt;
Users of the UniCluster have possibility to request a private BeeOND (on-demand BeeGFS) parallel filesystem for each job. The file system is created during job startup and purged after your job.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT: All data on the private filesystem will be deleted after your job. Make sure you have copied your data back to the global filesystem (within job), e.g., $HOME or any workspace.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
BeeOND/BeeGFS can be used like any other parallel file system. Tools like cp or rsync can be used to copy data in and out. &lt;br /&gt;
&lt;br /&gt;
For detailed usage see here:[[BwUniCluster_2.0_Slurm_common_Features#BeeOND_.28BeeGFS_On-Demand.29|Request on-demand file system]]&lt;br /&gt;
&lt;br /&gt;
==Backup and Archiving==&lt;br /&gt;
&lt;br /&gt;
There are regular backups of all data of the home directories,whereas ACLs and extended attributes will&lt;br /&gt;
not be backuped. &lt;br /&gt;
&lt;br /&gt;
Please open a ticket if you need backuped data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:bwUniCluster 2.0|File System]][[Category:Hardware_and_Architecture|bwUniCluster 2.0]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=11687</id>
		<title>BwUniCluster2.0/Hardware and Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=11687"/>
		<updated>2023-01-05T13:34:24Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Components of bwUniCluster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Architecture of bwUniCluster 2.0 =&lt;br /&gt;
&lt;br /&gt;
The bwUniCluster 2.0 is a parallel computer with distributed memory. Each node of system consists of at least two Intel Xeon processor, local memory, disks, network adapters and optionally accelerators (NVIDIA Tesla V100, A100 or H100). All nodes are connected by a fast InfiniBand interconnect. In addition the file system&lt;br /&gt;
Lustre, that is connected by coupling the InfiniBand of the file server with the InfiniBand&lt;br /&gt;
switch of the compute cluster, is added to bwUniCluster 2.0 to provide a fast and scalable&lt;br /&gt;
parallel file system.&lt;br /&gt;
&lt;br /&gt;
The operating system on each node is Red Hat Enterprise Linux (RHEL) 8.4. A number of additional software packages like e.g. SLURM have been installed on top. Some of these components are of special interest to end users and are briefly&lt;br /&gt;
discussed in this document. Others which are of greater importance to system&lt;br /&gt;
administrators will not be covered by this document.&lt;br /&gt;
&lt;br /&gt;
The individual nodes of the system may act in different roles. According to the services supplied by the nodes, they are separated into disjoint groups. From an end users point of view the different groups of nodes are login nodes, compute nodes, file server nodes and administrative server nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Login Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The login nodes are the only nodes that are directly accessible by end users. These nodes&lt;br /&gt;
are used for interactive login, file management, program development and interactive pre-&lt;br /&gt;
and postprocessing. Two nodes are dedicated to this service but they are all accessible via&lt;br /&gt;
one address and a DNS round-robin alias distributes the login sessions to the&lt;br /&gt;
different login nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compute Node&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The majority of nodes are compute nodes which are managed by a batch system. Users &lt;br /&gt;
submit their jobs to the SLURM batch system and a job is executed when the required resources become available (depending on its fair-share priority).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;File Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The hardware of the parallel file system Lustre incorporates some file server nodes; the file&lt;br /&gt;
system Lustre is connected by coupling the InfiniBand of the file server with the independent InfiniBand switch of the compute cluster. In addition to shared file space there is also local storage on the disks of each node (for details see chapter &amp;quot;File Systems&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Administrative Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some other nodes are delivering additional services like resource management, external&lt;br /&gt;
network connection, administration etc. These nodes can be accessed directly by system administrators only.&lt;br /&gt;
&lt;br /&gt;
= Components of bwUniCluster =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;width:9%&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Thin&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;HPC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;IceLake&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Fat&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x4&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x8&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| IceLake + GPU x4&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Login&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of nodes&lt;br /&gt;
| 100 + 60&lt;br /&gt;
| 360&lt;br /&gt;
| 272&lt;br /&gt;
| 6&lt;br /&gt;
| 14&lt;br /&gt;
| 10&lt;br /&gt;
| 15&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processors&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Platinum 8358&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6248&lt;br /&gt;
| Intel Xeon Platinum 8358&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of sockets&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processor frequency (GHz)&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.6 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.6 Ghz&lt;br /&gt;
| 2.5 Ghz&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Total number of cores&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 64&lt;br /&gt;
| 80&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 64&lt;br /&gt;
| 40&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Main memory&lt;br /&gt;
| 96 GB / 192 GB&lt;br /&gt;
| 96 GB&lt;br /&gt;
| 256 GB&lt;br /&gt;
| 3 TB&lt;br /&gt;
| 384 GB&lt;br /&gt;
| 768 GB&lt;br /&gt;
| 512 GB&lt;br /&gt;
| 384 GB&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Local SSD&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 1,8 TB NVMe&lt;br /&gt;
| 4,8 TB NVMe&lt;br /&gt;
| 3,2 TB NVMe&lt;br /&gt;
| 15  TB NVMe&lt;br /&gt;
| 6,4 TB NVMe&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Accelerators&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 4x NVIDIA Tesla V100&lt;br /&gt;
| 8x NVIDIA Tesla V100&lt;br /&gt;
| 4x NVIDIA A100 / 4x NVIDIA H100&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Accelerator memory&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 32 GB&lt;br /&gt;
| 32 GB&lt;br /&gt;
| 80 GB / 94 GB&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Interconnect&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
| IB HDR100&lt;br /&gt;
| IB HDR200&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR200&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
|}&lt;br /&gt;
Table 1: Properties of the nodes&lt;br /&gt;
&lt;br /&gt;
= File Systems =&lt;br /&gt;
&lt;br /&gt;
On bwUniCluster 2.0 the parallel file system Lustre is used for most globally visible user data. Lustre is open source and Lustre solutions and support are available from different vendors. Nowadays, most of the biggest HPC systems are using Lustre. An initial home directory on a Lustre file system is created automatically after account activation, and the environment variable $HOME holds its name. Users can create so-called workspaces on another Lustre file system for non-permanent data with temporary lifetime. There is another workspace file system based on flash storage for special requirements available.&lt;br /&gt;
&lt;br /&gt;
Within a batch job further file systems are available: &lt;br /&gt;
* The directory $TMP is only available and visible on the local node. It is located on fast SSD storage devices.&lt;br /&gt;
* On request a parallel on-demand file system (BeeOND) is created which uses the SSDs of the nodes which were allocated to the batch job.&lt;br /&gt;
* On request the external LSDF Online Storage is mounted on the nodes which were allocated to the batch job. This file system is based on the parallel file system Spectrum Scale. &lt;br /&gt;
&lt;br /&gt;
Some of the characteristics of the file systems are shown in Table 2.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; background:#f5fffa;border:1px solid #000000;padding:1px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;width:20%;height=20px; text-align:left;padding:3px&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Property&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $TMP&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| BeeOND&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $HOME&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Workspace&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Workspace &amp;lt;br&amp;gt; on flash&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Visibility &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| local node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| nodes of batch job&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Lifetime &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| permanent&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| max. 240 days&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| max. 240 days&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Disk space &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 960 GB - 6.4 TB &amp;lt;br&amp;gt; details see table 1&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*750 GB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1.2 PiB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 4.1 PiB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 236 TiB&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Capacity Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 1 TiB per user &amp;lt;br&amp;gt; also per organization&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 40 TiB per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 1 TiB per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Inode Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 10 million per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 30 million per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 5 million per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Backup&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Read perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 6 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 520 MB/s @ single / multiple &amp;lt;br&amp;gt; 800 MB/s @ multiple_e &amp;lt;br&amp;gt; 6600 MB/s @ fat &amp;lt;br&amp;gt; 6500 MB/s @ gpu_4 &amp;lt;br&amp;gt; 6500 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 400 MB/s - 500 MB/s&amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 500 MB/s @ multiple &amp;lt;br&amp;gt; 400 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Write perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 4 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 500 MB/s @ single / multiple &amp;lt;br&amp;gt; 650 MB/s @ multiple_e &amp;lt;br&amp;gt; 2900 MB/s @ fat &amp;lt;br&amp;gt; 2090 MB/s @ gpu_4 &amp;lt;br&amp;gt; 4060 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 250 MB/s - 350 MB/s &amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 350 MB/s @ multiple &amp;lt;br&amp;gt; 250 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total read perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-6000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*400-500 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 45 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total write perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-4000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*250-350 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 38 GB/s&lt;br /&gt;
|}&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
  global: all nodes of UniCluster access the same file system;&lt;br /&gt;
  local: each node has its own file system;&lt;br /&gt;
  permanent: files are stored permanently;&lt;br /&gt;
  batch job: files are removed at end of the batch job.&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
Table 2: Properties of the file systems&lt;br /&gt;
&lt;br /&gt;
== Selecting the appropriate file system ==&lt;br /&gt;
&lt;br /&gt;
In general, you should separate your data and store it on the appropriate file system.&lt;br /&gt;
Permanently needed data like software or important results should be stored below $HOME&lt;br /&gt;
but capacity restrictions (quotas) apply. In case you accidentally deleted data on $HOME&lt;br /&gt;
you can usually restore it from backup. Permanent data which is not needed for months&lt;br /&gt;
or exceeds the capacity restrictions should be sent to the LSDF Online Storage &lt;br /&gt;
or to the archive and deleted from the file systems. Temporary data which is only needed on a single&lt;br /&gt;
node and which does not exceed the disk space shown in the table above should be stored&lt;br /&gt;
below $TMP. Data which is read many times on a single node, e.g. if you are doing AI training, &lt;br /&gt;
should be copied to $TMP and read from there. Temporary data which is used from many nodes &lt;br /&gt;
of your batch job and which is only needed during job runtime should be stored on a &lt;br /&gt;
parallel on-demand file system. Temporary data which can be recomputed or which is the &lt;br /&gt;
result of one job and input for another job should be stored in workspaces. The lifetime &lt;br /&gt;
of data in workspaces is limited and depends on the lifetime of the workspace which can be &lt;br /&gt;
several months.&lt;br /&gt;
&lt;br /&gt;
For further details please check the chapters below.&lt;br /&gt;
&lt;br /&gt;
== $HOME ==&lt;br /&gt;
&lt;br /&gt;
The home directories of bwUniCluster 2.0 (uc2) users are located in the parallel file system Lustre.&lt;br /&gt;
You have access to your home directory from all nodes of uc2. A regular backup of these directories &lt;br /&gt;
to tape archive is done automatically. The directory $HOME is used to hold those files that are&lt;br /&gt;
permanently used like source codes, configuration files, executable programs etc. &lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 1 TiB and 10 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In addition to the user limit there is a limit of your organization (e.g. university) which depends on the financial share. This limit is enforced with so-called Lustre project quotas. You can show the current usage and limits of your organization with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lfs quota -ph $(grep $(echo $HOME | sed -e &amp;quot;s|/[^/]*/[^/]*$||&amp;quot;) /pfs/data5/project_ids.txt | cut -f 1 -d\ ) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workspaces ==&lt;br /&gt;
&lt;br /&gt;
On uc2 workspaces can be used to store large non-permanent data sets, e.g. restart files or output&lt;br /&gt;
data that has to be post-processed. The file system used for workspaces is also the parallel file system Lustre. This file system is especially designed for parallel access and for a high throughput to large&lt;br /&gt;
files. It is able to provide high data transfer rates of up to 54 GB/s write and read performance when data access is parallel. &lt;br /&gt;
&lt;br /&gt;
Workspaces have a lifetime and the data on a workspace expires as a whole after a fixed period. The maximum lifetime of a workspace is 60 days, but it can be renewed at the end of that period 3 times to a total maximum of 240 days after workspace generation. If a workspace has inadvertently expired we can restore the data during a limited time (few weeks). In this case you should create a new workspace and report the name of the new and of the expired workspace in a ticket.&lt;br /&gt;
&lt;br /&gt;
Creating, deleting, finding and extending workspaces is explained on the  [[workspace]] page.&lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 40 TiB and 30 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) /pfs/work7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the quotas include data and inodes for all of your workspaces and all of your expired workspaces (as long as they are not yet completely removed).&lt;br /&gt;
&lt;br /&gt;
=== Reminder for workspace deletion ===&lt;br /&gt;
&lt;br /&gt;
Normally you will get an email every day starting 7 days before a workspace expires. You can send yourself a calender entry which reminds you when a workspace will be automatically deleted:&lt;br /&gt;
&lt;br /&gt;
 $ ws_send_ical.sh &amp;lt;workspace&amp;gt; &amp;lt;email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Improving Performance on $HOME and workspaces ==&lt;br /&gt;
&lt;br /&gt;
The following recommendations might help to improve throughput and metadata&lt;br /&gt;
performance on Lustre filesystems.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Throughput Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Depending on your application some adaptations might be necessary if you want to reach&lt;br /&gt;
the full bandwidth of the filesystems. Parallel filesystems typically stripe files over storage subsystems, i.e. large files are separated into stripes and distributed to different storage subsystems. In Lustre, the size of these stripes (sometimes also mentioned as chunks) is called stripe size and the number of used storage subsystems is called stripe count.&lt;br /&gt;
&lt;br /&gt;
When you are designing your application you should consider that the performance of&lt;br /&gt;
parallel filesystems is generally better if data is transferred in large blocks and stored in&lt;br /&gt;
few large files. In more detail, to increase throughput performance of a parallel application&lt;br /&gt;
following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* collect large chunks of data and write them sequentially at once,&lt;br /&gt;
&lt;br /&gt;
* to exploit complete filesystem bandwidth use several clients,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive file access by different tasks or use blocks with boundaries at stripe size (default is 1MB),&lt;br /&gt;
&lt;br /&gt;
* if files are small enough for the SSDs and are only used by one process store them on $TMP.&lt;br /&gt;
&lt;br /&gt;
With previous Lustre versions adapting the Lustre stripe count was the most important optimization. However, for the workspaces of uc2 the new Lustre feature Progressive File Layouts has been used to define file striping parameters. This means that the stripe count is adapted if the file size is growing. In normal cases users no longer need to adapt file striping parameters in case they have very huge files or in order to reach better performance. &lt;br /&gt;
&lt;br /&gt;
If you know what you are doing you can still change striping parameters, e.g. the stripe count, of a directory and of newly created files. New files and directories inherit the stripe count from the parent directory. E.g. if you want to enhance throughput on a single very large file which is created in the directory $HOME/my_output_dir you can use the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs setstripe -c-1 $HOME/my_output_dir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to change the stripe count to -1 which means that all storage subsystems of the file system are used to store that file. If you change the stripe count of a directory the stripe count of existing files inside this&lt;br /&gt;
directory is not changed. If you want to change the stripe count of existing files, change&lt;br /&gt;
the stripe count of the parent directory, copy the files to new files, remove the old files&lt;br /&gt;
and move the new files back to the old name. In order to check the stripe setting of&lt;br /&gt;
the file my_file use&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs getstripe my_file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also note that changes on the striping parameters (e.g. stripe count) are not saved in the&lt;br /&gt;
backup, i.e. if directories have to be recreated this information is lost and the default stripe&lt;br /&gt;
count will be used. Therefore, you should annotate for which directories you made changes&lt;br /&gt;
to the striping parameters so that you can repeat these changes if required.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Metadata Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Metadata performance on parallel file systems is usually not as good as with local&lt;br /&gt;
filesystems. In addition, it is usually not scalable, i.e. a limited resource. Therefore,&lt;br /&gt;
you should omit metadata operations whenever possible. For example, it is much better&lt;br /&gt;
to have few large files than lots of small files. In more detail, to increase metadata&lt;br /&gt;
performance of a parallel application following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* avoid creating many small files,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive directory access, e.g. by creating files in separate subdirectories for each task,&lt;br /&gt;
&lt;br /&gt;
* if many small files are only used within a batch job and accessed by one process store them on $TMP,&lt;br /&gt;
&lt;br /&gt;
* change the default colorization setting of the command ls (see below).&lt;br /&gt;
&lt;br /&gt;
On modern Linux systems, the GNU ls command often uses colorization by default to&lt;br /&gt;
visually highlight the file type; this is especially true if the command is run within a terminal&lt;br /&gt;
session. This is because the default shell profile initializations usually contain an alias&lt;br /&gt;
directive similar to the following for the ls command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=tty&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
However, running the ls command in this way for files on a Lustre file system requires&lt;br /&gt;
a stat() call to be used to determine the file type. This can result in a performance&lt;br /&gt;
overhead, because the stat() call always needs to determine the size of a file, and that&lt;br /&gt;
in turn means that the client node must query the object size of all the backing objects&lt;br /&gt;
that make up a file. As a result of the default colorization setting, running a simple&lt;br /&gt;
ls command on a Lustre file system often takes as much time as running the ls command&lt;br /&gt;
with the -l option (the same is true if the -F, -p, or the -classify option, or any other option &lt;br /&gt;
that requires information from a stat() call, is used). To avoid this performance overhead&lt;br /&gt;
when using ls commands, add an alias directive similar to the following&lt;br /&gt;
to your shell startup script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=never&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workspaces on flash storage ==&lt;br /&gt;
&lt;br /&gt;
There is another workspace file system for special requirements available. The file system is called &#039;&#039;full flash pfs&#039;&#039; and is based on the parallel file system Lustre.&lt;br /&gt;
&lt;br /&gt;
=== Advantages of this file system ===&lt;br /&gt;
&lt;br /&gt;
# All storage devices are based on flash (no hard disks) with low access times. Hence performance is better compared to other parallel file systems for read and write access with small blocks and with small files, i.e. IOPS rates are improved.&lt;br /&gt;
# The file system is mounted on bwUniCluster 2.0 and HoreKa, i.e. it can be used to share data between these clusters.&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&lt;br /&gt;
Only HoreKa users or KIT users of bwUniCluster 2.0 can use this file system.&lt;br /&gt;
&lt;br /&gt;
=== Using the file system ===&lt;br /&gt;
&lt;br /&gt;
After access is granted, you can use the file system in the same way as a normal workspace. You just have to specify the name of the flash-based workspace file system using the option &#039;&#039;-F&#039;&#039; to all the commands that manage workspaces. On bwUniCluster 2.0 it is called &#039;&#039;ffuc&#039;&#039;, on HoreKa it is &#039;&#039;ffhk&#039;&#039;. For example, to create a workspace with name myws and a lifetime of 60 days on bwUniCluster 2.0 execute:&lt;br /&gt;
 ws_allocate -F ffuc myws 60&lt;br /&gt;
&lt;br /&gt;
If you want to use the full flash pfs on bwUniCluster 2.0 &#039;&#039;&#039;and&#039;&#039;&#039; HoreKa at the same time, please note that you only have to manage a particular workspace on one of the clusters since the name of the workspace directory is different. However, the path to each workspace is visible and can be used on both clusters.&lt;br /&gt;
&lt;br /&gt;
Other features are similar to normal workspaces. For example, we are able to restore expired workspaces for few weeks and you have to open a ticket to request the restore. There are quota limits with a default limit of 1 TB capacity and 5 millions inodes per user. You can check your current usage with&lt;br /&gt;
 lfs quota -uh $(whoami) /pfs/work8&lt;br /&gt;
&lt;br /&gt;
== $TMP ==&lt;br /&gt;
&lt;br /&gt;
While all tasks of a parallel application access the same $HOME and workspace directory, the &lt;br /&gt;
$TMP directory is local to each node on bwUniCluster 2.0. All nodes have fast SSDs &lt;br /&gt;
local storage devices which are used to store data below $TMP. Different tasks of a parallel&lt;br /&gt;
application use different $TMP directories when they do not utilize one node. This directory should&lt;br /&gt;
be used for temporary files being accessed by single tasks. It should also be used if you read the &lt;br /&gt;
same data many times from a single node, e.g. if you are doing AI training. In this case you should &lt;br /&gt;
copy the data at the beginning of your batch job to $TMP and read the data from there.&lt;br /&gt;
In addition, this directory should be used for the installation&lt;br /&gt;
of software packages. This means that the software package to be installed should be&lt;br /&gt;
unpacked, compiled and linked in a subdirectory of $TMP. The real installation of the&lt;br /&gt;
package (e.g. make install) should be made in(to) the Lustre filesystem. &lt;br /&gt;
&lt;br /&gt;
Each time a batch job is started, a subdirectory is created on each node and assigned to the job. &lt;br /&gt;
$TMP is newly set and the name of the subdirectory contains the Job-id so that the&lt;br /&gt;
subdirectory name is unique for each job. This unique name is then assigned to the&lt;br /&gt;
environment variable $TMP within the job. At the end of the job the subdirectory is removed.&lt;br /&gt;
Although $TMP points to the same path name for different nodes of a job, the physical location &lt;br /&gt;
on these nodes is different.&lt;br /&gt;
&lt;br /&gt;
== LSDF Online Storage==&lt;br /&gt;
&lt;br /&gt;
In some cases it is useful to have access to the LSDF Online Storage on the HPC-Clusters also. Therefore the LSDF Online Storage is mounted on the Login- and Datamover-Nodes.&lt;br /&gt;
Furthermore it can be used on the compute nodes during the job runtime with the constraint flag &amp;quot;LSDF&amp;quot; ([[bwUniCluster_2.0_Slurm_common_Features|Slurm common features]]&lt;br /&gt;
). There is also an example about the LSDF batch usage: [[bwUniCluster_2.0_Slurm_common_Features#LSDF_Online_Storage|Slurm LSDF example ]] .&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH ...&lt;br /&gt;
#SBATCH --constraint=LSDF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For the usage of the LSDF Online Storage the following environment variables are available: $LSDF, $LSDFPROJECTS, $LSDFHOME.&lt;br /&gt;
Please request storage projects in the LSDF Online Storage seperately:&lt;br /&gt;
[https://www.lsdf.kit.edu/os/storagerequest/: LSDF Storage Request].&lt;br /&gt;
&lt;br /&gt;
==BeeOND (BeeGFS On-Demand)==&lt;br /&gt;
&lt;br /&gt;
Users of the UniCluster have possibility to request a private BeeOND (on-demand BeeGFS) parallel filesystem for each job. The file system is created during job startup and purged after your job.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT: All data on the private filesystem will be deleted after your job. Make sure you have copied your data back to the global filesystem (within job), e.g., $HOME or any workspace.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
BeeOND/BeeGFS can be used like any other parallel file system. Tools like cp or rsync can be used to copy data in and out. &lt;br /&gt;
&lt;br /&gt;
For detailed usage see here:[[BwUniCluster_2.0_Slurm_common_Features#BeeOND_.28BeeGFS_On-Demand.29|Request on-demand file system]]&lt;br /&gt;
&lt;br /&gt;
==Backup and Archiving==&lt;br /&gt;
&lt;br /&gt;
There are regular backups of all data of the home directories,whereas ACLs and extended attributes will&lt;br /&gt;
not be backuped. &lt;br /&gt;
&lt;br /&gt;
Please open a ticket if you need backuped data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:bwUniCluster 2.0|File System]][[Category:Hardware_and_Architecture|bwUniCluster 2.0]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=11686</id>
		<title>BwUniCluster2.0/Hardware and Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=11686"/>
		<updated>2023-01-05T13:33:46Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Components of bwUniCluster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Architecture of bwUniCluster 2.0 =&lt;br /&gt;
&lt;br /&gt;
The bwUniCluster 2.0 is a parallel computer with distributed memory. Each node of system consists of at least two Intel Xeon processor, local memory, disks, network adapters and optionally accelerators (NVIDIA Tesla V100, A100 or H100). All nodes are connected by a fast InfiniBand interconnect. In addition the file system&lt;br /&gt;
Lustre, that is connected by coupling the InfiniBand of the file server with the InfiniBand&lt;br /&gt;
switch of the compute cluster, is added to bwUniCluster 2.0 to provide a fast and scalable&lt;br /&gt;
parallel file system.&lt;br /&gt;
&lt;br /&gt;
The operating system on each node is Red Hat Enterprise Linux (RHEL) 8.4. A number of additional software packages like e.g. SLURM have been installed on top. Some of these components are of special interest to end users and are briefly&lt;br /&gt;
discussed in this document. Others which are of greater importance to system&lt;br /&gt;
administrators will not be covered by this document.&lt;br /&gt;
&lt;br /&gt;
The individual nodes of the system may act in different roles. According to the services supplied by the nodes, they are separated into disjoint groups. From an end users point of view the different groups of nodes are login nodes, compute nodes, file server nodes and administrative server nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Login Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The login nodes are the only nodes that are directly accessible by end users. These nodes&lt;br /&gt;
are used for interactive login, file management, program development and interactive pre-&lt;br /&gt;
and postprocessing. Two nodes are dedicated to this service but they are all accessible via&lt;br /&gt;
one address and a DNS round-robin alias distributes the login sessions to the&lt;br /&gt;
different login nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compute Node&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The majority of nodes are compute nodes which are managed by a batch system. Users &lt;br /&gt;
submit their jobs to the SLURM batch system and a job is executed when the required resources become available (depending on its fair-share priority).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;File Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The hardware of the parallel file system Lustre incorporates some file server nodes; the file&lt;br /&gt;
system Lustre is connected by coupling the InfiniBand of the file server with the independent InfiniBand switch of the compute cluster. In addition to shared file space there is also local storage on the disks of each node (for details see chapter &amp;quot;File Systems&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Administrative Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some other nodes are delivering additional services like resource management, external&lt;br /&gt;
network connection, administration etc. These nodes can be accessed directly by system administrators only.&lt;br /&gt;
&lt;br /&gt;
= Components of bwUniCluster =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;width:9%&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Thin&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;HPC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;IceLake&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Fat&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x4&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x8&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| IceLake + GPU x4&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Login&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of nodes&lt;br /&gt;
| 100 + 60&lt;br /&gt;
| 360&lt;br /&gt;
| 272&lt;br /&gt;
| 6&lt;br /&gt;
| 14&lt;br /&gt;
| 10&lt;br /&gt;
| 15&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processors&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Platinum 8358&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6248&lt;br /&gt;
| Intel Xeon Platinum 8358&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of sockets&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processor frequency (GHz)&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.6 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.6 Ghz&lt;br /&gt;
| 2.5 Ghz&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Total number of cores&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 64&lt;br /&gt;
| 80&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 64&lt;br /&gt;
| 40&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Main memory&lt;br /&gt;
| 96 GB / 192 GB&lt;br /&gt;
| 96 GB&lt;br /&gt;
| 256 GB&lt;br /&gt;
| 3 TB&lt;br /&gt;
| 384 GB&lt;br /&gt;
| 768 GB&lt;br /&gt;
| 512 GB&lt;br /&gt;
| 384 GB&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Local SSD&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 1,8 TB NVMe&lt;br /&gt;
| 4,8 TB NVMe&lt;br /&gt;
| 3,2 TB NVMe&lt;br /&gt;
| 15  TB NVMe&lt;br /&gt;
| 6,4 TB NVMe&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Accelerators&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 4x NVIDIA Tesla V100&lt;br /&gt;
| 8x NVIDIA Tesla V100&lt;br /&gt;
| 4x NVIDIA A100 / 4x NVIDIA H100&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Interconnect&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
| IB HDR100&lt;br /&gt;
| IB HDR200&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR200&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
|}&lt;br /&gt;
Table 1: Properties of the nodes&lt;br /&gt;
&lt;br /&gt;
= File Systems =&lt;br /&gt;
&lt;br /&gt;
On bwUniCluster 2.0 the parallel file system Lustre is used for most globally visible user data. Lustre is open source and Lustre solutions and support are available from different vendors. Nowadays, most of the biggest HPC systems are using Lustre. An initial home directory on a Lustre file system is created automatically after account activation, and the environment variable $HOME holds its name. Users can create so-called workspaces on another Lustre file system for non-permanent data with temporary lifetime. There is another workspace file system based on flash storage for special requirements available.&lt;br /&gt;
&lt;br /&gt;
Within a batch job further file systems are available: &lt;br /&gt;
* The directory $TMP is only available and visible on the local node. It is located on fast SSD storage devices.&lt;br /&gt;
* On request a parallel on-demand file system (BeeOND) is created which uses the SSDs of the nodes which were allocated to the batch job.&lt;br /&gt;
* On request the external LSDF Online Storage is mounted on the nodes which were allocated to the batch job. This file system is based on the parallel file system Spectrum Scale. &lt;br /&gt;
&lt;br /&gt;
Some of the characteristics of the file systems are shown in Table 2.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; background:#f5fffa;border:1px solid #000000;padding:1px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;width:20%;height=20px; text-align:left;padding:3px&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Property&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $TMP&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| BeeOND&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $HOME&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Workspace&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Workspace &amp;lt;br&amp;gt; on flash&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Visibility &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| local node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| nodes of batch job&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Lifetime &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| permanent&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| max. 240 days&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| max. 240 days&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Disk space &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 960 GB - 6.4 TB &amp;lt;br&amp;gt; details see table 1&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*750 GB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1.2 PiB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 4.1 PiB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 236 TiB&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Capacity Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 1 TiB per user &amp;lt;br&amp;gt; also per organization&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 40 TiB per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 1 TiB per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Inode Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 10 million per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 30 million per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 5 million per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Backup&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Read perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 6 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 520 MB/s @ single / multiple &amp;lt;br&amp;gt; 800 MB/s @ multiple_e &amp;lt;br&amp;gt; 6600 MB/s @ fat &amp;lt;br&amp;gt; 6500 MB/s @ gpu_4 &amp;lt;br&amp;gt; 6500 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 400 MB/s - 500 MB/s&amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 500 MB/s @ multiple &amp;lt;br&amp;gt; 400 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Write perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 4 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 500 MB/s @ single / multiple &amp;lt;br&amp;gt; 650 MB/s @ multiple_e &amp;lt;br&amp;gt; 2900 MB/s @ fat &amp;lt;br&amp;gt; 2090 MB/s @ gpu_4 &amp;lt;br&amp;gt; 4060 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 250 MB/s - 350 MB/s &amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 350 MB/s @ multiple &amp;lt;br&amp;gt; 250 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total read perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-6000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*400-500 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 45 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total write perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-4000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*250-350 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 38 GB/s&lt;br /&gt;
|}&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
  global: all nodes of UniCluster access the same file system;&lt;br /&gt;
  local: each node has its own file system;&lt;br /&gt;
  permanent: files are stored permanently;&lt;br /&gt;
  batch job: files are removed at end of the batch job.&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
Table 2: Properties of the file systems&lt;br /&gt;
&lt;br /&gt;
== Selecting the appropriate file system ==&lt;br /&gt;
&lt;br /&gt;
In general, you should separate your data and store it on the appropriate file system.&lt;br /&gt;
Permanently needed data like software or important results should be stored below $HOME&lt;br /&gt;
but capacity restrictions (quotas) apply. In case you accidentally deleted data on $HOME&lt;br /&gt;
you can usually restore it from backup. Permanent data which is not needed for months&lt;br /&gt;
or exceeds the capacity restrictions should be sent to the LSDF Online Storage &lt;br /&gt;
or to the archive and deleted from the file systems. Temporary data which is only needed on a single&lt;br /&gt;
node and which does not exceed the disk space shown in the table above should be stored&lt;br /&gt;
below $TMP. Data which is read many times on a single node, e.g. if you are doing AI training, &lt;br /&gt;
should be copied to $TMP and read from there. Temporary data which is used from many nodes &lt;br /&gt;
of your batch job and which is only needed during job runtime should be stored on a &lt;br /&gt;
parallel on-demand file system. Temporary data which can be recomputed or which is the &lt;br /&gt;
result of one job and input for another job should be stored in workspaces. The lifetime &lt;br /&gt;
of data in workspaces is limited and depends on the lifetime of the workspace which can be &lt;br /&gt;
several months.&lt;br /&gt;
&lt;br /&gt;
For further details please check the chapters below.&lt;br /&gt;
&lt;br /&gt;
== $HOME ==&lt;br /&gt;
&lt;br /&gt;
The home directories of bwUniCluster 2.0 (uc2) users are located in the parallel file system Lustre.&lt;br /&gt;
You have access to your home directory from all nodes of uc2. A regular backup of these directories &lt;br /&gt;
to tape archive is done automatically. The directory $HOME is used to hold those files that are&lt;br /&gt;
permanently used like source codes, configuration files, executable programs etc. &lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 1 TiB and 10 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In addition to the user limit there is a limit of your organization (e.g. university) which depends on the financial share. This limit is enforced with so-called Lustre project quotas. You can show the current usage and limits of your organization with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lfs quota -ph $(grep $(echo $HOME | sed -e &amp;quot;s|/[^/]*/[^/]*$||&amp;quot;) /pfs/data5/project_ids.txt | cut -f 1 -d\ ) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workspaces ==&lt;br /&gt;
&lt;br /&gt;
On uc2 workspaces can be used to store large non-permanent data sets, e.g. restart files or output&lt;br /&gt;
data that has to be post-processed. The file system used for workspaces is also the parallel file system Lustre. This file system is especially designed for parallel access and for a high throughput to large&lt;br /&gt;
files. It is able to provide high data transfer rates of up to 54 GB/s write and read performance when data access is parallel. &lt;br /&gt;
&lt;br /&gt;
Workspaces have a lifetime and the data on a workspace expires as a whole after a fixed period. The maximum lifetime of a workspace is 60 days, but it can be renewed at the end of that period 3 times to a total maximum of 240 days after workspace generation. If a workspace has inadvertently expired we can restore the data during a limited time (few weeks). In this case you should create a new workspace and report the name of the new and of the expired workspace in a ticket.&lt;br /&gt;
&lt;br /&gt;
Creating, deleting, finding and extending workspaces is explained on the  [[workspace]] page.&lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 40 TiB and 30 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) /pfs/work7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the quotas include data and inodes for all of your workspaces and all of your expired workspaces (as long as they are not yet completely removed).&lt;br /&gt;
&lt;br /&gt;
=== Reminder for workspace deletion ===&lt;br /&gt;
&lt;br /&gt;
Normally you will get an email every day starting 7 days before a workspace expires. You can send yourself a calender entry which reminds you when a workspace will be automatically deleted:&lt;br /&gt;
&lt;br /&gt;
 $ ws_send_ical.sh &amp;lt;workspace&amp;gt; &amp;lt;email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Improving Performance on $HOME and workspaces ==&lt;br /&gt;
&lt;br /&gt;
The following recommendations might help to improve throughput and metadata&lt;br /&gt;
performance on Lustre filesystems.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Throughput Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Depending on your application some adaptations might be necessary if you want to reach&lt;br /&gt;
the full bandwidth of the filesystems. Parallel filesystems typically stripe files over storage subsystems, i.e. large files are separated into stripes and distributed to different storage subsystems. In Lustre, the size of these stripes (sometimes also mentioned as chunks) is called stripe size and the number of used storage subsystems is called stripe count.&lt;br /&gt;
&lt;br /&gt;
When you are designing your application you should consider that the performance of&lt;br /&gt;
parallel filesystems is generally better if data is transferred in large blocks and stored in&lt;br /&gt;
few large files. In more detail, to increase throughput performance of a parallel application&lt;br /&gt;
following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* collect large chunks of data and write them sequentially at once,&lt;br /&gt;
&lt;br /&gt;
* to exploit complete filesystem bandwidth use several clients,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive file access by different tasks or use blocks with boundaries at stripe size (default is 1MB),&lt;br /&gt;
&lt;br /&gt;
* if files are small enough for the SSDs and are only used by one process store them on $TMP.&lt;br /&gt;
&lt;br /&gt;
With previous Lustre versions adapting the Lustre stripe count was the most important optimization. However, for the workspaces of uc2 the new Lustre feature Progressive File Layouts has been used to define file striping parameters. This means that the stripe count is adapted if the file size is growing. In normal cases users no longer need to adapt file striping parameters in case they have very huge files or in order to reach better performance. &lt;br /&gt;
&lt;br /&gt;
If you know what you are doing you can still change striping parameters, e.g. the stripe count, of a directory and of newly created files. New files and directories inherit the stripe count from the parent directory. E.g. if you want to enhance throughput on a single very large file which is created in the directory $HOME/my_output_dir you can use the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs setstripe -c-1 $HOME/my_output_dir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to change the stripe count to -1 which means that all storage subsystems of the file system are used to store that file. If you change the stripe count of a directory the stripe count of existing files inside this&lt;br /&gt;
directory is not changed. If you want to change the stripe count of existing files, change&lt;br /&gt;
the stripe count of the parent directory, copy the files to new files, remove the old files&lt;br /&gt;
and move the new files back to the old name. In order to check the stripe setting of&lt;br /&gt;
the file my_file use&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs getstripe my_file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also note that changes on the striping parameters (e.g. stripe count) are not saved in the&lt;br /&gt;
backup, i.e. if directories have to be recreated this information is lost and the default stripe&lt;br /&gt;
count will be used. Therefore, you should annotate for which directories you made changes&lt;br /&gt;
to the striping parameters so that you can repeat these changes if required.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Metadata Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Metadata performance on parallel file systems is usually not as good as with local&lt;br /&gt;
filesystems. In addition, it is usually not scalable, i.e. a limited resource. Therefore,&lt;br /&gt;
you should omit metadata operations whenever possible. For example, it is much better&lt;br /&gt;
to have few large files than lots of small files. In more detail, to increase metadata&lt;br /&gt;
performance of a parallel application following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* avoid creating many small files,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive directory access, e.g. by creating files in separate subdirectories for each task,&lt;br /&gt;
&lt;br /&gt;
* if many small files are only used within a batch job and accessed by one process store them on $TMP,&lt;br /&gt;
&lt;br /&gt;
* change the default colorization setting of the command ls (see below).&lt;br /&gt;
&lt;br /&gt;
On modern Linux systems, the GNU ls command often uses colorization by default to&lt;br /&gt;
visually highlight the file type; this is especially true if the command is run within a terminal&lt;br /&gt;
session. This is because the default shell profile initializations usually contain an alias&lt;br /&gt;
directive similar to the following for the ls command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=tty&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
However, running the ls command in this way for files on a Lustre file system requires&lt;br /&gt;
a stat() call to be used to determine the file type. This can result in a performance&lt;br /&gt;
overhead, because the stat() call always needs to determine the size of a file, and that&lt;br /&gt;
in turn means that the client node must query the object size of all the backing objects&lt;br /&gt;
that make up a file. As a result of the default colorization setting, running a simple&lt;br /&gt;
ls command on a Lustre file system often takes as much time as running the ls command&lt;br /&gt;
with the -l option (the same is true if the -F, -p, or the -classify option, or any other option &lt;br /&gt;
that requires information from a stat() call, is used). To avoid this performance overhead&lt;br /&gt;
when using ls commands, add an alias directive similar to the following&lt;br /&gt;
to your shell startup script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=never&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workspaces on flash storage ==&lt;br /&gt;
&lt;br /&gt;
There is another workspace file system for special requirements available. The file system is called &#039;&#039;full flash pfs&#039;&#039; and is based on the parallel file system Lustre.&lt;br /&gt;
&lt;br /&gt;
=== Advantages of this file system ===&lt;br /&gt;
&lt;br /&gt;
# All storage devices are based on flash (no hard disks) with low access times. Hence performance is better compared to other parallel file systems for read and write access with small blocks and with small files, i.e. IOPS rates are improved.&lt;br /&gt;
# The file system is mounted on bwUniCluster 2.0 and HoreKa, i.e. it can be used to share data between these clusters.&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&lt;br /&gt;
Only HoreKa users or KIT users of bwUniCluster 2.0 can use this file system.&lt;br /&gt;
&lt;br /&gt;
=== Using the file system ===&lt;br /&gt;
&lt;br /&gt;
After access is granted, you can use the file system in the same way as a normal workspace. You just have to specify the name of the flash-based workspace file system using the option &#039;&#039;-F&#039;&#039; to all the commands that manage workspaces. On bwUniCluster 2.0 it is called &#039;&#039;ffuc&#039;&#039;, on HoreKa it is &#039;&#039;ffhk&#039;&#039;. For example, to create a workspace with name myws and a lifetime of 60 days on bwUniCluster 2.0 execute:&lt;br /&gt;
 ws_allocate -F ffuc myws 60&lt;br /&gt;
&lt;br /&gt;
If you want to use the full flash pfs on bwUniCluster 2.0 &#039;&#039;&#039;and&#039;&#039;&#039; HoreKa at the same time, please note that you only have to manage a particular workspace on one of the clusters since the name of the workspace directory is different. However, the path to each workspace is visible and can be used on both clusters.&lt;br /&gt;
&lt;br /&gt;
Other features are similar to normal workspaces. For example, we are able to restore expired workspaces for few weeks and you have to open a ticket to request the restore. There are quota limits with a default limit of 1 TB capacity and 5 millions inodes per user. You can check your current usage with&lt;br /&gt;
 lfs quota -uh $(whoami) /pfs/work8&lt;br /&gt;
&lt;br /&gt;
== $TMP ==&lt;br /&gt;
&lt;br /&gt;
While all tasks of a parallel application access the same $HOME and workspace directory, the &lt;br /&gt;
$TMP directory is local to each node on bwUniCluster 2.0. All nodes have fast SSDs &lt;br /&gt;
local storage devices which are used to store data below $TMP. Different tasks of a parallel&lt;br /&gt;
application use different $TMP directories when they do not utilize one node. This directory should&lt;br /&gt;
be used for temporary files being accessed by single tasks. It should also be used if you read the &lt;br /&gt;
same data many times from a single node, e.g. if you are doing AI training. In this case you should &lt;br /&gt;
copy the data at the beginning of your batch job to $TMP and read the data from there.&lt;br /&gt;
In addition, this directory should be used for the installation&lt;br /&gt;
of software packages. This means that the software package to be installed should be&lt;br /&gt;
unpacked, compiled and linked in a subdirectory of $TMP. The real installation of the&lt;br /&gt;
package (e.g. make install) should be made in(to) the Lustre filesystem. &lt;br /&gt;
&lt;br /&gt;
Each time a batch job is started, a subdirectory is created on each node and assigned to the job. &lt;br /&gt;
$TMP is newly set and the name of the subdirectory contains the Job-id so that the&lt;br /&gt;
subdirectory name is unique for each job. This unique name is then assigned to the&lt;br /&gt;
environment variable $TMP within the job. At the end of the job the subdirectory is removed.&lt;br /&gt;
Although $TMP points to the same path name for different nodes of a job, the physical location &lt;br /&gt;
on these nodes is different.&lt;br /&gt;
&lt;br /&gt;
== LSDF Online Storage==&lt;br /&gt;
&lt;br /&gt;
In some cases it is useful to have access to the LSDF Online Storage on the HPC-Clusters also. Therefore the LSDF Online Storage is mounted on the Login- and Datamover-Nodes.&lt;br /&gt;
Furthermore it can be used on the compute nodes during the job runtime with the constraint flag &amp;quot;LSDF&amp;quot; ([[bwUniCluster_2.0_Slurm_common_Features|Slurm common features]]&lt;br /&gt;
). There is also an example about the LSDF batch usage: [[bwUniCluster_2.0_Slurm_common_Features#LSDF_Online_Storage|Slurm LSDF example ]] .&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH ...&lt;br /&gt;
#SBATCH --constraint=LSDF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For the usage of the LSDF Online Storage the following environment variables are available: $LSDF, $LSDFPROJECTS, $LSDFHOME.&lt;br /&gt;
Please request storage projects in the LSDF Online Storage seperately:&lt;br /&gt;
[https://www.lsdf.kit.edu/os/storagerequest/: LSDF Storage Request].&lt;br /&gt;
&lt;br /&gt;
==BeeOND (BeeGFS On-Demand)==&lt;br /&gt;
&lt;br /&gt;
Users of the UniCluster have possibility to request a private BeeOND (on-demand BeeGFS) parallel filesystem for each job. The file system is created during job startup and purged after your job.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT: All data on the private filesystem will be deleted after your job. Make sure you have copied your data back to the global filesystem (within job), e.g., $HOME or any workspace.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
BeeOND/BeeGFS can be used like any other parallel file system. Tools like cp or rsync can be used to copy data in and out. &lt;br /&gt;
&lt;br /&gt;
For detailed usage see here:[[BwUniCluster_2.0_Slurm_common_Features#BeeOND_.28BeeGFS_On-Demand.29|Request on-demand file system]]&lt;br /&gt;
&lt;br /&gt;
==Backup and Archiving==&lt;br /&gt;
&lt;br /&gt;
There are regular backups of all data of the home directories,whereas ACLs and extended attributes will&lt;br /&gt;
not be backuped. &lt;br /&gt;
&lt;br /&gt;
Please open a ticket if you need backuped data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:bwUniCluster 2.0|File System]][[Category:Hardware_and_Architecture|bwUniCluster 2.0]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=11685</id>
		<title>BwUniCluster2.0/Hardware and Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=11685"/>
		<updated>2023-01-05T13:09:51Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Components of bwUniCluster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Architecture of bwUniCluster 2.0 =&lt;br /&gt;
&lt;br /&gt;
The bwUniCluster 2.0 is a parallel computer with distributed memory. Each node of system consists of at least two Intel Xeon processor, local memory, disks, network adapters and optionally accelerators (NVIDIA Tesla V100, A100 or H100). All nodes are connected by a fast InfiniBand interconnect. In addition the file system&lt;br /&gt;
Lustre, that is connected by coupling the InfiniBand of the file server with the InfiniBand&lt;br /&gt;
switch of the compute cluster, is added to bwUniCluster 2.0 to provide a fast and scalable&lt;br /&gt;
parallel file system.&lt;br /&gt;
&lt;br /&gt;
The operating system on each node is Red Hat Enterprise Linux (RHEL) 8.4. A number of additional software packages like e.g. SLURM have been installed on top. Some of these components are of special interest to end users and are briefly&lt;br /&gt;
discussed in this document. Others which are of greater importance to system&lt;br /&gt;
administrators will not be covered by this document.&lt;br /&gt;
&lt;br /&gt;
The individual nodes of the system may act in different roles. According to the services supplied by the nodes, they are separated into disjoint groups. From an end users point of view the different groups of nodes are login nodes, compute nodes, file server nodes and administrative server nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Login Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The login nodes are the only nodes that are directly accessible by end users. These nodes&lt;br /&gt;
are used for interactive login, file management, program development and interactive pre-&lt;br /&gt;
and postprocessing. Two nodes are dedicated to this service but they are all accessible via&lt;br /&gt;
one address and a DNS round-robin alias distributes the login sessions to the&lt;br /&gt;
different login nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compute Node&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The majority of nodes are compute nodes which are managed by a batch system. Users &lt;br /&gt;
submit their jobs to the SLURM batch system and a job is executed when the required resources become available (depending on its fair-share priority).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;File Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The hardware of the parallel file system Lustre incorporates some file server nodes; the file&lt;br /&gt;
system Lustre is connected by coupling the InfiniBand of the file server with the independent InfiniBand switch of the compute cluster. In addition to shared file space there is also local storage on the disks of each node (for details see chapter &amp;quot;File Systems&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Administrative Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some other nodes are delivering additional services like resource management, external&lt;br /&gt;
network connection, administration etc. These nodes can be accessed directly by system administrators only.&lt;br /&gt;
&lt;br /&gt;
= Components of bwUniCluster =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;width:9%&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Thin&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;HPC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;IceLake&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Fat&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x4&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x8&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| IceLake + GPU x4&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Login&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of nodes&lt;br /&gt;
| 100 + 60&lt;br /&gt;
| 360&lt;br /&gt;
| 272&lt;br /&gt;
| 6&lt;br /&gt;
| 14&lt;br /&gt;
| 10&lt;br /&gt;
| 15&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processors&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Platinum 8358&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6248&lt;br /&gt;
| Intel Xeon Platinum 8358&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of sockets&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processor frequency (GHz)&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.6 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.6 Ghz&lt;br /&gt;
| 2.5 Ghz&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Total number of cores&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 64&lt;br /&gt;
| 80&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 64&lt;br /&gt;
| 40&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Main memory&lt;br /&gt;
| 96 GB / 192 GB&lt;br /&gt;
| 96 GB&lt;br /&gt;
| 256 GB&lt;br /&gt;
| 3 TB&lt;br /&gt;
| 384 GB&lt;br /&gt;
| 768 GB&lt;br /&gt;
| 512 GB&lt;br /&gt;
| 384 GB&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Local SSD&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 1,8 TB NVMe&lt;br /&gt;
| 4,8 TB NVMe&lt;br /&gt;
| 3,2 TB NVMe&lt;br /&gt;
| 15  TB NVMe&lt;br /&gt;
| 6,4 TB NVMe&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Accelerators&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 4x NVIDIA Tesla V100&lt;br /&gt;
| 8x NVIDIA Tesla V100&lt;br /&gt;
| 4x NVIDIA H100 / 4x NVIDIA H100&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Interconnect&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
| IB HDR100&lt;br /&gt;
| IB HDR200&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR200&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
|}&lt;br /&gt;
Table 1: Properties of the nodes&lt;br /&gt;
&lt;br /&gt;
= File Systems =&lt;br /&gt;
&lt;br /&gt;
On bwUniCluster 2.0 the parallel file system Lustre is used for most globally visible user data. Lustre is open source and Lustre solutions and support are available from different vendors. Nowadays, most of the biggest HPC systems are using Lustre. An initial home directory on a Lustre file system is created automatically after account activation, and the environment variable $HOME holds its name. Users can create so-called workspaces on another Lustre file system for non-permanent data with temporary lifetime. There is another workspace file system based on flash storage for special requirements available.&lt;br /&gt;
&lt;br /&gt;
Within a batch job further file systems are available: &lt;br /&gt;
* The directory $TMP is only available and visible on the local node. It is located on fast SSD storage devices.&lt;br /&gt;
* On request a parallel on-demand file system (BeeOND) is created which uses the SSDs of the nodes which were allocated to the batch job.&lt;br /&gt;
* On request the external LSDF Online Storage is mounted on the nodes which were allocated to the batch job. This file system is based on the parallel file system Spectrum Scale. &lt;br /&gt;
&lt;br /&gt;
Some of the characteristics of the file systems are shown in Table 2.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; background:#f5fffa;border:1px solid #000000;padding:1px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;width:20%;height=20px; text-align:left;padding:3px&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Property&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $TMP&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| BeeOND&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $HOME&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Workspace&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Workspace &amp;lt;br&amp;gt; on flash&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Visibility &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| local node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| nodes of batch job&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Lifetime &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| permanent&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| max. 240 days&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| max. 240 days&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Disk space &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 960 GB - 6.4 TB &amp;lt;br&amp;gt; details see table 1&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*750 GB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1.2 PiB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 4.1 PiB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 236 TiB&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Capacity Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 1 TiB per user &amp;lt;br&amp;gt; also per organization&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 40 TiB per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 1 TiB per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Inode Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 10 million per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 30 million per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 5 million per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Backup&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Read perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 6 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 520 MB/s @ single / multiple &amp;lt;br&amp;gt; 800 MB/s @ multiple_e &amp;lt;br&amp;gt; 6600 MB/s @ fat &amp;lt;br&amp;gt; 6500 MB/s @ gpu_4 &amp;lt;br&amp;gt; 6500 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 400 MB/s - 500 MB/s&amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 500 MB/s @ multiple &amp;lt;br&amp;gt; 400 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Write perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 4 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 500 MB/s @ single / multiple &amp;lt;br&amp;gt; 650 MB/s @ multiple_e &amp;lt;br&amp;gt; 2900 MB/s @ fat &amp;lt;br&amp;gt; 2090 MB/s @ gpu_4 &amp;lt;br&amp;gt; 4060 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 250 MB/s - 350 MB/s &amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 350 MB/s @ multiple &amp;lt;br&amp;gt; 250 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total read perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-6000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*400-500 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 45 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total write perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-4000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*250-350 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 38 GB/s&lt;br /&gt;
|}&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
  global: all nodes of UniCluster access the same file system;&lt;br /&gt;
  local: each node has its own file system;&lt;br /&gt;
  permanent: files are stored permanently;&lt;br /&gt;
  batch job: files are removed at end of the batch job.&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
Table 2: Properties of the file systems&lt;br /&gt;
&lt;br /&gt;
== Selecting the appropriate file system ==&lt;br /&gt;
&lt;br /&gt;
In general, you should separate your data and store it on the appropriate file system.&lt;br /&gt;
Permanently needed data like software or important results should be stored below $HOME&lt;br /&gt;
but capacity restrictions (quotas) apply. In case you accidentally deleted data on $HOME&lt;br /&gt;
you can usually restore it from backup. Permanent data which is not needed for months&lt;br /&gt;
or exceeds the capacity restrictions should be sent to the LSDF Online Storage &lt;br /&gt;
or to the archive and deleted from the file systems. Temporary data which is only needed on a single&lt;br /&gt;
node and which does not exceed the disk space shown in the table above should be stored&lt;br /&gt;
below $TMP. Data which is read many times on a single node, e.g. if you are doing AI training, &lt;br /&gt;
should be copied to $TMP and read from there. Temporary data which is used from many nodes &lt;br /&gt;
of your batch job and which is only needed during job runtime should be stored on a &lt;br /&gt;
parallel on-demand file system. Temporary data which can be recomputed or which is the &lt;br /&gt;
result of one job and input for another job should be stored in workspaces. The lifetime &lt;br /&gt;
of data in workspaces is limited and depends on the lifetime of the workspace which can be &lt;br /&gt;
several months.&lt;br /&gt;
&lt;br /&gt;
For further details please check the chapters below.&lt;br /&gt;
&lt;br /&gt;
== $HOME ==&lt;br /&gt;
&lt;br /&gt;
The home directories of bwUniCluster 2.0 (uc2) users are located in the parallel file system Lustre.&lt;br /&gt;
You have access to your home directory from all nodes of uc2. A regular backup of these directories &lt;br /&gt;
to tape archive is done automatically. The directory $HOME is used to hold those files that are&lt;br /&gt;
permanently used like source codes, configuration files, executable programs etc. &lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 1 TiB and 10 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In addition to the user limit there is a limit of your organization (e.g. university) which depends on the financial share. This limit is enforced with so-called Lustre project quotas. You can show the current usage and limits of your organization with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lfs quota -ph $(grep $(echo $HOME | sed -e &amp;quot;s|/[^/]*/[^/]*$||&amp;quot;) /pfs/data5/project_ids.txt | cut -f 1 -d\ ) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workspaces ==&lt;br /&gt;
&lt;br /&gt;
On uc2 workspaces can be used to store large non-permanent data sets, e.g. restart files or output&lt;br /&gt;
data that has to be post-processed. The file system used for workspaces is also the parallel file system Lustre. This file system is especially designed for parallel access and for a high throughput to large&lt;br /&gt;
files. It is able to provide high data transfer rates of up to 54 GB/s write and read performance when data access is parallel. &lt;br /&gt;
&lt;br /&gt;
Workspaces have a lifetime and the data on a workspace expires as a whole after a fixed period. The maximum lifetime of a workspace is 60 days, but it can be renewed at the end of that period 3 times to a total maximum of 240 days after workspace generation. If a workspace has inadvertently expired we can restore the data during a limited time (few weeks). In this case you should create a new workspace and report the name of the new and of the expired workspace in a ticket.&lt;br /&gt;
&lt;br /&gt;
Creating, deleting, finding and extending workspaces is explained on the  [[workspace]] page.&lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 40 TiB and 30 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) /pfs/work7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the quotas include data and inodes for all of your workspaces and all of your expired workspaces (as long as they are not yet completely removed).&lt;br /&gt;
&lt;br /&gt;
=== Reminder for workspace deletion ===&lt;br /&gt;
&lt;br /&gt;
Normally you will get an email every day starting 7 days before a workspace expires. You can send yourself a calender entry which reminds you when a workspace will be automatically deleted:&lt;br /&gt;
&lt;br /&gt;
 $ ws_send_ical.sh &amp;lt;workspace&amp;gt; &amp;lt;email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Improving Performance on $HOME and workspaces ==&lt;br /&gt;
&lt;br /&gt;
The following recommendations might help to improve throughput and metadata&lt;br /&gt;
performance on Lustre filesystems.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Throughput Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Depending on your application some adaptations might be necessary if you want to reach&lt;br /&gt;
the full bandwidth of the filesystems. Parallel filesystems typically stripe files over storage subsystems, i.e. large files are separated into stripes and distributed to different storage subsystems. In Lustre, the size of these stripes (sometimes also mentioned as chunks) is called stripe size and the number of used storage subsystems is called stripe count.&lt;br /&gt;
&lt;br /&gt;
When you are designing your application you should consider that the performance of&lt;br /&gt;
parallel filesystems is generally better if data is transferred in large blocks and stored in&lt;br /&gt;
few large files. In more detail, to increase throughput performance of a parallel application&lt;br /&gt;
following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* collect large chunks of data and write them sequentially at once,&lt;br /&gt;
&lt;br /&gt;
* to exploit complete filesystem bandwidth use several clients,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive file access by different tasks or use blocks with boundaries at stripe size (default is 1MB),&lt;br /&gt;
&lt;br /&gt;
* if files are small enough for the SSDs and are only used by one process store them on $TMP.&lt;br /&gt;
&lt;br /&gt;
With previous Lustre versions adapting the Lustre stripe count was the most important optimization. However, for the workspaces of uc2 the new Lustre feature Progressive File Layouts has been used to define file striping parameters. This means that the stripe count is adapted if the file size is growing. In normal cases users no longer need to adapt file striping parameters in case they have very huge files or in order to reach better performance. &lt;br /&gt;
&lt;br /&gt;
If you know what you are doing you can still change striping parameters, e.g. the stripe count, of a directory and of newly created files. New files and directories inherit the stripe count from the parent directory. E.g. if you want to enhance throughput on a single very large file which is created in the directory $HOME/my_output_dir you can use the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs setstripe -c-1 $HOME/my_output_dir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to change the stripe count to -1 which means that all storage subsystems of the file system are used to store that file. If you change the stripe count of a directory the stripe count of existing files inside this&lt;br /&gt;
directory is not changed. If you want to change the stripe count of existing files, change&lt;br /&gt;
the stripe count of the parent directory, copy the files to new files, remove the old files&lt;br /&gt;
and move the new files back to the old name. In order to check the stripe setting of&lt;br /&gt;
the file my_file use&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs getstripe my_file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also note that changes on the striping parameters (e.g. stripe count) are not saved in the&lt;br /&gt;
backup, i.e. if directories have to be recreated this information is lost and the default stripe&lt;br /&gt;
count will be used. Therefore, you should annotate for which directories you made changes&lt;br /&gt;
to the striping parameters so that you can repeat these changes if required.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Metadata Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Metadata performance on parallel file systems is usually not as good as with local&lt;br /&gt;
filesystems. In addition, it is usually not scalable, i.e. a limited resource. Therefore,&lt;br /&gt;
you should omit metadata operations whenever possible. For example, it is much better&lt;br /&gt;
to have few large files than lots of small files. In more detail, to increase metadata&lt;br /&gt;
performance of a parallel application following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* avoid creating many small files,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive directory access, e.g. by creating files in separate subdirectories for each task,&lt;br /&gt;
&lt;br /&gt;
* if many small files are only used within a batch job and accessed by one process store them on $TMP,&lt;br /&gt;
&lt;br /&gt;
* change the default colorization setting of the command ls (see below).&lt;br /&gt;
&lt;br /&gt;
On modern Linux systems, the GNU ls command often uses colorization by default to&lt;br /&gt;
visually highlight the file type; this is especially true if the command is run within a terminal&lt;br /&gt;
session. This is because the default shell profile initializations usually contain an alias&lt;br /&gt;
directive similar to the following for the ls command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=tty&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
However, running the ls command in this way for files on a Lustre file system requires&lt;br /&gt;
a stat() call to be used to determine the file type. This can result in a performance&lt;br /&gt;
overhead, because the stat() call always needs to determine the size of a file, and that&lt;br /&gt;
in turn means that the client node must query the object size of all the backing objects&lt;br /&gt;
that make up a file. As a result of the default colorization setting, running a simple&lt;br /&gt;
ls command on a Lustre file system often takes as much time as running the ls command&lt;br /&gt;
with the -l option (the same is true if the -F, -p, or the -classify option, or any other option &lt;br /&gt;
that requires information from a stat() call, is used). To avoid this performance overhead&lt;br /&gt;
when using ls commands, add an alias directive similar to the following&lt;br /&gt;
to your shell startup script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=never&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workspaces on flash storage ==&lt;br /&gt;
&lt;br /&gt;
There is another workspace file system for special requirements available. The file system is called &#039;&#039;full flash pfs&#039;&#039; and is based on the parallel file system Lustre.&lt;br /&gt;
&lt;br /&gt;
=== Advantages of this file system ===&lt;br /&gt;
&lt;br /&gt;
# All storage devices are based on flash (no hard disks) with low access times. Hence performance is better compared to other parallel file systems for read and write access with small blocks and with small files, i.e. IOPS rates are improved.&lt;br /&gt;
# The file system is mounted on bwUniCluster 2.0 and HoreKa, i.e. it can be used to share data between these clusters.&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&lt;br /&gt;
Only HoreKa users or KIT users of bwUniCluster 2.0 can use this file system.&lt;br /&gt;
&lt;br /&gt;
=== Using the file system ===&lt;br /&gt;
&lt;br /&gt;
After access is granted, you can use the file system in the same way as a normal workspace. You just have to specify the name of the flash-based workspace file system using the option &#039;&#039;-F&#039;&#039; to all the commands that manage workspaces. On bwUniCluster 2.0 it is called &#039;&#039;ffuc&#039;&#039;, on HoreKa it is &#039;&#039;ffhk&#039;&#039;. For example, to create a workspace with name myws and a lifetime of 60 days on bwUniCluster 2.0 execute:&lt;br /&gt;
 ws_allocate -F ffuc myws 60&lt;br /&gt;
&lt;br /&gt;
If you want to use the full flash pfs on bwUniCluster 2.0 &#039;&#039;&#039;and&#039;&#039;&#039; HoreKa at the same time, please note that you only have to manage a particular workspace on one of the clusters since the name of the workspace directory is different. However, the path to each workspace is visible and can be used on both clusters.&lt;br /&gt;
&lt;br /&gt;
Other features are similar to normal workspaces. For example, we are able to restore expired workspaces for few weeks and you have to open a ticket to request the restore. There are quota limits with a default limit of 1 TB capacity and 5 millions inodes per user. You can check your current usage with&lt;br /&gt;
 lfs quota -uh $(whoami) /pfs/work8&lt;br /&gt;
&lt;br /&gt;
== $TMP ==&lt;br /&gt;
&lt;br /&gt;
While all tasks of a parallel application access the same $HOME and workspace directory, the &lt;br /&gt;
$TMP directory is local to each node on bwUniCluster 2.0. All nodes have fast SSDs &lt;br /&gt;
local storage devices which are used to store data below $TMP. Different tasks of a parallel&lt;br /&gt;
application use different $TMP directories when they do not utilize one node. This directory should&lt;br /&gt;
be used for temporary files being accessed by single tasks. It should also be used if you read the &lt;br /&gt;
same data many times from a single node, e.g. if you are doing AI training. In this case you should &lt;br /&gt;
copy the data at the beginning of your batch job to $TMP and read the data from there.&lt;br /&gt;
In addition, this directory should be used for the installation&lt;br /&gt;
of software packages. This means that the software package to be installed should be&lt;br /&gt;
unpacked, compiled and linked in a subdirectory of $TMP. The real installation of the&lt;br /&gt;
package (e.g. make install) should be made in(to) the Lustre filesystem. &lt;br /&gt;
&lt;br /&gt;
Each time a batch job is started, a subdirectory is created on each node and assigned to the job. &lt;br /&gt;
$TMP is newly set and the name of the subdirectory contains the Job-id so that the&lt;br /&gt;
subdirectory name is unique for each job. This unique name is then assigned to the&lt;br /&gt;
environment variable $TMP within the job. At the end of the job the subdirectory is removed.&lt;br /&gt;
Although $TMP points to the same path name for different nodes of a job, the physical location &lt;br /&gt;
on these nodes is different.&lt;br /&gt;
&lt;br /&gt;
== LSDF Online Storage==&lt;br /&gt;
&lt;br /&gt;
In some cases it is useful to have access to the LSDF Online Storage on the HPC-Clusters also. Therefore the LSDF Online Storage is mounted on the Login- and Datamover-Nodes.&lt;br /&gt;
Furthermore it can be used on the compute nodes during the job runtime with the constraint flag &amp;quot;LSDF&amp;quot; ([[bwUniCluster_2.0_Slurm_common_Features|Slurm common features]]&lt;br /&gt;
). There is also an example about the LSDF batch usage: [[bwUniCluster_2.0_Slurm_common_Features#LSDF_Online_Storage|Slurm LSDF example ]] .&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH ...&lt;br /&gt;
#SBATCH --constraint=LSDF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For the usage of the LSDF Online Storage the following environment variables are available: $LSDF, $LSDFPROJECTS, $LSDFHOME.&lt;br /&gt;
Please request storage projects in the LSDF Online Storage seperately:&lt;br /&gt;
[https://www.lsdf.kit.edu/os/storagerequest/: LSDF Storage Request].&lt;br /&gt;
&lt;br /&gt;
==BeeOND (BeeGFS On-Demand)==&lt;br /&gt;
&lt;br /&gt;
Users of the UniCluster have possibility to request a private BeeOND (on-demand BeeGFS) parallel filesystem for each job. The file system is created during job startup and purged after your job.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT: All data on the private filesystem will be deleted after your job. Make sure you have copied your data back to the global filesystem (within job), e.g., $HOME or any workspace.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
BeeOND/BeeGFS can be used like any other parallel file system. Tools like cp or rsync can be used to copy data in and out. &lt;br /&gt;
&lt;br /&gt;
For detailed usage see here:[[BwUniCluster_2.0_Slurm_common_Features#BeeOND_.28BeeGFS_On-Demand.29|Request on-demand file system]]&lt;br /&gt;
&lt;br /&gt;
==Backup and Archiving==&lt;br /&gt;
&lt;br /&gt;
There are regular backups of all data of the home directories,whereas ACLs and extended attributes will&lt;br /&gt;
not be backuped. &lt;br /&gt;
&lt;br /&gt;
Please open a ticket if you need backuped data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:bwUniCluster 2.0|File System]][[Category:Hardware_and_Architecture|bwUniCluster 2.0]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0&amp;diff=11487</id>
		<title>BwUniCluster2.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0&amp;diff=11487"/>
		<updated>2022-11-25T14:57:06Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Old text: check for permanent removal --&amp;gt;&lt;br /&gt;
&amp;lt;!--{| style=&amp;quot;width: 100%; border-spacing: 5px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;font-size:75%;&amp;quot; |&lt;br /&gt;
[[File:BwUniCluster_2.0_Feb2020.jpg|center|border|550px|Close-up of bwUniCluster by Simon Raffeiner, Copyright: KIT (SCC)]] &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;&amp;quot; |&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Close-up of bwUniCluster © KIT (Simon Raffeiner/SCC)&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
On 17.03.2020, the Steinbuch Centre for Computing (SCC) at Karlsruhe Institute of Technology (KIT) commissioned a new parallel computer system called &amp;quot;bwUniCluster 2.0+GFB-HPC&amp;quot; as a state service within the bwHPC framework. The bwUniCluster 2.0 replaces the predecessor system [https://www.scc.kit.edu/dienste/bwUniCluster.php bwUniCluster] and also includes the additional compute nodes which were procured as an extension to the bwUniCluster in November 2016.&lt;br /&gt;
&lt;br /&gt;
The modern bwUniCluster 2.0 system consists of more than 840 SMP nodes with 64-bit Intel Xeon processors. It provides the universities of the state of Baden-Württemberg with general compute resources and can be used free of charge by the staff of all universities in Baden-Württemberg. Users who currently have access to bwUniCluster will automatically also have access to bwUniCluster 2.0. There is no need to apply for new entitlements or to re-register.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## Picture of bwUniCluster - right side  ##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[File:BwUniCluster_2.0_Feb2020_1024x423.jpg|right|frameless|thumb|alt=bwUniCluster2.0 |upright=1| bwUniCluster 2.0 ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## About bwUniCluster                    ##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;bwUniCluster 2.0&#039;&#039;&#039; is the joint high-performance computer system of Baden-Württemberg&#039;s Universities and Universities of Applied Sciences for &#039;&#039;&#039;general purpose and teaching&#039;&#039;&#039; and located at the Steinbuch Centre for Computing (SCC) at Karlsruhe Institute of Technology (KIT). The bwUniCluster 2.0 complements the four bwForClusters and their dedicated scientific areas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#FFCCCC; width:100%;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;The following issue is known:&#039;&#039;&#039; Due to the hardware configuration, there is currently an already known problem with OpenMPI on the nodes in the &amp;quot;multiple_il&amp;quot; partition. It manifests itself in the warning &amp;quot;No OpenFabrics connection schemes reported&amp;quot; when starting an MPI application and refers to the device &amp;quot;mlx5_2&amp;quot;. This is an Ethernet port, which is not supposed to be used by OpenMPI. The warning is informative, we are working on suppressing this message.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## bwUniCluster: News section            ##&lt;br /&gt;
###########################################&lt;br /&gt;
## Comment out full section if there no news&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#FEF4AB; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#FFE856; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | News&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* 2022-11-25: Most of the new nodes from bwUniCluster 2.0 Stage 2 are now available.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## bwUniCluster: Training/Support section##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#eeeefe; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#dedefe; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Training &amp;amp; Support&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [[BwUniCluster2.0/First_Steps|Geting Started]]&lt;br /&gt;
* [https://training.bwhpc.de E-Learning Courses]&lt;br /&gt;
* [[BwUniCluster2.0/Support|Support]]&lt;br /&gt;
* [[BwUniCluster2.0/FAQ|FAQ]]&lt;br /&gt;
* Send [[:Category:Feedback|Feedback]] about Wiki pages&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## bwUniCluster: User Documentation      ##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#cef2e0; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | User Documentation&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* Access: [[Registration/bwUniCluster|Registration]], [[Registration/Deregistration|Deregistration]], [[BwUniCluster2.0/Jupyter|Using Jupyter]]&lt;br /&gt;
* [[BwUniCluster2.0/Login|Login]]&lt;br /&gt;
* &lt;br /&gt;
* [[BwUniCluster2.0/Hardware_and_Architecture|Hardware and Architecture]]&lt;br /&gt;
** [[BwUniCluster2.0/Hardware_and_Architecture#File_Systems|File Systems and Workspaces]] &lt;br /&gt;
* [[BwUniCluster2.0/Software|Cluster Specific Software]]&lt;br /&gt;
** [[BwUniCluster2.0/Containers|Using Containers]]&lt;br /&gt;
* [[BwUniCluster2.0/Slurm|Batch System]]&lt;br /&gt;
** [[BwUniCluster2.0/Batch_Queues|Queues and interactive Jobs]]&lt;br /&gt;
* [[BwUniCluster2.0/Maintenance|Operational Changes]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## bwUniCluster: Acknowledgement         ##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#cef2e0; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Cluster Funding&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* Please [[BwUniCluster2.0/Acknowledgement|acknowledge]] bwUniCluster 2.0 in your publications.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2022-11&amp;diff=11485</id>
		<title>BwUniCluster2.0/Maintenance/2022-11</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2022-11&amp;diff=11485"/>
		<updated>2022-11-25T14:53:30Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following changes have been introduced during the maintenance interval between on 07.11.2022 (Monday) 08:00 and 10.11.2022 (Thursday) 17:00.&lt;br /&gt;
&lt;br /&gt;
The host key of the system have not changed. You should not receive any warnings by your SSH client(s), but if there should be a warning or if you want to check that you are connecting to the correct system, you can verify the key hashes using the following list:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Algorithm&lt;br /&gt;
! Hash (SHA256)&lt;br /&gt;
! Hash (MD5)&lt;br /&gt;
|-&lt;br /&gt;
|RSA&lt;br /&gt;
|p6Ion2YKZr5cnzf6L6DS1xGnIwnC1BhLbOEmDdp7FA0&lt;br /&gt;
|59:2a:67:44:4a:d7:89:6c:c0:0d:74:ba:3c:c4:63:6d&lt;br /&gt;
|-&lt;br /&gt;
|ECDSA&lt;br /&gt;
|k8l1JnfLf1y1Qi55IQmo11+/NZx06Rbze7akT5R7tE8&lt;br /&gt;
|85:d4:d9:97:e0:f0:43:30:6e:66:8e:d0:b6:9b:85:d1&lt;br /&gt;
|-&lt;br /&gt;
|ED25519&lt;br /&gt;
|yEe5nJ5hZZ1YbgieWr+phqRZKYbrV7zRe8OR3X03cn0&lt;br /&gt;
|42:d2:0d:ab:87:48:fc:1d:5d:b3:7c:bf:22:c3:5f:b7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
* All firmware versions on all components were upgraded&lt;br /&gt;
&lt;br /&gt;
= Operating system =&lt;br /&gt;
&lt;br /&gt;
* The operating system remains at RHEL 8.4 EUS&lt;br /&gt;
&lt;br /&gt;
* The Mellanox OFED InfiniBand Stack was updated to version 5.5-2.1.7.0&lt;br /&gt;
&lt;br /&gt;
= Compilers, Libaries and Runtime Environments =&lt;br /&gt;
* The Intel Parallel Studio (Compiler, MKL, MPI) version 2019 modules were removed during the maintenance.&lt;br /&gt;
* clang 9 and llvm 10 modules were removed&lt;br /&gt;
&lt;br /&gt;
= Userspace tools =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software Modules =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Batch system =&lt;br /&gt;
&lt;br /&gt;
* The Slurm version was upgraded to version 22.05.5&lt;br /&gt;
* Pyxis Plugin version was upgraded to 0.14.0&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
* Lustre client, BeeGFS client and Spectrum Scale client were updated&lt;br /&gt;
&lt;br /&gt;
= Graphics stack =&lt;br /&gt;
&lt;br /&gt;
* The NVIDIA driver was upgraded to version 515.65.07&lt;br /&gt;
* Cuda 11.7 was installed&lt;br /&gt;
&lt;br /&gt;
= Containers =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= JupyterHub =&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0&amp;diff=11481</id>
		<title>BwUniCluster2.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0&amp;diff=11481"/>
		<updated>2022-11-25T14:30:44Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Old text: check for permanent removal --&amp;gt;&lt;br /&gt;
&amp;lt;!--{| style=&amp;quot;width: 100%; border-spacing: 5px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;font-size:75%;&amp;quot; |&lt;br /&gt;
[[File:BwUniCluster_2.0_Feb2020.jpg|center|border|550px|Close-up of bwUniCluster by Simon Raffeiner, Copyright: KIT (SCC)]] &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;&amp;quot; |&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Close-up of bwUniCluster © KIT (Simon Raffeiner/SCC)&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
On 17.03.2020, the Steinbuch Centre for Computing (SCC) at Karlsruhe Institute of Technology (KIT) commissioned a new parallel computer system called &amp;quot;bwUniCluster 2.0+GFB-HPC&amp;quot; as a state service within the bwHPC framework. The bwUniCluster 2.0 replaces the predecessor system [https://www.scc.kit.edu/dienste/bwUniCluster.php bwUniCluster] and also includes the additional compute nodes which were procured as an extension to the bwUniCluster in November 2016.&lt;br /&gt;
&lt;br /&gt;
The modern bwUniCluster 2.0 system consists of more than 840 SMP nodes with 64-bit Intel Xeon processors. It provides the universities of the state of Baden-Württemberg with general compute resources and can be used free of charge by the staff of all universities in Baden-Württemberg. Users who currently have access to bwUniCluster will automatically also have access to bwUniCluster 2.0. There is no need to apply for new entitlements or to re-register.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## Picture of bwUniCluster - right side  ##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[File:BwUniCluster_2.0_Feb2020_1024x423.jpg|right|frameless|thumb|alt=bwUniCluster2.0 |upright=1| bwUniCluster 2.0 ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## About bwUniCluster                    ##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;bwUniCluster 2.0&#039;&#039;&#039; is the joint high-performance computer system of Baden-Württemberg&#039;s Universities and Universities of Applied Sciences for &#039;&#039;&#039;general purpose and teaching&#039;&#039;&#039; and located at the Steinbuch Centre for Computing (SCC) at Karlsruhe Institute of Technology (KIT). The bwUniCluster 2.0 complements the four bwForClusters and their dedicated scientific areas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## bwUniCluster: News section            ##&lt;br /&gt;
###########################################&lt;br /&gt;
## Comment out full section if there no news&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#FEF4AB; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#FFE856; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | News&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* 2022-11-25: Most of the new nodes from bwUniCluster 2.0 Stage 2 are now available.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## bwUniCluster: Training/Support section##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#eeeefe; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#dedefe; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Training &amp;amp; Support&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [[BwUniCluster2.0/First_Steps|Geting Started]]&lt;br /&gt;
* [https://training.bwhpc.de E-Learning Courses]&lt;br /&gt;
* [[BwUniCluster2.0/Support|Support]]&lt;br /&gt;
* [[BwUniCluster2.0/FAQ|FAQ]]&lt;br /&gt;
* Send [[:Category:Feedback|Feedback]] about Wiki pages&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## bwUniCluster: User Documentation      ##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#cef2e0; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | User Documentation&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* Access: [[Registration/bwUniCluster|Registration]], [[Registration/Deregistration|Deregistration]], [[BwUniCluster2.0/Jupyter|Using Jupyter]]&lt;br /&gt;
* [[BwUniCluster2.0/Login|Login]]&lt;br /&gt;
* &lt;br /&gt;
* [[BwUniCluster2.0/Hardware_and_Architecture|Hardware and Architecture]]&lt;br /&gt;
** [[BwUniCluster2.0/Hardware_and_Architecture#File_Systems|File Systems and Workspaces]] &lt;br /&gt;
* [[BwUniCluster2.0/Software|Cluster Specific Software]]&lt;br /&gt;
** [[BwUniCluster2.0/Containers|Using Containers]]&lt;br /&gt;
* [[BwUniCluster2.0/Slurm|Batch System]]&lt;br /&gt;
** [[BwUniCluster2.0/Batch_Queues|Queues and interactive Jobs]]&lt;br /&gt;
* [[BwUniCluster2.0/Maintenance|Operational Changes]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## bwUniCluster: Acknowledgement         ##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#cef2e0; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Cluster Funding&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* Please [[BwUniCluster2.0/Acknowledgement|acknowledge]] bwUniCluster 2.0 in your publications.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2022-11&amp;diff=11480</id>
		<title>BwUniCluster2.0/Maintenance/2022-11</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2022-11&amp;diff=11480"/>
		<updated>2022-11-25T14:18:30Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following changes have been introduced during the maintenance interval between on 07.11.2022 (Monday) 08:00 and 10.11.2022 (Thursday) 17:00.&lt;br /&gt;
&lt;br /&gt;
The host key of the system have not changed. You should not receive any warnings by your SSH client(s), but if there should be a warning or if you want to check that you are connecting to the correct system, you can verify the key hashes using the following list:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Algorithm&lt;br /&gt;
! Hash (SHA256)&lt;br /&gt;
! Hash (MD5)&lt;br /&gt;
|-&lt;br /&gt;
|RSA&lt;br /&gt;
|p6Ion2YKZr5cnzf6L6DS1xGnIwnC1BhLbOEmDdp7FA0&lt;br /&gt;
|59:2a:67:44:4a:d7:89:6c:c0:0d:74:ba:3c:c4:63:6d&lt;br /&gt;
|-&lt;br /&gt;
|ECDSA&lt;br /&gt;
|k8l1JnfLf1y1Qi55IQmo11+/NZx06Rbze7akT5R7tE8&lt;br /&gt;
|85:d4:d9:97:e0:f0:43:30:6e:66:8e:d0:b6:9b:85:d1&lt;br /&gt;
|-&lt;br /&gt;
|ED25519&lt;br /&gt;
|yEe5nJ5hZZ1YbgieWr+phqRZKYbrV7zRe8OR3X03cn0&lt;br /&gt;
|42:d2:0d:ab:87:48:fc:1d:5d:b3:7c:bf:22:c3:5f:b7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following issue is known:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;  background:#FFCCCC; width:100%;&amp;quot;&lt;br /&gt;
| Due to the hardware configuration, there is currently an already known problem with OpenMPI on the nodes in the &amp;quot;multiple_il&amp;quot; partition. It manifests itself in the warning &amp;quot;No OpenFabrics connection schemes reported&amp;quot; when starting an MPI application and refers to the device &amp;quot;mlx5_2&amp;quot;. This is an Ethernet port, which is not supposed to be used by OpenMPI. The warning is informative, we are working on suppressing this message.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
* All firmware versions on all components were upgraded&lt;br /&gt;
&lt;br /&gt;
= Operating system =&lt;br /&gt;
&lt;br /&gt;
* The operating system remains at RHEL 8.4 EUS&lt;br /&gt;
&lt;br /&gt;
* The Mellanox OFED InfiniBand Stack was updated to version 5.5-2.1.7.0&lt;br /&gt;
&lt;br /&gt;
= Compilers, Libaries and Runtime Environments =&lt;br /&gt;
* The Intel Parallel Studio (Compiler, MKL, MPI) version 2019 modules were removed during the maintenance.&lt;br /&gt;
* clang 9 and llvm 10 modules were removed&lt;br /&gt;
&lt;br /&gt;
= Userspace tools =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software Modules =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Batch system =&lt;br /&gt;
&lt;br /&gt;
* The Slurm version was upgraded to version 22.05.5&lt;br /&gt;
* Pyxis Plugin version was upgraded to 0.14.0&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
* Lustre client, BeeGFS client and Spectrum Scale client were updated&lt;br /&gt;
&lt;br /&gt;
= Graphics stack =&lt;br /&gt;
&lt;br /&gt;
* The NVIDIA driver was upgraded to version 515.65.07&lt;br /&gt;
* Cuda 11.7 was installed&lt;br /&gt;
&lt;br /&gt;
= Containers =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= JupyterHub =&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0&amp;diff=11214</id>
		<title>BwUniCluster2.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0&amp;diff=11214"/>
		<updated>2022-10-26T10:22:09Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Old text: check for permanent removal --&amp;gt;&lt;br /&gt;
&amp;lt;!--{| style=&amp;quot;width: 100%; border-spacing: 5px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;font-size:75%;&amp;quot; |&lt;br /&gt;
[[File:BwUniCluster_2.0_Feb2020.jpg|center|border|550px|Close-up of bwUniCluster by Simon Raffeiner, Copyright: KIT (SCC)]] &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;&amp;quot; |&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Close-up of bwUniCluster © KIT (Simon Raffeiner/SCC)&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
On 17.03.2020, the Steinbuch Centre for Computing (SCC) at Karlsruhe Institute of Technology (KIT) commissioned a new parallel computer system called &amp;quot;bwUniCluster 2.0+GFB-HPC&amp;quot; as a state service within the bwHPC framework. The bwUniCluster 2.0 replaces the predecessor system [https://www.scc.kit.edu/dienste/bwUniCluster.php bwUniCluster] and also includes the additional compute nodes which were procured as an extension to the bwUniCluster in November 2016.&lt;br /&gt;
&lt;br /&gt;
The modern bwUniCluster 2.0 system consists of more than 840 SMP nodes with 64-bit Intel Xeon processors. It provides the universities of the state of Baden-Württemberg with general compute resources and can be used free of charge by the staff of all universities in Baden-Württemberg. Users who currently have access to bwUniCluster will automatically also have access to bwUniCluster 2.0. There is no need to apply for new entitlements or to re-register.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## Picture of bwUniCluster - right side  ##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[File:BwUniCluster_2.0_Feb2020_1024x423.jpg|right|frameless|thumb|alt=bwUniCluster2.0 |upright=1| bwUniCluster 2.0 ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## About bwUniCluster                    ##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;bwUniCluster 2.0&#039;&#039;&#039; is the joint high-performance computer system of Baden-Württemberg&#039;s Universities and Universities of Applied Sciences for &#039;&#039;&#039;general purpose and teaching&#039;&#039;&#039; and located at the Steinbuch Centre for Computing (SCC) at Karlsruhe Institute of Technology (KIT). The bwUniCluster 2.0 complements the four bwForClusters and their dedicated scientific areas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## bwUniCluster: News section            ##&lt;br /&gt;
###########################################&lt;br /&gt;
## Comment out full section if there no news&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#FEF4AB; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#FFE856; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | News&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* 2022-09-22: A [[BwUniCluster2.0/Maintenance/2022-11|maintenance interval]] from 07.11.2022 to 10.11.2022 was announced.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## bwUniCluster: Training/Support section##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#eeeefe; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#dedefe; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Training &amp;amp; Support&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [[BwUniCluster2.0/First_Steps|Geting Started]]&lt;br /&gt;
* [https://training.bwhpc.de E-Learning Courses]&lt;br /&gt;
* [[BwUniCluster2.0/Support|Support]]&lt;br /&gt;
* [[BwUniCluster2.0/FAQ|FAQ]]&lt;br /&gt;
* Send [[:Category:Feedback|Feedback]] about Wiki pages&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## bwUniCluster: User Documentation      ##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#cef2e0; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | User Documentation&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* Access: [[Registration/bwUniCluster|Registration]], [[Registration/Deregistration|Deregistration]], [[BwUniCluster2.0/Jupyter|Using Jupyter]]&lt;br /&gt;
* [[BwUniCluster2.0/Login|Login]]&lt;br /&gt;
* &lt;br /&gt;
* [[BwUniCluster2.0/Hardware_and_Architecture|Hardware and Architecture]]&lt;br /&gt;
** [[BwUniCluster2.0/Hardware_and_Architecture#File_Systems|File Systems and Workspaces]] &lt;br /&gt;
* [[BwUniCluster2.0/Software|Cluster Specific Software]]&lt;br /&gt;
** [[BwUniCluster2.0/Containers|Using Containers]]&lt;br /&gt;
* [[BwUniCluster2.0/Slurm|Batch System]]&lt;br /&gt;
** [[BwUniCluster2.0/Batch_Queues|Queues and interactive Jobs]]&lt;br /&gt;
* [[BwUniCluster2.0/Maintenance|Operational Changes]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
###########################################&lt;br /&gt;
## bwUniCluster: Acknowledgement         ##&lt;br /&gt;
###########################################&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#cef2e0; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Cluster Funding&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* Please [[BwUniCluster2.0/Acknowledgement|acknowledge]] bwUniCluster 2.0 in your publications.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2022-11&amp;diff=11213</id>
		<title>BwUniCluster2.0/Maintenance/2022-11</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2022-11&amp;diff=11213"/>
		<updated>2022-10-26T10:18:14Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: Created page with &amp;quot;The following changes have been introduced during the maintenance interval between on 07.11.2022 (Monday) 08:00 and 10.11.2022 (Thursday) 17:00.  The host key of the system ha...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following changes have been introduced during the maintenance interval between on 07.11.2022 (Monday) 08:00 and 10.11.2022 (Thursday) 17:00.&lt;br /&gt;
&lt;br /&gt;
The host key of the system have not changed. You should not receive any warnings by your SSH client(s), but if there should be a warning or if you want to check that you are connecting to the correct system, you can verify the key hashes using the following list:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Algorithm&lt;br /&gt;
! Hash (SHA256)&lt;br /&gt;
! Hash (MD5)&lt;br /&gt;
|-&lt;br /&gt;
|RSA&lt;br /&gt;
|p6Ion2YKZr5cnzf6L6DS1xGnIwnC1BhLbOEmDdp7FA0&lt;br /&gt;
|59:2a:67:44:4a:d7:89:6c:c0:0d:74:ba:3c:c4:63:6d&lt;br /&gt;
|-&lt;br /&gt;
|ECDSA&lt;br /&gt;
|k8l1JnfLf1y1Qi55IQmo11+/NZx06Rbze7akT5R7tE8&lt;br /&gt;
|85:d4:d9:97:e0:f0:43:30:6e:66:8e:d0:b6:9b:85:d1&lt;br /&gt;
|-&lt;br /&gt;
|ED25519&lt;br /&gt;
|yEe5nJ5hZZ1YbgieWr+phqRZKYbrV7zRe8OR3X03cn0&lt;br /&gt;
|42:d2:0d:ab:87:48:fc:1d:5d:b3:7c:bf:22:c3:5f:b7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
* All firmware versions on all components will be upgraded&lt;br /&gt;
&lt;br /&gt;
= Operating system =&lt;br /&gt;
&lt;br /&gt;
* The operating system version will not change, it will remain at RHEL 8.4&lt;br /&gt;
&lt;br /&gt;
* The Mellanox OFED InfiniBand Stack will be updated&lt;br /&gt;
&lt;br /&gt;
= Compilers, Libaries and Runtime Environments =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Userspace tools =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software Modules =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Batch system =&lt;br /&gt;
&lt;br /&gt;
* The Slurm version will be upgraded.&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Graphics stack =&lt;br /&gt;
&lt;br /&gt;
* The NVIDIA driver will be upgraded.&lt;br /&gt;
&lt;br /&gt;
= Containers =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= JupyterHub =&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance&amp;diff=11212</id>
		<title>BwUniCluster2.0/Maintenance</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance&amp;diff=11212"/>
		<updated>2022-10-26T10:16:43Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;2022&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[BwUniCluster2.0/Maintenance/2022-11]] from 07.11.2022 to 10.11.2022&lt;br /&gt;
&lt;br /&gt;
* [[BwUniCluster2.0/Maintenance/2022-03]] from 28.03.2022 to 31.03.2022&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2021&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[BwUniCluster2.0/Maintenance/2021-10]] from 11.10.2021 to 15.10.2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[BwUniCluster2.0/Maintenance/2020-10]] from 06.10.2020 to 13.10.2020&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Maintenance records of retired bwUniCluster 1.0 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:BwUniCluster 2.0]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[BwUniCluster/Maintenance/2019-02]] from 02.02.2019 to 08.02.2019&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2017&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[BwUniCluster/Maintenance/2017-05]] from 02.05.2017 to 02.05.2017&lt;br /&gt;
* [[BwUniCluster/Maintenance/2017-03]] from 20.03.2017 to 21.03.2017&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2016&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[BwUniCluster/Maintenance/2016-10]] from 17.10.2016 to 21.10.2016&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Category:BwUniCluster_2.0&amp;diff=9488</id>
		<title>Category:BwUniCluster 2.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Category:BwUniCluster_2.0&amp;diff=9488"/>
		<updated>2021-12-15T15:41:33Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&amp;lt;span style=&amp;quot;color:red;font-size:105%;&amp;quot;&amp;gt;Important note: bwUniCluster is &#039;&#039;&#039;not&#039;&#039;&#039; in production mode yet.&amp;lt;/span&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%; border-spacing: 5px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;font-size:75%;&amp;quot; |&lt;br /&gt;
[[File:BwUniCluster_2.0_Feb2020.jpg|center|border|550px|Close-up of bwUniCluster by Simon Raffeiner, Copyright: KIT (SCC)]] &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;&amp;quot; |&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Close-up of bwUniCluster © KIT (Simon Raffeiner/SCC)&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
On 17.03.2020, the Steinbuch Centre for Computing (SCC) at Karlsruhe Institute of Technology (KIT) commissioned a new parallel computer system called &amp;quot;bwUniCluster 2.0+GFB-HPC&amp;quot; as a state service within the bwHPC framework. The bwUniCluster 2.0 replaces the predecessor system [[bwUniCluster]] and also includes the additional compute nodes which were procured as an extension to the bwUniCluster in November 2016.&lt;br /&gt;
&lt;br /&gt;
The modern bwUniCluster 2.0 system consists of more than 840 SMP nodes with 64-bit Intel Xeon processors. It provides the universities of the state of Baden-Württemberg with general compute resources and can be used free of charge by the staff of all universities in Baden-Württemberg. Users who currently have access to bwUniCluster will automatically also have access to bwUniCluster 2.0. There is no need to apply for new entitlements or to re-register.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Two-column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%; border:1px solid #BBBBBB; background:#f5fffa; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Access&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* bwUniCluster [[BwUniCluster_2.0_User_Access|Registration and Login]]&lt;br /&gt;
* Registration [[bwUniCluster 2.0 Support|trouble issues]] &amp;amp;  [[BwUniCluster_2.0_User_Access#Deregistration|Deregistration]]&lt;br /&gt;
* [[First_Steps_on_bwHPC_cluster|First steps on bwUniCluster]]&lt;br /&gt;
* [[Jupyter_at_SCC|Access with Jupyter]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Software&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Software|Software and Environment Modules]]&lt;br /&gt;
* [[Containers|Using Containers]]&lt;br /&gt;
|}&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Hardware&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Hardware_and_Architecture|Hardware and Architecture]]&lt;br /&gt;
* [[BwUniCluster_2.0_Hardware_and_Architecture#File_Systems|File Systems]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;padding:2px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; border:1px solid #BBBBBB; background:#f5faff; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| Batch/Compute Jobs&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Slurm_common_Features|Slurm common Features]]&lt;br /&gt;
* [[BwUniCluster_2.0_Batch_Queues|Batch Queues and interactive Jobs]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| [[BwHPC_Best_Practices_Repository|bwHPC Best Practice Guides]] / FAQs&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;!-- * [[Compiler]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Debugger]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Numerical Libraries]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Parallel Programming]] --&amp;gt;&lt;br /&gt;
* [[FAQ - bwUniCluster_broadwell_partition|FAQ - bwUniCluster 2.0 Broadwell partition]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| Miscellaneous&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [[bwUniCluster_Acknowledgement|Acknowledgement]] of work performed on bwUniCluster (2.0)&lt;br /&gt;
* [[BwUniCluster_2.0_File_System_Migration_Guide|File system migration guide]] and [[BwUniCluster_2.0_Batch_System_Migration_Guide|Batch system migration guide]] for users migrating from the former bwUniCluster 1&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Category:bwHPC_infrastructure]][[Category:bwHPC_Cluster]][[Category:bwCluster]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_User_Access&amp;diff=9011</id>
		<title>BwUniCluster 2.0 User Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_User_Access&amp;diff=9011"/>
		<updated>2021-10-20T11:47:56Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Client application: MobaXterm */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{| style=&amp;quot;border-style: solid; border-width: 1px&amp;quot;&lt;br /&gt;
! Navigation: [[BwHPC_Best_Practices_Repository|bwHPC BPR]] / [[BwUniCluster_User_Guide|bwUniCluster]] &lt;br /&gt;
|}--&amp;gt;&lt;br /&gt;
[[bwUniCluster_2.0|bwUniCluster 2.0]] is Baden-Württemberg&#039;s general purpose tier 3 high performance computing (HPC)&lt;br /&gt;
cluster co-financed by Baden-Württemberg&#039;s ministry of science, research and arts and the shareholders:&lt;br /&gt;
&lt;br /&gt;
* Albert Ludwig University of Freiburg&lt;br /&gt;
* Eberhard Karls University, Tübingen&lt;br /&gt;
* Karlsruhe Institute of Technology (KIT)&lt;br /&gt;
* Heidelberg University (Ruprecht-Karls-Universität Heidelberg)&lt;br /&gt;
* Ulm University&lt;br /&gt;
* University of Hohenheim&lt;br /&gt;
* University of Konstanz&lt;br /&gt;
* University of Mannheim&lt;br /&gt;
* University of Stuttgart&lt;br /&gt;
* HAW BW e.V. (an association of several universities of applied sciences in Baden-Württemberg, see below) &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To &#039;&#039;&#039;log on&#039;&#039;&#039; [[bwUniCluster_2.0|bwUniCluster 2.0]] a user account is required. All members of the shareholder&lt;br /&gt;
universities can apply for an account.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%; border-spacing: 5px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left; color:#000;vertical-align:top;&amp;quot; |__TOC__ &lt;br /&gt;
|&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:bwUniCluster_17Jan2014_p044-rot_t10.10.00.jpg|center|border|250px|bwUniCluster wiring by Holger Obermaier, copyright: KIT (SCC)]] &amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;bwUniCluster wiring © KIT (SCC)&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
Granting access and issuing a user account for &#039;&#039;&#039;bwUniCluster 2.0&#039;&#039;&#039; requires the registration at the KIT service website &lt;br /&gt;
* [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] (step B). &lt;br /&gt;
However, this registration depends on the &lt;br /&gt;
* &#039;&#039;&#039;bwUniCluster entitlement&#039;&#039;&#039; (step A) &lt;br /&gt;
issued by your university .&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please log in to &lt;br /&gt;
* https://bwidm.scc.kit.edu/ &lt;br /&gt;
to see a list of your entitlements. If the list contains&lt;br /&gt;
&amp;lt;pre&amp;gt; http://bwidm.de/entitlement/bwUniCluster &amp;lt;/pre&amp;gt; you already have the entitlement and can skip step A.&lt;br /&gt;
&lt;br /&gt;
== Step A: bwUniCluster entitlement for registration ==&lt;br /&gt;
&#039;&#039;&#039;The entitlement is called bwUniCluster (not bwUniCluster 2.0)&#039;&#039;&#039; and each university issues the bwUniCluster entitlement &#039;&#039;&#039;only&#039;&#039;&#039; for their own respective members. Some have established on-line processes or provide downloads of the entitlement application forms. If there is no link behind the name of an institution in the following list, please contact the local IT support services: &lt;br /&gt;
&lt;br /&gt;
* [[BwCluster_User_Access_Uni_Freiburg|Albert Ludwig University of Freiburg]]&lt;br /&gt;
* [https://bwunicluster.urz.uni-heidelberg.de/ Heidelberg University]&lt;br /&gt;
* [https://kim.uni-hohenheim.de/bwhpc-account University of Hohenheim]&lt;br /&gt;
* [http://www.scc.kit.edu/downloads/ism/Accessform_bwUniCluster_DE_EN.pdf Karlsruhe Institute of Technology (KIT)]&lt;br /&gt;
* [[BWUniCluster_User_Access_Members_Uni_Konstanz|University of Konstanz]]&lt;br /&gt;
* [[BWUniCluster_User_Access_Members_Uni_Mannheim|University of Mannheim]]&lt;br /&gt;
* [https://www.hlrs.de/solutions-services/academic-users/bwunicluster-access/ University of Stuttgart]&lt;br /&gt;
* [https://uni-tuebingen.de/de/155157 Eberhard Karls University Tübingen]&lt;br /&gt;
* [[BWUniCluster_User_Access_Members_Uni_Ulm|Ulm University]]&lt;br /&gt;
* Hochschule Aalen&lt;br /&gt;
* Hochschule Albstadt-Sigmaringen&lt;br /&gt;
* Hochschule Esslingen&lt;br /&gt;
* Hochschule Heilbronn&lt;br /&gt;
* Hochschule Karlsruhe&lt;br /&gt;
* Hochschule Konstanz&lt;br /&gt;
* Hochschule Mannheim&lt;br /&gt;
* Hochschule Offenburg&lt;br /&gt;
* Hochschule Reutlingen&lt;br /&gt;
* Hochschule Rottenburg&lt;br /&gt;
* Hochschule Stuttgart (HfT)&lt;br /&gt;
* Hochschule Ulm&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step B: Web Registration, service password and 2-factor authentication ==&lt;br /&gt;
&lt;br /&gt;
After completing step A, i.e., after successfull issueing of the bwUniCluster entitlement, you have to register yourself for the service. To do so please visit [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] and complete the following steps.&lt;br /&gt;
&lt;br /&gt;
1. Select your home organization from the list on the main page and click &#039;&#039;&#039;Proceed&#039;&#039;&#039; or &#039;&#039;&#039;Fortfahren&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwidm-register-red.png|center|border|]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. You will be directed to the &#039;&#039;Identity Provider&#039;&#039; of your home organisation. Enter the user ID / username and password of your home organisation - this is usually the same password used for your e-mail account and other services - and click on &#039;&#039;&#039;Login&#039;&#039;&#039;, &#039;&#039;&#039;Einloggen&#039;&#039;&#039; or something similar.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. You will be redirected back to the registration website [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu/]. If you are logging into bwIDM for the first time, there will be a summary screen which shows the account details your home institution is providing to the central system. Please check that all data is valid and then click on &#039;&#039;&#039;Continue&#039;&#039;&#039; or &#039;&#039;&#039;Weiter&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Once you have successfully logged into the bwIDM system, you will be greeted by a home screen showing all state-wide services you have access to. There will be a box labelled &amp;quot;bwUniCluster&amp;quot;. Click on &#039;&#039;&#039;Register&#039;&#039;&#039; or &#039;&#039;&#039;Registrieren&#039;&#039;&#039; to start the registration process.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwidm-2-red.png|center|border|]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Since August 13, 2020 a &#039;&#039;&#039;2-factor authentication&#039;&#039;&#039; mechanism (2FA) is being enforced to improve security. If you have never registered a 2FA token on bwIDM before, the following error message will appear:&lt;br /&gt;
&lt;br /&gt;
[[File:Bwidm-3-red.png|center|]]&lt;br /&gt;
&lt;br /&gt;
Click on the [https://bwidm.scc.kit.edu/user/twofa.xhtml Link] or on the &#039;&#039;&#039;My Tokens&#039;&#039;&#039; link in the main menu. The instructions for registering a new 2FA token can be found on the following page: [[bwUniCluster 2.0 User Access/2FA Tokens]]. Please complete them before proceeding.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Make sure all requirements are met by checking the &#039;&#039;&#039;Requirements&#039;&#039;&#039; box at the top. If the requirements are not met you might be able to correct the issure by following the instructions. In all other cases please [[Registration_Support_-_bwUniCluster|contact your local hotline]].&lt;br /&gt;
&lt;br /&gt;
[[File:BwUniCluster 2.0 access login bwidm registration requirements.png|center|border|]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. Read the Terms of Use (&#039;&#039;&#039;Nutzungsbedingungen und -richtlinien&#039;&#039;&#039;), check the box besides &#039;&#039;&#039;I have read and accepted the terms of use&#039;&#039;&#039; and click on &#039;&#039;&#039;Register&#039;&#039;&#039; or &#039;&#039;&#039;Registrieren&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. Set a service password for the bwUniCluster and click on &#039;&#039;&#039;Save&#039;&#039;&#039; or &#039;&#039;&#039;Speichern&#039;&#039;&#039;. Logging in with the password of your home organisation, like on the former bwUniCluster 1, is no longer possible. Please make sure to use a strong password which is different from any other password you are currently using or have used on other systems. You will also be asked to change the service password regularly.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwidm-5-red.png|center|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step C: Fill out the bwUniCluster questionnaire ==&lt;br /&gt;
&lt;br /&gt;
Filling out the bwUniCluster questionaire on&lt;br /&gt;
&lt;br /&gt;
   https://zas.bwhpc.de/shib/en/bwunicluster_survey.php&lt;br /&gt;
&lt;br /&gt;
is mandatory for all users. The input is solely used to improve our support activities and for capacity planning of future HPC resources. &#039;&#039;&#039;If the questionaire is not filled out, access to bwUniCluster 2.0 is blocked 14 days after the registration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changing the Service Password ==&lt;br /&gt;
&lt;br /&gt;
Your bwUniCluster 2.0 &#039;&#039;&#039;password&#039;&#039;&#039; is the service password you set during the web registration (compare step 7 of chapter 1.2).  At any time, you can set a new bwUniCluster 2.0 password via the registration website [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] by carrying out the following steps:&lt;br /&gt;
# Go to [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] and select your home organization &lt;br /&gt;
# Authenticate yourself via the user id / username and password provided by your home institution&lt;br /&gt;
# Find the entry &#039;&#039;&#039;bwUniCluster&#039;&#039;&#039; and select &#039;&#039;&#039;Set Service Password&#039;&#039;&#039;&lt;br /&gt;
# Enter the new password, repeat it and click &#039;&#039;&#039;Save&#039;&#039;&#039; button.&lt;br /&gt;
# If the change was sucessfull, the message &amp;quot;Das Passwort wurde bei dem Dienst geändert&amp;quot; (&amp;quot;Password has been changed&amp;quot;) will be shown&lt;br /&gt;
# Proceed to log in using the new password&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Contact / Support ==&lt;br /&gt;
If you have questions or problems concerning the bwUniCluster (2.0) registration, please [[bwUniCluster 2.0 Support|contact your local hotline]]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Establishing network access = &lt;br /&gt;
&lt;br /&gt;
Access to bwUniCluster 2.0 is &#039;&#039;&#039;limited to IP addresses from the so-called BelWü networks&#039;&#039;&#039;. All home institutions of our current users are connected to BelWue, so if you are on your campus network (e.g. in your office or on the Campus WiFi) you should be able to connect to bwUniCluster 2.0 without restrictions. If you are outside of one of the BelWue networks (e.g. in your home office instead of in your campus office), a VPN connection to your home institution has to be established first (see e.g. [1] for the KIT).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Login =&lt;br /&gt;
&lt;br /&gt;
After finishing the web registration and making sure that you are on a network from which you have access to bwUniCluster 2.0 (e.g. by establishing a VPN connection), the HPC cluster is ready for your &#039;&#039;&#039;SSH&#039;&#039;&#039; based login. Recommended SSH clients applications are:&lt;br /&gt;
&lt;br /&gt;
* the ssh (OpenSSH) command included in all Linux distributions and macOS, -in command under Linux and macOS using the application &#039;&#039;terminal&#039;&#039;&lt;br /&gt;
* [http://mobaxterm.mobatek.net/ MobaXterm] under Windows&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
The main hostname required to connect to bwUniCluster 2.0 is &#039;&#039;&#039;bwunicluster.scc.kit.edu&#039;&#039;&#039; or &#039;&#039;&#039;uc2.scc.kit.edu&#039;&#039;&#039;. The system has four login nodes and we use so-called &#039;&#039;DNS round-robin scheduling&#039;&#039; to load-balance the incoming connections between the nodes. If you open multiple SSH sessions to bwUniCluster 2.0, these sessions will be established to different login nodes, so processes started in one session might not be visible in other sessions.&lt;br /&gt;
&lt;br /&gt;
The older Broadwell extension partition of the former bwUniCluster 1 is connected to bwUniCluster 2.0.&lt;br /&gt;
&lt;br /&gt;
If you need to connect to specific login nodes, you can use the following hostnames:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hostname !! Node type&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc2-login1.scc.kit.edu&#039;&#039;&#039; || bwUniCluster 2.0, first login node&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc2-login2.scc.kit.edu&#039;&#039;&#039; || bwUniCluster 2.0, second login node&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc2-login3.scc.kit.edu&#039;&#039;&#039; || bwUniCluster 2.0, third login node&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc2-login4.scc.kit.edu&#039;&#039;&#039; || bwUniCluster 2.0, fourth login node&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Only the secure shell &#039;&#039;SSH&#039;&#039; is allowed to login. Other protocols like &#039;&#039;telnet&#039;&#039; or &#039;&#039;rlogin&#039;&#039; are not allowed for security reasons.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usernames ==&lt;br /&gt;
&lt;br /&gt;
Your username will be the same as the one provided by your home institution, but &#039;&#039;&#039;prefixed&#039;&#039;&#039; with two characters and an underscore indicating your home institution. For example: If you are a member of the university of Konstanz and your local username is ab1234, your username on bwUniCluster 2.0 is kn_ab1234.&lt;br /&gt;
&lt;br /&gt;
The following list contains all prefixes currently in use:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Home organization !! &amp;lt;UserID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Universität Freiburg || &#039;&#039;fr_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Heidelberg || &#039;&#039;hd_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Hohenheim || &#039;&#039;ho_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| KIT || username &#039;&#039;(without any prefix)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Universität Konstanz || &#039;&#039;kn_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Mannheim || &#039;&#039;ma_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Stuttgart ||  &#039;&#039;st_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Tübingen || &#039;&#039;tu_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Ulm  || &#039;&#039;ul_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Aalen || &#039;&#039;aa_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Albstadt-Sigmaringen || &#039;&#039;as_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Esslingen || &#039;&#039;es_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Heilbronn || &#039;&#039;hn_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Karlsruhe || &#039;&#039;hk_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| HTWG Konstanz || &#039;&#039;ht_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Mannheim || &#039;&#039;mn_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Offenburg || &#039;&#039;of_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Reutlingen || &#039;&#039;hr_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Rottenburg || &#039;&#039;ro_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule für Technik Stuttgart || &#039;&#039;hs_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Ulm || &#039;&#039;hu_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Client application: OpenSSH ==&lt;br /&gt;
&lt;br /&gt;
Most Unix and Unix-like operating systems like Linux, macOS and *BSD come with a built-in SSH client provided by the OpenSSH project. More recent versions of Windows 10 and the Windows Subsystem for Linux also come with a built-in OpenSSH client.&lt;br /&gt;
&lt;br /&gt;
To use this client, simply open a command line terminal (the exact process differs on every operating system, but usually involves starting an application called &#039;&#039;&#039;Terminal&#039;&#039;&#039; or &#039;&#039;&#039;Command Prompt&#039;&#039;&#039;) and enter the following command to connect to bwUniCluster 2.0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;UserID&amp;gt;@bwunicluster.scc.kit.edu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are on a Linux or Unix system running the X Window System (X11) and want to use a GUI-based application on bwUniCluster 2.0, you can use the &#039;&#039;-X&#039;&#039; option for the ssh command to set up X11 forwarding:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;UserID&amp;gt;@uc2.scc.kit.edu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Windows users requiring X11 forwarding for graphical applications should use &#039;&#039;&#039;MobaXterm&#039;&#039;&#039; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Client application: MobaXterm ==&lt;br /&gt;
&lt;br /&gt;
The bwHPC-C5 support team strongly recommends to use [http://mobaxterm.mobatek.net/ MobaXterm] instead of &#039;&#039;PuTTY&#039;&#039; or &#039;&#039;WinSCP&#039;&#039; on Windows. &#039;&#039;MobaXterm&#039;&#039; provides a built-in X11 server allowing to start GUI based software.&lt;br /&gt;
 &lt;br /&gt;
Start &#039;&#039;MobaXterm&#039;&#039;, fill in the following fields:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Remote name              : uc2.scc.kit.edu&lt;br /&gt;
Specify user name        : &amp;lt;UserID&amp;gt;&lt;br /&gt;
Port                     : 22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After that click on &#039;ok&#039;. Then a terminal will be opened and there you can enter your credentials.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Client application: FileZilla ==&lt;br /&gt;
&lt;br /&gt;
Many GUI applications that support SFTP transfers on Linux don&#039;t work well with 2-factor authentification, e.g. Nautilus and Dolphin don&#039;t support it. A good alternative for Linux is FileZilla.&lt;br /&gt;
&lt;br /&gt;
Start FileZilla, Select &amp;quot;File -&amp;gt; Site Manager...&amp;quot; from the main menu and set up a new connection with the following settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Protocol: SFTP - SSH File Transfer Protocol&lt;br /&gt;
Host: uc2.scc.kit.edu&lt;br /&gt;
Logon Typ: Interactive&lt;br /&gt;
User: &amp;lt;UserID&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then click on the &amp;quot;Connect&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
Files can be transferred between the local system and the cluster by navigating to the respective folders in the split file view and then either dragging files and folders between the views or by clicking on a file/folder with the right mouse button and then selecting &amp;quot;Upload&amp;quot; or &amp;quot;Download&amp;quot; from the menu. &lt;br /&gt;
&lt;br /&gt;
== Example login process ==&lt;br /&gt;
&lt;br /&gt;
After the connection has been initiated, a successful login process will go through the following three steps:&lt;br /&gt;
&lt;br /&gt;
1. The system asks for a &#039;&#039;&#039;One-Time Password&#039;&#039;&#039;. Generate one using the Software or Hardware Token registered on the bwIDM system (see [[bwUniCluster 2.0 User Access/2FA Tokens]]) and enter it after the &#039;&#039;&#039;Your OTP:&#039;&#039;&#039; prompt.&lt;br /&gt;
&lt;br /&gt;
2. The systems asks for your service password. Enter it after the &#039;&#039;&#039;Password:&#039;&#039;&#039; prompt.&lt;br /&gt;
&lt;br /&gt;
3. You are greeted by the bwUniCluster 2.0 banner followed by a shell.&lt;br /&gt;
&lt;br /&gt;
The result should look like this:&lt;br /&gt;
&lt;br /&gt;
[[File:BwUniCluster 2.0 access login example.png|center|]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issue: The &amp;quot;Your OTP:&amp;quot; prompt never appears and the connection hangs/times out instead&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Likely cause: You are most likely not on a network from which access to the bwUniCluster 2.0 system is allowed. Please check if you might have to establish a VPN connection first.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issue: The system asks for the One-Time Password multiple times&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Likely cause: Make sure you are using the correct Software Token to generate the One-Time Password.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issue: The system asks for the service password multiple times&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Likely cause: Make sure you are using the service password set on bwIDM and not the password valid for your home institution. Unlike the bwUniCluster 1, the bwUniCluster 2.0 only accepts the service password.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issue: There is an error message by the pam_ses_open.sh skript&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Likely cause: Your account is in the &amp;quot;LOST_ACCESS&amp;quot; state because the entitlement is no longer valid, the questionaire was not filled out or there was a problem during the communication between your home institution and the central bwIDM system. Please try the following steps:&lt;br /&gt;
&lt;br /&gt;
* Log into [https://bwidm.scc.kit.edu bwIDM], look for the bwUniCluster entry and click on &#039;&#039;&#039;Registry info&#039;&#039;&#039;. Your &amp;quot;Status:&amp;quot; should be &amp;quot;ACTIVE&amp;quot;. If it is not, please wait for ten minutes since logging into the bwIDM causes a refresh and the problem might fix itself. If the status does not change to ACTIVE after a longer amount of time, please contact the support channels.&lt;br /&gt;
&lt;br /&gt;
* If you have not filled out the questionaire, please do so on [https://zas.bwhpc.de/shib/en/bwunicluster_survey.php    https://zas.bwhpc.de/shib/en/bwunicluster_survey.php] and then wait for about ten minutes before attempting to log into the HPC system again.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allowed activities on login nodes ==&lt;br /&gt;
&lt;br /&gt;
The login nodes of bwUniCluster 2.0 are the access point to the compute system and to your bwUniCluster 2.0 $HOME directory. The login nodes are shared with all the users of bwUniCluster 2.0. Therefore, your activities on the login nodes are limited to primarily set up your batch jobs. Your activities may also be:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;short&#039;&#039;&#039; compilation of your program code and&lt;br /&gt;
* &#039;&#039;&#039;short&#039;&#039;&#039; pre- and postprocessing of your batch jobs.&lt;br /&gt;
&lt;br /&gt;
To guarantee usability for all the users of bwUniCluster 2.0 &amp;lt;span style=&amp;quot;color:red;font-size:100%;&amp;quot;&amp;gt;&#039;&#039;&#039;you must not run your compute jobs on the login nodes&#039;&#039;&#039;&amp;lt;/span&amp;gt;. Compute jobs must be submitted to the&lt;br /&gt;
[[bwUniCluster Batch Jobs|queueing system]]. Any compute job running on the login nodes will be terminated without any notice. Any long-running compilation or any long-running pre- or postprocessing of batch jobs must also be submitted to the [[bwUniCluster Batch Jobs|queueing system]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
&lt;br /&gt;
In contrast to the bwUniCluster 1 and many other HPC systems it is &#039;&#039;&#039;no longer possible to self-manage your SSH Keys by adding them to the ~/.ssh/authorized_keys file&#039;&#039;&#039;. Existing files will no longer be evaluated. SSH Keys have to be managed via the central bwIDM system instead. Please refer to the user guide for this functionality:&lt;br /&gt;
&lt;br /&gt;
[[bwUniCluster 2.0 User Access/SSH Keys]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= [[First_Steps_on_bwHPC_cluster|First steps on bwUniCluster]] =&lt;br /&gt;
&lt;br /&gt;
First and some important steps on bwUniCluster 2.0 can be found [[First_Steps_on_bwHPC_cluster|here]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Deregistration =&lt;br /&gt;
&lt;br /&gt;
Aka: unsubscribe from bwUniCluster mailing list&lt;br /&gt;
&lt;br /&gt;
If you plan to permanently leave the bwUniCluster 2.0, follow the deregister checklist:&lt;br /&gt;
# Transfer all your data in $HOME and workspace to your local computer/storage and after that clear off all your data&lt;br /&gt;
# Visit [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] &lt;br /&gt;
#* Select your home organization from the list and click &#039;&#039;&#039;Proceed&#039;&#039;&#039;  &lt;br /&gt;
#* Enter your home-organisational user ID / username  and your home-organisational password and click &#039;&#039;&#039;Login&#039;&#039;&#039; button&lt;br /&gt;
#* You will be redirected back to the registration website [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu/] &lt;br /&gt;
#* &amp;lt;div&amp;gt;Select &#039;&#039;&#039;Registry Info&#039;&#039;&#039; of the service &#039;&#039;&#039;bwUniCluster&#039;&#039;&#039; (on the left hand side)&amp;lt;br&amp;gt;[[File:bwUniCluster_registration_sidebar.png|center|border|]]&amp;lt;/div&amp;gt;&lt;br /&gt;
#* Click &#039;&#039;&#039;Deregister&#039;&#039;&#039;&lt;br /&gt;
Note that Step 2 will automatically unsubscribe you from the bwUniCluster mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:bwUniCluster_2.0]][[Category:Access]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_User_Access&amp;diff=9010</id>
		<title>BwUniCluster 2.0 User Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_User_Access&amp;diff=9010"/>
		<updated>2021-10-20T11:47:42Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Hostnames */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{| style=&amp;quot;border-style: solid; border-width: 1px&amp;quot;&lt;br /&gt;
! Navigation: [[BwHPC_Best_Practices_Repository|bwHPC BPR]] / [[BwUniCluster_User_Guide|bwUniCluster]] &lt;br /&gt;
|}--&amp;gt;&lt;br /&gt;
[[bwUniCluster_2.0|bwUniCluster 2.0]] is Baden-Württemberg&#039;s general purpose tier 3 high performance computing (HPC)&lt;br /&gt;
cluster co-financed by Baden-Württemberg&#039;s ministry of science, research and arts and the shareholders:&lt;br /&gt;
&lt;br /&gt;
* Albert Ludwig University of Freiburg&lt;br /&gt;
* Eberhard Karls University, Tübingen&lt;br /&gt;
* Karlsruhe Institute of Technology (KIT)&lt;br /&gt;
* Heidelberg University (Ruprecht-Karls-Universität Heidelberg)&lt;br /&gt;
* Ulm University&lt;br /&gt;
* University of Hohenheim&lt;br /&gt;
* University of Konstanz&lt;br /&gt;
* University of Mannheim&lt;br /&gt;
* University of Stuttgart&lt;br /&gt;
* HAW BW e.V. (an association of several universities of applied sciences in Baden-Württemberg, see below) &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To &#039;&#039;&#039;log on&#039;&#039;&#039; [[bwUniCluster_2.0|bwUniCluster 2.0]] a user account is required. All members of the shareholder&lt;br /&gt;
universities can apply for an account.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%; border-spacing: 5px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left; color:#000;vertical-align:top;&amp;quot; |__TOC__ &lt;br /&gt;
|&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:bwUniCluster_17Jan2014_p044-rot_t10.10.00.jpg|center|border|250px|bwUniCluster wiring by Holger Obermaier, copyright: KIT (SCC)]] &amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;bwUniCluster wiring © KIT (SCC)&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
Granting access and issuing a user account for &#039;&#039;&#039;bwUniCluster 2.0&#039;&#039;&#039; requires the registration at the KIT service website &lt;br /&gt;
* [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] (step B). &lt;br /&gt;
However, this registration depends on the &lt;br /&gt;
* &#039;&#039;&#039;bwUniCluster entitlement&#039;&#039;&#039; (step A) &lt;br /&gt;
issued by your university .&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please log in to &lt;br /&gt;
* https://bwidm.scc.kit.edu/ &lt;br /&gt;
to see a list of your entitlements. If the list contains&lt;br /&gt;
&amp;lt;pre&amp;gt; http://bwidm.de/entitlement/bwUniCluster &amp;lt;/pre&amp;gt; you already have the entitlement and can skip step A.&lt;br /&gt;
&lt;br /&gt;
== Step A: bwUniCluster entitlement for registration ==&lt;br /&gt;
&#039;&#039;&#039;The entitlement is called bwUniCluster (not bwUniCluster 2.0)&#039;&#039;&#039; and each university issues the bwUniCluster entitlement &#039;&#039;&#039;only&#039;&#039;&#039; for their own respective members. Some have established on-line processes or provide downloads of the entitlement application forms. If there is no link behind the name of an institution in the following list, please contact the local IT support services: &lt;br /&gt;
&lt;br /&gt;
* [[BwCluster_User_Access_Uni_Freiburg|Albert Ludwig University of Freiburg]]&lt;br /&gt;
* [https://bwunicluster.urz.uni-heidelberg.de/ Heidelberg University]&lt;br /&gt;
* [https://kim.uni-hohenheim.de/bwhpc-account University of Hohenheim]&lt;br /&gt;
* [http://www.scc.kit.edu/downloads/ism/Accessform_bwUniCluster_DE_EN.pdf Karlsruhe Institute of Technology (KIT)]&lt;br /&gt;
* [[BWUniCluster_User_Access_Members_Uni_Konstanz|University of Konstanz]]&lt;br /&gt;
* [[BWUniCluster_User_Access_Members_Uni_Mannheim|University of Mannheim]]&lt;br /&gt;
* [https://www.hlrs.de/solutions-services/academic-users/bwunicluster-access/ University of Stuttgart]&lt;br /&gt;
* [https://uni-tuebingen.de/de/155157 Eberhard Karls University Tübingen]&lt;br /&gt;
* [[BWUniCluster_User_Access_Members_Uni_Ulm|Ulm University]]&lt;br /&gt;
* Hochschule Aalen&lt;br /&gt;
* Hochschule Albstadt-Sigmaringen&lt;br /&gt;
* Hochschule Esslingen&lt;br /&gt;
* Hochschule Heilbronn&lt;br /&gt;
* Hochschule Karlsruhe&lt;br /&gt;
* Hochschule Konstanz&lt;br /&gt;
* Hochschule Mannheim&lt;br /&gt;
* Hochschule Offenburg&lt;br /&gt;
* Hochschule Reutlingen&lt;br /&gt;
* Hochschule Rottenburg&lt;br /&gt;
* Hochschule Stuttgart (HfT)&lt;br /&gt;
* Hochschule Ulm&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step B: Web Registration, service password and 2-factor authentication ==&lt;br /&gt;
&lt;br /&gt;
After completing step A, i.e., after successfull issueing of the bwUniCluster entitlement, you have to register yourself for the service. To do so please visit [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] and complete the following steps.&lt;br /&gt;
&lt;br /&gt;
1. Select your home organization from the list on the main page and click &#039;&#039;&#039;Proceed&#039;&#039;&#039; or &#039;&#039;&#039;Fortfahren&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwidm-register-red.png|center|border|]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. You will be directed to the &#039;&#039;Identity Provider&#039;&#039; of your home organisation. Enter the user ID / username and password of your home organisation - this is usually the same password used for your e-mail account and other services - and click on &#039;&#039;&#039;Login&#039;&#039;&#039;, &#039;&#039;&#039;Einloggen&#039;&#039;&#039; or something similar.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. You will be redirected back to the registration website [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu/]. If you are logging into bwIDM for the first time, there will be a summary screen which shows the account details your home institution is providing to the central system. Please check that all data is valid and then click on &#039;&#039;&#039;Continue&#039;&#039;&#039; or &#039;&#039;&#039;Weiter&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Once you have successfully logged into the bwIDM system, you will be greeted by a home screen showing all state-wide services you have access to. There will be a box labelled &amp;quot;bwUniCluster&amp;quot;. Click on &#039;&#039;&#039;Register&#039;&#039;&#039; or &#039;&#039;&#039;Registrieren&#039;&#039;&#039; to start the registration process.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwidm-2-red.png|center|border|]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Since August 13, 2020 a &#039;&#039;&#039;2-factor authentication&#039;&#039;&#039; mechanism (2FA) is being enforced to improve security. If you have never registered a 2FA token on bwIDM before, the following error message will appear:&lt;br /&gt;
&lt;br /&gt;
[[File:Bwidm-3-red.png|center|]]&lt;br /&gt;
&lt;br /&gt;
Click on the [https://bwidm.scc.kit.edu/user/twofa.xhtml Link] or on the &#039;&#039;&#039;My Tokens&#039;&#039;&#039; link in the main menu. The instructions for registering a new 2FA token can be found on the following page: [[bwUniCluster 2.0 User Access/2FA Tokens]]. Please complete them before proceeding.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Make sure all requirements are met by checking the &#039;&#039;&#039;Requirements&#039;&#039;&#039; box at the top. If the requirements are not met you might be able to correct the issure by following the instructions. In all other cases please [[Registration_Support_-_bwUniCluster|contact your local hotline]].&lt;br /&gt;
&lt;br /&gt;
[[File:BwUniCluster 2.0 access login bwidm registration requirements.png|center|border|]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. Read the Terms of Use (&#039;&#039;&#039;Nutzungsbedingungen und -richtlinien&#039;&#039;&#039;), check the box besides &#039;&#039;&#039;I have read and accepted the terms of use&#039;&#039;&#039; and click on &#039;&#039;&#039;Register&#039;&#039;&#039; or &#039;&#039;&#039;Registrieren&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. Set a service password for the bwUniCluster and click on &#039;&#039;&#039;Save&#039;&#039;&#039; or &#039;&#039;&#039;Speichern&#039;&#039;&#039;. Logging in with the password of your home organisation, like on the former bwUniCluster 1, is no longer possible. Please make sure to use a strong password which is different from any other password you are currently using or have used on other systems. You will also be asked to change the service password regularly.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwidm-5-red.png|center|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step C: Fill out the bwUniCluster questionnaire ==&lt;br /&gt;
&lt;br /&gt;
Filling out the bwUniCluster questionaire on&lt;br /&gt;
&lt;br /&gt;
   https://zas.bwhpc.de/shib/en/bwunicluster_survey.php&lt;br /&gt;
&lt;br /&gt;
is mandatory for all users. The input is solely used to improve our support activities and for capacity planning of future HPC resources. &#039;&#039;&#039;If the questionaire is not filled out, access to bwUniCluster 2.0 is blocked 14 days after the registration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changing the Service Password ==&lt;br /&gt;
&lt;br /&gt;
Your bwUniCluster 2.0 &#039;&#039;&#039;password&#039;&#039;&#039; is the service password you set during the web registration (compare step 7 of chapter 1.2).  At any time, you can set a new bwUniCluster 2.0 password via the registration website [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] by carrying out the following steps:&lt;br /&gt;
# Go to [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] and select your home organization &lt;br /&gt;
# Authenticate yourself via the user id / username and password provided by your home institution&lt;br /&gt;
# Find the entry &#039;&#039;&#039;bwUniCluster&#039;&#039;&#039; and select &#039;&#039;&#039;Set Service Password&#039;&#039;&#039;&lt;br /&gt;
# Enter the new password, repeat it and click &#039;&#039;&#039;Save&#039;&#039;&#039; button.&lt;br /&gt;
# If the change was sucessfull, the message &amp;quot;Das Passwort wurde bei dem Dienst geändert&amp;quot; (&amp;quot;Password has been changed&amp;quot;) will be shown&lt;br /&gt;
# Proceed to log in using the new password&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Contact / Support ==&lt;br /&gt;
If you have questions or problems concerning the bwUniCluster (2.0) registration, please [[bwUniCluster 2.0 Support|contact your local hotline]]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Establishing network access = &lt;br /&gt;
&lt;br /&gt;
Access to bwUniCluster 2.0 is &#039;&#039;&#039;limited to IP addresses from the so-called BelWü networks&#039;&#039;&#039;. All home institutions of our current users are connected to BelWue, so if you are on your campus network (e.g. in your office or on the Campus WiFi) you should be able to connect to bwUniCluster 2.0 without restrictions. If you are outside of one of the BelWue networks (e.g. in your home office instead of in your campus office), a VPN connection to your home institution has to be established first (see e.g. [1] for the KIT).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Login =&lt;br /&gt;
&lt;br /&gt;
After finishing the web registration and making sure that you are on a network from which you have access to bwUniCluster 2.0 (e.g. by establishing a VPN connection), the HPC cluster is ready for your &#039;&#039;&#039;SSH&#039;&#039;&#039; based login. Recommended SSH clients applications are:&lt;br /&gt;
&lt;br /&gt;
* the ssh (OpenSSH) command included in all Linux distributions and macOS, -in command under Linux and macOS using the application &#039;&#039;terminal&#039;&#039;&lt;br /&gt;
* [http://mobaxterm.mobatek.net/ MobaXterm] under Windows&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
The main hostname required to connect to bwUniCluster 2.0 is &#039;&#039;&#039;bwunicluster.scc.kit.edu&#039;&#039;&#039; or &#039;&#039;&#039;uc2.scc.kit.edu&#039;&#039;&#039;. The system has four login nodes and we use so-called &#039;&#039;DNS round-robin scheduling&#039;&#039; to load-balance the incoming connections between the nodes. If you open multiple SSH sessions to bwUniCluster 2.0, these sessions will be established to different login nodes, so processes started in one session might not be visible in other sessions.&lt;br /&gt;
&lt;br /&gt;
The older Broadwell extension partition of the former bwUniCluster 1 is connected to bwUniCluster 2.0.&lt;br /&gt;
&lt;br /&gt;
If you need to connect to specific login nodes, you can use the following hostnames:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hostname !! Node type&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc2-login1.scc.kit.edu&#039;&#039;&#039; || bwUniCluster 2.0, first login node&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc2-login2.scc.kit.edu&#039;&#039;&#039; || bwUniCluster 2.0, second login node&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc2-login3.scc.kit.edu&#039;&#039;&#039; || bwUniCluster 2.0, third login node&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc2-login4.scc.kit.edu&#039;&#039;&#039; || bwUniCluster 2.0, fourth login node&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Only the secure shell &#039;&#039;SSH&#039;&#039; is allowed to login. Other protocols like &#039;&#039;telnet&#039;&#039; or &#039;&#039;rlogin&#039;&#039; are not allowed for security reasons.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usernames ==&lt;br /&gt;
&lt;br /&gt;
Your username will be the same as the one provided by your home institution, but &#039;&#039;&#039;prefixed&#039;&#039;&#039; with two characters and an underscore indicating your home institution. For example: If you are a member of the university of Konstanz and your local username is ab1234, your username on bwUniCluster 2.0 is kn_ab1234.&lt;br /&gt;
&lt;br /&gt;
The following list contains all prefixes currently in use:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Home organization !! &amp;lt;UserID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Universität Freiburg || &#039;&#039;fr_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Heidelberg || &#039;&#039;hd_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Hohenheim || &#039;&#039;ho_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| KIT || username &#039;&#039;(without any prefix)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Universität Konstanz || &#039;&#039;kn_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Mannheim || &#039;&#039;ma_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Stuttgart ||  &#039;&#039;st_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Tübingen || &#039;&#039;tu_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Ulm  || &#039;&#039;ul_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Aalen || &#039;&#039;aa_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Albstadt-Sigmaringen || &#039;&#039;as_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Esslingen || &#039;&#039;es_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Heilbronn || &#039;&#039;hn_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Karlsruhe || &#039;&#039;hk_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| HTWG Konstanz || &#039;&#039;ht_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Mannheim || &#039;&#039;mn_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Offenburg || &#039;&#039;of_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Reutlingen || &#039;&#039;hr_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Rottenburg || &#039;&#039;ro_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule für Technik Stuttgart || &#039;&#039;hs_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Ulm || &#039;&#039;hu_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Client application: OpenSSH ==&lt;br /&gt;
&lt;br /&gt;
Most Unix and Unix-like operating systems like Linux, macOS and *BSD come with a built-in SSH client provided by the OpenSSH project. More recent versions of Windows 10 and the Windows Subsystem for Linux also come with a built-in OpenSSH client.&lt;br /&gt;
&lt;br /&gt;
To use this client, simply open a command line terminal (the exact process differs on every operating system, but usually involves starting an application called &#039;&#039;&#039;Terminal&#039;&#039;&#039; or &#039;&#039;&#039;Command Prompt&#039;&#039;&#039;) and enter the following command to connect to bwUniCluster 2.0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;UserID&amp;gt;@bwunicluster.scc.kit.edu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are on a Linux or Unix system running the X Window System (X11) and want to use a GUI-based application on bwUniCluster 2.0, you can use the &#039;&#039;-X&#039;&#039; option for the ssh command to set up X11 forwarding:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;UserID&amp;gt;@uc2.scc.kit.edu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Windows users requiring X11 forwarding for graphical applications should use &#039;&#039;&#039;MobaXterm&#039;&#039;&#039; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Client application: MobaXterm ==&lt;br /&gt;
&lt;br /&gt;
The bwHPC-C5 support team strongly recommends to use [http://mobaxterm.mobatek.net/ MobaXterm] instead of &#039;&#039;PuTTY&#039;&#039; or &#039;&#039;WinSCP&#039;&#039; on Windows. &#039;&#039;MobaXterm&#039;&#039; provides a built-in X11 server allowing to start GUI based software.&lt;br /&gt;
 &lt;br /&gt;
Start &#039;&#039;MobaXterm&#039;&#039;, fill in the following fields:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Remote name              : uc2.scc.kit.edu    # or uc1e.scc.kit.edu&lt;br /&gt;
Specify user name        : &amp;lt;UserID&amp;gt;&lt;br /&gt;
Port                     : 22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After that click on &#039;ok&#039;. Then a terminal will be opened and there you can enter your credentials.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Client application: FileZilla ==&lt;br /&gt;
&lt;br /&gt;
Many GUI applications that support SFTP transfers on Linux don&#039;t work well with 2-factor authentification, e.g. Nautilus and Dolphin don&#039;t support it. A good alternative for Linux is FileZilla.&lt;br /&gt;
&lt;br /&gt;
Start FileZilla, Select &amp;quot;File -&amp;gt; Site Manager...&amp;quot; from the main menu and set up a new connection with the following settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Protocol: SFTP - SSH File Transfer Protocol&lt;br /&gt;
Host: uc2.scc.kit.edu&lt;br /&gt;
Logon Typ: Interactive&lt;br /&gt;
User: &amp;lt;UserID&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then click on the &amp;quot;Connect&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
Files can be transferred between the local system and the cluster by navigating to the respective folders in the split file view and then either dragging files and folders between the views or by clicking on a file/folder with the right mouse button and then selecting &amp;quot;Upload&amp;quot; or &amp;quot;Download&amp;quot; from the menu. &lt;br /&gt;
&lt;br /&gt;
== Example login process ==&lt;br /&gt;
&lt;br /&gt;
After the connection has been initiated, a successful login process will go through the following three steps:&lt;br /&gt;
&lt;br /&gt;
1. The system asks for a &#039;&#039;&#039;One-Time Password&#039;&#039;&#039;. Generate one using the Software or Hardware Token registered on the bwIDM system (see [[bwUniCluster 2.0 User Access/2FA Tokens]]) and enter it after the &#039;&#039;&#039;Your OTP:&#039;&#039;&#039; prompt.&lt;br /&gt;
&lt;br /&gt;
2. The systems asks for your service password. Enter it after the &#039;&#039;&#039;Password:&#039;&#039;&#039; prompt.&lt;br /&gt;
&lt;br /&gt;
3. You are greeted by the bwUniCluster 2.0 banner followed by a shell.&lt;br /&gt;
&lt;br /&gt;
The result should look like this:&lt;br /&gt;
&lt;br /&gt;
[[File:BwUniCluster 2.0 access login example.png|center|]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issue: The &amp;quot;Your OTP:&amp;quot; prompt never appears and the connection hangs/times out instead&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Likely cause: You are most likely not on a network from which access to the bwUniCluster 2.0 system is allowed. Please check if you might have to establish a VPN connection first.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issue: The system asks for the One-Time Password multiple times&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Likely cause: Make sure you are using the correct Software Token to generate the One-Time Password.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issue: The system asks for the service password multiple times&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Likely cause: Make sure you are using the service password set on bwIDM and not the password valid for your home institution. Unlike the bwUniCluster 1, the bwUniCluster 2.0 only accepts the service password.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issue: There is an error message by the pam_ses_open.sh skript&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Likely cause: Your account is in the &amp;quot;LOST_ACCESS&amp;quot; state because the entitlement is no longer valid, the questionaire was not filled out or there was a problem during the communication between your home institution and the central bwIDM system. Please try the following steps:&lt;br /&gt;
&lt;br /&gt;
* Log into [https://bwidm.scc.kit.edu bwIDM], look for the bwUniCluster entry and click on &#039;&#039;&#039;Registry info&#039;&#039;&#039;. Your &amp;quot;Status:&amp;quot; should be &amp;quot;ACTIVE&amp;quot;. If it is not, please wait for ten minutes since logging into the bwIDM causes a refresh and the problem might fix itself. If the status does not change to ACTIVE after a longer amount of time, please contact the support channels.&lt;br /&gt;
&lt;br /&gt;
* If you have not filled out the questionaire, please do so on [https://zas.bwhpc.de/shib/en/bwunicluster_survey.php    https://zas.bwhpc.de/shib/en/bwunicluster_survey.php] and then wait for about ten minutes before attempting to log into the HPC system again.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allowed activities on login nodes ==&lt;br /&gt;
&lt;br /&gt;
The login nodes of bwUniCluster 2.0 are the access point to the compute system and to your bwUniCluster 2.0 $HOME directory. The login nodes are shared with all the users of bwUniCluster 2.0. Therefore, your activities on the login nodes are limited to primarily set up your batch jobs. Your activities may also be:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;short&#039;&#039;&#039; compilation of your program code and&lt;br /&gt;
* &#039;&#039;&#039;short&#039;&#039;&#039; pre- and postprocessing of your batch jobs.&lt;br /&gt;
&lt;br /&gt;
To guarantee usability for all the users of bwUniCluster 2.0 &amp;lt;span style=&amp;quot;color:red;font-size:100%;&amp;quot;&amp;gt;&#039;&#039;&#039;you must not run your compute jobs on the login nodes&#039;&#039;&#039;&amp;lt;/span&amp;gt;. Compute jobs must be submitted to the&lt;br /&gt;
[[bwUniCluster Batch Jobs|queueing system]]. Any compute job running on the login nodes will be terminated without any notice. Any long-running compilation or any long-running pre- or postprocessing of batch jobs must also be submitted to the [[bwUniCluster Batch Jobs|queueing system]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
&lt;br /&gt;
In contrast to the bwUniCluster 1 and many other HPC systems it is &#039;&#039;&#039;no longer possible to self-manage your SSH Keys by adding them to the ~/.ssh/authorized_keys file&#039;&#039;&#039;. Existing files will no longer be evaluated. SSH Keys have to be managed via the central bwIDM system instead. Please refer to the user guide for this functionality:&lt;br /&gt;
&lt;br /&gt;
[[bwUniCluster 2.0 User Access/SSH Keys]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= [[First_Steps_on_bwHPC_cluster|First steps on bwUniCluster]] =&lt;br /&gt;
&lt;br /&gt;
First and some important steps on bwUniCluster 2.0 can be found [[First_Steps_on_bwHPC_cluster|here]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Deregistration =&lt;br /&gt;
&lt;br /&gt;
Aka: unsubscribe from bwUniCluster mailing list&lt;br /&gt;
&lt;br /&gt;
If you plan to permanently leave the bwUniCluster 2.0, follow the deregister checklist:&lt;br /&gt;
# Transfer all your data in $HOME and workspace to your local computer/storage and after that clear off all your data&lt;br /&gt;
# Visit [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] &lt;br /&gt;
#* Select your home organization from the list and click &#039;&#039;&#039;Proceed&#039;&#039;&#039;  &lt;br /&gt;
#* Enter your home-organisational user ID / username  and your home-organisational password and click &#039;&#039;&#039;Login&#039;&#039;&#039; button&lt;br /&gt;
#* You will be redirected back to the registration website [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu/] &lt;br /&gt;
#* &amp;lt;div&amp;gt;Select &#039;&#039;&#039;Registry Info&#039;&#039;&#039; of the service &#039;&#039;&#039;bwUniCluster&#039;&#039;&#039; (on the left hand side)&amp;lt;br&amp;gt;[[File:bwUniCluster_registration_sidebar.png|center|border|]]&amp;lt;/div&amp;gt;&lt;br /&gt;
#* Click &#039;&#039;&#039;Deregister&#039;&#039;&#039;&lt;br /&gt;
Note that Step 2 will automatically unsubscribe you from the bwUniCluster mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:bwUniCluster_2.0]][[Category:Access]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=9007</id>
		<title>BwUniCluster2.0/Maintenance/2021-10</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=9007"/>
		<updated>2021-10-15T08:22:35Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following changes have been introduced during the maintenance interval between on 11.10.2021 (Monday) 08:00 and 15.10.2020 (Friday) 12:00.&lt;br /&gt;
&lt;br /&gt;
The host key of the system have not changed. You should not receive any warnings by your SSH client(s), but if there should be a warning or if you want to check that you are connecting to the correct system, you can verify the key hashes using the following list:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Algorithm&lt;br /&gt;
! Hash (SHA256)&lt;br /&gt;
! Hash (MD5)&lt;br /&gt;
|-&lt;br /&gt;
|RSA&lt;br /&gt;
|p6Ion2YKZr5cnzf6L6DS1xGnIwnC1BhLbOEmDdp7FA0&lt;br /&gt;
|59:2a:67:44:4a:d7:89:6c:c0:0d:74:ba:3c:c4:63:6d&lt;br /&gt;
|-&lt;br /&gt;
|ECDSA&lt;br /&gt;
|k8l1JnfLf1y1Qi55IQmo11+/NZx06Rbze7akT5R7tE8&lt;br /&gt;
|85:d4:d9:97:e0:f0:43:30:6e:66:8e:d0:b6:9b:85:d1&lt;br /&gt;
|-&lt;br /&gt;
|ED25519&lt;br /&gt;
|yEe5nJ5hZZ1YbgieWr+phqRZKYbrV7zRe8OR3X03cn0&lt;br /&gt;
|42:d2:0d:ab:87:48:fc:1d:5d:b3:7c:bf:22:c3:5f:b7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware = &lt;br /&gt;
&lt;br /&gt;
* The Broadwell Login nodes (uc1e.scc.kit.edu) have been taken out of service due to ongoing hardware and software issues and low utilisation. It is still possible to generate code for the Broadwell nodes using the compilers installed on the normal login nodes, or by starting an interactive job on the Broadwell compute nodes.&lt;br /&gt;
&lt;br /&gt;
* All firmware versions on all components have been upgraded.&lt;br /&gt;
&lt;br /&gt;
= Operating system =&lt;br /&gt;
&lt;br /&gt;
* The operating system version is still based on Red Hat Enterprise Linux (RHEL) 8.2.&lt;br /&gt;
&lt;br /&gt;
= Compilers, Libaries and Runtime Environments =&lt;br /&gt;
&lt;br /&gt;
* The modules below toolkit/oneAPI have been integrated into the normal module structure.&lt;br /&gt;
&lt;br /&gt;
* Intel oneAPI versions 2021.1.0 to 2021.3.0 have been replaced by the current version 2021.4.0.&lt;br /&gt;
&lt;br /&gt;
* The obsolete Intel compiler version 18.0 has been removed. The officially supported Intel Compiler versions are now 19.0, 19.1 and 2021.4.0 (oneAPI). The latest version, namely 2021.4.0, has become the default compiler.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note that Intel Compiler Version 2021.4.0 is delivered as part of oneAPI in two different versions&#039;&#039;&#039;. The so-called Classic Compilers are based on the previous Intel Compilers. The next generation of Intel Compilers, on the other hand, is based on LLVM and, according to Intel&#039;s current plans, will replace the Classic Compilers in the medium term (see [https://software.intel.com/content/www/us/en/develop/blogs/adoption-of-llvm-complete-icx.html]). The new LLVM-based compilers support additional features that the Classic Compilers didn&#039;t, e.g. offloading to GPUs.&lt;br /&gt;
&lt;br /&gt;
The Classic compilers are available via the &#039;&#039;compiler/intel/2021.4.0&#039;&#039; module and are marked as default. The LLVM-based compilers are available via the &#039;&#039;compiler/intel/2021.4.0_llvm&#039;&#039; module and are not marked as default.&lt;br /&gt;
&lt;br /&gt;
We recommend to start testing the new LLVM-based compilers now. Please note that they accept different command line arguments than the Classic compilers and produce different compiler messages. You may therefore have to modify your build scripts. If you do not use environment variables like CC, CXX etc., you also have to keep in mind that the LLVM-based compilers use different names for the commands (&#039;&#039;icx&#039;&#039;, &#039;&#039;ipcx&#039;&#039;, &#039;&#039;dpcpp&#039;&#039;). Further information can be found, for example, at [https://software.intel.com/content/www/us/en/develop/documentation/oneapi-dpcpp-cpp-compiler-dev-guide-and-reference/top/compiler-setup/using-the-command-line/invoking-the-compiler.html].&lt;br /&gt;
&lt;br /&gt;
= Userspace tools =&lt;br /&gt;
&lt;br /&gt;
* The workspace tools have been switched to a different, more modern implementation. The workspace management commands have not changed, and all existing workspaces have been converted automatically, but the new commands produce slightly different messages on the command line. You may therefore have to modify your build scripts.&lt;br /&gt;
&lt;br /&gt;
= Software Modules =&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;math/R&#039;&#039; software module has been updated to the latest version 4.1.x.&lt;br /&gt;
&lt;br /&gt;
= Batch system =&lt;br /&gt;
&lt;br /&gt;
* The Slurm version has been update to 20.11.5, the same version currently being used on HoreKa.&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
&lt;br /&gt;
* The Lustre file systems have been updated.&lt;br /&gt;
&lt;br /&gt;
= Graphics stack =&lt;br /&gt;
&lt;br /&gt;
* The NVIDIA driver has been updated to version 470.57.02.&lt;br /&gt;
&lt;br /&gt;
= Containers =&lt;br /&gt;
&lt;br /&gt;
* Enroot has been updated to version 3.3.1.&lt;br /&gt;
&lt;br /&gt;
* Singularity has been updated to version 3.8.3.&lt;br /&gt;
&lt;br /&gt;
= JupyterHub = &lt;br /&gt;
&lt;br /&gt;
* The JupyterHub version has been updated to version 1.4.2.&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8983</id>
		<title>BwUniCluster2.0/Maintenance/2021-10</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8983"/>
		<updated>2021-09-29T08:24:44Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Operating system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following changes are currently planned for the maintenance interval starting on 11.10.2021 (Monday) at 8 AM and ending on 15.10.2020 (Friday) at 12 AM.&lt;br /&gt;
&lt;br /&gt;
This list will be extended and specified in the next days and weeks and is subject to change&lt;br /&gt;
&lt;br /&gt;
= Hardware = &lt;br /&gt;
&lt;br /&gt;
* The Broadwell Login nodes (uc1e.scc.kit.edu) will be taken out of service permanently due to ongoing hardware and software issues and low utilisation. It is still possible to generate code for the Broadwell nodes using the compilers installed on the normal login nodes, or by starting an interactive job on the Broadwell compute nodes.&lt;br /&gt;
&lt;br /&gt;
* All firmware versions on all components will be upgraded.&lt;br /&gt;
&lt;br /&gt;
= Operating system =&lt;br /&gt;
&lt;br /&gt;
* The operating system version will continue to be based on Red Hat Enterprise Linux (RHEL) 8.2.&lt;br /&gt;
&lt;br /&gt;
= Compilers, Libaries and Runtime Environments =&lt;br /&gt;
&lt;br /&gt;
= Development tools =&lt;br /&gt;
&lt;br /&gt;
= Userspace tools =&lt;br /&gt;
&lt;br /&gt;
* The workspace tools will be switched to a different, more modern implementation. The workspace management commands will not change, and all existing workspaces will be converted automatically.&lt;br /&gt;
&lt;br /&gt;
= Software Modules =&lt;br /&gt;
&lt;br /&gt;
The following list it not exhaustive.&lt;br /&gt;
&lt;br /&gt;
* Update math/R software module to latest version 4.1.x.&lt;br /&gt;
&lt;br /&gt;
= Batch system =&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
&lt;br /&gt;
* Upgrade of the Lustre file systems&lt;br /&gt;
&lt;br /&gt;
= Graphics stack =&lt;br /&gt;
&lt;br /&gt;
* The NVIDIA driver will be updated to the most recent version available.&lt;br /&gt;
&lt;br /&gt;
= Containers =&lt;br /&gt;
&lt;br /&gt;
= JupyterHub = &lt;br /&gt;
&lt;br /&gt;
* The JupyterHub version will be updated to a more recent version.&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8982</id>
		<title>BwUniCluster2.0/Maintenance/2021-10</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8982"/>
		<updated>2021-09-29T07:25:55Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Userspace tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following changes are currently planned for the maintenance interval starting on 11.10.2021 (Monday) at 8 AM and ending on 15.10.2020 (Friday) at 12 AM.&lt;br /&gt;
&lt;br /&gt;
This list will be extended and specified in the next days and weeks and is subject to change&lt;br /&gt;
&lt;br /&gt;
= Hardware = &lt;br /&gt;
&lt;br /&gt;
* The Broadwell Login nodes (uc1e.scc.kit.edu) will be taken out of service permanently due to ongoing hardware and software issues and low utilisation. It is still possible to generate code for the Broadwell nodes using the compilers installed on the normal login nodes, or by starting an interactive job on the Broadwell compute nodes.&lt;br /&gt;
&lt;br /&gt;
* All firmware versions on all components will be upgraded.&lt;br /&gt;
&lt;br /&gt;
= Operating system =&lt;br /&gt;
&lt;br /&gt;
* The operating system version may be upgraded to Red Hat Enterprise Linux (RHEL) 8.4. Should this happen we recommend to re-compile all applications after the upgrade.&lt;br /&gt;
&lt;br /&gt;
= Compilers, Libaries and Runtime Environments =&lt;br /&gt;
&lt;br /&gt;
= Development tools =&lt;br /&gt;
&lt;br /&gt;
= Userspace tools =&lt;br /&gt;
&lt;br /&gt;
* The workspace tools will be switched to a different, more modern implementation. The workspace management commands will not change, and all existing workspaces will be converted automatically.&lt;br /&gt;
&lt;br /&gt;
= Software Modules =&lt;br /&gt;
&lt;br /&gt;
The following list it not exhaustive.&lt;br /&gt;
&lt;br /&gt;
* Update math/R software module to latest version 4.1.x.&lt;br /&gt;
&lt;br /&gt;
= Batch system =&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
&lt;br /&gt;
* Upgrade of the Lustre file systems&lt;br /&gt;
&lt;br /&gt;
= Graphics stack =&lt;br /&gt;
&lt;br /&gt;
* The NVIDIA driver will be updated to the most recent version available.&lt;br /&gt;
&lt;br /&gt;
= Containers =&lt;br /&gt;
&lt;br /&gt;
= JupyterHub = &lt;br /&gt;
&lt;br /&gt;
* The JupyterHub version will be updated to a more recent version.&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Category:BwUniCluster_2.0&amp;diff=8981</id>
		<title>Category:BwUniCluster 2.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Category:BwUniCluster_2.0&amp;diff=8981"/>
		<updated>2021-09-27T08:03:50Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&amp;lt;span style=&amp;quot;color:red;font-size:105%;&amp;quot;&amp;gt;Important note: bwUniCluster is &#039;&#039;&#039;not&#039;&#039;&#039; in production mode yet.&amp;lt;/span&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%; border-spacing: 5px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;font-size:75%;&amp;quot; |&lt;br /&gt;
[[File:BwUniCluster_2.0_Feb2020.jpg|center|border|550px|Close-up of bwUniCluster by Simon Raffeiner, Copyright: KIT (SCC)]] &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;&amp;quot; |&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Close-up of bwUniCluster © KIT (Simon Raffeiner/SCC)&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
On 17.03.2020, the Steinbuch Centre for Computing (SCC) at Karlsruhe Institute of Technology (KIT) commissioned a new parallel computer system called &amp;quot;bwUniCluster 2.0+GFB-HPC&amp;quot; as a state service within the bwHPC framework. The bwUniCluster 2.0 replaces the predecessor system [[bwUniCluster]] and also includes the additional compute nodes which were procured as an extension to the bwUniCluster in November 2016.&lt;br /&gt;
&lt;br /&gt;
The modern bwUniCluster 2.0 system consists of more than 840 SMP nodes with 64-bit Intel Xeon processors. It provides the universities of the state of Baden-Württemberg with general compute resources and can be used free of charge by the staff of all universities in Baden-Württemberg. Users who currently have access to bwUniCluster will automatically also have access to bwUniCluster 2.0. There is no need to apply for new entitlements or to re-register.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- One column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; border:1px solid #BBBBBB; background:lightyellow; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{yellow}}| Next maintenance&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Due to regular maintenance work the HPC system bwUniCluster 2.0 will not be available from&lt;br /&gt;
&lt;br /&gt;
11.10.2021 at 08:00 AM until 15.10.2021 at 12:00 AM&lt;br /&gt;
&lt;br /&gt;
Please see the [[BwUniCluster_2.0_Maintenance/2021-10|maintenance page]] for more information about planned upgrades and other changes.&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- One column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; border:1px solid #BBBBBB; background:#fff5fa; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Red}}| New security measures&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
On 13.08.2020 at 10 AM the following changes to the security policies will take effect:&lt;br /&gt;
&lt;br /&gt;
* For authentication, the use of a second factor (2-factor authentication) in addition to the service password will be mandatory. [[BwUniCluster 2.0 User Access/2FA Tokens|You can find the user documentation for this function  here]].&lt;br /&gt;
&lt;br /&gt;
* The use of SSH keys will be possible again. However, these can no longer be managed via the authorized_keys files, but only centrally via bwIDM. [[BwUniCluster 2.0 User Access/SSH Keys|You can find the user documentation for this function here]].&lt;br /&gt;
&lt;br /&gt;
The following restrictions still apply:&lt;br /&gt;
&lt;br /&gt;
* Access is limited to IP addresses from within the campus networks of the respective home institutions of our current users. If you are outside of one of these networks (e.g. in your home office), a VPN connection to your home institution has to be established first (see e.g. [https://www.scc.kit.edu/dienste/openvpn.php] for the KIT).&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Two-column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%; border:1px solid #BBBBBB; background:#f5fffa; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Access&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* bwUniCluster [[BwUniCluster_2.0_User_Access|Registration and Login]]&lt;br /&gt;
* Registration [[bwUniCluster 2.0 Support|trouble issues]] &amp;amp;  [[BwUniCluster_2.0_User_Access#Deregistration|Deregistration]]&lt;br /&gt;
* [[First_Steps_on_bwHPC_cluster|First steps on bwUniCluster]]&lt;br /&gt;
* [[Jupyter_at_SCC|Access with Jupyter]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Software&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Software|Software and Environment Modules]]&lt;br /&gt;
* [[Containers|Using Containers]]&lt;br /&gt;
|}&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Hardware&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Hardware_and_Architecture|Hardware and Architecture]]&lt;br /&gt;
* [[BwUniCluster_2.0_Hardware_and_Architecture#File_Systems|File Systems]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;padding:2px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; border:1px solid #BBBBBB; background:#f5faff; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| Batch/Compute Jobs&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Slurm_common_Features|Slurm common Features]]&lt;br /&gt;
* [[BwUniCluster_2.0_Batch_Queues|Batch Queues and interactive Jobs]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| [[BwHPC_Best_Practices_Repository|bwHPC Best Practice Guides]] / FAQs&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;!-- * [[Compiler]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Debugger]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Numerical Libraries]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Parallel Programming]] --&amp;gt;&lt;br /&gt;
* [[FAQ - bwUniCluster_broadwell_partition|FAQ - bwUniCluster 2.0 Broadwell partition]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| Miscellaneous&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [[bwUniCluster_Acknowledgement|Acknowledgement]] of work performed on bwUniCluster (2.0)&lt;br /&gt;
* [[BwUniCluster_2.0_File_System_Migration_Guide|File system migration guide]] and [[BwUniCluster_2.0_Batch_System_Migration_Guide|Batch system migration guide]] for users migrating from the former bwUniCluster 1&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Category:bwHPC_infrastructure]][[Category:bwHPC_Cluster]][[Category:bwCluster]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Category:BwUniCluster_2.0&amp;diff=8980</id>
		<title>Category:BwUniCluster 2.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Category:BwUniCluster_2.0&amp;diff=8980"/>
		<updated>2021-09-27T08:03:40Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&amp;lt;span style=&amp;quot;color:red;font-size:105%;&amp;quot;&amp;gt;Important note: bwUniCluster is &#039;&#039;&#039;not&#039;&#039;&#039; in production mode yet.&amp;lt;/span&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%; border-spacing: 5px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;font-size:75%;&amp;quot; |&lt;br /&gt;
[[File:BwUniCluster_2.0_Feb2020.jpg|center|border|550px|Close-up of bwUniCluster by Simon Raffeiner, Copyright: KIT (SCC)]] &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;&amp;quot; |&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Close-up of bwUniCluster © KIT (Simon Raffeiner/SCC)&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
On 17.03.2020, the Steinbuch Centre for Computing (SCC) at Karlsruhe Institute of Technology (KIT) commissioned a new parallel computer system called &amp;quot;bwUniCluster 2.0+GFB-HPC&amp;quot; as a state service within the bwHPC framework. The bwUniCluster 2.0 replaces the predecessor system [[bwUniCluster]] and also includes the additional compute nodes which were procured as an extension to the bwUniCluster in November 2016.&lt;br /&gt;
&lt;br /&gt;
The modern bwUniCluster 2.0 system consists of more than 840 SMP nodes with 64-bit Intel Xeon processors. It provides the universities of the state of Baden-Württemberg with general compute resources and can be used free of charge by the staff of all universities in Baden-Württemberg. Users who currently have access to bwUniCluster will automatically also have access to bwUniCluster 2.0. There is no need to apply for new entitlements or to re-register.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- One column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; border:1px solid #BBBBBB; background:lightyellow; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{yellow}}| Next maintenance&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Due to regular maintenance work the HPC system bwUniCluster 2.0 will not be available from&lt;br /&gt;
&lt;br /&gt;
  11.10.2021 at 08:00 AM until 15.10.2021 at 12:00 AM&lt;br /&gt;
&lt;br /&gt;
Please see the [[BwUniCluster_2.0_Maintenance/2021-10|maintenance page]] for more information about planned upgrades and other changes.&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- One column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; border:1px solid #BBBBBB; background:#fff5fa; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Red}}| New security measures&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
On 13.08.2020 at 10 AM the following changes to the security policies will take effect:&lt;br /&gt;
&lt;br /&gt;
* For authentication, the use of a second factor (2-factor authentication) in addition to the service password will be mandatory. [[BwUniCluster 2.0 User Access/2FA Tokens|You can find the user documentation for this function  here]].&lt;br /&gt;
&lt;br /&gt;
* The use of SSH keys will be possible again. However, these can no longer be managed via the authorized_keys files, but only centrally via bwIDM. [[BwUniCluster 2.0 User Access/SSH Keys|You can find the user documentation for this function here]].&lt;br /&gt;
&lt;br /&gt;
The following restrictions still apply:&lt;br /&gt;
&lt;br /&gt;
* Access is limited to IP addresses from within the campus networks of the respective home institutions of our current users. If you are outside of one of these networks (e.g. in your home office), a VPN connection to your home institution has to be established first (see e.g. [https://www.scc.kit.edu/dienste/openvpn.php] for the KIT).&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Two-column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%; border:1px solid #BBBBBB; background:#f5fffa; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Access&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* bwUniCluster [[BwUniCluster_2.0_User_Access|Registration and Login]]&lt;br /&gt;
* Registration [[bwUniCluster 2.0 Support|trouble issues]] &amp;amp;  [[BwUniCluster_2.0_User_Access#Deregistration|Deregistration]]&lt;br /&gt;
* [[First_Steps_on_bwHPC_cluster|First steps on bwUniCluster]]&lt;br /&gt;
* [[Jupyter_at_SCC|Access with Jupyter]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Software&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Software|Software and Environment Modules]]&lt;br /&gt;
* [[Containers|Using Containers]]&lt;br /&gt;
|}&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Hardware&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Hardware_and_Architecture|Hardware and Architecture]]&lt;br /&gt;
* [[BwUniCluster_2.0_Hardware_and_Architecture#File_Systems|File Systems]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;padding:2px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; border:1px solid #BBBBBB; background:#f5faff; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| Batch/Compute Jobs&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Slurm_common_Features|Slurm common Features]]&lt;br /&gt;
* [[BwUniCluster_2.0_Batch_Queues|Batch Queues and interactive Jobs]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| [[BwHPC_Best_Practices_Repository|bwHPC Best Practice Guides]] / FAQs&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;!-- * [[Compiler]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Debugger]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Numerical Libraries]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Parallel Programming]] --&amp;gt;&lt;br /&gt;
* [[FAQ - bwUniCluster_broadwell_partition|FAQ - bwUniCluster 2.0 Broadwell partition]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| Miscellaneous&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [[bwUniCluster_Acknowledgement|Acknowledgement]] of work performed on bwUniCluster (2.0)&lt;br /&gt;
* [[BwUniCluster_2.0_File_System_Migration_Guide|File system migration guide]] and [[BwUniCluster_2.0_Batch_System_Migration_Guide|Batch system migration guide]] for users migrating from the former bwUniCluster 1&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Category:bwHPC_infrastructure]][[Category:bwHPC_Cluster]][[Category:bwCluster]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8979</id>
		<title>BwUniCluster2.0/Maintenance/2021-10</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8979"/>
		<updated>2021-09-22T11:30:41Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following changes are currently planned for the maintenance interval starting on 11.10.2021 (Monday) at 8 AM and ending on 15.10.2020 (Friday) at 12 AM.&lt;br /&gt;
&lt;br /&gt;
This list will be extended and specified in the next days and weeks and is subject to change&lt;br /&gt;
&lt;br /&gt;
= Hardware = &lt;br /&gt;
&lt;br /&gt;
* The Broadwell Login nodes (uc1e.scc.kit.edu) will be taken out of service permanently due to ongoing hardware and software issues and low utilisation. It is still possible to generate code for the Broadwell nodes using the compilers installed on the normal login nodes, or by starting an interactive job on the Broadwell compute nodes.&lt;br /&gt;
&lt;br /&gt;
* All firmware versions on all components will be upgraded.&lt;br /&gt;
&lt;br /&gt;
= Operating system =&lt;br /&gt;
&lt;br /&gt;
* The operating system version may be upgraded to Red Hat Enterprise Linux (RHEL) 8.4. Should this happen we recommend to re-compile all applications after the upgrade.&lt;br /&gt;
&lt;br /&gt;
= Compilers, Libaries and Runtime Environments =&lt;br /&gt;
&lt;br /&gt;
= Development tools =&lt;br /&gt;
&lt;br /&gt;
= Userspace tools =&lt;br /&gt;
&lt;br /&gt;
* The workspace tools will be switched to a different, more modern implementation. The workspace management commands will not change, but currently it is still being clarified how existing workspaces will be handled.&lt;br /&gt;
&lt;br /&gt;
= Software Modules =&lt;br /&gt;
&lt;br /&gt;
The following list it not exhaustive.&lt;br /&gt;
&lt;br /&gt;
* Update math/R software module to latest version 4.1.x.&lt;br /&gt;
&lt;br /&gt;
= Batch system =&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
&lt;br /&gt;
* Upgrade of the Lustre file systems&lt;br /&gt;
&lt;br /&gt;
= Graphics stack =&lt;br /&gt;
&lt;br /&gt;
* The NVIDIA driver will be updated to the most recent version available.&lt;br /&gt;
&lt;br /&gt;
= Containers =&lt;br /&gt;
&lt;br /&gt;
= JupyterHub = &lt;br /&gt;
&lt;br /&gt;
* The JupyterHub version will be updated to a more recent version.&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8975</id>
		<title>BwUniCluster2.0/Maintenance/2021-10</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8975"/>
		<updated>2021-09-01T11:24:13Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following changes are currently planned for the maintenance interval starting on 11.10.2021 (Monday) at 8 AM and ending on 15.10.2020 (Friday) at 12 AM.&lt;br /&gt;
&lt;br /&gt;
This list will be extended and specified in the next days and weeks and is subject to change&lt;br /&gt;
&lt;br /&gt;
= Operating system =&lt;br /&gt;
&lt;br /&gt;
* The operating system version is planned to be upgraded to Red Hat Enterprise Linux (RHEL) 8.4. We recommend to re-compile all applications after the upgrade.&lt;br /&gt;
&lt;br /&gt;
= Compilers, Libaries and Runtime Environments =&lt;br /&gt;
&lt;br /&gt;
= Development tools =&lt;br /&gt;
&lt;br /&gt;
= Userspace tools =&lt;br /&gt;
&lt;br /&gt;
* The workspace tools will be switched to a different, more modern implementation. The workspace management commands will not change, but currently it is still being clarified how existing workspaces will be handled.&lt;br /&gt;
&lt;br /&gt;
= Software Modules =&lt;br /&gt;
&lt;br /&gt;
The following list it not exhaustive.&lt;br /&gt;
&lt;br /&gt;
* Update math/R software module to latest version 4.1.x.&lt;br /&gt;
&lt;br /&gt;
= Batch system =&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
&lt;br /&gt;
* Upgrade of the Lustre file systems&lt;br /&gt;
&lt;br /&gt;
= Graphics stack =&lt;br /&gt;
&lt;br /&gt;
= Containers =&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8973</id>
		<title>BwUniCluster2.0/Maintenance/2021-10</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8973"/>
		<updated>2021-08-20T11:28:23Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Storage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following changes are currently planned for the maintenance interval starting on 11.10.2021 (Monday) at 8 AM and ending on 15.10.2020 (Friday) at 12 AM.&lt;br /&gt;
&lt;br /&gt;
This list will be extended and specified in the next days and weeks and is subject to change&lt;br /&gt;
&lt;br /&gt;
= Operating system =&lt;br /&gt;
&lt;br /&gt;
* The operating system version will be upgraded to Red Hat Enterprise Linux (RHEL) 8.4. We recommend to re-compile all applications after the upgrade.&lt;br /&gt;
&lt;br /&gt;
= Compilers, Libaries and Runtime Environments =&lt;br /&gt;
&lt;br /&gt;
= Development tools =&lt;br /&gt;
&lt;br /&gt;
= Userspace tools =&lt;br /&gt;
&lt;br /&gt;
* The workspace tools will be switched to a different, more modern implementation. The workspace management commands will not change, but currently it is still being clarified how existing workspaces will be handled.&lt;br /&gt;
&lt;br /&gt;
= Software Modules =&lt;br /&gt;
&lt;br /&gt;
The following list it not exhaustive.&lt;br /&gt;
&lt;br /&gt;
= Batch system =&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
&lt;br /&gt;
* Upgrade of the Lustre file systems&lt;br /&gt;
&lt;br /&gt;
= Graphics stack =&lt;br /&gt;
&lt;br /&gt;
= Containers =&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance&amp;diff=8972</id>
		<title>BwUniCluster2.0/Maintenance</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance&amp;diff=8972"/>
		<updated>2021-08-20T11:26:01Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 2020 =&lt;br /&gt;
&lt;br /&gt;
[[BwUniCluster 2.0 Maintenance/2020-10]] from 06.10.2020 to 13.10.2020&lt;br /&gt;
&lt;br /&gt;
[[BwUniCluster 2.0 Maintenance/2021-10]] from 11.10.2021 to 15.10.2021&lt;br /&gt;
&lt;br /&gt;
[[Category:BwUniCluster 2.0]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8971</id>
		<title>BwUniCluster2.0/Maintenance/2021-10</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8971"/>
		<updated>2021-08-20T11:21:29Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following changes are currently planned for the maintenance interval starting on 11.10.2021 (Monday) at 8 AM and ending on 15.10.2020 (Friday) at 12 AM.&lt;br /&gt;
&lt;br /&gt;
This list will be extended and specified in the next days and weeks and is subject to change&lt;br /&gt;
&lt;br /&gt;
= Operating system =&lt;br /&gt;
&lt;br /&gt;
* The operating system version will be upgraded to Red Hat Enterprise Linux (RHEL) 8.4. We recommend to re-compile all applications after the upgrade.&lt;br /&gt;
&lt;br /&gt;
= Compilers, Libaries and Runtime Environments =&lt;br /&gt;
&lt;br /&gt;
= Development tools =&lt;br /&gt;
&lt;br /&gt;
= Userspace tools =&lt;br /&gt;
&lt;br /&gt;
* The workspace tools will be switched to a different, more modern implementation. The workspace management commands will not change, but currently it is still being clarified how existing workspaces will be handled.&lt;br /&gt;
&lt;br /&gt;
= Software Modules =&lt;br /&gt;
&lt;br /&gt;
The following list it not exhaustive.&lt;br /&gt;
&lt;br /&gt;
= Batch system =&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
&lt;br /&gt;
= Graphics stack =&lt;br /&gt;
&lt;br /&gt;
= Containers =&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8970</id>
		<title>BwUniCluster2.0/Maintenance/2021-10</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8970"/>
		<updated>2021-08-20T11:13:50Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following changes are planned for the maintenance interval starting on 11.10.2021 (Monday) at 8 AM and ending on 15.10.2020 (Friday) at 12 AM.&lt;br /&gt;
&lt;br /&gt;
= Operating system =&lt;br /&gt;
&lt;br /&gt;
* The operating system version will be upgraded to Red Hat Enterprise Linux (RHEL) 8.4. We recommend to re-compile all applications after the upgrade.&lt;br /&gt;
&lt;br /&gt;
= Compilers, Libaries and Runtime Environments =&lt;br /&gt;
&lt;br /&gt;
= Development tools =&lt;br /&gt;
&lt;br /&gt;
= Userspace tools =&lt;br /&gt;
&lt;br /&gt;
= Software Modules =&lt;br /&gt;
&lt;br /&gt;
The following list it not exhaustive.&lt;br /&gt;
&lt;br /&gt;
= Batch system =&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
&lt;br /&gt;
= Graphics stack =&lt;br /&gt;
&lt;br /&gt;
= Containers =&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8969</id>
		<title>BwUniCluster2.0/Maintenance/2021-10</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Maintenance/2021-10&amp;diff=8969"/>
		<updated>2021-08-20T11:01:21Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: Created page with &amp;quot;= A =&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= A =&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Support&amp;diff=8967</id>
		<title>BwUniCluster2.0/Support</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Support&amp;diff=8967"/>
		<updated>2021-08-04T11:56:45Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registration ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top;background:#f5fffa;border:2px solid #000000;&amp;quot;&lt;br /&gt;
| The primary support channel for all inquiries is the ticket system at&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[https://bw-support.scc.kit.edu/ bwSupport Portal]&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are having issues connected to your local home institution, e.g. getting the entitlement for registration on bwUniCluster 2.0, you may also contact your local hotline:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! University !! Hotline&lt;br /&gt;
|-&lt;br /&gt;
| Albert Ludwig University of Freiburg  ||  hpc-support (ät) hpc.uni-freiburg.de &lt;br /&gt;
|-&lt;br /&gt;
| Eberhard Karls University, Tübingen || hpcmaster (ät) uni-tuebingen.de&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Esslingen || cluster-support (ät) hs-esslingen.de&lt;br /&gt;
|-&lt;br /&gt;
| Karlsruhe Institute of Technology || servicedesk (ät) scc.kit.edu&lt;br /&gt;
|-&lt;br /&gt;
| Ruprecht-Karls-Universität Heidelberg || hpc-support (ät) urz.uni-heidelberg.de&lt;br /&gt;
|-&lt;br /&gt;
| Ulm University || helpdesk (ät) uni-ulm.de &lt;br /&gt;
|-&lt;br /&gt;
| University of Hohenheim || kim-bw-projekt (ät) uni-hohenheim.de &lt;br /&gt;
|-&lt;br /&gt;
| University of Konstanz || support (ät) uni-konstanz.de &lt;br /&gt;
|-&lt;br /&gt;
| University of Mannheim ||hpc-support (ät) mailman.uni-mannheim.de &lt;br /&gt;
|-&lt;br /&gt;
| University of Stuttgart || bwunicluster (ät) hlrs.de &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Problems with Login/2-Factor-Authentication ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: How do I register/deactivate a token?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A: Please refer to the [[bwUniCluster 2.0 User Access/2FA Tokens|2FA documentation wiki page]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: I have lost my 2FA device or can no longer generate One-Time Passwords using my software token.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A: KIT users can contact the [https://www.scc.kit.edu/en/services/servicedesk.php KIT ServiceDesk], users from all other institutions should open a support ticket via the [https://bw-support.scc.kit.edu/ bwSupport Portal].&lt;br /&gt;
&lt;br /&gt;
== Deregistration ==&lt;br /&gt;
&lt;br /&gt;
If you are no longer using the bwUniCluster 2.0 and want to deregister yourself, please follow the [[BwUniCluster_2.0_User_Access#Deregistration|Deregistration instructions]]. This will also automatically remove your e-mail address from the user mailing list and you will no longer receive user announcements for this system.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Support]][[Category:bwUniCluster_2.0]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_User_Access&amp;diff=8966</id>
		<title>BwUniCluster 2.0 User Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_User_Access&amp;diff=8966"/>
		<updated>2021-08-04T11:42:02Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Login */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{| style=&amp;quot;border-style: solid; border-width: 1px&amp;quot;&lt;br /&gt;
! Navigation: [[BwHPC_Best_Practices_Repository|bwHPC BPR]] / [[BwUniCluster_User_Guide|bwUniCluster]] &lt;br /&gt;
|}--&amp;gt;&lt;br /&gt;
[[bwUniCluster_2.0|bwUniCluster 2.0]] is Baden-Württemberg&#039;s general purpose tier 3 high performance computing (HPC)&lt;br /&gt;
cluster co-financed by Baden-Württemberg&#039;s ministry of science, research and arts and the shareholders:&lt;br /&gt;
&lt;br /&gt;
* Albert Ludwig University of Freiburg&lt;br /&gt;
* Eberhard Karls University, Tübingen&lt;br /&gt;
* Karlsruhe Institute of Technology (KIT)&lt;br /&gt;
* Heidelberg University (Ruprecht-Karls-Universität Heidelberg)&lt;br /&gt;
* Ulm University&lt;br /&gt;
* University of Hohenheim&lt;br /&gt;
* University of Konstanz&lt;br /&gt;
* University of Mannheim&lt;br /&gt;
* University of Stuttgart&lt;br /&gt;
* HAW BW e.V. (an association of several universities of applied sciences in Baden-Württemberg, see below) &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To &#039;&#039;&#039;log on&#039;&#039;&#039; [[bwUniCluster_2.0|bwUniCluster 2.0]] a user account is required. All members of the shareholder&lt;br /&gt;
universities can apply for an account.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%; border-spacing: 5px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left; color:#000;vertical-align:top;&amp;quot; |__TOC__ &lt;br /&gt;
|&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[File:bwUniCluster_17Jan2014_p044-rot_t10.10.00.jpg|center|border|250px|bwUniCluster wiring by Holger Obermaier, copyright: KIT (SCC)]] &amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;bwUniCluster wiring © KIT (SCC)&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
Granting access and issuing a user account for &#039;&#039;&#039;bwUniCluster 2.0&#039;&#039;&#039; requires the registration at the KIT service website &lt;br /&gt;
* [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] (step B). &lt;br /&gt;
However, this registration depends on the &lt;br /&gt;
* &#039;&#039;&#039;bwUniCluster entitlement&#039;&#039;&#039; (step A) &lt;br /&gt;
issued by your university .&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Please log in to &lt;br /&gt;
* https://bwidm.scc.kit.edu/ &lt;br /&gt;
to see a list of your entitlements. If the list contains&lt;br /&gt;
&amp;lt;pre&amp;gt; http://bwidm.de/entitlement/bwUniCluster &amp;lt;/pre&amp;gt; you already have the entitlement and can skip step A.&lt;br /&gt;
&lt;br /&gt;
== Step A: bwUniCluster entitlement for registration ==&lt;br /&gt;
&#039;&#039;&#039;The entitlement is called bwUniCluster (not bwUniCluster 2.0)&#039;&#039;&#039; and each university issues the bwUniCluster entitlement &#039;&#039;&#039;only&#039;&#039;&#039; for their own respective members. Some have established on-line processes or provide downloads of the entitlement application forms. If there is no link behind the name of an institution in the following list, please contact the local IT support services: &lt;br /&gt;
&lt;br /&gt;
* [[BwCluster_User_Access_Uni_Freiburg|Albert Ludwig University of Freiburg]]&lt;br /&gt;
* [https://bwunicluster.urz.uni-heidelberg.de/ Heidelberg University]&lt;br /&gt;
* [https://kim.uni-hohenheim.de/bwhpc-account University of Hohenheim]&lt;br /&gt;
* [http://www.scc.kit.edu/downloads/ism/Accessform_bwUniCluster_DE_EN.pdf Karlsruhe Institute of Technology (KIT)]&lt;br /&gt;
* [[BWUniCluster_User_Access_Members_Uni_Konstanz|University of Konstanz]]&lt;br /&gt;
* [[BWUniCluster_User_Access_Members_Uni_Mannheim|University of Mannheim]]&lt;br /&gt;
* [https://www.hlrs.de/solutions-services/academic-users/bwunicluster-access/ University of Stuttgart]&lt;br /&gt;
* [https://uni-tuebingen.de/de/155157 Eberhard Karls University Tübingen]&lt;br /&gt;
* [[BWUniCluster_User_Access_Members_Uni_Ulm|Ulm University]]&lt;br /&gt;
* Hochschule Aalen&lt;br /&gt;
* Hochschule Albstadt-Sigmaringen&lt;br /&gt;
* Hochschule Esslingen&lt;br /&gt;
* Hochschule Heilbronn&lt;br /&gt;
* Hochschule Karlsruhe&lt;br /&gt;
* Hochschule Konstanz&lt;br /&gt;
* Hochschule Mannheim&lt;br /&gt;
* Hochschule Offenburg&lt;br /&gt;
* Hochschule Reutlingen&lt;br /&gt;
* Hochschule Rottenburg&lt;br /&gt;
* Hochschule Stuttgart (HfT)&lt;br /&gt;
* Hochschule Ulm&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step B: Web Registration, service password and 2-factor authentication ==&lt;br /&gt;
&lt;br /&gt;
After completing step A, i.e., after successfull issueing of the bwUniCluster entitlement, you have to register yourself for the service. To do so please visit [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] and complete the following steps.&lt;br /&gt;
&lt;br /&gt;
1. Select your home organization from the list on the main page and click &#039;&#039;&#039;Proceed&#039;&#039;&#039; or &#039;&#039;&#039;Fortfahren&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwidm-register-red.png|center|border|]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. You will be directed to the &#039;&#039;Identity Provider&#039;&#039; of your home organisation. Enter the user ID / username and password of your home organisation - this is usually the same password used for your e-mail account and other services - and click on &#039;&#039;&#039;Login&#039;&#039;&#039;, &#039;&#039;&#039;Einloggen&#039;&#039;&#039; or something similar.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. You will be redirected back to the registration website [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu/]. If you are logging into bwIDM for the first time, there will be a summary screen which shows the account details your home institution is providing to the central system. Please check that all data is valid and then click on &#039;&#039;&#039;Continue&#039;&#039;&#039; or &#039;&#039;&#039;Weiter&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Once you have successfully logged into the bwIDM system, you will be greeted by a home screen showing all state-wide services you have access to. There will be a box labelled &amp;quot;bwUniCluster&amp;quot;. Click on &#039;&#039;&#039;Register&#039;&#039;&#039; or &#039;&#039;&#039;Registrieren&#039;&#039;&#039; to start the registration process.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwidm-2-red.png|center|border|]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Since August 13, 2020 a &#039;&#039;&#039;2-factor authentication&#039;&#039;&#039; mechanism (2FA) is being enforced to improve security. If you have never registered a 2FA token on bwIDM before, the following error message will appear:&lt;br /&gt;
&lt;br /&gt;
[[File:Bwidm-3-red.png|center|]]&lt;br /&gt;
&lt;br /&gt;
Click on the [https://bwidm.scc.kit.edu/user/twofa.xhtml Link] or on the &#039;&#039;&#039;My Tokens&#039;&#039;&#039; link in the main menu. The instructions for registering a new 2FA token can be found on the following page: [[bwUniCluster 2.0 User Access/2FA Tokens]]. Please complete them before proceeding.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Make sure all requirements are met by checking the &#039;&#039;&#039;Requirements&#039;&#039;&#039; box at the top. If the requirements are not met you might be able to correct the issure by following the instructions. In all other cases please [[Registration_Support_-_bwUniCluster|contact your local hotline]].&lt;br /&gt;
&lt;br /&gt;
[[File:BwUniCluster 2.0 access login bwidm registration requirements.png|center|border|]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. Read the Terms of Use (&#039;&#039;&#039;Nutzungsbedingungen und -richtlinien&#039;&#039;&#039;), check the box besides &#039;&#039;&#039;I have read and accepted the terms of use&#039;&#039;&#039; and click on &#039;&#039;&#039;Register&#039;&#039;&#039; or &#039;&#039;&#039;Registrieren&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. Set a service password for the bwUniCluster and click on &#039;&#039;&#039;Save&#039;&#039;&#039; or &#039;&#039;&#039;Speichern&#039;&#039;&#039;. Logging in with the password of your home organisation, like on the former bwUniCluster 1, is no longer possible. Please make sure to use a strong password which is different from any other password you are currently using or have used on other systems. You will also be asked to change the service password regularly.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwidm-5-red.png|center|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step C: Fill out the bwUniCluster questionnaire ==&lt;br /&gt;
&lt;br /&gt;
Filling out the bwUniCluster questionaire on&lt;br /&gt;
&lt;br /&gt;
   https://zas.bwhpc.de/shib/en/bwunicluster_survey.php&lt;br /&gt;
&lt;br /&gt;
is mandatory for all users. The input is solely used to improve our support activities and for capacity planning of future HPC resources. &#039;&#039;&#039;If the questionaire is not filled out, access to bwUniCluster 2.0 is blocked 14 days after the registration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changing the Service Password ==&lt;br /&gt;
&lt;br /&gt;
Your bwUniCluster 2.0 &#039;&#039;&#039;password&#039;&#039;&#039; is the service password you set during the web registration (compare step 7 of chapter 1.2).  At any time, you can set a new bwUniCluster 2.0 password via the registration website [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] by carrying out the following steps:&lt;br /&gt;
# Go to [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] and select your home organization &lt;br /&gt;
# Authenticate yourself via the user id / username and password provided by your home institution&lt;br /&gt;
# Find the entry &#039;&#039;&#039;bwUniCluster&#039;&#039;&#039; and select &#039;&#039;&#039;Set Service Password&#039;&#039;&#039;&lt;br /&gt;
# Enter the new password, repeat it and click &#039;&#039;&#039;Save&#039;&#039;&#039; button.&lt;br /&gt;
# If the change was sucessfull, the message &amp;quot;Das Passwort wurde bei dem Dienst geändert&amp;quot; (&amp;quot;Password has been changed&amp;quot;) will be shown&lt;br /&gt;
# Proceed to log in using the new password&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Contact / Support ==&lt;br /&gt;
If you have questions or problems concerning the bwUniCluster (2.0) registration, please [[bwUniCluster 2.0 Support|contact your local hotline]]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Establishing network access = &lt;br /&gt;
&lt;br /&gt;
Access to bwUniCluster 2.0 is &#039;&#039;&#039;limited to IP addresses from the so-called BelWü networks&#039;&#039;&#039;. All home institutions of our current users are connected to BelWue, so if you are on your campus network (e.g. in your office or on the Campus WiFi) you should be able to connect to bwUniCluster 2.0 without restrictions. If you are outside of one of the BelWue networks (e.g. in your home office instead of in your campus office), a VPN connection to your home institution has to be established first (see e.g. [1] for the KIT).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Login =&lt;br /&gt;
&lt;br /&gt;
After finishing the web registration and making sure that you are on a network from which you have access to bwUniCluster 2.0 (e.g. by establishing a VPN connection), the HPC cluster is ready for your &#039;&#039;&#039;SSH&#039;&#039;&#039; based login. Recommended SSH clients applications are:&lt;br /&gt;
&lt;br /&gt;
* the ssh (OpenSSH) command included in all Linux distributions and macOS, -in command under Linux and macOS using the application &#039;&#039;terminal&#039;&#039;&lt;br /&gt;
* [http://mobaxterm.mobatek.net/ MobaXterm] under Windows&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
The main hostname required to connect to bwUniCluster 2.0 is &#039;&#039;&#039;bwunicluster.scc.kit.edu&#039;&#039;&#039; or &#039;&#039;&#039;uc2.scc.kit.edu&#039;&#039;&#039;. The system has four login nodes and we use so-called &#039;&#039;DNS round-robin scheduling&#039;&#039; to load-balance the incoming connections between the nodes. If you open multiple SSH sessions to bwUniCluster 2.0, these sessions will be established to different login nodes, so processes started in one session might not be visible in other sessions.&lt;br /&gt;
&lt;br /&gt;
The older Broadwell extension partition of the former bwUniCluster 1 is connected to bwUniCluster 2.0. You can use the hostname &#039;&#039;&#039;uc1e.scc.kit.edu&#039;&#039;&#039; to connect to the login nodes of this partition. &lt;br /&gt;
&lt;br /&gt;
If you need to connect to specific login nodes, you can use the following hostnames:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Hostname !! Node type&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc2-login1.scc.kit.edu&#039;&#039;&#039; || bwUniCluster 2.0, first login node&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc2-login2.scc.kit.edu&#039;&#039;&#039; || bwUniCluster 2.0, second login node&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc2-login3.scc.kit.edu&#039;&#039;&#039; || bwUniCluster 2.0, third login node&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc2-login4.scc.kit.edu&#039;&#039;&#039; || bwUniCluster 2.0, fourth login node&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc1e-login1.scc.kit.edu&#039;&#039;&#039; || Broadwell partition, first login node&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uc1e-login2.scc.kit.edu&#039;&#039;&#039; || Broadwell partition, second login node&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Only the secure shell &#039;&#039;SSH&#039;&#039; is allowed to login. Other protocols like &#039;&#039;telnet&#039;&#039; or &#039;&#039;rlogin&#039;&#039; are not allowed for security reasons.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usernames ==&lt;br /&gt;
&lt;br /&gt;
Your username will be the same as the one provided by your home institution, but &#039;&#039;&#039;prefixed&#039;&#039;&#039; with two characters and an underscore indicating your home institution. For example: If you are a member of the university of Konstanz and your local username is ab1234, your username on bwUniCluster 2.0 is kn_ab1234.&lt;br /&gt;
&lt;br /&gt;
The following list contains all prefixes currently in use:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Home organization !! &amp;lt;UserID&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Universität Freiburg || &#039;&#039;fr_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Heidelberg || &#039;&#039;hd_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Hohenheim || &#039;&#039;ho_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| KIT || username &#039;&#039;(without any prefix)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Universität Konstanz || &#039;&#039;kn_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Mannheim || &#039;&#039;ma_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Stuttgart ||  &#039;&#039;st_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Tübingen || &#039;&#039;tu_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Universität Ulm  || &#039;&#039;ul_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Aalen || &#039;&#039;aa_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Albstadt-Sigmaringen || &#039;&#039;as_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Esslingen || &#039;&#039;es_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Heilbronn || &#039;&#039;hn_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Karlsruhe || &#039;&#039;hk_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| HTWG Konstanz || &#039;&#039;ht_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Mannheim || &#039;&#039;mn_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Offenburg || &#039;&#039;of_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Reutlingen || &#039;&#039;hr_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Rottenburg || &#039;&#039;ro_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule für Technik Stuttgart || &#039;&#039;hs_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
| Hochschule Ulm || &#039;&#039;hu_&#039;&#039;username&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Client application: OpenSSH ==&lt;br /&gt;
&lt;br /&gt;
Most Unix and Unix-like operating systems like Linux, macOS and *BSD come with a built-in SSH client provided by the OpenSSH project. More recent versions of Windows 10 and the Windows Subsystem for Linux also come with a built-in OpenSSH client.&lt;br /&gt;
&lt;br /&gt;
To use this client, simply open a command line terminal (the exact process differs on every operating system, but usually involves starting an application called &#039;&#039;&#039;Terminal&#039;&#039;&#039; or &#039;&#039;&#039;Command Prompt&#039;&#039;&#039;) and enter the following command to connect to bwUniCluster 2.0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;UserID&amp;gt;@bwunicluster.scc.kit.edu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are on a Linux or Unix system running the X Window System (X11) and want to use a GUI-based application on bwUniCluster 2.0, you can use the &#039;&#039;-X&#039;&#039; option for the ssh command to set up X11 forwarding:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;UserID&amp;gt;@uc2.scc.kit.edu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Windows users requiring X11 forwarding for graphical applications should use &#039;&#039;&#039;MobaXterm&#039;&#039;&#039; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Client application: MobaXterm ==&lt;br /&gt;
&lt;br /&gt;
The bwHPC-C5 support team strongly recommends to use [http://mobaxterm.mobatek.net/ MobaXterm] instead of &#039;&#039;PuTTY&#039;&#039; or &#039;&#039;WinSCP&#039;&#039; on Windows. &#039;&#039;MobaXterm&#039;&#039; provides a built-in X11 server allowing to start GUI based software.&lt;br /&gt;
 &lt;br /&gt;
Start &#039;&#039;MobaXterm&#039;&#039;, fill in the following fields:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Remote name              : uc2.scc.kit.edu    # or uc1e.scc.kit.edu&lt;br /&gt;
Specify user name        : &amp;lt;UserID&amp;gt;&lt;br /&gt;
Port                     : 22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After that click on &#039;ok&#039;. Then a terminal will be opened and there you can enter your credentials.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Client application: FileZilla ==&lt;br /&gt;
&lt;br /&gt;
Many GUI applications that support SFTP transfers on Linux don&#039;t work well with 2-factor authentification, e.g. Nautilus and Dolphin don&#039;t support it. A good alternative for Linux is FileZilla.&lt;br /&gt;
&lt;br /&gt;
Start FileZilla, Select &amp;quot;File -&amp;gt; Site Manager...&amp;quot; from the main menu and set up a new connection with the following settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Protocol: SFTP - SSH File Transfer Protocol&lt;br /&gt;
Host: uc2.scc.kit.edu&lt;br /&gt;
Logon Typ: Interactive&lt;br /&gt;
User: &amp;lt;UserID&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then click on the &amp;quot;Connect&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
Files can be transferred between the local system and the cluster by navigating to the respective folders in the split file view and then either dragging files and folders between the views or by clicking on a file/folder with the right mouse button and then selecting &amp;quot;Upload&amp;quot; or &amp;quot;Download&amp;quot; from the menu. &lt;br /&gt;
&lt;br /&gt;
== Example login process ==&lt;br /&gt;
&lt;br /&gt;
After the connection has been initiated, a successful login process will go through the following three steps:&lt;br /&gt;
&lt;br /&gt;
1. The system asks for a &#039;&#039;&#039;One-Time Password&#039;&#039;&#039;. Generate one using the Software or Hardware Token registered on the bwIDM system (see [[bwUniCluster 2.0 User Access/2FA Tokens]]) and enter it after the &#039;&#039;&#039;Your OTP:&#039;&#039;&#039; prompt.&lt;br /&gt;
&lt;br /&gt;
2. The systems asks for your service password. Enter it after the &#039;&#039;&#039;Password:&#039;&#039;&#039; prompt.&lt;br /&gt;
&lt;br /&gt;
3. You are greeted by the bwUniCluster 2.0 banner followed by a shell.&lt;br /&gt;
&lt;br /&gt;
The result should look like this:&lt;br /&gt;
&lt;br /&gt;
[[File:BwUniCluster 2.0 access login example.png|center|]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issue: The &amp;quot;Your OTP:&amp;quot; prompt never appears and the connection hangs/times out instead&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Likely cause: You are most likely not on a network from which access to the bwUniCluster 2.0 system is allowed. Please check if you might have to establish a VPN connection first.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issue: The system asks for the One-Time Password multiple times&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Likely cause: Make sure you are using the correct Software Token to generate the One-Time Password.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issue: The system asks for the service password multiple times&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Likely cause: Make sure you are using the service password set on bwIDM and not the password valid for your home institution. Unlike the bwUniCluster 1, the bwUniCluster 2.0 only accepts the service password.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issue: There is an error message by the pam_ses_open.sh skript&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Likely cause: Your account is in the &amp;quot;LOST_ACCESS&amp;quot; state because the entitlement is no longer valid, the questionaire was not filled out or there was a problem during the communication between your home institution and the central bwIDM system. Please try the following steps:&lt;br /&gt;
&lt;br /&gt;
* Log into [https://bwidm.scc.kit.edu bwIDM], look for the bwUniCluster entry and click on &#039;&#039;&#039;Registry info&#039;&#039;&#039;. Your &amp;quot;Status:&amp;quot; should be &amp;quot;ACTIVE&amp;quot;. If it is not, please wait for ten minutes since logging into the bwIDM causes a refresh and the problem might fix itself. If the status does not change to ACTIVE after a longer amount of time, please contact the support channels.&lt;br /&gt;
&lt;br /&gt;
* If you have not filled out the questionaire, please do so on [https://zas.bwhpc.de/shib/en/bwunicluster_survey.php    https://zas.bwhpc.de/shib/en/bwunicluster_survey.php] and then wait for about ten minutes before attempting to log into the HPC system again.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allowed activities on login nodes ==&lt;br /&gt;
&lt;br /&gt;
The login nodes of bwUniCluster 2.0 are the access point to the compute system and to your bwUniCluster 2.0 $HOME directory. The login nodes are shared with all the users of bwUniCluster 2.0. Therefore, your activities on the login nodes are limited to primarily set up your batch jobs. Your activities may also be:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;short&#039;&#039;&#039; compilation of your program code and&lt;br /&gt;
* &#039;&#039;&#039;short&#039;&#039;&#039; pre- and postprocessing of your batch jobs.&lt;br /&gt;
&lt;br /&gt;
To guarantee usability for all the users of bwUniCluster 2.0 &amp;lt;span style=&amp;quot;color:red;font-size:100%;&amp;quot;&amp;gt;&#039;&#039;&#039;you must not run your compute jobs on the login nodes&#039;&#039;&#039;&amp;lt;/span&amp;gt;. Compute jobs must be submitted to the&lt;br /&gt;
[[bwUniCluster Batch Jobs|queueing system]]. Any compute job running on the login nodes will be terminated without any notice. Any long-running compilation or any long-running pre- or postprocessing of batch jobs must also be submitted to the [[bwUniCluster Batch Jobs|queueing system]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
&lt;br /&gt;
In contrast to the bwUniCluster 1 and many other HPC systems it is &#039;&#039;&#039;no longer possible to self-manage your SSH Keys by adding them to the ~/.ssh/authorized_keys file&#039;&#039;&#039;. Existing files will no longer be evaluated. SSH Keys have to be managed via the central bwIDM system instead. Please refer to the user guide for this functionality:&lt;br /&gt;
&lt;br /&gt;
[[bwUniCluster 2.0 User Access/SSH Keys]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= [[First_Steps_on_bwHPC_cluster|First steps on bwUniCluster]] =&lt;br /&gt;
&lt;br /&gt;
First and some important steps on bwUniCluster 2.0 can be found [[First_Steps_on_bwHPC_cluster|here]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Deregistration =&lt;br /&gt;
&lt;br /&gt;
Aka: unsubscribe from bwUniCluster mailing list&lt;br /&gt;
&lt;br /&gt;
If you plan to permanently leave the bwUniCluster 2.0, follow the deregister checklist:&lt;br /&gt;
# Transfer all your data in $HOME and workspace to your local computer/storage and after that clear off all your data&lt;br /&gt;
# Visit [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu] &lt;br /&gt;
#* Select your home organization from the list and click &#039;&#039;&#039;Proceed&#039;&#039;&#039;  &lt;br /&gt;
#* Enter your home-organisational user ID / username  and your home-organisational password and click &#039;&#039;&#039;Login&#039;&#039;&#039; button&lt;br /&gt;
#* You will be redirected back to the registration website [https://bwidm.scc.kit.edu/ https://bwidm.scc.kit.edu/] &lt;br /&gt;
#* &amp;lt;div&amp;gt;Select &#039;&#039;&#039;Registry Info&#039;&#039;&#039; of the service &#039;&#039;&#039;bwUniCluster&#039;&#039;&#039; (on the left hand side)&amp;lt;br&amp;gt;[[File:bwUniCluster_registration_sidebar.png|center|border|]]&amp;lt;/div&amp;gt;&lt;br /&gt;
#* Click &#039;&#039;&#039;Deregister&#039;&#039;&#039;&lt;br /&gt;
Note that Step 2 will automatically unsubscribe you from the bwUniCluster mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:bwUniCluster_2.0]][[Category:Access]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=8711</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=8711"/>
		<updated>2021-05-26T06:38:59Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* SEARCH&lt;br /&gt;
* bwHPC Wiki&lt;br /&gt;
** mainpage|Home&lt;br /&gt;
** BwHPC_Best_Practices_Repository|Best Practices&lt;br /&gt;
** Category:BwHPC News|bwHPC News&lt;br /&gt;
** helppage|Wiki help&lt;br /&gt;
* Best Practice Guides&lt;br /&gt;
** BwHPC_Best_Practices_Repository|Overview&lt;br /&gt;
** Batch_Jobs|-- Batch Jobs&lt;br /&gt;
** Software_Modules|-- Software Modules&lt;br /&gt;
** BwHPC_BPG_Compiler|-- Compiler&lt;br /&gt;
** BwHPC_BPG_Numerical_Libraries|-- Numerical Libraries&lt;br /&gt;
** BwHPC_BPG_for_Parallel_Programming|-- Parallel Programming&lt;br /&gt;
* bwHPC tier 3&lt;br /&gt;
** Category:BwUniCluster_2.0|bwUniCluster_2.0&lt;br /&gt;
** Category:BwForCluster_JUSTUS_2|bwForCluster JUSTUS_2&lt;br /&gt;
** Category:bwForCluster_MLS&amp;amp;WISO|bwForCluster MLS&amp;amp;WISO&lt;br /&gt;
** Category:BwForCluster_NEMO|bwForCluster NEMO&lt;br /&gt;
** Category:BwForCluster_BinAC|bwForCluster BinAC&lt;br /&gt;
* bwHPC tier 1+2&lt;br /&gt;
** https://kb.hlrs.de/platforms/index.php/HPE_Hawk|Hawk&lt;br /&gt;
** https://www.nhr.kit.edu/userdocs/horeka/|HoreKa&lt;br /&gt;
* bwHPC Support Services&lt;br /&gt;
** https://training.bwhpc.de|bwHPC courses&lt;br /&gt;
** http://www.support.bwhpc-c5.de/|Support/Ticket System&lt;br /&gt;
** https://www.bwhpc.de/software.html|Software Search&lt;br /&gt;
* Scientifc Data Storage&lt;br /&gt;
** Category:Sds-hd|SDS@hd&lt;br /&gt;
** https://www.rda.kit.edu/english|bwDataArchive&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=8371</id>
		<title>BwUniCluster2.0/Hardware and Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=8371"/>
		<updated>2021-03-17T15:09:52Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Selecting the appropriate file system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Architecture of bwUniCluster 2.0 =&lt;br /&gt;
&lt;br /&gt;
The bwUniCluster 2.0 is a parallel computer with distributed memory. Each node of system consists of at least two Intel Xeon processor, local memory, disks, network adapters and optionally accelerators (NVIDIA Tesla V100). All nodes are connected by a fast InfiniBand interconnect. In addition the file system&lt;br /&gt;
Lustre, that is connected by coupling the InfiniBand of the file server with the InfiniBand&lt;br /&gt;
switch of the compute cluster, is added to bwUniCluster 2.0 to provide a fast and scalable&lt;br /&gt;
parallel file system.&lt;br /&gt;
&lt;br /&gt;
The operating system on each node is Red Hat Enterprise Linux (RHEL) 7.7. A number of additional software packages like e.g. SLURM have been installed on top. Some of these components are of special interest to end users and are briefly&lt;br /&gt;
discussed in this document. Others which are of greater importance to system&lt;br /&gt;
administrators will not be covered by this document.&lt;br /&gt;
&lt;br /&gt;
The individual nodes of the system may act in different roles. According to the services supplied by the nodes, they are separated into disjoint groups. From an end users point of view the different groups of nodes are login nodes, compute nodes, file server nodes and administrative server nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Login Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The login nodes are the only nodes that are directly accessible by end users. These nodes&lt;br /&gt;
are used for interactive login, file management, program development and interactive pre-&lt;br /&gt;
and postprocessing. Two nodes are dedicated to this service but they are all accessible via&lt;br /&gt;
one address and a DNS round-robin alias distributes the login sessions to the&lt;br /&gt;
different login nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compute Node&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The majority of nodes are compute nodes which are managed by a batch system. Users &lt;br /&gt;
submit their jobs to the SLURM batch system and a job is executed when the required resources become available (depending on its fair-share priority).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;File Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The hardware of the parallel file system Lustre incorporates some file server nodes; the file&lt;br /&gt;
system Lustre is connected by coupling the InfiniBand of the file server with the independent InfiniBand switch of the compute cluster. In addition to shared file space there is also local storage on the disks of each node (for details see chapter &amp;quot;File Systems&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Administrative Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some other nodes are delivering additional services like resource management, external&lt;br /&gt;
network connection, administration etc. These nodes can be accessed directly by system administrators only.&lt;br /&gt;
&lt;br /&gt;
= Components of bwUniCluster =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;width:9%&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Thin&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;HPC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;HPC Broadwell&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Fat&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x4&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x8&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Login&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of nodes&lt;br /&gt;
| 100 + 60&lt;br /&gt;
| 360&lt;br /&gt;
| 352&lt;br /&gt;
| 6&lt;br /&gt;
| 14&lt;br /&gt;
| 10&lt;br /&gt;
| 4 + 2 (Broadwell)&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processors&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon E5-2660 v4&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6248&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of sockets&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processor frequency (GHz)&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.0 GHz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Total number of cores&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 28&lt;br /&gt;
| 80&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 40 / 20 (Broadwell)&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Main memory&lt;br /&gt;
| 96 GB / 192 GB&lt;br /&gt;
| 96 GB&lt;br /&gt;
| 128 GB&lt;br /&gt;
| 3 TB&lt;br /&gt;
| 384 GB&lt;br /&gt;
| 768 GB&lt;br /&gt;
| 384 GB / 128 GB (Broadwell)&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Local SSD&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 480 GB SATA&lt;br /&gt;
| 4,8 TB NVMe&lt;br /&gt;
| 3,2 TB NVMe&lt;br /&gt;
| 6,4 TB NVMe&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Accelerators&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 4x NVIDIA Tesla V100&lt;br /&gt;
| 8x NVIDIA Tesla V100&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Interconnect&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
| IB HDR100&lt;br /&gt;
| IB FDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
|}&lt;br /&gt;
Table 1: Properties of the nodes&lt;br /&gt;
&lt;br /&gt;
= File Systems =&lt;br /&gt;
&lt;br /&gt;
Details about changes on the file systems between bwUniCluster 1 and bwUniCluster 2.0 are described in the [[BwUniCluster_2.0_File_System_Migration_Guide|File system migration guide]]. Note that $WORK is deprecated.&lt;br /&gt;
&lt;br /&gt;
On bwUniCluster 2.0 the parallel file system Lustre is used for most globally visible user data. Lustre is open source and Lustre solutions and support are available from different vendors. Nowadays, most of the biggest HPC systems are using Lustre. An initial home directory on a Lustre file system is created during the first login, and the environment variable $HOME holds its name. Users can create so-called workspaces on another Lustre file system for non-permanent data with temporary lifetime.&lt;br /&gt;
&lt;br /&gt;
Within a batch job further file systems are available: &lt;br /&gt;
* The directory $TMP is only available and visible on the local node. It is located on fast SSD storage devices.&lt;br /&gt;
* On request a parallel on-demand (BeeOND) file system is created which uses the SSDs of the nodes which were allocated to the batch job.&lt;br /&gt;
* On request the external LSDF Online Storage is mounted on the nodes which were allocated to the batch job. This file system is based on the parallel file system Spectrum Scale. &lt;br /&gt;
&lt;br /&gt;
Some of the characteristics of the file systems are shown in Table 2.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; background:#f5fffa;border:1px solid #000000;padding:1px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;width:20%;height=20px; text-align:left;padding:3px&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Property&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $TMP&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| BeeOND&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $HOME&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Workspace&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Visibility &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| local node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| nodes of batch job&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Lifetime &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| permanent&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| max. 240 days&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Disk space &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 960 GB - 6.4 TB &amp;lt;br&amp;gt; details see table 1&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*250 GB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1.2 PiB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 4.1 PiB&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Capacity Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 1 TiB per user &amp;lt;br&amp;gt; also per organization&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 40 TiB per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Inode Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 10 million per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 30 million per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Backup&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Read perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 6 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 520 MB/s @ single / multiple &amp;lt;br&amp;gt; 800 MB/s @ multiple_e &amp;lt;br&amp;gt; 6600 MB/s @ fat &amp;lt;br&amp;gt; 6500 MB/s @ gpu_4 &amp;lt;br&amp;gt; 6500 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 400 MB/s - 500 MB/s&amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 500 MB/s @ multiple &amp;lt;br&amp;gt; 400 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Write perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 4 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 500 MB/s @ single / multiple &amp;lt;br&amp;gt; 650 MB/s @ multiple_e &amp;lt;br&amp;gt; 2900 MB/s @ fat &amp;lt;br&amp;gt; 2090 MB/s @ gpu_4 &amp;lt;br&amp;gt; 4060 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 250 MB/s - 350 MB/s &amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 350 MB/s @ multiple &amp;lt;br&amp;gt; 250 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total read perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-6000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*400-500 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total write perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-4000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*250-350 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
|}&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
  global: all nodes of uc1 access the same file system;&lt;br /&gt;
  local: each node has its own file system;&lt;br /&gt;
  permanent: files are stored permanently;&lt;br /&gt;
  batch job: files are removed at end of the batch job.&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
Table 2: Properties of the file systems&lt;br /&gt;
&lt;br /&gt;
== Selecting the appropriate file system ==&lt;br /&gt;
&lt;br /&gt;
In general, you should separate your data and store it on the appropriate file system.&lt;br /&gt;
Permanently needed data like software or important results should be stored below $HOME&lt;br /&gt;
but capacity restrictions (quotas) apply. In case you accidentally deleted data on $HOME&lt;br /&gt;
you can usually restore it from backup. Permanent data which is not needed for months&lt;br /&gt;
or exceeds the capacity restrictions should be sent to the LSDF Online Storage &lt;br /&gt;
or to the archive and deleted from the file systems. Temporary data which is only needed on a single&lt;br /&gt;
node and which does not exceed the disk space shown in the table above should be stored&lt;br /&gt;
below $TMP. Temporary data which is only needed during job runs should be stored on a &lt;br /&gt;
parallel on-demand file system. Temporary data which can be recomputed or which is the &lt;br /&gt;
result of one job and input for another job should be stored below in workspaces. The lifetime &lt;br /&gt;
of data in workspaces is limited and depends on the lifetime of the workspace which can be &lt;br /&gt;
several months.&lt;br /&gt;
&lt;br /&gt;
For further details please check the chapters below.&lt;br /&gt;
&lt;br /&gt;
== $HOME ==&lt;br /&gt;
&lt;br /&gt;
The home directories of bwUniCluster 2.0 (uc2) users are located in the parallel file system Lustre.&lt;br /&gt;
You have access to your home directory from all nodes of uc2. A regular backup of these directories &lt;br /&gt;
to tape archive is done automatically. The directory $HOME is used to hold those files that are&lt;br /&gt;
permanently used like source codes, configuration files, executable programs etc. &lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 1 TiB and 10 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In addition to the user limit there is a limit of your organization (e.g. university) which depends on the financial share. This limit is enforced with so-called Lustre project quotas. You can show the current usage and limits of your organization with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lfs quota -ph $(grep $(echo $HOME | sed -e &amp;quot;s|/[^/]*/[^/]*$||&amp;quot;) /pfs/data5/project_ids.txt | cut -f 1 -d\ ) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workspaces ==&lt;br /&gt;
&lt;br /&gt;
On uc2 workspaces can be used to store large non-permanent data sets, e.g. restart files or output&lt;br /&gt;
data that has to be post-processed. The file system used for workspaces is also the parallel file system Lustre. This file system is especially designed for parallel access and for a high throughput to large&lt;br /&gt;
files. It is able to provide high data transfer rates of up to 54 GB/s write and read performance when data access is parallel. &lt;br /&gt;
&lt;br /&gt;
Workspaces have a lifetime and the data on a workspace expires as a whole after a fixed period. The maximum lifetime of a workspace is 60 days, but it can be renewed at the end of that period 3 times to a total maximum of 240 days after workspace generation. If a workspace has inadvertently expired we can restore the data during a limited time (few weeks). In this case you should create a new workspace and report the name of the new and of the expired workspace in a ticket or in an email to the hotline.&lt;br /&gt;
&lt;br /&gt;
Creating, deleting, finding and extending workspaces is explained on the  [[workspace]] page.&lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 40 TiB and 30 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) /pfs/work7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reminder for workspace deletion ===&lt;br /&gt;
&lt;br /&gt;
Normally you will get an email every day starting 7 days before a workspace expires. You can send yourself a calender entry which reminds you when a workspace will be automatically deleted:&lt;br /&gt;
&lt;br /&gt;
 $ ws_send_ical.sh &amp;lt;workspace&amp;gt; &amp;lt;email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Improving Performance on $HOME and workspaces ==&lt;br /&gt;
&lt;br /&gt;
The following recommendations might help to improve throughput and metadata&lt;br /&gt;
performance on Lustre filesystems.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Throughput Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Depending on your application some adaptations might be necessary if you want to reach&lt;br /&gt;
the full bandwidth of the filesystems. Parallel filesystems typically stripe files over storage subsystems, i.e. large files are separated into stripes and distributed to different storage subsystems. In Lustre, the size of these stripes (sometimes also mentioned as chunks) is called stripe size and the number of used storage subsystems is called stripe count.&lt;br /&gt;
&lt;br /&gt;
When you are designing your application you should consider that the performance of&lt;br /&gt;
parallel filesystems is generally better if data is transferred in large blocks and stored in&lt;br /&gt;
few large files. In more detail, to increase throughput performance of a parallel application&lt;br /&gt;
following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* collect large chunks of data and write them sequentially at once,&lt;br /&gt;
&lt;br /&gt;
* to exploit complete filesystem bandwidth use several clients,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive file access by different tasks or use blocks with boundaries at stripe size (default is 1MB),&lt;br /&gt;
&lt;br /&gt;
* if files are small enough for the SSDs and are only used by one process store them on $TMP.&lt;br /&gt;
&lt;br /&gt;
With previous Lustre versions adapting the Lustre stripe count was the most important optimization. However, for the workspaces of uc2 the new Lustre feature Progressive File Layouts has been used to define file striping parameters. This means that the stripe count is adapted if the file size is growing. In normal cases users no longer need to adapt file striping parameters in case they have very huge files or in order to reach better performance. &lt;br /&gt;
&lt;br /&gt;
If you know what you are doing you can still change striping parameters, e.g. the stripe count, of a directory and of newly created files. New files and directories inherit the stripe count from the parent directory. E.g. if you want to enhance throughput on a single very large file which is created in the directory $HOME/my_output_dir you can use the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs setstripe -c-1 $HOME/my_output_dir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to change the stripe count to -1 which means that all storage subsystems of the file system are used to store that file. If you change the stripe count of a directory the stripe count of existing files inside this&lt;br /&gt;
directory is not changed. If you want to change the stripe count of existing files, change&lt;br /&gt;
the stripe count of the parent directory, copy the files to new files, remove the old files&lt;br /&gt;
and move the new files back to the old name. In order to check the stripe setting of&lt;br /&gt;
the file my_file use&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs getstripe my_file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also note that changes on the striping parameters (e.g. stripe count) are not saved in the&lt;br /&gt;
backup, i.e. if directories have to be recreated this information is lost and the default stripe&lt;br /&gt;
count will be used. Therefore, you should annotate for which directories you made changes&lt;br /&gt;
to the striping parameters so that you can repeat these changes if required.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Metadata Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Metadata performance on parallel file systems is usually not as good as with local&lt;br /&gt;
filesystems. In addition, it is usually not scalable, i.e. a limited resource. Therefore,&lt;br /&gt;
you should omit metadata operations whenever possible. For example, it is much better&lt;br /&gt;
to have few large files than lots of small files. In more detail, to increase metadata&lt;br /&gt;
performance of a parallel application following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* avoid creating many small files,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive directory access, e.g. by creating files in separate subdirectories for each task,&lt;br /&gt;
&lt;br /&gt;
* if many small files are only used within a batch job and accessed by one process store them on $TMP,&lt;br /&gt;
&lt;br /&gt;
* change the default colorization setting of the command ls (see below).&lt;br /&gt;
&lt;br /&gt;
On modern Linux systems, the GNU ls command often uses colorization by default to&lt;br /&gt;
visually highlight the file type; this is especially true if the command is run within a terminal&lt;br /&gt;
session. This is because the default shell profile initializations usually contain an alias&lt;br /&gt;
directive similar to the following for the ls command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=tty&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
However, running the ls command in this way for files on a Lustre file system requires&lt;br /&gt;
a stat() call to be used to determine the file type. This can result in a performance&lt;br /&gt;
overhead, because the stat() call always needs to determine the size of a file, and that&lt;br /&gt;
in turn means that the client node must query the object size of all the backing objects&lt;br /&gt;
that make up a file. As a result of the default colorization setting, running a simple&lt;br /&gt;
ls command on a Lustre file system often takes as much time as running the ls command&lt;br /&gt;
with the -l option (the same is true if the -F, -p, or the -classify option, or any other option &lt;br /&gt;
that requires information from a stat() call, is used). To avoid this performance overhead&lt;br /&gt;
when using ls commands, add an alias directive similar to the following&lt;br /&gt;
to your shell startup script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=never&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== $TMP ==&lt;br /&gt;
&lt;br /&gt;
While all tasks of a parallel application access the same $HOME and workspace directory, the &lt;br /&gt;
$TMP directory is local to each node on bwUniCluster 2.0. Different tasks of a parallel&lt;br /&gt;
application use different directories when they do not utilize one node. This directory should&lt;br /&gt;
be used for temporary files being accessed by single tasks. All nodes have fast SSDs &lt;br /&gt;
local storage devices which are used to store data below $TMP. &lt;br /&gt;
In addition, this directory should be used for the installation&lt;br /&gt;
of software packages. This means that the software package to be installed should be&lt;br /&gt;
unpacked, compiled and linked in a subdirectory of $TMP. The real installation of the&lt;br /&gt;
package (e.g. make install) should be made in(to) the Lustre filesystem. &lt;br /&gt;
&lt;br /&gt;
Each time a batch&lt;br /&gt;
job is started, a subdirectory is created on each node and assigned to the job. $TMP is newly&lt;br /&gt;
set; the name of the subdirectory contains the Job-id and the starting time so that the&lt;br /&gt;
subdirectory name is unique for each job. This unique name is then assigned to the&lt;br /&gt;
environment variable $TMP within the job. At the end of the job the subdirectory is removed.&lt;br /&gt;
&lt;br /&gt;
== LSDF Online Storage==&lt;br /&gt;
&lt;br /&gt;
In some cases it is useful to have access to the LSDF Online Storage on the HPC-Clusters also. Therefore the LSDF Online Storage is mounted on the Login- and Datamover-Nodes.&lt;br /&gt;
Furthermore it can be used on the compute nodes during the job runtime with the constraint flag &amp;quot;LSDF&amp;quot; ([[bwUniCluster_2.0_Slurm_common_Features|Slurm common features]]&lt;br /&gt;
). There is also an example about the LSDF batch usage: [[bwUniCluster_2.0_Slurm_common_Features#LSDF_Online_Storage|Slurm LSDF example ]] .&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH ...&lt;br /&gt;
#SBATCH --constraint=LSDF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For the usage of the LSDF Online Storage the following environment variables are available: $LSDF, $LSDFPROJECTS, $LSDFHOME.&lt;br /&gt;
Please request storage projects in the LSDF Online Storage seperately:&lt;br /&gt;
[https://www.lsdf.kit.edu/os/storagerequest/: LSDF Storage Request].&lt;br /&gt;
&lt;br /&gt;
==BeeOND (BeeGFS On-Demand)==&lt;br /&gt;
&lt;br /&gt;
Users of the HPC-Cluster have possibility to request a private BeeOND (BeeGFS) parallel filesystem for each job. The file system is created during job startup and purged after your job.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT: All data on the private filesystem will be deleted after your job. Make sure you have copied your data back to the global filesystem (within job), e.g., $HOME or any workspace.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
BeeOND/BeeGFS can be used like any other parallel file system. Tools like cp or rsync can be used to copy data in and out. This feature is currently under BETA. If you encounter any problems or have questions, please contact fh-hotline@lists.kit.edu&lt;br /&gt;
&lt;br /&gt;
For detailed usage see here:[[BwUniCluster_2.0_Slurm_common_Features#BeeOND_.28BeeGFS_On-Demand.29|Request on-demand file system]]&lt;br /&gt;
&lt;br /&gt;
==Backup and Archiving==&lt;br /&gt;
&lt;br /&gt;
There are regular backups of all data of the home directories,whereas ACLs and extended attributes will&lt;br /&gt;
not be backuped. &lt;br /&gt;
&lt;br /&gt;
Please contact the hotline if you need backuped data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:bwUniCluster 2.0|File System]][[Category:Hardware_and_Architecture|bwUniCluster 2.0]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=8370</id>
		<title>BwUniCluster2.0/Hardware and Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=8370"/>
		<updated>2021-03-17T15:09:25Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Access to other HPC-Filesystems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Architecture of bwUniCluster 2.0 =&lt;br /&gt;
&lt;br /&gt;
The bwUniCluster 2.0 is a parallel computer with distributed memory. Each node of system consists of at least two Intel Xeon processor, local memory, disks, network adapters and optionally accelerators (NVIDIA Tesla V100). All nodes are connected by a fast InfiniBand interconnect. In addition the file system&lt;br /&gt;
Lustre, that is connected by coupling the InfiniBand of the file server with the InfiniBand&lt;br /&gt;
switch of the compute cluster, is added to bwUniCluster 2.0 to provide a fast and scalable&lt;br /&gt;
parallel file system.&lt;br /&gt;
&lt;br /&gt;
The operating system on each node is Red Hat Enterprise Linux (RHEL) 7.7. A number of additional software packages like e.g. SLURM have been installed on top. Some of these components are of special interest to end users and are briefly&lt;br /&gt;
discussed in this document. Others which are of greater importance to system&lt;br /&gt;
administrators will not be covered by this document.&lt;br /&gt;
&lt;br /&gt;
The individual nodes of the system may act in different roles. According to the services supplied by the nodes, they are separated into disjoint groups. From an end users point of view the different groups of nodes are login nodes, compute nodes, file server nodes and administrative server nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Login Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The login nodes are the only nodes that are directly accessible by end users. These nodes&lt;br /&gt;
are used for interactive login, file management, program development and interactive pre-&lt;br /&gt;
and postprocessing. Two nodes are dedicated to this service but they are all accessible via&lt;br /&gt;
one address and a DNS round-robin alias distributes the login sessions to the&lt;br /&gt;
different login nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compute Node&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The majority of nodes are compute nodes which are managed by a batch system. Users &lt;br /&gt;
submit their jobs to the SLURM batch system and a job is executed when the required resources become available (depending on its fair-share priority).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;File Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The hardware of the parallel file system Lustre incorporates some file server nodes; the file&lt;br /&gt;
system Lustre is connected by coupling the InfiniBand of the file server with the independent InfiniBand switch of the compute cluster. In addition to shared file space there is also local storage on the disks of each node (for details see chapter &amp;quot;File Systems&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Administrative Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some other nodes are delivering additional services like resource management, external&lt;br /&gt;
network connection, administration etc. These nodes can be accessed directly by system administrators only.&lt;br /&gt;
&lt;br /&gt;
= Components of bwUniCluster =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;width:9%&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Thin&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;HPC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;HPC Broadwell&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Fat&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x4&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x8&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Login&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of nodes&lt;br /&gt;
| 100 + 60&lt;br /&gt;
| 360&lt;br /&gt;
| 352&lt;br /&gt;
| 6&lt;br /&gt;
| 14&lt;br /&gt;
| 10&lt;br /&gt;
| 4 + 2 (Broadwell)&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processors&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon E5-2660 v4&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6248&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of sockets&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processor frequency (GHz)&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.0 GHz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Total number of cores&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 28&lt;br /&gt;
| 80&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 40 / 20 (Broadwell)&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Main memory&lt;br /&gt;
| 96 GB / 192 GB&lt;br /&gt;
| 96 GB&lt;br /&gt;
| 128 GB&lt;br /&gt;
| 3 TB&lt;br /&gt;
| 384 GB&lt;br /&gt;
| 768 GB&lt;br /&gt;
| 384 GB / 128 GB (Broadwell)&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Local SSD&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 480 GB SATA&lt;br /&gt;
| 4,8 TB NVMe&lt;br /&gt;
| 3,2 TB NVMe&lt;br /&gt;
| 6,4 TB NVMe&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Accelerators&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 4x NVIDIA Tesla V100&lt;br /&gt;
| 8x NVIDIA Tesla V100&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Interconnect&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
| IB HDR100&lt;br /&gt;
| IB FDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
|}&lt;br /&gt;
Table 1: Properties of the nodes&lt;br /&gt;
&lt;br /&gt;
= File Systems =&lt;br /&gt;
&lt;br /&gt;
Details about changes on the file systems between bwUniCluster 1 and bwUniCluster 2.0 are described in the [[BwUniCluster_2.0_File_System_Migration_Guide|File system migration guide]]. Note that $WORK is deprecated.&lt;br /&gt;
&lt;br /&gt;
On bwUniCluster 2.0 the parallel file system Lustre is used for most globally visible user data. Lustre is open source and Lustre solutions and support are available from different vendors. Nowadays, most of the biggest HPC systems are using Lustre. An initial home directory on a Lustre file system is created during the first login, and the environment variable $HOME holds its name. Users can create so-called workspaces on another Lustre file system for non-permanent data with temporary lifetime.&lt;br /&gt;
&lt;br /&gt;
Within a batch job further file systems are available: &lt;br /&gt;
* The directory $TMP is only available and visible on the local node. It is located on fast SSD storage devices.&lt;br /&gt;
* On request a parallel on-demand (BeeOND) file system is created which uses the SSDs of the nodes which were allocated to the batch job.&lt;br /&gt;
* On request the external LSDF Online Storage is mounted on the nodes which were allocated to the batch job. This file system is based on the parallel file system Spectrum Scale. &lt;br /&gt;
&lt;br /&gt;
Some of the characteristics of the file systems are shown in Table 2.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; background:#f5fffa;border:1px solid #000000;padding:1px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;width:20%;height=20px; text-align:left;padding:3px&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Property&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $TMP&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| BeeOND&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $HOME&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Workspace&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Visibility &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| local node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| nodes of batch job&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Lifetime &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| permanent&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| max. 240 days&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Disk space &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 960 GB - 6.4 TB &amp;lt;br&amp;gt; details see table 1&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*250 GB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1.2 PiB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 4.1 PiB&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Capacity Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 1 TiB per user &amp;lt;br&amp;gt; also per organization&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 40 TiB per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Inode Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 10 million per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 30 million per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Backup&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Read perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 6 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 520 MB/s @ single / multiple &amp;lt;br&amp;gt; 800 MB/s @ multiple_e &amp;lt;br&amp;gt; 6600 MB/s @ fat &amp;lt;br&amp;gt; 6500 MB/s @ gpu_4 &amp;lt;br&amp;gt; 6500 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 400 MB/s - 500 MB/s&amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 500 MB/s @ multiple &amp;lt;br&amp;gt; 400 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Write perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 4 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 500 MB/s @ single / multiple &amp;lt;br&amp;gt; 650 MB/s @ multiple_e &amp;lt;br&amp;gt; 2900 MB/s @ fat &amp;lt;br&amp;gt; 2090 MB/s @ gpu_4 &amp;lt;br&amp;gt; 4060 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 250 MB/s - 350 MB/s &amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 350 MB/s @ multiple &amp;lt;br&amp;gt; 250 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total read perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-6000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*400-500 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total write perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-4000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*250-350 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
|}&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
  global: all nodes of uc1 access the same file system;&lt;br /&gt;
  local: each node has its own file system;&lt;br /&gt;
  permanent: files are stored permanently;&lt;br /&gt;
  batch job: files are removed at end of the batch job.&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
Table 2: Properties of the file systems&lt;br /&gt;
&lt;br /&gt;
== Selecting the appropriate file system ==&lt;br /&gt;
&lt;br /&gt;
In general, you should separate your data and store it on the appropriate file system.&lt;br /&gt;
Permanently needed data like software or important results should be stored below $HOME&lt;br /&gt;
but capacity restrictions (quotas) apply. In case you accidentally deleted data on $HOME&lt;br /&gt;
you can usually restore it from backup. Permanent data which is not needed for months&lt;br /&gt;
or exceeds the capacity restrictions should be sent to bwFileStorage, to the LSDF Online Storage, &lt;br /&gt;
or to the archive and deleted from the file systems. Temporary data which is only needed on a single&lt;br /&gt;
node and which does not exceed the disk space shown in the table above should be stored&lt;br /&gt;
below $TMP. Temporary data which is only needed during job runs should be stored on a &lt;br /&gt;
parallel on-demand file system. Temporary data which can be recomputed or which is the &lt;br /&gt;
result of one job and input for another job should be stored below in workspaces. The lifetime &lt;br /&gt;
of data in workspaces is limited and depends on the lifetime of the workspace which can be &lt;br /&gt;
several months.&lt;br /&gt;
&lt;br /&gt;
For further details please check the chapters below.&lt;br /&gt;
&lt;br /&gt;
== $HOME ==&lt;br /&gt;
&lt;br /&gt;
The home directories of bwUniCluster 2.0 (uc2) users are located in the parallel file system Lustre.&lt;br /&gt;
You have access to your home directory from all nodes of uc2. A regular backup of these directories &lt;br /&gt;
to tape archive is done automatically. The directory $HOME is used to hold those files that are&lt;br /&gt;
permanently used like source codes, configuration files, executable programs etc. &lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 1 TiB and 10 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In addition to the user limit there is a limit of your organization (e.g. university) which depends on the financial share. This limit is enforced with so-called Lustre project quotas. You can show the current usage and limits of your organization with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lfs quota -ph $(grep $(echo $HOME | sed -e &amp;quot;s|/[^/]*/[^/]*$||&amp;quot;) /pfs/data5/project_ids.txt | cut -f 1 -d\ ) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workspaces ==&lt;br /&gt;
&lt;br /&gt;
On uc2 workspaces can be used to store large non-permanent data sets, e.g. restart files or output&lt;br /&gt;
data that has to be post-processed. The file system used for workspaces is also the parallel file system Lustre. This file system is especially designed for parallel access and for a high throughput to large&lt;br /&gt;
files. It is able to provide high data transfer rates of up to 54 GB/s write and read performance when data access is parallel. &lt;br /&gt;
&lt;br /&gt;
Workspaces have a lifetime and the data on a workspace expires as a whole after a fixed period. The maximum lifetime of a workspace is 60 days, but it can be renewed at the end of that period 3 times to a total maximum of 240 days after workspace generation. If a workspace has inadvertently expired we can restore the data during a limited time (few weeks). In this case you should create a new workspace and report the name of the new and of the expired workspace in a ticket or in an email to the hotline.&lt;br /&gt;
&lt;br /&gt;
Creating, deleting, finding and extending workspaces is explained on the  [[workspace]] page.&lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 40 TiB and 30 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) /pfs/work7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reminder for workspace deletion ===&lt;br /&gt;
&lt;br /&gt;
Normally you will get an email every day starting 7 days before a workspace expires. You can send yourself a calender entry which reminds you when a workspace will be automatically deleted:&lt;br /&gt;
&lt;br /&gt;
 $ ws_send_ical.sh &amp;lt;workspace&amp;gt; &amp;lt;email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Improving Performance on $HOME and workspaces ==&lt;br /&gt;
&lt;br /&gt;
The following recommendations might help to improve throughput and metadata&lt;br /&gt;
performance on Lustre filesystems.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Throughput Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Depending on your application some adaptations might be necessary if you want to reach&lt;br /&gt;
the full bandwidth of the filesystems. Parallel filesystems typically stripe files over storage subsystems, i.e. large files are separated into stripes and distributed to different storage subsystems. In Lustre, the size of these stripes (sometimes also mentioned as chunks) is called stripe size and the number of used storage subsystems is called stripe count.&lt;br /&gt;
&lt;br /&gt;
When you are designing your application you should consider that the performance of&lt;br /&gt;
parallel filesystems is generally better if data is transferred in large blocks and stored in&lt;br /&gt;
few large files. In more detail, to increase throughput performance of a parallel application&lt;br /&gt;
following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* collect large chunks of data and write them sequentially at once,&lt;br /&gt;
&lt;br /&gt;
* to exploit complete filesystem bandwidth use several clients,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive file access by different tasks or use blocks with boundaries at stripe size (default is 1MB),&lt;br /&gt;
&lt;br /&gt;
* if files are small enough for the SSDs and are only used by one process store them on $TMP.&lt;br /&gt;
&lt;br /&gt;
With previous Lustre versions adapting the Lustre stripe count was the most important optimization. However, for the workspaces of uc2 the new Lustre feature Progressive File Layouts has been used to define file striping parameters. This means that the stripe count is adapted if the file size is growing. In normal cases users no longer need to adapt file striping parameters in case they have very huge files or in order to reach better performance. &lt;br /&gt;
&lt;br /&gt;
If you know what you are doing you can still change striping parameters, e.g. the stripe count, of a directory and of newly created files. New files and directories inherit the stripe count from the parent directory. E.g. if you want to enhance throughput on a single very large file which is created in the directory $HOME/my_output_dir you can use the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs setstripe -c-1 $HOME/my_output_dir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to change the stripe count to -1 which means that all storage subsystems of the file system are used to store that file. If you change the stripe count of a directory the stripe count of existing files inside this&lt;br /&gt;
directory is not changed. If you want to change the stripe count of existing files, change&lt;br /&gt;
the stripe count of the parent directory, copy the files to new files, remove the old files&lt;br /&gt;
and move the new files back to the old name. In order to check the stripe setting of&lt;br /&gt;
the file my_file use&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs getstripe my_file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also note that changes on the striping parameters (e.g. stripe count) are not saved in the&lt;br /&gt;
backup, i.e. if directories have to be recreated this information is lost and the default stripe&lt;br /&gt;
count will be used. Therefore, you should annotate for which directories you made changes&lt;br /&gt;
to the striping parameters so that you can repeat these changes if required.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Metadata Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Metadata performance on parallel file systems is usually not as good as with local&lt;br /&gt;
filesystems. In addition, it is usually not scalable, i.e. a limited resource. Therefore,&lt;br /&gt;
you should omit metadata operations whenever possible. For example, it is much better&lt;br /&gt;
to have few large files than lots of small files. In more detail, to increase metadata&lt;br /&gt;
performance of a parallel application following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* avoid creating many small files,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive directory access, e.g. by creating files in separate subdirectories for each task,&lt;br /&gt;
&lt;br /&gt;
* if many small files are only used within a batch job and accessed by one process store them on $TMP,&lt;br /&gt;
&lt;br /&gt;
* change the default colorization setting of the command ls (see below).&lt;br /&gt;
&lt;br /&gt;
On modern Linux systems, the GNU ls command often uses colorization by default to&lt;br /&gt;
visually highlight the file type; this is especially true if the command is run within a terminal&lt;br /&gt;
session. This is because the default shell profile initializations usually contain an alias&lt;br /&gt;
directive similar to the following for the ls command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=tty&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
However, running the ls command in this way for files on a Lustre file system requires&lt;br /&gt;
a stat() call to be used to determine the file type. This can result in a performance&lt;br /&gt;
overhead, because the stat() call always needs to determine the size of a file, and that&lt;br /&gt;
in turn means that the client node must query the object size of all the backing objects&lt;br /&gt;
that make up a file. As a result of the default colorization setting, running a simple&lt;br /&gt;
ls command on a Lustre file system often takes as much time as running the ls command&lt;br /&gt;
with the -l option (the same is true if the -F, -p, or the -classify option, or any other option &lt;br /&gt;
that requires information from a stat() call, is used). To avoid this performance overhead&lt;br /&gt;
when using ls commands, add an alias directive similar to the following&lt;br /&gt;
to your shell startup script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=never&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== $TMP ==&lt;br /&gt;
&lt;br /&gt;
While all tasks of a parallel application access the same $HOME and workspace directory, the &lt;br /&gt;
$TMP directory is local to each node on bwUniCluster 2.0. Different tasks of a parallel&lt;br /&gt;
application use different directories when they do not utilize one node. This directory should&lt;br /&gt;
be used for temporary files being accessed by single tasks. All nodes have fast SSDs &lt;br /&gt;
local storage devices which are used to store data below $TMP. &lt;br /&gt;
In addition, this directory should be used for the installation&lt;br /&gt;
of software packages. This means that the software package to be installed should be&lt;br /&gt;
unpacked, compiled and linked in a subdirectory of $TMP. The real installation of the&lt;br /&gt;
package (e.g. make install) should be made in(to) the Lustre filesystem. &lt;br /&gt;
&lt;br /&gt;
Each time a batch&lt;br /&gt;
job is started, a subdirectory is created on each node and assigned to the job. $TMP is newly&lt;br /&gt;
set; the name of the subdirectory contains the Job-id and the starting time so that the&lt;br /&gt;
subdirectory name is unique for each job. This unique name is then assigned to the&lt;br /&gt;
environment variable $TMP within the job. At the end of the job the subdirectory is removed.&lt;br /&gt;
&lt;br /&gt;
== LSDF Online Storage==&lt;br /&gt;
&lt;br /&gt;
In some cases it is useful to have access to the LSDF Online Storage on the HPC-Clusters also. Therefore the LSDF Online Storage is mounted on the Login- and Datamover-Nodes.&lt;br /&gt;
Furthermore it can be used on the compute nodes during the job runtime with the constraint flag &amp;quot;LSDF&amp;quot; ([[bwUniCluster_2.0_Slurm_common_Features|Slurm common features]]&lt;br /&gt;
). There is also an example about the LSDF batch usage: [[bwUniCluster_2.0_Slurm_common_Features#LSDF_Online_Storage|Slurm LSDF example ]] .&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH ...&lt;br /&gt;
#SBATCH --constraint=LSDF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For the usage of the LSDF Online Storage the following environment variables are available: $LSDF, $LSDFPROJECTS, $LSDFHOME.&lt;br /&gt;
Please request storage projects in the LSDF Online Storage seperately:&lt;br /&gt;
[https://www.lsdf.kit.edu/os/storagerequest/: LSDF Storage Request].&lt;br /&gt;
&lt;br /&gt;
==BeeOND (BeeGFS On-Demand)==&lt;br /&gt;
&lt;br /&gt;
Users of the HPC-Cluster have possibility to request a private BeeOND (BeeGFS) parallel filesystem for each job. The file system is created during job startup and purged after your job.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT: All data on the private filesystem will be deleted after your job. Make sure you have copied your data back to the global filesystem (within job), e.g., $HOME or any workspace.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
BeeOND/BeeGFS can be used like any other parallel file system. Tools like cp or rsync can be used to copy data in and out. This feature is currently under BETA. If you encounter any problems or have questions, please contact fh-hotline@lists.kit.edu&lt;br /&gt;
&lt;br /&gt;
For detailed usage see here:[[BwUniCluster_2.0_Slurm_common_Features#BeeOND_.28BeeGFS_On-Demand.29|Request on-demand file system]]&lt;br /&gt;
&lt;br /&gt;
==Backup and Archiving==&lt;br /&gt;
&lt;br /&gt;
There are regular backups of all data of the home directories,whereas ACLs and extended attributes will&lt;br /&gt;
not be backuped. &lt;br /&gt;
&lt;br /&gt;
Please contact the hotline if you need backuped data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:bwUniCluster 2.0|File System]][[Category:Hardware_and_Architecture|bwUniCluster 2.0]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=8369</id>
		<title>BwUniCluster2.0/Hardware and Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Hardware_and_Architecture&amp;diff=8369"/>
		<updated>2021-03-17T15:09:11Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Selecting the appropriate file system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Architecture of bwUniCluster 2.0 =&lt;br /&gt;
&lt;br /&gt;
The bwUniCluster 2.0 is a parallel computer with distributed memory. Each node of system consists of at least two Intel Xeon processor, local memory, disks, network adapters and optionally accelerators (NVIDIA Tesla V100). All nodes are connected by a fast InfiniBand interconnect. In addition the file system&lt;br /&gt;
Lustre, that is connected by coupling the InfiniBand of the file server with the InfiniBand&lt;br /&gt;
switch of the compute cluster, is added to bwUniCluster 2.0 to provide a fast and scalable&lt;br /&gt;
parallel file system.&lt;br /&gt;
&lt;br /&gt;
The operating system on each node is Red Hat Enterprise Linux (RHEL) 7.7. A number of additional software packages like e.g. SLURM have been installed on top. Some of these components are of special interest to end users and are briefly&lt;br /&gt;
discussed in this document. Others which are of greater importance to system&lt;br /&gt;
administrators will not be covered by this document.&lt;br /&gt;
&lt;br /&gt;
The individual nodes of the system may act in different roles. According to the services supplied by the nodes, they are separated into disjoint groups. From an end users point of view the different groups of nodes are login nodes, compute nodes, file server nodes and administrative server nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Login Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The login nodes are the only nodes that are directly accessible by end users. These nodes&lt;br /&gt;
are used for interactive login, file management, program development and interactive pre-&lt;br /&gt;
and postprocessing. Two nodes are dedicated to this service but they are all accessible via&lt;br /&gt;
one address and a DNS round-robin alias distributes the login sessions to the&lt;br /&gt;
different login nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compute Node&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The majority of nodes are compute nodes which are managed by a batch system. Users &lt;br /&gt;
submit their jobs to the SLURM batch system and a job is executed when the required resources become available (depending on its fair-share priority).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;File Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The hardware of the parallel file system Lustre incorporates some file server nodes; the file&lt;br /&gt;
system Lustre is connected by coupling the InfiniBand of the file server with the independent InfiniBand switch of the compute cluster. In addition to shared file space there is also local storage on the disks of each node (for details see chapter &amp;quot;File Systems&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Administrative Server Nodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some other nodes are delivering additional services like resource management, external&lt;br /&gt;
network connection, administration etc. These nodes can be accessed directly by system administrators only.&lt;br /&gt;
&lt;br /&gt;
= Components of bwUniCluster =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;width:9%&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Thin&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;HPC&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;HPC Broadwell&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Compute nodes &amp;quot;Fat&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x4&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| GPU x8&lt;br /&gt;
! style=&amp;quot;width:13%&amp;quot;| Login&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of nodes&lt;br /&gt;
| 100 + 60&lt;br /&gt;
| 360&lt;br /&gt;
| 352&lt;br /&gt;
| 6&lt;br /&gt;
| 14&lt;br /&gt;
| 10&lt;br /&gt;
| 4 + 2 (Broadwell)&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processors&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon E5-2660 v4&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6230&lt;br /&gt;
| Intel Xeon Gold 6248&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Number of sockets&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Processor frequency (GHz)&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.0 GHz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| 2.1 Ghz&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Total number of cores&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 28&lt;br /&gt;
| 80&lt;br /&gt;
| 40&lt;br /&gt;
| 40&lt;br /&gt;
| 40 / 20 (Broadwell)&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Main memory&lt;br /&gt;
| 96 GB / 192 GB&lt;br /&gt;
| 96 GB&lt;br /&gt;
| 128 GB&lt;br /&gt;
| 3 TB&lt;br /&gt;
| 384 GB&lt;br /&gt;
| 768 GB&lt;br /&gt;
| 384 GB / 128 GB (Broadwell)&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Local SSD&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 960 GB SATA&lt;br /&gt;
| 480 GB SATA&lt;br /&gt;
| 4,8 TB NVMe&lt;br /&gt;
| 3,2 TB NVMe&lt;br /&gt;
| 6,4 TB NVMe&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Accelerators&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 4x NVIDIA Tesla V100&lt;br /&gt;
| 8x NVIDIA Tesla V100&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Interconnect&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
| IB HDR100&lt;br /&gt;
| IB FDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR&lt;br /&gt;
| IB HDR100 (blocking)&lt;br /&gt;
|}&lt;br /&gt;
Table 1: Properties of the nodes&lt;br /&gt;
&lt;br /&gt;
= File Systems =&lt;br /&gt;
&lt;br /&gt;
Details about changes on the file systems between bwUniCluster 1 and bwUniCluster 2.0 are described in the [[BwUniCluster_2.0_File_System_Migration_Guide|File system migration guide]]. Note that $WORK is deprecated.&lt;br /&gt;
&lt;br /&gt;
On bwUniCluster 2.0 the parallel file system Lustre is used for most globally visible user data. Lustre is open source and Lustre solutions and support are available from different vendors. Nowadays, most of the biggest HPC systems are using Lustre. An initial home directory on a Lustre file system is created during the first login, and the environment variable $HOME holds its name. Users can create so-called workspaces on another Lustre file system for non-permanent data with temporary lifetime.&lt;br /&gt;
&lt;br /&gt;
Within a batch job further file systems are available: &lt;br /&gt;
* The directory $TMP is only available and visible on the local node. It is located on fast SSD storage devices.&lt;br /&gt;
* On request a parallel on-demand (BeeOND) file system is created which uses the SSDs of the nodes which were allocated to the batch job.&lt;br /&gt;
* On request the external LSDF Online Storage is mounted on the nodes which were allocated to the batch job. This file system is based on the parallel file system Spectrum Scale. &lt;br /&gt;
&lt;br /&gt;
Some of the characteristics of the file systems are shown in Table 2.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; background:#f5fffa;border:1px solid #000000;padding:1px&amp;quot;&lt;br /&gt;
|- style=&amp;quot;width:20%;height=20px; text-align:left;padding:3px&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Property&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $TMP&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| BeeOND&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| $HOME&lt;br /&gt;
! style=&amp;quot;background-color:#AAA;padding:3px&amp;quot;| Workspace&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Visibility &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| local node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| nodes of batch job&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| global&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Lifetime &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| batch job runtime&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| permanent&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| max. 240 days&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Disk space &lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 960 GB - 6.4 TB &amp;lt;br&amp;gt; details see table 1&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*250 GB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1.2 PiB&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 4.1 PiB&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Capacity Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 1 TiB per user &amp;lt;br&amp;gt; also per organization&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 40 TiB per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Inode Quotas&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 10 million per user&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes &amp;lt;br&amp;gt; 30 million per user&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Backup&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| yes&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| no&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Read perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 6 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 520 MB/s @ single / multiple &amp;lt;br&amp;gt; 800 MB/s @ multiple_e &amp;lt;br&amp;gt; 6600 MB/s @ fat &amp;lt;br&amp;gt; 6500 MB/s @ gpu_4 &amp;lt;br&amp;gt; 6500 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 400 MB/s - 500 MB/s&amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 500 MB/s @ multiple &amp;lt;br&amp;gt; 400 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Write perf./node&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 500 MB/s - 4 GB/s &amp;lt;br&amp;gt; depends on type of local SSD / job queue: &amp;lt;br&amp;gt; 500 MB/s @ single / multiple &amp;lt;br&amp;gt; 650 MB/s @ multiple_e &amp;lt;br&amp;gt; 2900 MB/s @ fat &amp;lt;br&amp;gt; 2090 MB/s @ gpu_4 &amp;lt;br&amp;gt; 4060 MB/s @ gpu_8&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 250 MB/s - 350 MB/s &amp;lt;br&amp;gt; depends on type of local SSDs / job queue: &amp;lt;br&amp;gt; 350 MB/s @ multiple &amp;lt;br&amp;gt; 250 MB/s @ multiple_e&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 1 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total read perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-6000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*400-500 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#d3ddd8;height=20px; text-align:left;padding:3px&amp;quot;| Total write perf.&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*500-4000 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| n*250-350 MB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 18 GB/s&lt;br /&gt;
| style=&amp;quot;height=20px; text-align:left;padding:3px&amp;quot;| 54 GB/s&lt;br /&gt;
|}&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
  global: all nodes of uc1 access the same file system;&lt;br /&gt;
  local: each node has its own file system;&lt;br /&gt;
  permanent: files are stored permanently;&lt;br /&gt;
  batch job: files are removed at end of the batch job.&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
Table 2: Properties of the file systems&lt;br /&gt;
&lt;br /&gt;
== Selecting the appropriate file system ==&lt;br /&gt;
&lt;br /&gt;
In general, you should separate your data and store it on the appropriate file system.&lt;br /&gt;
Permanently needed data like software or important results should be stored below $HOME&lt;br /&gt;
but capacity restrictions (quotas) apply. In case you accidentally deleted data on $HOME&lt;br /&gt;
you can usually restore it from backup. Permanent data which is not needed for months&lt;br /&gt;
or exceeds the capacity restrictions should be sent to bwFileStorage, to the LSDF Online Storage, &lt;br /&gt;
or to the archive and deleted from the file systems. Temporary data which is only needed on a single&lt;br /&gt;
node and which does not exceed the disk space shown in the table above should be stored&lt;br /&gt;
below $TMP. Temporary data which is only needed during job runs should be stored on a &lt;br /&gt;
parallel on-demand file system. Temporary data which can be recomputed or which is the &lt;br /&gt;
result of one job and input for another job should be stored below in workspaces. The lifetime &lt;br /&gt;
of data in workspaces is limited and depends on the lifetime of the workspace which can be &lt;br /&gt;
several months.&lt;br /&gt;
&lt;br /&gt;
For further details please check the chapters below.&lt;br /&gt;
&lt;br /&gt;
== $HOME ==&lt;br /&gt;
&lt;br /&gt;
The home directories of bwUniCluster 2.0 (uc2) users are located in the parallel file system Lustre.&lt;br /&gt;
You have access to your home directory from all nodes of uc2. A regular backup of these directories &lt;br /&gt;
to tape archive is done automatically. The directory $HOME is used to hold those files that are&lt;br /&gt;
permanently used like source codes, configuration files, executable programs etc. &lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 1 TiB and 10 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In addition to the user limit there is a limit of your organization (e.g. university) which depends on the financial share. This limit is enforced with so-called Lustre project quotas. You can show the current usage and limits of your organization with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lfs quota -ph $(grep $(echo $HOME | sed -e &amp;quot;s|/[^/]*/[^/]*$||&amp;quot;) /pfs/data5/project_ids.txt | cut -f 1 -d\ ) $HOME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workspaces ==&lt;br /&gt;
&lt;br /&gt;
On uc2 workspaces can be used to store large non-permanent data sets, e.g. restart files or output&lt;br /&gt;
data that has to be post-processed. The file system used for workspaces is also the parallel file system Lustre. This file system is especially designed for parallel access and for a high throughput to large&lt;br /&gt;
files. It is able to provide high data transfer rates of up to 54 GB/s write and read performance when data access is parallel. &lt;br /&gt;
&lt;br /&gt;
Workspaces have a lifetime and the data on a workspace expires as a whole after a fixed period. The maximum lifetime of a workspace is 60 days, but it can be renewed at the end of that period 3 times to a total maximum of 240 days after workspace generation. If a workspace has inadvertently expired we can restore the data during a limited time (few weeks). In this case you should create a new workspace and report the name of the new and of the expired workspace in a ticket or in an email to the hotline.&lt;br /&gt;
&lt;br /&gt;
Creating, deleting, finding and extending workspaces is explained on the  [[workspace]] page.&lt;br /&gt;
&lt;br /&gt;
On uc2 there is a default user quota limit of 40 TiB and 30 million inodes (files and directories) per user. &lt;br /&gt;
You can chek your current usage and limits with the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs quota -uh $(whoami) /pfs/work7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reminder for workspace deletion ===&lt;br /&gt;
&lt;br /&gt;
Normally you will get an email every day starting 7 days before a workspace expires. You can send yourself a calender entry which reminds you when a workspace will be automatically deleted:&lt;br /&gt;
&lt;br /&gt;
 $ ws_send_ical.sh &amp;lt;workspace&amp;gt; &amp;lt;email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Improving Performance on $HOME and workspaces ==&lt;br /&gt;
&lt;br /&gt;
The following recommendations might help to improve throughput and metadata&lt;br /&gt;
performance on Lustre filesystems.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Throughput Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Depending on your application some adaptations might be necessary if you want to reach&lt;br /&gt;
the full bandwidth of the filesystems. Parallel filesystems typically stripe files over storage subsystems, i.e. large files are separated into stripes and distributed to different storage subsystems. In Lustre, the size of these stripes (sometimes also mentioned as chunks) is called stripe size and the number of used storage subsystems is called stripe count.&lt;br /&gt;
&lt;br /&gt;
When you are designing your application you should consider that the performance of&lt;br /&gt;
parallel filesystems is generally better if data is transferred in large blocks and stored in&lt;br /&gt;
few large files. In more detail, to increase throughput performance of a parallel application&lt;br /&gt;
following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* collect large chunks of data and write them sequentially at once,&lt;br /&gt;
&lt;br /&gt;
* to exploit complete filesystem bandwidth use several clients,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive file access by different tasks or use blocks with boundaries at stripe size (default is 1MB),&lt;br /&gt;
&lt;br /&gt;
* if files are small enough for the SSDs and are only used by one process store them on $TMP.&lt;br /&gt;
&lt;br /&gt;
With previous Lustre versions adapting the Lustre stripe count was the most important optimization. However, for the workspaces of uc2 the new Lustre feature Progressive File Layouts has been used to define file striping parameters. This means that the stripe count is adapted if the file size is growing. In normal cases users no longer need to adapt file striping parameters in case they have very huge files or in order to reach better performance. &lt;br /&gt;
&lt;br /&gt;
If you know what you are doing you can still change striping parameters, e.g. the stripe count, of a directory and of newly created files. New files and directories inherit the stripe count from the parent directory. E.g. if you want to enhance throughput on a single very large file which is created in the directory $HOME/my_output_dir you can use the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs setstripe -c-1 $HOME/my_output_dir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to change the stripe count to -1 which means that all storage subsystems of the file system are used to store that file. If you change the stripe count of a directory the stripe count of existing files inside this&lt;br /&gt;
directory is not changed. If you want to change the stripe count of existing files, change&lt;br /&gt;
the stripe count of the parent directory, copy the files to new files, remove the old files&lt;br /&gt;
and move the new files back to the old name. In order to check the stripe setting of&lt;br /&gt;
the file my_file use&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lfs getstripe my_file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also note that changes on the striping parameters (e.g. stripe count) are not saved in the&lt;br /&gt;
backup, i.e. if directories have to be recreated this information is lost and the default stripe&lt;br /&gt;
count will be used. Therefore, you should annotate for which directories you made changes&lt;br /&gt;
to the striping parameters so that you can repeat these changes if required.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Improving Metadata Performance&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Metadata performance on parallel file systems is usually not as good as with local&lt;br /&gt;
filesystems. In addition, it is usually not scalable, i.e. a limited resource. Therefore,&lt;br /&gt;
you should omit metadata operations whenever possible. For example, it is much better&lt;br /&gt;
to have few large files than lots of small files. In more detail, to increase metadata&lt;br /&gt;
performance of a parallel application following aspects should be considered:&lt;br /&gt;
&lt;br /&gt;
* avoid creating many small files,&lt;br /&gt;
&lt;br /&gt;
* avoid competitive directory access, e.g. by creating files in separate subdirectories for each task,&lt;br /&gt;
&lt;br /&gt;
* if many small files are only used within a batch job and accessed by one process store them on $TMP,&lt;br /&gt;
&lt;br /&gt;
* change the default colorization setting of the command ls (see below).&lt;br /&gt;
&lt;br /&gt;
On modern Linux systems, the GNU ls command often uses colorization by default to&lt;br /&gt;
visually highlight the file type; this is especially true if the command is run within a terminal&lt;br /&gt;
session. This is because the default shell profile initializations usually contain an alias&lt;br /&gt;
directive similar to the following for the ls command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=tty&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
However, running the ls command in this way for files on a Lustre file system requires&lt;br /&gt;
a stat() call to be used to determine the file type. This can result in a performance&lt;br /&gt;
overhead, because the stat() call always needs to determine the size of a file, and that&lt;br /&gt;
in turn means that the client node must query the object size of all the backing objects&lt;br /&gt;
that make up a file. As a result of the default colorization setting, running a simple&lt;br /&gt;
ls command on a Lustre file system often takes as much time as running the ls command&lt;br /&gt;
with the -l option (the same is true if the -F, -p, or the -classify option, or any other option &lt;br /&gt;
that requires information from a stat() call, is used). To avoid this performance overhead&lt;br /&gt;
when using ls commands, add an alias directive similar to the following&lt;br /&gt;
to your shell startup script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ alias ls=&amp;quot;ls --color=never&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== $TMP ==&lt;br /&gt;
&lt;br /&gt;
While all tasks of a parallel application access the same $HOME and workspace directory, the &lt;br /&gt;
$TMP directory is local to each node on bwUniCluster 2.0. Different tasks of a parallel&lt;br /&gt;
application use different directories when they do not utilize one node. This directory should&lt;br /&gt;
be used for temporary files being accessed by single tasks. All nodes have fast SSDs &lt;br /&gt;
local storage devices which are used to store data below $TMP. &lt;br /&gt;
In addition, this directory should be used for the installation&lt;br /&gt;
of software packages. This means that the software package to be installed should be&lt;br /&gt;
unpacked, compiled and linked in a subdirectory of $TMP. The real installation of the&lt;br /&gt;
package (e.g. make install) should be made in(to) the Lustre filesystem. &lt;br /&gt;
&lt;br /&gt;
Each time a batch&lt;br /&gt;
job is started, a subdirectory is created on each node and assigned to the job. $TMP is newly&lt;br /&gt;
set; the name of the subdirectory contains the Job-id and the starting time so that the&lt;br /&gt;
subdirectory name is unique for each job. This unique name is then assigned to the&lt;br /&gt;
environment variable $TMP within the job. At the end of the job the subdirectory is removed.&lt;br /&gt;
&lt;br /&gt;
== LSDF Online Storage==&lt;br /&gt;
&lt;br /&gt;
In some cases it is useful to have access to the LSDF Online Storage on the HPC-Clusters also. Therefore the LSDF Online Storage is mounted on the Login- and Datamover-Nodes.&lt;br /&gt;
Furthermore it can be used on the compute nodes during the job runtime with the constraint flag &amp;quot;LSDF&amp;quot; ([[bwUniCluster_2.0_Slurm_common_Features|Slurm common features]]&lt;br /&gt;
). There is also an example about the LSDF batch usage: [[bwUniCluster_2.0_Slurm_common_Features#LSDF_Online_Storage|Slurm LSDF example ]] .&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH ...&lt;br /&gt;
#SBATCH --constraint=LSDF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For the usage of the LSDF Online Storage the following environment variables are available: $LSDF, $LSDFPROJECTS, $LSDFHOME.&lt;br /&gt;
Please request storage projects in the LSDF Online Storage seperately:&lt;br /&gt;
[https://www.lsdf.kit.edu/os/storagerequest/: LSDF Storage Request].&lt;br /&gt;
&lt;br /&gt;
== Access to other HPC-Filesystems==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Users of several SCC HPC-Clusters and users of the LSDF online storage have the possibility to transfer data over the &amp;quot;data mover&amp;quot; nodes via the tool &amp;quot;rdata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The command &#039;&#039;&#039;rdata&#039;&#039;&#039; executes the filesystem operations on special &amp;quot;data mover&amp;quot; nodes and distributes the load. Examples for the command are:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ rdata &amp;quot;ls $LSDFHOME/*.c&amp;quot;&lt;br /&gt;
$ rdata &amp;quot;cp $WORK/foo $LSDFHOME&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ man rdata&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
shows how to use the command &#039;&#039;&#039;rdata&#039;&#039;&#039;.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$WORK of SCC HPC-Clusters===&lt;br /&gt;
&lt;br /&gt;
From ForHLR II users can transfer data of the $WORK filesystem to the bwUniCluster via the tool &amp;quot;rdata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===$PROJECT of the ForHLR I===&lt;br /&gt;
&lt;br /&gt;
Users of ForHLR II can transfer data of the $PROJECT file system to the bwUniCluster via the tool &amp;quot;rdata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===LSDF online storage===&lt;br /&gt;
&lt;br /&gt;
Users of the &#039;&#039;&#039;LSDF online storage&#039;&#039;&#039; can furthermore transfer data to bwUniCluster via the tool &#039;&#039;&#039;rdata&#039;&#039;&#039;.&lt;br /&gt;
Therefore the environment variables $LSDF, $LSDFPROJECTS and $LSDFHOME are set.&lt;br /&gt;
&lt;br /&gt;
==BeeOND (BeeGFS On-Demand)==&lt;br /&gt;
&lt;br /&gt;
Users of the HPC-Cluster have possibility to request a private BeeOND (BeeGFS) parallel filesystem for each job. The file system is created during job startup and purged after your job.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT: All data on the private filesystem will be deleted after your job. Make sure you have copied your data back to the global filesystem (within job), e.g., $HOME or any workspace.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
BeeOND/BeeGFS can be used like any other parallel file system. Tools like cp or rsync can be used to copy data in and out. This feature is currently under BETA. If you encounter any problems or have questions, please contact fh-hotline@lists.kit.edu&lt;br /&gt;
&lt;br /&gt;
For detailed usage see here:[[BwUniCluster_2.0_Slurm_common_Features#BeeOND_.28BeeGFS_On-Demand.29|Request on-demand file system]]&lt;br /&gt;
&lt;br /&gt;
==Backup and Archiving==&lt;br /&gt;
&lt;br /&gt;
There are regular backups of all data of the home directories,whereas ACLs and extended attributes will&lt;br /&gt;
not be backuped. &lt;br /&gt;
&lt;br /&gt;
Please contact the hotline if you need backuped data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:bwUniCluster 2.0|File System]][[Category:Hardware_and_Architecture|bwUniCluster 2.0]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Software_Modules&amp;diff=8357</id>
		<title>BwUniCluster2.0/Software Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Software_Modules&amp;diff=8357"/>
		<updated>2021-03-05T10:52:05Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Finding software Modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= Introduction =&lt;br /&gt;
&#039;&#039;&#039;Environment Modules&#039;&#039;&#039;, or short &#039;&#039;&#039;Modules&#039;&#039;&#039; are the means by which most of the installed scientific software is provided on bwUniCluster 2.0.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The use of different compilers, libraries and software packages requires users to set up  a specific session environment suited for the program they want to run. bwUniCluster 2.0 provides users with the possibility to load and unload complete environments for compilers, libraries and software packages by a single command. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Description = &lt;br /&gt;
The Environment &#039;&#039;Modules&#039;&#039; package enables dynamic modification of your environment by the &lt;br /&gt;
use of so-called &#039;&#039;modulefiles&#039;&#039;. A &#039;&#039;modulefile&#039;&#039; contains information to configure the shell &lt;br /&gt;
for a program/software . Typically, a modulefile contains instructions that alter or set shell &lt;br /&gt;
environment variables, such as PATH and MANPATH, to enable access to various installed &lt;br /&gt;
software. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
One of the key features of using the Environment &#039;&#039;Modules&#039;&#039; software is to allow multiple versions of the same software to be used in your environment in a controlled manner. &lt;br /&gt;
For example, two different versions of the Intel C compiler can be installed on the system at the same time - the version used is based upon which Intel C compiler modulefile is loaded.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The software stack of bwUniCluster 2.0 provides a number of modulefiles. You can also &lt;br /&gt;
create your own modulefiles. &#039;&#039;Modulefiles&#039;&#039; may be shared by many users on a system, and &lt;br /&gt;
users may have their own collection of modulefiles to supplement or replace the shared &lt;br /&gt;
modulefiles.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A modulefile does not provide configuration of your environment until it is explicitly loaded, &lt;br /&gt;
i.e., the specific modulefile for a software product or application must be loaded in your environment before the configuration information in the modulefile is effective.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to see which modules are loaded you must execute&lt;br /&gt;
&#039;&#039;&#039;&#039;module list&#039;&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module list&lt;br /&gt;
Currently Loaded Modules:&lt;br /&gt;
  1) compiler/intel/19.1   2) mpi/impi/2019   3) numlib/mkl/2019&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
Lmod on bwUniCluster 2.0: A New Environment Module System from http://lmod.readthedocs.org/en/latest/ is installed.&lt;br /&gt;
== Documentation ==&lt;br /&gt;
Execute &#039;&#039;&#039;&#039;module help&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;man module&#039;&#039;&#039;&#039; for help on how to use &#039;&#039;Modules&#039;&#039; software.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module help&lt;br /&gt;
Usage: module [options] sub-command [args ...]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
  -h -? -H --help                   This help message&lt;br /&gt;
  -s availStyle --style=availStyle  Site controlled avail style: system (default: system)&lt;br /&gt;
  --regression_testing              Lmod regression testing&lt;br /&gt;
  -D                                Program tracing written to stderr&lt;br /&gt;
  --debug=dbglvl                    Program tracing written to stderr (where dbglvl is a number 1,2,3)&lt;br /&gt;
  --pin_versions=pinVersions        When doing a restore use specified version, do not follow defaults&lt;br /&gt;
  -d --default                      List default modules only when used with avail&lt;br /&gt;
  -q --quiet                        Do not print out warnings&lt;br /&gt;
  --expert                          Expert mode&lt;br /&gt;
  -t --terse                        Write out in machine readable format for commands: list, avail, spider, savelist&lt;br /&gt;
  --initial_load                    loading Lmod for first time in a user shell&lt;br /&gt;
  --latest                          Load latest (ignore default)&lt;br /&gt;
  --ignore_cache                    Treat the cache file(s) as out-of-date&lt;br /&gt;
  --novice                          Turn off expert and quiet flag&lt;br /&gt;
  --raw                             Print modulefile in raw output when used with show&lt;br /&gt;
  -w twidth --width=twidth          Use this as max term width&lt;br /&gt;
  -v --version                      Print version info and quit&lt;br /&gt;
  -r --regexp                       use regular expression match&lt;br /&gt;
  --gitversion                      Dump git version in a machine readable way and quit&lt;br /&gt;
  --dumpversion                     Dump version in a machine readable way and quit&lt;br /&gt;
  --check_syntax --checkSyntax      Checking module command syntax: do not load&lt;br /&gt;
  --config                          Report Lmod Configuration&lt;br /&gt;
  --config_json                     Report Lmod Configuration in json format&lt;br /&gt;
  --mt                              Report Module Table State&lt;br /&gt;
  --timer                           report run times&lt;br /&gt;
  --force                           force removal of a sticky module or save an empty collection&lt;br /&gt;
  --redirect                        Send the output of list, avail, spider to stdout (not stderr)&lt;br /&gt;
  --no_redirect                     Force output of list, avail and spider to stderr&lt;br /&gt;
  --show_hidden                     Avail and spider will report hidden modules&lt;br /&gt;
  --spider_timeout=timeout          a timeout for spider&lt;br /&gt;
  -T --trace                        &lt;br /&gt;
&lt;br /&gt;
module [options] sub-command [args ...]&lt;br /&gt;
&lt;br /&gt;
Help sub-commands:&lt;br /&gt;
------------------&lt;br /&gt;
  help                              prints this message&lt;br /&gt;
  help                module [...]  print help message from module(s)&lt;br /&gt;
&lt;br /&gt;
Loading/Unloading sub-commands:&lt;br /&gt;
-------------------------------&lt;br /&gt;
  load | add          module [...]  load module(s)&lt;br /&gt;
  try-load | try-add  module [...]  Add module(s), do not complain if not found&lt;br /&gt;
  del | unload        module [...]  Remove module(s), do not complain if not found&lt;br /&gt;
  swap | sw | switch  m1 m2         unload m1 and load m2&lt;br /&gt;
  purge                             unload all modules&lt;br /&gt;
  refresh                           reload aliases from current list of modules.&lt;br /&gt;
  update                            reload all currently loaded modules.&lt;br /&gt;
&lt;br /&gt;
Listing / Searching sub-commands:&lt;br /&gt;
---------------------------------&lt;br /&gt;
  list                              List loaded modules&lt;br /&gt;
  list                s1 s2 ...     List loaded modules that match the pattern&lt;br /&gt;
  avail | av                        List available modules&lt;br /&gt;
  avail | av          string        List available modules that contain &amp;quot;string&amp;quot;.&lt;br /&gt;
  spider                            List all possible modules&lt;br /&gt;
  spider              module        List all possible version of that module file&lt;br /&gt;
  spider              string        List all module that contain the &amp;quot;string&amp;quot;.&lt;br /&gt;
  spider              name/version  Detailed information about that version of the module.&lt;br /&gt;
  whatis              module        Print whatis information about module&lt;br /&gt;
  keyword | key       string        Search all name and whatis that contain &amp;quot;string&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Searching with Lmod:&lt;br /&gt;
--------------------&lt;br /&gt;
  All searching (spider, list, avail, keyword) support regular expressions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  -r spider           &#039;^p&#039;          Finds all the modules that start with `p&#039; or `P&#039;&lt;br /&gt;
  -r spider           mpi           Finds all modules that have &amp;quot;mpi&amp;quot; in their name.&lt;br /&gt;
  -r spider           &#039;mpi$         Finds all modules that end with &amp;quot;mpi&amp;quot; in their name.&lt;br /&gt;
&lt;br /&gt;
Handling a collection of modules:&lt;br /&gt;
--------------------------------&lt;br /&gt;
  save | s                          Save the current list of modules to a user defined &amp;quot;default&amp;quot; collection.&lt;br /&gt;
  save | s            name          Save the current list of modules to &amp;quot;name&amp;quot; collection.&lt;br /&gt;
  reset                             The same as &amp;quot;restore system&amp;quot;&lt;br /&gt;
  restore | r                       Restore modules from the user&#039;s &amp;quot;default&amp;quot; or system default.&lt;br /&gt;
  restore | r         name          Restore modules from &amp;quot;name&amp;quot; collection.&lt;br /&gt;
  restore             system        Restore module state to system defaults.&lt;br /&gt;
  savelist                          List of saved collections.&lt;br /&gt;
  describe | mcc      name          Describe the contents of a module collection.&lt;br /&gt;
  disable             name          Disable (i.e. remove) a collection.&lt;br /&gt;
&lt;br /&gt;
Deprecated commands:&lt;br /&gt;
--------------------&lt;br /&gt;
  getdefault          [name]        load name collection of modules or user&#039;s &amp;quot;default&amp;quot; if no name given.&lt;br /&gt;
                                    ===&amp;gt; Use &amp;quot;restore&amp;quot; instead  &amp;lt;====&lt;br /&gt;
  setdefault          [name]        Save current list of modules to name if given, otherwise save as the default list for you the user.&lt;br /&gt;
                                    ===&amp;gt; Use &amp;quot;save&amp;quot; instead. &amp;lt;====&lt;br /&gt;
&lt;br /&gt;
Miscellaneous sub-commands:&lt;br /&gt;
---------------------------&lt;br /&gt;
  is-loaded           modulefile    return a true status if module is loaded&lt;br /&gt;
  is-avail            modulefile    return a true status if module can be loaded&lt;br /&gt;
  show                modulefile    show the commands in the module file.&lt;br /&gt;
  use [-a]            path          Prepend or Append path to MODULEPATH.&lt;br /&gt;
  unuse               path          remove path from MODULEPATH.&lt;br /&gt;
  tablelist                         output list of active modules as a lua table.&lt;br /&gt;
&lt;br /&gt;
Important Environment Variables:&lt;br /&gt;
--------------------------------&lt;br /&gt;
  LMOD_COLORIZE                     If defined to be &amp;quot;YES&amp;quot; then Lmod prints properties and warning in color.&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
Lmod Web Sites&lt;br /&gt;
&lt;br /&gt;
  Documentation:    http://lmod.readthedocs.org&lt;br /&gt;
  Github:           https://github.com/TACC/Lmod&lt;br /&gt;
  Sourceforge:      https://lmod.sf.net&lt;br /&gt;
  TACC Homepage:    https://www.tacc.utexas.edu/research-development/tacc-projects/lmod&lt;br /&gt;
&lt;br /&gt;
  To report a bug please read http://lmod.readthedocs.io/en/latest/075_bug_reporting.html&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Modules based on Lua: Version 8.2 (8.2-1-g9c98036c) 2019-10-30 11:17 -05:00&lt;br /&gt;
    by Robert McLay mclay@tacc.utexas.edu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For help on particular version of &#039;&#039;Module&#039;&#039;, e.g. Intel default compiler version,  execute&lt;br /&gt;
&#039;&#039;&#039;&#039;module help compiler/intel&#039;&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module help compiler/intel&lt;br /&gt;
---------------------- Module Specific Help for &amp;quot;compiler/intel/19.1&amp;quot; ----------------------&lt;br /&gt;
Intel(R) Compilers 19.1 for Linux*&lt;br /&gt;
For details see: https://software.intel.com/en-us/intel-compilers&lt;br /&gt;
In case of problems, please contact: Hartmut Häfner &amp;lt;hartmut.haefner@kit.edu&amp;gt;&lt;br /&gt;
SCC support end: 2022-12-31&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Online Documentation ===&lt;br /&gt;
[http://lmod.readthedocs.org Lmod: A New Environment Module System]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Display all available Modules ==&lt;br /&gt;
Available &#039;&#039;Module&#039;&#039; are modulefiles that can be loaded by the user. A &#039;&#039;Module&#039;&#039; must be loaded before it provides changes to your environment, as described in the introduction to this section. You can display all available &#039;&#039;Modules&#039;&#039; on the system by executing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module avail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The short form the command is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Available &#039;&#039;Modules&#039;&#039; can be also displayed in different modes, such as&lt;br /&gt;
* each &#039;&#039;Module&#039;&#039; per one line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module -t avail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Some modules may not be available right now, because their requirements are not met. To get a complete list of all possible modules use the [[#Display all possible Modules|module spider command]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Module categories, versions  and defaults ==&lt;br /&gt;
The ForHLR clusters traditionally provide a large variety of software and software versions. Therefore &#039;&#039;Module&#039;&#039; are divided in category folders containing subfolders of modulefiles again containing modulefile versions, and must be addressed as follows:&lt;br /&gt;
 category/softwarename/version&lt;br /&gt;
For instance all versions of the Intel compiler belong to the category of compilers, thus the corresponding modulefiles are placed under the category &#039;&#039;compiler&#039;&#039; and &#039;&#039;intel&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In case of multiple software versions, one version will be always defined as the &#039;&#039;&#039;default&#039;&#039;&#039; &lt;br /&gt;
version. The &#039;&#039;Module&#039;&#039; of the default can be addressed by simply omitting the version number:&lt;br /&gt;
 category/softwarename&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Finding software Modules ==&lt;br /&gt;
Currently all bwUniCluster 2.0 software packages are assigned to the following &#039;&#039;Module&#039;&#039; categories (???):&lt;br /&gt;
&amp;lt;!-- add wiki category for each of those, possibly just as a link --&amp;gt;&lt;br /&gt;
&amp;lt;!--* [[:Category:Biology_software|bio]]--&amp;gt;&lt;br /&gt;
* bio&lt;br /&gt;
&amp;lt;!--* [[:Category:Engineering_software|cae]]--&amp;gt;&lt;br /&gt;
* cae&lt;br /&gt;
&amp;lt;!--* [[:Category:Chemistry_software|chem]]--&amp;gt;&lt;br /&gt;
* chem&lt;br /&gt;
&amp;lt;!--* [[:Category:Compiler_software|compiler]]--&amp;gt;&lt;br /&gt;
* compiler&lt;br /&gt;
&amp;lt;!--* [[:Category:Debugger_software|devel]]--&amp;gt;&lt;br /&gt;
* devel&lt;br /&gt;
&amp;lt;!--* [[:Category:Libraries|lib]]--&amp;gt;&lt;br /&gt;
* lib&lt;br /&gt;
&amp;lt;!--* [[BwHPC_BPG_for_Mathematics|math]]--&amp;gt;&lt;br /&gt;
* math&lt;br /&gt;
* mpi&lt;br /&gt;
&amp;lt;!--* [[:Category:Numerical libraries|numlib]]--&amp;gt;&lt;br /&gt;
* numlib&lt;br /&gt;
&amp;lt;!--* [[:Category:Physics software|phys]]--&amp;gt;&lt;br /&gt;
* phys&lt;br /&gt;
&amp;lt;!--*  [[:Category:System software|system]]--&amp;gt;&lt;br /&gt;
* system&lt;br /&gt;
&amp;lt;!--* [[:Category:Toolkit|toolkit]]--&amp;gt;&lt;br /&gt;
* toolkit&lt;br /&gt;
&amp;lt;!--* [[:Category:Visualization|vis]]--&amp;gt;&lt;br /&gt;
* vis&lt;br /&gt;
You can selectively list software in one of those categories using, e.g. for the category &amp;quot;compiler&amp;quot; &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module avail compiler/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Searches are looking for a substring starting at the begin of the name, so this would list all software in categories starting with a &amp;quot;c&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module avail c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
while this would find nothing&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module avail hem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loading Modules ==&lt;br /&gt;
You can load a &#039;&#039;Module&#039;&#039; software in to your environment to enable easier access to software that &lt;br /&gt;
you want to use by executing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module load category/softwarename/version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module add category/softwarename/version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Loading a &#039;&#039;Module&#039;&#039; in this manner affects ONLY your environment for the current session.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Loading conflicts ===&lt;br /&gt;
You can not load different versions of the same software at the same time! Loading the Intel compiler in version X while Intel compiler in version Y is loaded leads to an automatic unloading of Intel compiler in version Y.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Showing the changes introduced by a Module ===&lt;br /&gt;
Loading a &#039;&#039;Module&#039;&#039; will change the environment of the current shell session. For instance the $PATH variable will be expanded by the software&#039;s binary directory. Other &#039;&#039;Module&#039;&#039; variables may even change the behavior of the current shell session or the software program(s) in a more drastic way. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
All the changes to the current shell session to be invoked by loading the &#039;&#039;Module&#039;&#039; can be reviewed using &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;module show category/softwarename/version&#039;&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example (Intel compiler)&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module show compiler/intel&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
   /opt/bwhpc/common/modulefiles/Core/compiler/intel/19.1.lua:&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
setenv(&amp;quot;INTEL_LICENSE_FILE&amp;quot;,&amp;quot;28518@scclic1.scc.kit.edu&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;AR&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64/xiar&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;CC&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64/icc&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;CXX&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64/icpc&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;F77&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64/ifort&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;FC&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64/ifort&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;CFLAGS&amp;quot;,&amp;quot;-O2 -xCORE-AVX2&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;CXXFLAGS&amp;quot;,&amp;quot;-O2 -xCORE-AVX2&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;FFLAGS&amp;quot;,&amp;quot;-O2 -xCORE-AVX2&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;FCFLAGS&amp;quot;,&amp;quot;-O2 -xCORE-AVX2&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_VERSION&amp;quot;,&amp;quot;19.1.0.166&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_HOME&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_BIN_DIR&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_LIB_DIR&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/lib/intel64&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_INC_DIR&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/include&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_MAN_DIR&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/man/common&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_DOC_DIR&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/documentation/en&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_VERSION&amp;quot;,&amp;quot;19.1.0.166&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_HOME&amp;quot;,&amp;quot;/opt/intel/debugger_2020/gdb/intel64&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_BIN_DIR&amp;quot;,&amp;quot;/opt/intel/debugger_2020/gdb/intel64/bin&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_LIB_DIR&amp;quot;,&amp;quot;/opt/intel/debugger_2020/libipt/intel64/lib&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_INC_DIR&amp;quot;,&amp;quot;/opt/intel/debugger_2020/gdb/intel64/include&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_INF_DIR&amp;quot;,&amp;quot;/opt/intel/documentation_2020/en/debugger/gdb-ia/info&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_MAN_DIR&amp;quot;,&amp;quot;/opt/intel/documentation_2020/en/debugger/gdb-ia/man&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;KMP_AFFINITY&amp;quot;,&amp;quot;noverbose,granularity=core,respect,warnings,compact,1&amp;quot;)&lt;br /&gt;
prepend_path(&amp;quot;PATH&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64&amp;quot;)&lt;br /&gt;
prepend_path(&amp;quot;MANPATH&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/man/common&amp;quot;)&lt;br /&gt;
prepend_path(&amp;quot;LD_LIBRARY_PATH&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/lib/intel64&amp;quot;)&lt;br /&gt;
whatis(&amp;quot;Sets up Intel C/C++ and Fortran compiler version 19.1 (Intel(R) Compilers 19.1 for Linux*) - supported by SCC till 2022-12-31!&amp;quot;)&lt;br /&gt;
help([[Intel(R) Compilers 19.1 for Linux*&lt;br /&gt;
For details see: https://software.intel.com/en-us/intel-compilers&lt;br /&gt;
In case of problems, please contact: Hartmut Häfner &amp;lt;hartmut.haefner@kit.edu&amp;gt;&lt;br /&gt;
SCC support end: 2022-12-31]])&lt;br /&gt;
prepend_path(&amp;quot;MODULEPATH&amp;quot;,&amp;quot;/software/bwhpc/common/modulefiles/Compiler/intel/19.1&amp;quot;)&lt;br /&gt;
family(&amp;quot;compiler&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Modules depending on Modules ===&lt;br /&gt;
Some program &#039;&#039;Modules&#039;&#039; depend on libraries to be loaded to the user environment. Therefore the&lt;br /&gt;
corresponding &#039;&#039;Modules&#039;&#039; of the software must be loaded together with the &#039;&#039;Modules&#039;&#039; of &lt;br /&gt;
the libraries. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
By default such software &#039;&#039;Modules&#039;&#039; try to load required &#039;&#039;Modules&#039;&#039; and corresponding versions automatically.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unloading Modules ==&lt;br /&gt;
To unload or remove a software &#039;&#039;Module&#039;&#039; execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module unload category/softwarename/version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module remove category/softwarename/version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unloading all loaded modules ===&lt;br /&gt;
==== Purge ====&lt;br /&gt;
Unloading a &#039;&#039;Module&#039;&#039; that has been loaded by default makes it inactive for the current session only - it will be reloaded the next time you log in.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In order to remove all previously loaded software modules from your environment issue the command &#039;module purge&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Example&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module list&lt;br /&gt;
Currently Loaded Modules:&lt;br /&gt;
  1) compiler/intel/19.1   2) mpi/impi/2019   3) numlib/mkl/2019&lt;br /&gt;
$&lt;br /&gt;
$ module purge&lt;br /&gt;
$ module list&lt;br /&gt;
No modules loaded&lt;br /&gt;
$ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;font color&amp;gt;Beware!&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;module purge&#039; is working without any further inquiry.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Display your loaded Modules ==&lt;br /&gt;
All &#039;&#039;Modules&#039;&#039; that are currently loaded for you can be displayed by the&lt;br /&gt;
command &#039;&#039;&#039;&#039;module list&#039;&#039;&#039;&#039;. [[#Purge|See example above]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: You only have to load further &#039;&#039;Modules&#039;&#039;, if you want to use additional software&lt;br /&gt;
packages or to change the version of an already loaded software.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Display all possible Modules ==&lt;br /&gt;
Modulefiles can be searched by the user. You can dipslay all possible modules by executing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module spider &lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
The following is a list of the modules and extensions currently available:&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
  cae/abaqus: cae/abaqus/2018, cae/abaqus/2019&lt;br /&gt;
&lt;br /&gt;
  cae/adina: cae/adina/9.1.2&lt;br /&gt;
&lt;br /&gt;
  cae/ansys: cae/ansys/19.2, cae/ansys/2019R3, cae/ansys/2020R1&lt;br /&gt;
&lt;br /&gt;
  cae/comsol: cae/comsol/5.4, cae/comsol/5.5&lt;br /&gt;
&lt;br /&gt;
  cae/cst: cae/cst/2018&lt;br /&gt;
&lt;br /&gt;
  cae/lsdyna: cae/lsdyna/901&lt;br /&gt;
&lt;br /&gt;
  cae/openfoam: cae/openfoam/v1912, cae/openfoam/2.4.x, cae/openfoam/6, cae/openfoam/7&lt;br /&gt;
&lt;br /&gt;
  cae/paraview: cae/paraview/5.8&lt;br /&gt;
&lt;br /&gt;
  cae/starccm+: cae/starccm+/14.02.010, cae/starccm+/2019.2.1&lt;br /&gt;
&lt;br /&gt;
  cae/starcd: cae/starcd/4.28&lt;br /&gt;
&lt;br /&gt;
  compiler/clang: compiler/clang/9.0&lt;br /&gt;
&lt;br /&gt;
  compiler/gnu: compiler/gnu/9.2&lt;br /&gt;
&lt;br /&gt;
  compiler/intel: compiler/intel/18.0, compiler/intel/19.0, compiler/intel/19.1&lt;br /&gt;
&lt;br /&gt;
  compiler/pgi: compiler/pgi/2019&lt;br /&gt;
&lt;br /&gt;
  devel/cmake: devel/cmake/3.16&lt;br /&gt;
&lt;br /&gt;
  devel/cuda: devel/cuda/9.2, devel/cuda/10.0, devel/cuda/10.2&lt;br /&gt;
&lt;br /&gt;
  devel/gdb: devel/gdb/9.1&lt;br /&gt;
&lt;br /&gt;
  devel/python: devel/python/3.7.4_gnu_9.2, devel/python/3.8.1_gnu_9.2, devel/python/3.8.1_intel_19.1&lt;br /&gt;
&lt;br /&gt;
  math/R: math/R/3.6.3&lt;br /&gt;
&lt;br /&gt;
  math/julia: math/julia/1.3.1&lt;br /&gt;
&lt;br /&gt;
  mpi/impi: mpi/impi/2018, mpi/impi/2019, mpi/impi/2020&lt;br /&gt;
&lt;br /&gt;
  mpi/openmpi: mpi/openmpi/4.0&lt;br /&gt;
&lt;br /&gt;
  numlib/mkl: numlib/mkl/2018, numlib/mkl/2019, numlib/mkl/2020&lt;br /&gt;
&lt;br /&gt;
  numlib/python_numpy: numlib/python_numpy/1.17.2_python_3.7.4_gnu_9.2&lt;br /&gt;
&lt;br /&gt;
  numlib/python_scipy: numlib/python_scipy/1.3.1_numpy_1.17.2_python_3.7.4_gnu_9.2&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
To learn more about a package execute:&lt;br /&gt;
&lt;br /&gt;
   $ module spider Foo&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;Foo&amp;quot; is the name of a module.&lt;br /&gt;
&lt;br /&gt;
To find detailed information about a particular package you&lt;br /&gt;
must specify the version if there is more than one version:&lt;br /&gt;
&lt;br /&gt;
   $ module spider Foo/11.1&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;module spider name/version&#039;&#039;&#039;&#039; : If you search the full name and version of the module, the search gives detailed information about that module version.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module spider devel/cmake&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
  devel/cmake: devel/cmake/3.16&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    This module can be loaded directly: module load devel/cmake/3.16&lt;br /&gt;
&lt;br /&gt;
    Help:&lt;br /&gt;
      Home page:            https://www.cmake.org&lt;br /&gt;
      Online Documentation: https://www.cmake.org/HTML/Documentation.html&lt;br /&gt;
      Local Documentation:  /opt/bwhpc/common/devel/cmake/3.16.4/docFAQ:                  https://gitlab.kitware.com/cmake/community/wikis/FAQ&lt;br /&gt;
      &lt;br /&gt;
      In case of problems, please contact &#039;bwunicluster-hotline (at) lists.kit.edu&#039;&lt;br /&gt;
      or submit a trouble ticket at http://www.support.bwhpc-c5.de.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Moreover, you can see the dependencies of the module with using the same command. For example, if the following is executed, you can see which modules need to be loaded before loading the module mpi/impi/2019&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module spider mpi/impi/2019&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
  mpi/impi: mpi/impi/2019&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    You will need to load all module(s) on any one of the lines below before the &amp;quot;mpi/impi/2019&amp;quot; module is available to load.&lt;br /&gt;
&lt;br /&gt;
      compiler/clang/9.0&lt;br /&gt;
      compiler/gnu/9.2&lt;br /&gt;
      compiler/intel/18.0&lt;br /&gt;
      compiler/intel/19.0&lt;br /&gt;
      compiler/intel/19.1&lt;br /&gt;
 &lt;br /&gt;
    Help:&lt;br /&gt;
      Intel(R) MPI Library&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= How do Modules work? =&lt;br /&gt;
The default shell on the bwHPC clusters is bash, so explanations and examples will be shown for bash. In general, programs cannot modify the environment of the shell they are being run from, so how can the module command do exactly that?&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The module command is not a program, but a bash-function.&lt;br /&gt;
You can view its content using: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ type module&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will get the following result: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ type module&lt;br /&gt;
module is a function&lt;br /&gt;
module () &lt;br /&gt;
{ &lt;br /&gt;
    eval $($LMOD_CMD bash &amp;quot;$@&amp;quot;);&lt;br /&gt;
    [ $? = 0 ] &amp;amp;&amp;amp; eval $(${LMOD_SETTARG_CMD:-:} -s sh)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In this function, lmod is called. Its output to stdout is then executed inside your current shell using the bash-internal &#039;&#039;eval&#039;&#039; command. As a consequence, all output that you see from the module is transmitted via stderr (output handle 2)  or in some cases even stdin (output handle 0).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
[[Category:bwUniCluster_2.0|bwUniCluster 2.0]]&lt;br /&gt;
[[#top|Back to top]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Software_Modules&amp;diff=8356</id>
		<title>BwUniCluster2.0/Software Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Software_Modules&amp;diff=8356"/>
		<updated>2021-03-05T10:49:13Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Finding software Modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= Introduction =&lt;br /&gt;
&#039;&#039;&#039;Environment Modules&#039;&#039;&#039;, or short &#039;&#039;&#039;Modules&#039;&#039;&#039; are the means by which most of the installed scientific software is provided on bwUniCluster 2.0.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The use of different compilers, libraries and software packages requires users to set up  a specific session environment suited for the program they want to run. bwUniCluster 2.0 provides users with the possibility to load and unload complete environments for compilers, libraries and software packages by a single command. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Description = &lt;br /&gt;
The Environment &#039;&#039;Modules&#039;&#039; package enables dynamic modification of your environment by the &lt;br /&gt;
use of so-called &#039;&#039;modulefiles&#039;&#039;. A &#039;&#039;modulefile&#039;&#039; contains information to configure the shell &lt;br /&gt;
for a program/software . Typically, a modulefile contains instructions that alter or set shell &lt;br /&gt;
environment variables, such as PATH and MANPATH, to enable access to various installed &lt;br /&gt;
software. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
One of the key features of using the Environment &#039;&#039;Modules&#039;&#039; software is to allow multiple versions of the same software to be used in your environment in a controlled manner. &lt;br /&gt;
For example, two different versions of the Intel C compiler can be installed on the system at the same time - the version used is based upon which Intel C compiler modulefile is loaded.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The software stack of bwUniCluster 2.0 provides a number of modulefiles. You can also &lt;br /&gt;
create your own modulefiles. &#039;&#039;Modulefiles&#039;&#039; may be shared by many users on a system, and &lt;br /&gt;
users may have their own collection of modulefiles to supplement or replace the shared &lt;br /&gt;
modulefiles.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A modulefile does not provide configuration of your environment until it is explicitly loaded, &lt;br /&gt;
i.e., the specific modulefile for a software product or application must be loaded in your environment before the configuration information in the modulefile is effective.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to see which modules are loaded you must execute&lt;br /&gt;
&#039;&#039;&#039;&#039;module list&#039;&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module list&lt;br /&gt;
Currently Loaded Modules:&lt;br /&gt;
  1) compiler/intel/19.1   2) mpi/impi/2019   3) numlib/mkl/2019&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
Lmod on bwUniCluster 2.0: A New Environment Module System from http://lmod.readthedocs.org/en/latest/ is installed.&lt;br /&gt;
== Documentation ==&lt;br /&gt;
Execute &#039;&#039;&#039;&#039;module help&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;man module&#039;&#039;&#039;&#039; for help on how to use &#039;&#039;Modules&#039;&#039; software.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module help&lt;br /&gt;
Usage: module [options] sub-command [args ...]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
  -h -? -H --help                   This help message&lt;br /&gt;
  -s availStyle --style=availStyle  Site controlled avail style: system (default: system)&lt;br /&gt;
  --regression_testing              Lmod regression testing&lt;br /&gt;
  -D                                Program tracing written to stderr&lt;br /&gt;
  --debug=dbglvl                    Program tracing written to stderr (where dbglvl is a number 1,2,3)&lt;br /&gt;
  --pin_versions=pinVersions        When doing a restore use specified version, do not follow defaults&lt;br /&gt;
  -d --default                      List default modules only when used with avail&lt;br /&gt;
  -q --quiet                        Do not print out warnings&lt;br /&gt;
  --expert                          Expert mode&lt;br /&gt;
  -t --terse                        Write out in machine readable format for commands: list, avail, spider, savelist&lt;br /&gt;
  --initial_load                    loading Lmod for first time in a user shell&lt;br /&gt;
  --latest                          Load latest (ignore default)&lt;br /&gt;
  --ignore_cache                    Treat the cache file(s) as out-of-date&lt;br /&gt;
  --novice                          Turn off expert and quiet flag&lt;br /&gt;
  --raw                             Print modulefile in raw output when used with show&lt;br /&gt;
  -w twidth --width=twidth          Use this as max term width&lt;br /&gt;
  -v --version                      Print version info and quit&lt;br /&gt;
  -r --regexp                       use regular expression match&lt;br /&gt;
  --gitversion                      Dump git version in a machine readable way and quit&lt;br /&gt;
  --dumpversion                     Dump version in a machine readable way and quit&lt;br /&gt;
  --check_syntax --checkSyntax      Checking module command syntax: do not load&lt;br /&gt;
  --config                          Report Lmod Configuration&lt;br /&gt;
  --config_json                     Report Lmod Configuration in json format&lt;br /&gt;
  --mt                              Report Module Table State&lt;br /&gt;
  --timer                           report run times&lt;br /&gt;
  --force                           force removal of a sticky module or save an empty collection&lt;br /&gt;
  --redirect                        Send the output of list, avail, spider to stdout (not stderr)&lt;br /&gt;
  --no_redirect                     Force output of list, avail and spider to stderr&lt;br /&gt;
  --show_hidden                     Avail and spider will report hidden modules&lt;br /&gt;
  --spider_timeout=timeout          a timeout for spider&lt;br /&gt;
  -T --trace                        &lt;br /&gt;
&lt;br /&gt;
module [options] sub-command [args ...]&lt;br /&gt;
&lt;br /&gt;
Help sub-commands:&lt;br /&gt;
------------------&lt;br /&gt;
  help                              prints this message&lt;br /&gt;
  help                module [...]  print help message from module(s)&lt;br /&gt;
&lt;br /&gt;
Loading/Unloading sub-commands:&lt;br /&gt;
-------------------------------&lt;br /&gt;
  load | add          module [...]  load module(s)&lt;br /&gt;
  try-load | try-add  module [...]  Add module(s), do not complain if not found&lt;br /&gt;
  del | unload        module [...]  Remove module(s), do not complain if not found&lt;br /&gt;
  swap | sw | switch  m1 m2         unload m1 and load m2&lt;br /&gt;
  purge                             unload all modules&lt;br /&gt;
  refresh                           reload aliases from current list of modules.&lt;br /&gt;
  update                            reload all currently loaded modules.&lt;br /&gt;
&lt;br /&gt;
Listing / Searching sub-commands:&lt;br /&gt;
---------------------------------&lt;br /&gt;
  list                              List loaded modules&lt;br /&gt;
  list                s1 s2 ...     List loaded modules that match the pattern&lt;br /&gt;
  avail | av                        List available modules&lt;br /&gt;
  avail | av          string        List available modules that contain &amp;quot;string&amp;quot;.&lt;br /&gt;
  spider                            List all possible modules&lt;br /&gt;
  spider              module        List all possible version of that module file&lt;br /&gt;
  spider              string        List all module that contain the &amp;quot;string&amp;quot;.&lt;br /&gt;
  spider              name/version  Detailed information about that version of the module.&lt;br /&gt;
  whatis              module        Print whatis information about module&lt;br /&gt;
  keyword | key       string        Search all name and whatis that contain &amp;quot;string&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Searching with Lmod:&lt;br /&gt;
--------------------&lt;br /&gt;
  All searching (spider, list, avail, keyword) support regular expressions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  -r spider           &#039;^p&#039;          Finds all the modules that start with `p&#039; or `P&#039;&lt;br /&gt;
  -r spider           mpi           Finds all modules that have &amp;quot;mpi&amp;quot; in their name.&lt;br /&gt;
  -r spider           &#039;mpi$         Finds all modules that end with &amp;quot;mpi&amp;quot; in their name.&lt;br /&gt;
&lt;br /&gt;
Handling a collection of modules:&lt;br /&gt;
--------------------------------&lt;br /&gt;
  save | s                          Save the current list of modules to a user defined &amp;quot;default&amp;quot; collection.&lt;br /&gt;
  save | s            name          Save the current list of modules to &amp;quot;name&amp;quot; collection.&lt;br /&gt;
  reset                             The same as &amp;quot;restore system&amp;quot;&lt;br /&gt;
  restore | r                       Restore modules from the user&#039;s &amp;quot;default&amp;quot; or system default.&lt;br /&gt;
  restore | r         name          Restore modules from &amp;quot;name&amp;quot; collection.&lt;br /&gt;
  restore             system        Restore module state to system defaults.&lt;br /&gt;
  savelist                          List of saved collections.&lt;br /&gt;
  describe | mcc      name          Describe the contents of a module collection.&lt;br /&gt;
  disable             name          Disable (i.e. remove) a collection.&lt;br /&gt;
&lt;br /&gt;
Deprecated commands:&lt;br /&gt;
--------------------&lt;br /&gt;
  getdefault          [name]        load name collection of modules or user&#039;s &amp;quot;default&amp;quot; if no name given.&lt;br /&gt;
                                    ===&amp;gt; Use &amp;quot;restore&amp;quot; instead  &amp;lt;====&lt;br /&gt;
  setdefault          [name]        Save current list of modules to name if given, otherwise save as the default list for you the user.&lt;br /&gt;
                                    ===&amp;gt; Use &amp;quot;save&amp;quot; instead. &amp;lt;====&lt;br /&gt;
&lt;br /&gt;
Miscellaneous sub-commands:&lt;br /&gt;
---------------------------&lt;br /&gt;
  is-loaded           modulefile    return a true status if module is loaded&lt;br /&gt;
  is-avail            modulefile    return a true status if module can be loaded&lt;br /&gt;
  show                modulefile    show the commands in the module file.&lt;br /&gt;
  use [-a]            path          Prepend or Append path to MODULEPATH.&lt;br /&gt;
  unuse               path          remove path from MODULEPATH.&lt;br /&gt;
  tablelist                         output list of active modules as a lua table.&lt;br /&gt;
&lt;br /&gt;
Important Environment Variables:&lt;br /&gt;
--------------------------------&lt;br /&gt;
  LMOD_COLORIZE                     If defined to be &amp;quot;YES&amp;quot; then Lmod prints properties and warning in color.&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
Lmod Web Sites&lt;br /&gt;
&lt;br /&gt;
  Documentation:    http://lmod.readthedocs.org&lt;br /&gt;
  Github:           https://github.com/TACC/Lmod&lt;br /&gt;
  Sourceforge:      https://lmod.sf.net&lt;br /&gt;
  TACC Homepage:    https://www.tacc.utexas.edu/research-development/tacc-projects/lmod&lt;br /&gt;
&lt;br /&gt;
  To report a bug please read http://lmod.readthedocs.io/en/latest/075_bug_reporting.html&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Modules based on Lua: Version 8.2 (8.2-1-g9c98036c) 2019-10-30 11:17 -05:00&lt;br /&gt;
    by Robert McLay mclay@tacc.utexas.edu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For help on particular version of &#039;&#039;Module&#039;&#039;, e.g. Intel default compiler version,  execute&lt;br /&gt;
&#039;&#039;&#039;&#039;module help compiler/intel&#039;&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module help compiler/intel&lt;br /&gt;
---------------------- Module Specific Help for &amp;quot;compiler/intel/19.1&amp;quot; ----------------------&lt;br /&gt;
Intel(R) Compilers 19.1 for Linux*&lt;br /&gt;
For details see: https://software.intel.com/en-us/intel-compilers&lt;br /&gt;
In case of problems, please contact: Hartmut Häfner &amp;lt;hartmut.haefner@kit.edu&amp;gt;&lt;br /&gt;
SCC support end: 2022-12-31&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Online Documentation ===&lt;br /&gt;
[http://lmod.readthedocs.org Lmod: A New Environment Module System]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Display all available Modules ==&lt;br /&gt;
Available &#039;&#039;Module&#039;&#039; are modulefiles that can be loaded by the user. A &#039;&#039;Module&#039;&#039; must be loaded before it provides changes to your environment, as described in the introduction to this section. You can display all available &#039;&#039;Modules&#039;&#039; on the system by executing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module avail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The short form the command is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module av&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Available &#039;&#039;Modules&#039;&#039; can be also displayed in different modes, such as&lt;br /&gt;
* each &#039;&#039;Module&#039;&#039; per one line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module -t avail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Some modules may not be available right now, because their requirements are not met. To get a complete list of all possible modules use the [[#Display all possible Modules|module spider command]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Module categories, versions  and defaults ==&lt;br /&gt;
The ForHLR clusters traditionally provide a large variety of software and software versions. Therefore &#039;&#039;Module&#039;&#039; are divided in category folders containing subfolders of modulefiles again containing modulefile versions, and must be addressed as follows:&lt;br /&gt;
 category/softwarename/version&lt;br /&gt;
For instance all versions of the Intel compiler belong to the category of compilers, thus the corresponding modulefiles are placed under the category &#039;&#039;compiler&#039;&#039; and &#039;&#039;intel&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In case of multiple software versions, one version will be always defined as the &#039;&#039;&#039;default&#039;&#039;&#039; &lt;br /&gt;
version. The &#039;&#039;Module&#039;&#039; of the default can be addressed by simply omitting the version number:&lt;br /&gt;
 category/softwarename&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Finding software Modules ==&lt;br /&gt;
Currently all bwUniCluster 2.0 software packages are assigned to the following &#039;&#039;Module&#039;&#039; categories (???):&lt;br /&gt;
&amp;lt;!-- add wiki category for each of those, possibly just as a link --&amp;gt;&lt;br /&gt;
&amp;lt;!--* [[:Category:Biology_software|bio]]--&amp;gt;&lt;br /&gt;
* bio&lt;br /&gt;
&amp;lt;!--* [[:Category:Engineering_software|cae]]--&amp;gt;&lt;br /&gt;
* cae&lt;br /&gt;
&amp;lt;!--* [[:Category:Chemistry_software|chem]]--&amp;gt;&lt;br /&gt;
* chem&lt;br /&gt;
&amp;lt;!--* [[:Category:Compiler_software|compiler]]--&amp;gt;&lt;br /&gt;
* compiler&lt;br /&gt;
&amp;lt;!--* [[:Category:Debugger_software|devel]]--&amp;gt;&lt;br /&gt;
* devel&lt;br /&gt;
&amp;lt;!--* [[:Category:Libraries|lib]]--&amp;gt;&lt;br /&gt;
* lib&lt;br /&gt;
&amp;lt;!--* [[BwHPC_BPG_for_Mathematics|math]]--&amp;gt;&lt;br /&gt;
* math&lt;br /&gt;
* mpi&lt;br /&gt;
&amp;lt;!--* [[:Category:Numerical libraries|numlib]]--&amp;gt;&lt;br /&gt;
* numlib&lt;br /&gt;
&amp;lt;!--* [[:Category:Physics software|phys]]--&amp;gt;&lt;br /&gt;
* phys&lt;br /&gt;
&amp;lt;!--*  [[:Category:System software|system]]--&amp;gt;&lt;br /&gt;
* system&lt;br /&gt;
&amp;lt;!--* [[:Category:Toolkit|toolkit]]--&amp;gt;&lt;br /&gt;
* toolkiit&lt;br /&gt;
&amp;lt;!--* [[:Category:Visualization|vis]]--&amp;gt;&lt;br /&gt;
* vis&lt;br /&gt;
You can selectively list software in one of those categories using, e.g. for the category &amp;quot;compiler&amp;quot; &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module avail compiler/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Searches are looking for a substring starting at the begin of the name, so this would list all software in categories starting with a &amp;quot;c&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module avail c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
while this would find nothing&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module avail hem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loading Modules ==&lt;br /&gt;
You can load a &#039;&#039;Module&#039;&#039; software in to your environment to enable easier access to software that &lt;br /&gt;
you want to use by executing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module load category/softwarename/version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module add category/softwarename/version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Loading a &#039;&#039;Module&#039;&#039; in this manner affects ONLY your environment for the current session.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Loading conflicts ===&lt;br /&gt;
You can not load different versions of the same software at the same time! Loading the Intel compiler in version X while Intel compiler in version Y is loaded leads to an automatic unloading of Intel compiler in version Y.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Showing the changes introduced by a Module ===&lt;br /&gt;
Loading a &#039;&#039;Module&#039;&#039; will change the environment of the current shell session. For instance the $PATH variable will be expanded by the software&#039;s binary directory. Other &#039;&#039;Module&#039;&#039; variables may even change the behavior of the current shell session or the software program(s) in a more drastic way. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
All the changes to the current shell session to be invoked by loading the &#039;&#039;Module&#039;&#039; can be reviewed using &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;module show category/softwarename/version&#039;&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example (Intel compiler)&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module show compiler/intel&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
   /opt/bwhpc/common/modulefiles/Core/compiler/intel/19.1.lua:&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
setenv(&amp;quot;INTEL_LICENSE_FILE&amp;quot;,&amp;quot;28518@scclic1.scc.kit.edu&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;AR&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64/xiar&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;CC&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64/icc&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;CXX&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64/icpc&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;F77&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64/ifort&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;FC&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64/ifort&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;CFLAGS&amp;quot;,&amp;quot;-O2 -xCORE-AVX2&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;CXXFLAGS&amp;quot;,&amp;quot;-O2 -xCORE-AVX2&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;FFLAGS&amp;quot;,&amp;quot;-O2 -xCORE-AVX2&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;FCFLAGS&amp;quot;,&amp;quot;-O2 -xCORE-AVX2&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_VERSION&amp;quot;,&amp;quot;19.1.0.166&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_HOME&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_BIN_DIR&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_LIB_DIR&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/lib/intel64&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_INC_DIR&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/include&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_MAN_DIR&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/man/common&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;INTEL_DOC_DIR&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/documentation/en&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_VERSION&amp;quot;,&amp;quot;19.1.0.166&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_HOME&amp;quot;,&amp;quot;/opt/intel/debugger_2020/gdb/intel64&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_BIN_DIR&amp;quot;,&amp;quot;/opt/intel/debugger_2020/gdb/intel64/bin&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_LIB_DIR&amp;quot;,&amp;quot;/opt/intel/debugger_2020/libipt/intel64/lib&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_INC_DIR&amp;quot;,&amp;quot;/opt/intel/debugger_2020/gdb/intel64/include&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_INF_DIR&amp;quot;,&amp;quot;/opt/intel/documentation_2020/en/debugger/gdb-ia/info&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;GDB_MAN_DIR&amp;quot;,&amp;quot;/opt/intel/documentation_2020/en/debugger/gdb-ia/man&amp;quot;)&lt;br /&gt;
setenv(&amp;quot;KMP_AFFINITY&amp;quot;,&amp;quot;noverbose,granularity=core,respect,warnings,compact,1&amp;quot;)&lt;br /&gt;
prepend_path(&amp;quot;PATH&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/bin/intel64&amp;quot;)&lt;br /&gt;
prepend_path(&amp;quot;MANPATH&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/man/common&amp;quot;)&lt;br /&gt;
prepend_path(&amp;quot;LD_LIBRARY_PATH&amp;quot;,&amp;quot;/opt/intel/compilers_and_libraries_2020/linux/lib/intel64&amp;quot;)&lt;br /&gt;
whatis(&amp;quot;Sets up Intel C/C++ and Fortran compiler version 19.1 (Intel(R) Compilers 19.1 for Linux*) - supported by SCC till 2022-12-31!&amp;quot;)&lt;br /&gt;
help([[Intel(R) Compilers 19.1 for Linux*&lt;br /&gt;
For details see: https://software.intel.com/en-us/intel-compilers&lt;br /&gt;
In case of problems, please contact: Hartmut Häfner &amp;lt;hartmut.haefner@kit.edu&amp;gt;&lt;br /&gt;
SCC support end: 2022-12-31]])&lt;br /&gt;
prepend_path(&amp;quot;MODULEPATH&amp;quot;,&amp;quot;/software/bwhpc/common/modulefiles/Compiler/intel/19.1&amp;quot;)&lt;br /&gt;
family(&amp;quot;compiler&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Modules depending on Modules ===&lt;br /&gt;
Some program &#039;&#039;Modules&#039;&#039; depend on libraries to be loaded to the user environment. Therefore the&lt;br /&gt;
corresponding &#039;&#039;Modules&#039;&#039; of the software must be loaded together with the &#039;&#039;Modules&#039;&#039; of &lt;br /&gt;
the libraries. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
By default such software &#039;&#039;Modules&#039;&#039; try to load required &#039;&#039;Modules&#039;&#039; and corresponding versions automatically.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unloading Modules ==&lt;br /&gt;
To unload or remove a software &#039;&#039;Module&#039;&#039; execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module unload category/softwarename/version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module remove category/softwarename/version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unloading all loaded modules ===&lt;br /&gt;
==== Purge ====&lt;br /&gt;
Unloading a &#039;&#039;Module&#039;&#039; that has been loaded by default makes it inactive for the current session only - it will be reloaded the next time you log in.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In order to remove all previously loaded software modules from your environment issue the command &#039;module purge&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Example&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module list&lt;br /&gt;
Currently Loaded Modules:&lt;br /&gt;
  1) compiler/intel/19.1   2) mpi/impi/2019   3) numlib/mkl/2019&lt;br /&gt;
$&lt;br /&gt;
$ module purge&lt;br /&gt;
$ module list&lt;br /&gt;
No modules loaded&lt;br /&gt;
$ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;font color&amp;gt;Beware!&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;module purge&#039; is working without any further inquiry.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Display your loaded Modules ==&lt;br /&gt;
All &#039;&#039;Modules&#039;&#039; that are currently loaded for you can be displayed by the&lt;br /&gt;
command &#039;&#039;&#039;&#039;module list&#039;&#039;&#039;&#039;. [[#Purge|See example above]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: You only have to load further &#039;&#039;Modules&#039;&#039;, if you want to use additional software&lt;br /&gt;
packages or to change the version of an already loaded software.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Display all possible Modules ==&lt;br /&gt;
Modulefiles can be searched by the user. You can dipslay all possible modules by executing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module spider &lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
The following is a list of the modules and extensions currently available:&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
  cae/abaqus: cae/abaqus/2018, cae/abaqus/2019&lt;br /&gt;
&lt;br /&gt;
  cae/adina: cae/adina/9.1.2&lt;br /&gt;
&lt;br /&gt;
  cae/ansys: cae/ansys/19.2, cae/ansys/2019R3, cae/ansys/2020R1&lt;br /&gt;
&lt;br /&gt;
  cae/comsol: cae/comsol/5.4, cae/comsol/5.5&lt;br /&gt;
&lt;br /&gt;
  cae/cst: cae/cst/2018&lt;br /&gt;
&lt;br /&gt;
  cae/lsdyna: cae/lsdyna/901&lt;br /&gt;
&lt;br /&gt;
  cae/openfoam: cae/openfoam/v1912, cae/openfoam/2.4.x, cae/openfoam/6, cae/openfoam/7&lt;br /&gt;
&lt;br /&gt;
  cae/paraview: cae/paraview/5.8&lt;br /&gt;
&lt;br /&gt;
  cae/starccm+: cae/starccm+/14.02.010, cae/starccm+/2019.2.1&lt;br /&gt;
&lt;br /&gt;
  cae/starcd: cae/starcd/4.28&lt;br /&gt;
&lt;br /&gt;
  compiler/clang: compiler/clang/9.0&lt;br /&gt;
&lt;br /&gt;
  compiler/gnu: compiler/gnu/9.2&lt;br /&gt;
&lt;br /&gt;
  compiler/intel: compiler/intel/18.0, compiler/intel/19.0, compiler/intel/19.1&lt;br /&gt;
&lt;br /&gt;
  compiler/pgi: compiler/pgi/2019&lt;br /&gt;
&lt;br /&gt;
  devel/cmake: devel/cmake/3.16&lt;br /&gt;
&lt;br /&gt;
  devel/cuda: devel/cuda/9.2, devel/cuda/10.0, devel/cuda/10.2&lt;br /&gt;
&lt;br /&gt;
  devel/gdb: devel/gdb/9.1&lt;br /&gt;
&lt;br /&gt;
  devel/python: devel/python/3.7.4_gnu_9.2, devel/python/3.8.1_gnu_9.2, devel/python/3.8.1_intel_19.1&lt;br /&gt;
&lt;br /&gt;
  math/R: math/R/3.6.3&lt;br /&gt;
&lt;br /&gt;
  math/julia: math/julia/1.3.1&lt;br /&gt;
&lt;br /&gt;
  mpi/impi: mpi/impi/2018, mpi/impi/2019, mpi/impi/2020&lt;br /&gt;
&lt;br /&gt;
  mpi/openmpi: mpi/openmpi/4.0&lt;br /&gt;
&lt;br /&gt;
  numlib/mkl: numlib/mkl/2018, numlib/mkl/2019, numlib/mkl/2020&lt;br /&gt;
&lt;br /&gt;
  numlib/python_numpy: numlib/python_numpy/1.17.2_python_3.7.4_gnu_9.2&lt;br /&gt;
&lt;br /&gt;
  numlib/python_scipy: numlib/python_scipy/1.3.1_numpy_1.17.2_python_3.7.4_gnu_9.2&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
To learn more about a package execute:&lt;br /&gt;
&lt;br /&gt;
   $ module spider Foo&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;Foo&amp;quot; is the name of a module.&lt;br /&gt;
&lt;br /&gt;
To find detailed information about a particular package you&lt;br /&gt;
must specify the version if there is more than one version:&lt;br /&gt;
&lt;br /&gt;
   $ module spider Foo/11.1&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;module spider name/version&#039;&#039;&#039;&#039; : If you search the full name and version of the module, the search gives detailed information about that module version.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module spider devel/cmake&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
  devel/cmake: devel/cmake/3.16&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    This module can be loaded directly: module load devel/cmake/3.16&lt;br /&gt;
&lt;br /&gt;
    Help:&lt;br /&gt;
      Home page:            https://www.cmake.org&lt;br /&gt;
      Online Documentation: https://www.cmake.org/HTML/Documentation.html&lt;br /&gt;
      Local Documentation:  /opt/bwhpc/common/devel/cmake/3.16.4/docFAQ:                  https://gitlab.kitware.com/cmake/community/wikis/FAQ&lt;br /&gt;
      &lt;br /&gt;
      In case of problems, please contact &#039;bwunicluster-hotline (at) lists.kit.edu&#039;&lt;br /&gt;
      or submit a trouble ticket at http://www.support.bwhpc-c5.de.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Moreover, you can see the dependencies of the module with using the same command. For example, if the following is executed, you can see which modules need to be loaded before loading the module mpi/impi/2019&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ module spider mpi/impi/2019&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
  mpi/impi: mpi/impi/2019&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    You will need to load all module(s) on any one of the lines below before the &amp;quot;mpi/impi/2019&amp;quot; module is available to load.&lt;br /&gt;
&lt;br /&gt;
      compiler/clang/9.0&lt;br /&gt;
      compiler/gnu/9.2&lt;br /&gt;
      compiler/intel/18.0&lt;br /&gt;
      compiler/intel/19.0&lt;br /&gt;
      compiler/intel/19.1&lt;br /&gt;
 &lt;br /&gt;
    Help:&lt;br /&gt;
      Intel(R) MPI Library&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= How do Modules work? =&lt;br /&gt;
The default shell on the bwHPC clusters is bash, so explanations and examples will be shown for bash. In general, programs cannot modify the environment of the shell they are being run from, so how can the module command do exactly that?&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The module command is not a program, but a bash-function.&lt;br /&gt;
You can view its content using: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ type module&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will get the following result: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ type module&lt;br /&gt;
module is a function&lt;br /&gt;
module () &lt;br /&gt;
{ &lt;br /&gt;
    eval $($LMOD_CMD bash &amp;quot;$@&amp;quot;);&lt;br /&gt;
    [ $? = 0 ] &amp;amp;&amp;amp; eval $(${LMOD_SETTARG_CMD:-:} -s sh)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In this function, lmod is called. Its output to stdout is then executed inside your current shell using the bash-internal &#039;&#039;eval&#039;&#039; command. As a consequence, all output that you see from the module is transmitted via stderr (output handle 2)  or in some cases even stdin (output handle 0).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
[[Category:bwUniCluster_2.0|bwUniCluster 2.0]]&lt;br /&gt;
[[#top|Back to top]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_User_Access/SSH_Keys&amp;diff=8262</id>
		<title>BwUniCluster 2.0 User Access/SSH Keys</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_User_Access/SSH_Keys&amp;diff=8262"/>
		<updated>2021-02-02T08:51:42Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Registering a Command Key */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- One column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; border:1px solid #BBBBBB; background:#fff5fa; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Interactive SSH Keys are not valid all the time, but only for one hour after the last 2-factor login. They have to be &amp;quot;unlocked&amp;quot; by entering the OTP and service password. Please see the more detailed description in the Section [[BwUniCluster_2.0_User_Access/SSH_Keys#Registering_an_Interactive_Key|Registering an interactive key]].&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SSH Keys&#039;&#039;&#039; are a mechanism for logging into a computer system without having to enter a password. Instead of authenticating yourself with something you know (a password), you prove your identity by showing the server something you have (a cryptographic key).&lt;br /&gt;
&lt;br /&gt;
The usual process is the following:&lt;br /&gt;
&lt;br /&gt;
* The user generates a pair of SSH Keys, a private key and a public key, on their local system. The private key never leaves the local system.&lt;br /&gt;
&lt;br /&gt;
* The user then logs into the remote system using the remote system password and adds the public key to a file called ~/.ssh/authorized_keys .&lt;br /&gt;
&lt;br /&gt;
* All following logins will no longer require the entry of the remote system password because the local system can prove to the remote system that it has a private key matching the public key on file.&lt;br /&gt;
&lt;br /&gt;
While SSH Keys have many advantages, the concept also has &#039;&#039;&#039;a number of issues&#039;&#039;&#039; which make it hard to handle them securely:&lt;br /&gt;
&lt;br /&gt;
* The private key on the local system is supposed to be protected by a strong passphrase. There is no possibility for the server to check if this is the case. Many users do not use a strong passphrase or do not use any passphrase at all. If such a private key is stolen, an attacker can immediately use it to access the remote system.&lt;br /&gt;
&lt;br /&gt;
* There is no concept of validity. Users are not forced to regularly generate new SSH Key pairs and replace the old ones. Often the same key pair is used for many years and the users have no overview of how many systems they have stored their SSH Keys on.&lt;br /&gt;
&lt;br /&gt;
* SSH Keys can be restricted so they can only be used to execute specific commands on the server, or to log in from specified IP addresses. Most users do not do this.&lt;br /&gt;
&lt;br /&gt;
To fix these issues &#039;&#039;&#039;it is no longer possible to self-manage your SSH Keys by adding them to the ~/.ssh/authorized_keys file&#039;&#039;&#039; on bwUniCluster. SSH Keys have to be managed via the central bwIDM system instead. Existing authorized_keys files are ignored.&lt;br /&gt;
&lt;br /&gt;
= Minimum requirements for SSH Keys =&lt;br /&gt;
&lt;br /&gt;
Algorithms and Key sizes:&lt;br /&gt;
&lt;br /&gt;
* 2048 bits or more for RSA&lt;br /&gt;
* 521 bits for ECDSA&lt;br /&gt;
* 256 Bits (Default) for ED25519&lt;br /&gt;
&lt;br /&gt;
ECDSA-SK and ED25519-SK keys (for use with U2F Hardware Tokens) cannot be used yet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please set a strong passphrase for your private keys.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Adding a new SSH Key =&lt;br /&gt;
&lt;br /&gt;
1. Log into [https://bwidm.scc.kit.edu https://bwidm.scc.kit.edu].&lt;br /&gt;
&lt;br /&gt;
2. Click on &#039;&#039;&#039;My SSH Pubkeys&#039;&#039;&#039; or &#039;&#039;&#039;Meine SSH Pubkeys&#039;&#039;&#039; in the main menu.&lt;br /&gt;
&lt;br /&gt;
3. Click on the &#039;&#039;&#039;Add SSH Key&#039;&#039;&#039; or &#039;&#039;&#039;SSH Key hochladen&#039;&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys empty.png|center]]&lt;br /&gt;
&lt;br /&gt;
4. A new window will appear. Enter a name for the key and paste your SSH public key (NOT the private key!) into the box labelled &amp;quot;SSH Key:&amp;quot;. Click on the button labelled &#039;&#039;&#039;Add&#039;&#039;&#039; or &#039;&#039;&#039;Hinzufügen&#039;&#039;&#039;. &#039;&#039;&#039;Note that you cannot add an SSH public key that has already been used before.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys add.png|center]]&lt;br /&gt;
&lt;br /&gt;
5. If everything worked fine your new key will show up in the user interface:&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys added.png|center]]&lt;br /&gt;
&lt;br /&gt;
Newly added keys have a validity of three months. After that they will be revoked and put on a blocklist, so they cannot be used again.&lt;br /&gt;
&lt;br /&gt;
Once you have added SSH Public Keys to the system you can bind them to one or more services for one of two reasons: To use them for generic, interactive logins (&#039;&#039;&#039;Interactive Key&#039;&#039;&#039;) , or for automated logins (&#039;&#039;&#039;Command Key&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Registering an Interactive Key =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interactive Keys&#039;&#039;&#039; can be used to log into a system for normal interactive use. They are not valid all the time, but only for one hour after the last 2-factor login. This means that on the first attempt to log into the bwUniCluster 2.0 system your SSH key will not be accepted, but you have to log in with an One-Time Password (OTP) and your service password. After that you won&#039;t have to enter the OTP and service password anymore for one hour because your SSH Key has been unlocked. After the hour has passed, you have to enter the OTP and service password again on your next login attempt, and then your SSH Key will be unlocked for another hour.&lt;br /&gt;
&lt;br /&gt;
Perform the following steps to register an interactive key:&lt;br /&gt;
&lt;br /&gt;
1. Log into [https://bwidm.scc.kit.edu https://bwidm.scc.kit.edu].&lt;br /&gt;
&lt;br /&gt;
2. Locate the requested service (bwUniCluster) in the main menu and click on &#039;&#039;&#039;Set SSH Key&#039;&#039;&#039; or &#039;&#039;&#039;SSH Key setzen&#039;&#039;&#039; in the main menu.&lt;br /&gt;
&lt;br /&gt;
3. The upper block shows the SSH Keys currently registered for the service. The lower block shows all SSH public keys which have been added to your account. Locate the SSH Key you want to use and click on &#039;&#039;&#039;Add&#039;&#039;&#039; or &#039;&#039;&#039;Hinzufügen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys service list.png|center]]&lt;br /&gt;
&lt;br /&gt;
4. A new window appears. Choose &#039;&#039;&#039;Interactive&#039;&#039;&#039; under &#039;&#039;&#039;Type of usage&#039;&#039;&#039;, enter an optional comment and click on &#039;&#039;&#039;Add&#039;&#039;&#039; or &#039;&#039;&#039;Hinzufügen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys service add.png|center]]&lt;br /&gt;
&lt;br /&gt;
5. Your SSH key has now been registered to the service and can be used.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys service added.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Registering a Command Key =&lt;br /&gt;
&lt;br /&gt;
Passphrases, 2-factor authentication and service passwords make it impossible to integrate many scientific workflows with bwUniCluster 2.0. We therefore offer a second type of registration: &#039;&#039;&#039;Command Keys&#039;&#039;&#039;, special keys which can be used for automation.&lt;br /&gt;
&lt;br /&gt;
Command Keys are always valid and don&#039;t have to be unlocked. This makes these keys extremely valuable to a possible attacker and poses a security risk, so we enforce additional restrictions on these keys:&lt;br /&gt;
&lt;br /&gt;
* They have to be restricted to a single command which can be executed.&lt;br /&gt;
* They have to be restricted to a single IP address (e.g. the workflow server) or a small number of IP addresses (e.g. the subnet of the institute).&lt;br /&gt;
* They have to be checked and approved by an HPC administrator before they can be used.&lt;br /&gt;
* The validity is reduced to one month.&lt;br /&gt;
&lt;br /&gt;
The process for registering a Command Key is the same as the one for an Interactive Key, but after selecting &#039;&#039;&#039;Command&#039;&#039;&#039; under &#039;&#039;&#039;Type of usage&#039;&#039;&#039; two additional field labelled &#039;&#039;&#039;Command&#039;&#039;&#039; and &#039;&#039;&#039;From (network address)&#039;&#039;&#039; appear which have to be filled in. Please also provide a comment to speed up the approval process.&lt;br /&gt;
&lt;br /&gt;
If you want to register a command key to be able to transfer data automatically, please use the following string as the &#039;&#039;&#039;Command&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/rrsync -ro / -rw /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the key has been added, it will be marked as &#039;&#039;&#039;Pending&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys service add command.png|center]]&lt;br /&gt;
&lt;br /&gt;
You will receive an e-mail as soon as the key has been approved and can be used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Revoke/Delete an SSH Key=&lt;br /&gt;
&lt;br /&gt;
1. Log into [https://bwidm.scc.kit.edu https://bwidm.scc.kit.edu].&lt;br /&gt;
&lt;br /&gt;
2. Click on &#039;&#039;&#039;My SSH Pubkeys&#039;&#039;&#039; or &#039;&#039;&#039;Meine SSH Pubkeys&#039;&#039;&#039; in the main menu.&lt;br /&gt;
&lt;br /&gt;
3. Click on the &#039;&#039;&#039;Revoke&#039;&#039;&#039; or &#039;&#039;&#039;Zurückziehen&#039;&#039;&#039; button next to the SSH Key you want to revoke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note that revoked keys are blocked and cannot be used again.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_User_Access/SSH_Keys&amp;diff=8261</id>
		<title>BwUniCluster 2.0 User Access/SSH Keys</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_User_Access/SSH_Keys&amp;diff=8261"/>
		<updated>2021-02-02T08:48:08Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- One column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; border:1px solid #BBBBBB; background:#fff5fa; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Interactive SSH Keys are not valid all the time, but only for one hour after the last 2-factor login. They have to be &amp;quot;unlocked&amp;quot; by entering the OTP and service password. Please see the more detailed description in the Section [[BwUniCluster_2.0_User_Access/SSH_Keys#Registering_an_Interactive_Key|Registering an interactive key]].&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SSH Keys&#039;&#039;&#039; are a mechanism for logging into a computer system without having to enter a password. Instead of authenticating yourself with something you know (a password), you prove your identity by showing the server something you have (a cryptographic key).&lt;br /&gt;
&lt;br /&gt;
The usual process is the following:&lt;br /&gt;
&lt;br /&gt;
* The user generates a pair of SSH Keys, a private key and a public key, on their local system. The private key never leaves the local system.&lt;br /&gt;
&lt;br /&gt;
* The user then logs into the remote system using the remote system password and adds the public key to a file called ~/.ssh/authorized_keys .&lt;br /&gt;
&lt;br /&gt;
* All following logins will no longer require the entry of the remote system password because the local system can prove to the remote system that it has a private key matching the public key on file.&lt;br /&gt;
&lt;br /&gt;
While SSH Keys have many advantages, the concept also has &#039;&#039;&#039;a number of issues&#039;&#039;&#039; which make it hard to handle them securely:&lt;br /&gt;
&lt;br /&gt;
* The private key on the local system is supposed to be protected by a strong passphrase. There is no possibility for the server to check if this is the case. Many users do not use a strong passphrase or do not use any passphrase at all. If such a private key is stolen, an attacker can immediately use it to access the remote system.&lt;br /&gt;
&lt;br /&gt;
* There is no concept of validity. Users are not forced to regularly generate new SSH Key pairs and replace the old ones. Often the same key pair is used for many years and the users have no overview of how many systems they have stored their SSH Keys on.&lt;br /&gt;
&lt;br /&gt;
* SSH Keys can be restricted so they can only be used to execute specific commands on the server, or to log in from specified IP addresses. Most users do not do this.&lt;br /&gt;
&lt;br /&gt;
To fix these issues &#039;&#039;&#039;it is no longer possible to self-manage your SSH Keys by adding them to the ~/.ssh/authorized_keys file&#039;&#039;&#039; on bwUniCluster. SSH Keys have to be managed via the central bwIDM system instead. Existing authorized_keys files are ignored.&lt;br /&gt;
&lt;br /&gt;
= Minimum requirements for SSH Keys =&lt;br /&gt;
&lt;br /&gt;
Algorithms and Key sizes:&lt;br /&gt;
&lt;br /&gt;
* 2048 bits or more for RSA&lt;br /&gt;
* 521 bits for ECDSA&lt;br /&gt;
* 256 Bits (Default) for ED25519&lt;br /&gt;
&lt;br /&gt;
ECDSA-SK and ED25519-SK keys (for use with U2F Hardware Tokens) cannot be used yet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please set a strong passphrase for your private keys.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Adding a new SSH Key =&lt;br /&gt;
&lt;br /&gt;
1. Log into [https://bwidm.scc.kit.edu https://bwidm.scc.kit.edu].&lt;br /&gt;
&lt;br /&gt;
2. Click on &#039;&#039;&#039;My SSH Pubkeys&#039;&#039;&#039; or &#039;&#039;&#039;Meine SSH Pubkeys&#039;&#039;&#039; in the main menu.&lt;br /&gt;
&lt;br /&gt;
3. Click on the &#039;&#039;&#039;Add SSH Key&#039;&#039;&#039; or &#039;&#039;&#039;SSH Key hochladen&#039;&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys empty.png|center]]&lt;br /&gt;
&lt;br /&gt;
4. A new window will appear. Enter a name for the key and paste your SSH public key (NOT the private key!) into the box labelled &amp;quot;SSH Key:&amp;quot;. Click on the button labelled &#039;&#039;&#039;Add&#039;&#039;&#039; or &#039;&#039;&#039;Hinzufügen&#039;&#039;&#039;. &#039;&#039;&#039;Note that you cannot add an SSH public key that has already been used before.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys add.png|center]]&lt;br /&gt;
&lt;br /&gt;
5. If everything worked fine your new key will show up in the user interface:&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys added.png|center]]&lt;br /&gt;
&lt;br /&gt;
Newly added keys have a validity of three months. After that they will be revoked and put on a blocklist, so they cannot be used again.&lt;br /&gt;
&lt;br /&gt;
Once you have added SSH Public Keys to the system you can bind them to one or more services for one of two reasons: To use them for generic, interactive logins (&#039;&#039;&#039;Interactive Key&#039;&#039;&#039;) , or for automated logins (&#039;&#039;&#039;Command Key&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Registering an Interactive Key =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interactive Keys&#039;&#039;&#039; can be used to log into a system for normal interactive use. They are not valid all the time, but only for one hour after the last 2-factor login. This means that on the first attempt to log into the bwUniCluster 2.0 system your SSH key will not be accepted, but you have to log in with an One-Time Password (OTP) and your service password. After that you won&#039;t have to enter the OTP and service password anymore for one hour because your SSH Key has been unlocked. After the hour has passed, you have to enter the OTP and service password again on your next login attempt, and then your SSH Key will be unlocked for another hour.&lt;br /&gt;
&lt;br /&gt;
Perform the following steps to register an interactive key:&lt;br /&gt;
&lt;br /&gt;
1. Log into [https://bwidm.scc.kit.edu https://bwidm.scc.kit.edu].&lt;br /&gt;
&lt;br /&gt;
2. Locate the requested service (bwUniCluster) in the main menu and click on &#039;&#039;&#039;Set SSH Key&#039;&#039;&#039; or &#039;&#039;&#039;SSH Key setzen&#039;&#039;&#039; in the main menu.&lt;br /&gt;
&lt;br /&gt;
3. The upper block shows the SSH Keys currently registered for the service. The lower block shows all SSH public keys which have been added to your account. Locate the SSH Key you want to use and click on &#039;&#039;&#039;Add&#039;&#039;&#039; or &#039;&#039;&#039;Hinzufügen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys service list.png|center]]&lt;br /&gt;
&lt;br /&gt;
4. A new window appears. Choose &#039;&#039;&#039;Interactive&#039;&#039;&#039; under &#039;&#039;&#039;Type of usage&#039;&#039;&#039;, enter an optional comment and click on &#039;&#039;&#039;Add&#039;&#039;&#039; or &#039;&#039;&#039;Hinzufügen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys service add.png|center]]&lt;br /&gt;
&lt;br /&gt;
5. Your SSH key has now been registered to the service and can be used.&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys service added.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Registering a Command Key =&lt;br /&gt;
&lt;br /&gt;
Passphrases, 2-factor authentication and service passwords make it impossible to integrate many scientific workflows with bwUniCluster 2.0. We therefore offer a second type of registration: &#039;&#039;&#039;Command Keys&#039;&#039;&#039;, special keys which can be used for automation.&lt;br /&gt;
&lt;br /&gt;
Command Keys are always valid and don&#039;t have to be unlocked. This makes these keys extremely valuable to a possible attacker and poses a security risk, so we enforce additional restrictions on these keys:&lt;br /&gt;
&lt;br /&gt;
* They have to be restricted to a single command which can be executed.&lt;br /&gt;
* They have to be restricted to a single IP address (e.g. the workflow server) or a small number of IP addresses (e.g. the subnet of the institute).&lt;br /&gt;
* They have to be checked and approved by an HPC administrator before they can be used.&lt;br /&gt;
* The validity is reduced to one month.&lt;br /&gt;
&lt;br /&gt;
The process for registering a Command Key is the same as the one for an Interactive Key, but after selecting &#039;&#039;&#039;Command&#039;&#039;&#039; under &#039;&#039;&#039;Type of usage&#039;&#039;&#039; two additional field labelled &#039;&#039;&#039;Command&#039;&#039;&#039; and &#039;&#039;&#039;From (network address)&#039;&#039;&#039; appear which have to be filled in. Please also provide a comment to speed up the approval process.&lt;br /&gt;
&lt;br /&gt;
After the key has been added, it will be marked as &#039;&#039;&#039;Pending&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[File:Bwunicluster 2.0 access ssh keys service add command.png|center]]&lt;br /&gt;
&lt;br /&gt;
You will receive an e-mail as soon as the key has been approved and can be used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Revoke/Delete an SSH Key=&lt;br /&gt;
&lt;br /&gt;
1. Log into [https://bwidm.scc.kit.edu https://bwidm.scc.kit.edu].&lt;br /&gt;
&lt;br /&gt;
2. Click on &#039;&#039;&#039;My SSH Pubkeys&#039;&#039;&#039; or &#039;&#039;&#039;Meine SSH Pubkeys&#039;&#039;&#039; in the main menu.&lt;br /&gt;
&lt;br /&gt;
3. Click on the &#039;&#039;&#039;Revoke&#039;&#039;&#039; or &#039;&#039;&#039;Zurückziehen&#039;&#039;&#039; button next to the SSH Key you want to revoke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note that revoked keys are blocked and cannot be used again.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Slurm&amp;diff=8073</id>
		<title>BwUniCluster2.0/Slurm</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/Slurm&amp;diff=8073"/>
		<updated>2020-12-22T09:58:17Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* sbatch Command Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=  Slurm HPC Workload Manager = &lt;br /&gt;
== Specification == &lt;br /&gt;
Slurm is an open source, fault-tolerant, and highly scalable cluster management and job scheduling system for large and small Linux clusters. Slurm requires no kernel modifications for its operation and is relatively self-contained. As a cluster workload manager, Slurm has three key functions. First, it allocates exclusive and/or non-exclusive access to resources (compute nodes) to users for some duration of time so they can perform work. Second, it provides a framework for starting, executing, and monitoring work (normally a parallel job) on the set of allocated nodes. Finally, it arbitrates contention for resources by managing a queue of pending work.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Any kind of calculation on the compute nodes of [[bwUniCluster 2.0|bwUniCluster 2.0]] requires the user to define calculations as a sequence of commands or single command together with required run time, number of CPU cores and main memory and submit all, i.e., the &#039;&#039;&#039;batch job&#039;&#039;&#039;, to a resource and workload managing software. bwUniCluster 2.0 has installed the workload managing software Slurm. Therefore any job submission by the user is to be executed by commands of the Slurm software. Slurm queues and runs user jobs based on fair sharing policies.  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Slurm Commands (excerpt) ==&lt;br /&gt;
Some of the most used Slurm commands for non-administrators working on bwUniCluster 2.0.&lt;br /&gt;
{| width=750px class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Slurm commands !! Brief explanation&lt;br /&gt;
|-&lt;br /&gt;
| [[#Job Submission : sbatch|sbatch]] || Submits a job and queues it in an input queue [[https://slurm.schedmd.com/sbatch.html sbatch]] &lt;br /&gt;
|-&lt;br /&gt;
| [[#Detailed job information : scontrol show job|scontrol show job]] || Displays detailed job state information [[https://slurm.schedmd.com/scontrol.html scontrol]]&lt;br /&gt;
|-&lt;br /&gt;
| [[#List of your submitted jo/bs : squeue|squeue]] || Displays information about active, eligible, blocked, and/or recently completed jobs [[https://slurm.schedmd.com/squeue.html squeue]]&lt;br /&gt;
|-&lt;br /&gt;
| [[#Start time of job or resources : squeue|squeue --start]] || Returns start time of submitted job or requested resources [[https://slurm.schedmd.com/squeue.html squeue]]&lt;br /&gt;
|-&lt;br /&gt;
| [[#Shows free resources : sinfo_t_idle|sinfo_t_idle]] || Shows what resources are available for immediate use [[https://slurm.schedmd.com/sinfo.html sinfo]]&lt;br /&gt;
|-&lt;br /&gt;
| [[#Canceling own jobs : scancel|scancel]] || Cancels a job (obsoleted!) [[https://slurm.schedmd.com/scancel.html scancel]]&lt;br /&gt;
|}&lt;br /&gt;
If your job was submitted to the &amp;quot;multiple&amp;quot; queue you can log into the allocated nodes via SSH as soon as the job is running.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://slurm.schedmd.com/tutorials.html  Slurm Tutorials]&lt;br /&gt;
* [https://slurm.schedmd.com/pdfs/summary.pdf  Slurm command/option summary (2 pages)]&lt;br /&gt;
* [https://slurm.schedmd.com/man_index.html  Slurm Commands]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Job Submission : sbatch ==&lt;br /&gt;
Batch jobs are submitted by using the command &#039;&#039;&#039;sbatch&#039;&#039;&#039;. The main purpose of the &#039;&#039;&#039;sbatch&#039;&#039;&#039; command is to specify the resources that are needed to run the job. &#039;&#039;&#039;sbatch&#039;&#039;&#039; will then queue the batch job. However, starting of batch job depends on the availability of the requested resources and the fair sharing value.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== sbatch Command Parameters ===&lt;br /&gt;
The syntax and use of &#039;&#039;&#039;sbatch&#039;&#039;&#039; can be displayed via:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ man sbatch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;sbatch&#039;&#039;&#039; options can be used from the command line or in your job script.&lt;br /&gt;
{| width=750px class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | sbatch Options&lt;br /&gt;
|-&lt;br /&gt;
! Command line&lt;br /&gt;
! Script&lt;br /&gt;
! Purpose&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| -t &#039;&#039;time&#039;&#039;  or  --time=&#039;&#039;time&#039;&#039;&lt;br /&gt;
| #SBATCH --time=&#039;&#039;time&#039;&#039;&lt;br /&gt;
| Wall clock time limit.&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| -N &#039;&#039;count&#039;&#039;  or  --nodes=&#039;&#039;count&#039;&#039;&lt;br /&gt;
| #SBATCH --nodes=&#039;&#039;count&#039;&#039;&lt;br /&gt;
| Number of nodes to be used.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| -n &#039;&#039;count&#039;&#039;  or  --ntasks=&#039;&#039;count&#039;&#039;&lt;br /&gt;
| #SBATCH --ntasks=&#039;&#039;count&#039;&#039;&lt;br /&gt;
| Number of tasks to be launched.&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| --ntasks-per-node=&#039;&#039;count&#039;&#039;&lt;br /&gt;
| #SBATCH --ntasks-per-node=&#039;&#039;count&#039;&#039;&lt;br /&gt;
| Maximum count (&amp;lt;= 28 and &amp;lt;= 40 resp.) of tasks per node.&amp;lt;br&amp;gt;(Replaces the option ppn of MOAB.)&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| -c &#039;&#039;count&#039;&#039; or --cpus-per-task=&#039;&#039;count&#039;&#039;&lt;br /&gt;
| #SBATCH --cpus-per-task=&#039;&#039;count&#039;&#039;&lt;br /&gt;
| Number of CPUs required per (MPI-)task.&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| --mem=&#039;&#039;value_in_MB&#039;&#039;&lt;br /&gt;
| #SBATCH --mem=&#039;&#039;value_in_MB&#039;&#039; &lt;br /&gt;
| Memory in MegaByte per node.&amp;lt;br&amp;gt;(Default value is 128000 and 96000 MB resp., i.e. you should omit &amp;lt;br&amp;gt; the setting of this option.)&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| --mem-per-cpu=&#039;&#039;value_in_MB&#039;&#039;&lt;br /&gt;
| #SBATCH --mem-per-cpu=&#039;&#039;value_in_MB&#039;&#039; &lt;br /&gt;
| Minimum Memory required per allocated CPU.&amp;lt;br&amp;gt;(Replaces the option pmem of MOAB. You should omit &amp;lt;br&amp;gt; the setting of this option.)&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| --mail-type=&#039;&#039;type&#039;&#039;&lt;br /&gt;
| #SBATCH --mail-type=&#039;&#039;type&#039;&#039;&lt;br /&gt;
| Notify user by email when certain event types occur.&amp;lt;br&amp;gt;Valid type values are NONE, BEGIN, END, FAIL, REQUEUE, ALL.&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| --mail-user=&#039;&#039;mail-address&#039;&#039;&lt;br /&gt;
| #SBATCH --mail-user=&#039;&#039;mail-address&#039;&#039;&lt;br /&gt;
|  The specified mail-address receives email notification of state&amp;lt;br&amp;gt;changes as defined by --mail-type.&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| --output=&#039;&#039;name&#039;&#039;&lt;br /&gt;
| #SBATCH --output=&#039;&#039;name&#039;&#039;&lt;br /&gt;
| File in which job output is stored. &lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| --error=&#039;&#039;name&#039;&#039;&lt;br /&gt;
| #SBATCH --error=&#039;&#039;name&#039;&#039;&lt;br /&gt;
| File in which job error messages are stored. &lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| -J &#039;&#039;name&#039;&#039; or --job-name=&#039;&#039;name&#039;&#039;&lt;br /&gt;
| #SBATCH --job-name=&#039;&#039;name&#039;&#039;&lt;br /&gt;
| Job name.&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| --export=[ALL,] &#039;&#039;env-variables&#039;&#039;&lt;br /&gt;
| #SBATCH --export=[ALL,] &#039;&#039;env-variables&#039;&#039;&lt;br /&gt;
| Identifies which environment variables from the submission &amp;lt;br&amp;gt; environment are propagated to the launched application. Default &amp;lt;br&amp;gt; is ALL. If adding an environment variable to the submission&amp;lt;br&amp;gt; environment is intended, the argument ALL must be added.&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| -A &#039;&#039;group-name&#039;&#039; or --account=&#039;&#039;group-name&#039;&#039;&lt;br /&gt;
| #SBATCH --account=&#039;&#039;group-name&#039;&#039;&lt;br /&gt;
| Change resources used by this job to specified group. You may &amp;lt;br&amp;gt; need this option if your account is assigned to more &amp;lt;br&amp;gt; than one group. By command &amp;quot;scontrol show job&amp;quot; the project &amp;lt;br&amp;gt; group the job is accounted on can be seen behind &amp;quot;Account=&amp;quot;. &lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| -p &#039;&#039;queue-name&#039;&#039; or --partition=&#039;&#039;queue-name&#039;&#039;&lt;br /&gt;
| #SBATCH --partition=&#039;&#039;queue-name&#039;&#039;&lt;br /&gt;
| Request a specific queue for the resource allocation.&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| --reservation=&#039;&#039;reservation-name&#039;&#039;&lt;br /&gt;
| #SBATCH --reservation=&#039;&#039;reservation-name&#039;&#039;&lt;br /&gt;
| Use a specific reservation for the resource allocation.&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| -C &#039;&#039;LSDF&#039;&#039; or --constraint=&#039;&#039;LSDF&#039;&#039;&lt;br /&gt;
| #SBATCH --constraint=LSDF&lt;br /&gt;
| Job constraint LSDF Filesystems.&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| -C &#039;&#039;BEEOND&#039;&#039; or --constraint=&#039;&#039;BEEOND&#039;&#039;&lt;br /&gt;
| #SBATCH --constraint=BEEOND&lt;br /&gt;
| Job constraint BeeOND file system.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sbatch --partition  &#039;&#039;queues&#039;&#039; ====&lt;br /&gt;
Queue classes define maximum resources such as walltime, nodes and processes per node and queue of the compute system. Details can be found here:&lt;br /&gt;
* [[BwUniCluster_2.0_Batch_Queues#sbatch_-p_queue|bwUniCluster 2.0 queue settings]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sbatch Examples ===&lt;br /&gt;
==== Serial Programs ====&lt;br /&gt;
To submit a serial job that runs the script &#039;&#039;&#039;job.sh&#039;&#039;&#039; and that requires 5000 MB of main memory and 10 minutes of wall clock time&lt;br /&gt;
&lt;br /&gt;
a) execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch -p dev_single -n 1 -t 10:00 --mem=5000  job.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
b) add after the initial line of your script &#039;&#039;&#039;job.sh&#039;&#039;&#039; the lines (here with a high memory request):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#SBATCH --ntasks=1&lt;br /&gt;
#SBATCH --time=10&lt;br /&gt;
#SBATCH --mem=200gb&lt;br /&gt;
#SBATCH --job-name=simple&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
and execute the modified script with the command line option &#039;&#039;--partition=fat&#039;&#039; (with &#039;&#039;--partition=(dev_)single&#039;&#039; maximum &#039;&#039;--mem=96gb&#039;&#039; is possible):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch --partition=fat job.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note, that sbatch command line options overrule script options.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Multithreaded Programs ====&lt;br /&gt;
Multithreaded programs operate faster than serial programs on CPUs with multiple cores.&amp;lt;br&amp;gt;&lt;br /&gt;
Moreover, multiple threads of one process share resources such as memory.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For multithreaded programs based on &#039;&#039;&#039;Open&#039;&#039;&#039; &#039;&#039;&#039;M&#039;&#039;&#039;ulti-&#039;&#039;&#039;P&#039;&#039;&#039;rocessing (OpenMP) a number of threads is defined by the environment variable OMP_NUM_THREADS. By default this variable is set to 1 (OMP_NUM_THREADS=1).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Because hyperthreading is switched on on bwUniCluster 2.0, the option --cpus-per-task (-c) must be set to 2*n, if you want to use n threads.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To submit a batch job called &#039;&#039;OpenMP_Test&#039;&#039; that runs a 40-fold threaded program &#039;&#039;omp_exe&#039;&#039; which requires 6000 MByte of total physical memory and total wall clock time of 40 minutes:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
a) execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch -p single --export=ALL,OMP_NUM_THREADS=40 -J OpenMP_Test -N 1 -c 80 -t 40 --mem=6000 ./omp_exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* generate the script &#039;&#039;&#039;job_omp.sh&#039;&#039;&#039; containing the following lines:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --nodes=1&lt;br /&gt;
#SBATCH --cpus-per-task=80&lt;br /&gt;
#SBATCH --time=40:00&lt;br /&gt;
#SBATCH --mem=6000mb   &lt;br /&gt;
#SBATCH --export=ALL,EXECUTABLE=./omp_exe&lt;br /&gt;
#SBATCH -J OpenMP_Test&lt;br /&gt;
&lt;br /&gt;
#Usually you should set&lt;br /&gt;
export KMP_AFFINITY=compact,1,0&lt;br /&gt;
#export KMP_AFFINITY=verbose,compact,1,0 prints messages concerning the supported affinity&lt;br /&gt;
#KMP_AFFINITY Description: https://software.intel.com/en-us/node/524790#KMP_AFFINITY_ENVIRONMENT_VARIABLE&lt;br /&gt;
&lt;br /&gt;
export OMP_NUM_THREADS=$((${SLURM_JOB_CPUS_PER_NODE}/2))&lt;br /&gt;
echo &amp;quot;Executable ${EXECUTABLE} running on ${SLURM_JOB_CPUS_PER_NODE} cores with ${OMP_NUM_THREADS} threads&amp;quot;&lt;br /&gt;
startexe=${EXECUTABLE}&lt;br /&gt;
echo $startexe&lt;br /&gt;
exec $startexe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Using Intel compiler the environment variable KMP_AFFINITY switches on binding of threads to specific cores and, if necessary, replace &amp;lt;placeholder&amp;gt; with the required modulefile to enable the OpenMP environment and execute the script &#039;&#039;&#039;job_omp.sh&#039;&#039;&#039; adding the queue class &#039;&#039;single&#039;&#039; as sbatch option:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch -p single job_omp.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note, that sbatch command line options overrule script options, e.g.,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch --partition=single --mem=200 job_omp.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
overwrites the script setting of 6000 MByte with 200 MByte.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== MPI Parallel Programs ====&lt;br /&gt;
MPI parallel programs run faster than serial programs on multi CPU and multi core systems. N-fold spawned processes of the MPI program, i.e., &#039;&#039;&#039;MPI tasks&#039;&#039;&#039;,  run simultaneously and communicate via the Message Passing Interface (MPI) paradigm. MPI tasks do not share memory but can be spawned over different nodes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Multiple MPI tasks must be launched via &#039;&#039;&#039;mpirun&#039;&#039;&#039;, e.g. 4 MPI tasks of &#039;&#039;my_par_program&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mpirun -n 4 my_par_program&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This command runs 4 MPI tasks of &#039;&#039;my_par_program&#039;&#039; on the node you are logged in.&lt;br /&gt;
To run this command with a loaded Intel MPI the environment variable I_MPI_HYDRA_BOOTSTRAP must be unset ( --&amp;gt; $ unset I_MPI_HYDRA_BOOTSTRAP).&lt;br /&gt;
&lt;br /&gt;
Running MPI parallel programs in a batch job the interactive environment - particularly the loaded modules - will also be set in the batch job. If you want to set a defined module environment in your batch job you have to purge all modules before setting the wished modules. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===== OpenMPI =====&lt;br /&gt;
&lt;br /&gt;
If you want to run jobs on batch nodes, generate a wrapper script &#039;&#039;job_ompi.sh&#039;&#039; for &#039;&#039;&#039;OpenMPI&#039;&#039;&#039; containing the following lines:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Use when a defined module environment related to OpenMPI is wished&lt;br /&gt;
module load mpi/openmpi/&amp;lt;placeholder_for_version&amp;gt;&lt;br /&gt;
mpirun --bind-to core --map-by core -report-bindings my_par_program&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Attention:&#039;&#039;&#039; Do &#039;&#039;&#039;NOT&#039;&#039;&#039; add mpirun options &#039;&#039;-n &amp;lt;number_of_processes&amp;gt;&#039;&#039; or any other option defining processes or nodes, since Slurm instructs mpirun about number of processes and node hostnames. Use &#039;&#039;&#039;ALWAYS&#039;&#039;&#039; the MPI options &#039;&#039;&#039;&#039;&#039;--bind-to core&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;--map-by core|socket|node&#039;&#039;&#039;&#039;&#039;. Please type &#039;&#039;mpirun --help&#039;&#039; for an explanation of the meaning of the different options of mpirun option &#039;&#039;--map-by&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Considering 4 OpenMPI tasks on a single node, each requiring 2000 MByte, and running for 1 hour, execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch -p single -N 1 -n 4 --mem-per-cpu=2000 --time=01:00:00 ./job_ompi.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Intel MPI =====&lt;br /&gt;
&lt;br /&gt;
Generate a wrapper script for &#039;&#039;&#039;Intel MPI&#039;&#039;&#039;, &#039;&#039;job_impi.sh&#039;&#039; containing the following lines:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Use when a defined module environment related to Intel MPI is wished&lt;br /&gt;
module load mpi/impi/&amp;lt;placeholder_for_version&amp;gt;   &lt;br /&gt;
mpiexec.hydra -bootstrap slurm my_par_program&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&#039;&#039;&#039;Attention:&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Do &#039;&#039;&#039;NOT&#039;&#039;&#039; add mpirun options &#039;&#039;-n &amp;lt;number_of_processes&amp;gt;&#039;&#039; or any other option defining processes or nodes, since Slurm instructs mpirun about number of processes and node hostnames.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Launching and running 200 Intel MPI tasks on 5 nodes, each requiring 80 GByte, and running for 5 hours, execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch --partition=multiple -N 5 --ntasks-per-node=40 --mem=80gb -t 300 ./job_impi.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to use 128 or more nodes, you must also set the environment variable as follows:           &amp;lt;BR&amp;gt;&lt;br /&gt;
export I_MPI_HYDRA_BRANCH_COUNT=-1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to use the options perhost, ppn or rr, you must additionally set the environment variable I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=off.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Multithreaded + MPI parallel Programs ====&lt;br /&gt;
Multithreaded + MPI parallel programs operate faster than serial programs on multi CPUs with multiple cores. All threads of one process share resources such as memory. On the contrary MPI tasks do not share memory but can be spawned over different nodes. &#039;&#039;&#039;Because hyperthreading is switched on on bwUniCluster 2.0, the option --cpus-per-task (-c) must be set to 2*n, if you want to use n threads.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===== OpenMPI with Multithreading =====&lt;br /&gt;
Multiple MPI tasks using &#039;&#039;&#039;OpenMPI&#039;&#039;&#039; must be launched by the MPI parallel program &#039;&#039;&#039;mpirun&#039;&#039;&#039;. For multithreaded programs based on &#039;&#039;&#039;Open&#039;&#039;&#039; &#039;&#039;&#039;M&#039;&#039;&#039;ulti-&#039;&#039;&#039;P&#039;&#039;&#039;rocessing (OpenMP) number of threads are defined by the environment variable OMP_NUM_THREADS. By default this variable is set to 1 (OMP_NUM_THREADS=1).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;For OpenMPI&#039;&#039;&#039; a job-script to submit a batch job called &#039;&#039;job_ompi_omp.sh&#039;&#039; that runs a MPI program with 4 tasks and a 28-fold threaded program &#039;&#039;ompi_omp_program&#039;&#039; requiring 3000 MByte of physical memory per thread (using 28 threads per MPI task you will get 28*3000 MByte = 84000 MByte per MPI task) and total wall clock time of 3 hours looks like:&lt;br /&gt;
&amp;lt;!--b)--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --ntasks=4&lt;br /&gt;
#SBATCH --cpus-per-task=56&lt;br /&gt;
#SBATCH --time=03:00:00&lt;br /&gt;
#SBATCH --mem=83gb    # 84000 MB = 84000/1024 GB = 82.1 GB&lt;br /&gt;
#SBATCH --export=ALL,MPI_MODULE=mpi/openmpi/3.1,EXECUTABLE=./ompi_omp_program&lt;br /&gt;
#SBATCH --output=&amp;quot;parprog_hybrid_%j.out&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
# Use when a defined module environment related to OpenMPI is wished&lt;br /&gt;
module load ${MPI_MODULE}&lt;br /&gt;
export OMP_NUM_THREADS=$((${SLURM_CPUS_PER_TASK}/2))&lt;br /&gt;
export MPIRUN_OPTIONS=&amp;quot;--bind-to core --map-by socket:PE=${OMP_NUM_THREADS} -report-bindings&amp;quot;&lt;br /&gt;
export NUM_CORES=${SLURM_NTASKS}*${OMP_NUM_THREADS}&lt;br /&gt;
echo &amp;quot;${EXECUTABLE} running on ${NUM_CORES} cores with ${SLURM_NTASKS} MPI-tasks and ${OMP_NUM_THREADS} threads&amp;quot;&lt;br /&gt;
startexe=&amp;quot;mpirun -n ${SLURM_NTASKS} ${MPIRUN_OPTIONS} ${EXECUTABLE}&amp;quot;&lt;br /&gt;
echo $startexe&lt;br /&gt;
exec $startexe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Execute the script &#039;&#039;&#039;job_ompi_omp.sh&#039;&#039;&#039; by command sbatch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch -p multiple_e ./job_ompi_omp.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* With the mpirun option &#039;&#039;--bind-to core&#039;&#039; MPI tasks and OpenMP threads are bound to physical cores.&lt;br /&gt;
* With the option &#039;&#039;--map-by node:PE=&amp;lt;value&amp;gt;&#039;&#039; (neighbored) MPI tasks will be attached to different nodes and each MPI task is bound to the first core of a node. &amp;lt;value&amp;gt; must be set to ${OMP_NUM_THREADS}.&lt;br /&gt;
* The option &#039;&#039;-report-bindings&#039;&#039; shows the bindings between MPI tasks and physical cores.&lt;br /&gt;
* The mpirun-options &#039;&#039;&#039;--bind-to core&#039;&#039;&#039;, &#039;&#039;&#039;--map-by socket|...|node:PE=&amp;lt;value&amp;gt;&#039;&#039;&#039; should always be used when running a multithreaded MPI program.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Intel MPI with Multithreading =====&lt;br /&gt;
Multithreaded + MPI parallel programs operate faster than serial programs on multi CPUs with multiple cores. All threads of one process share resources such as memory. On the contrary MPI tasks do not share memory but can be spawned over different nodes.  &lt;br /&gt;
&lt;br /&gt;
Multiple Intel MPI tasks must be launched by the MPI parallel program &#039;&#039;&#039;mpiexec.hydra&#039;&#039;&#039;. For multithreaded programs based on &#039;&#039;&#039;Open&#039;&#039;&#039; &#039;&#039;&#039;M&#039;&#039;&#039;ulti-&#039;&#039;&#039;P&#039;&#039;&#039;rocessing (OpenMP) number of threads are defined by the environment variable OMP_NUM_THREADS. By default this variable is set to 1 (OMP_NUM_THREADS=1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Intel MPI&#039;&#039;&#039; a job-script to submit a batch job called &#039;&#039;job_impi_omp.sh&#039;&#039; that runs a Intel MPI program with 10 tasks and a 40-fold threaded program &#039;&#039;impi_omp_program&#039;&#039; requiring 96000 MByte of total physical memory per task and total wall clock time of 1 hours looks like: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--b)--&amp;gt; &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --ntasks=10&lt;br /&gt;
#SBATCH --cpus-per-task=80&lt;br /&gt;
#SBATCH --time=60&lt;br /&gt;
#SBATCH --mem=96000&lt;br /&gt;
#SBATCH --export=ALL,MPI_MODULE=mpi/impi,EXE=./impi_omp_program&lt;br /&gt;
#SBATCH --output=&amp;quot;parprog_impi_omp_%j.out&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#If using more than one MPI task per node please set&lt;br /&gt;
export KMP_AFFINITY=compact,1,0&lt;br /&gt;
#export KMP_AFFINITY=verbose,scatter  prints messages concerning the supported affinity &lt;br /&gt;
#KMP_AFFINITY Description: https://software.intel.com/en-us/node/524790#KMP_AFFINITY_ENVIRONMENT_VARIABLE&lt;br /&gt;
&lt;br /&gt;
# Use when a defined module environment related to Intel MPI is wished &lt;br /&gt;
module load ${MPI_MODULE}&lt;br /&gt;
export OMP_NUM_THREADS=$((${SLURM_CPUS_PER_TASK}/2))&lt;br /&gt;
export MPIRUN_OPTIONS=&amp;quot;-binding &amp;quot;domain=omp:compact&amp;quot; -print-rank-map -envall&amp;quot;&lt;br /&gt;
export NUM_PROCS=eval(${SLURM_NTASKS}*${OMP_NUM_THREADS})&lt;br /&gt;
echo &amp;quot;${EXE} running on ${NUM_PROCS} cores with ${SLURM_NTASKS} MPI-tasks and ${OMP_NUM_THREADS} threads&amp;quot;&lt;br /&gt;
startexe=&amp;quot;mpiexec.hydra -bootstrap slurm ${MPIRUN_OPTIONS} -n ${SLURM_NTASKS} ${EXE}&amp;quot;&lt;br /&gt;
echo $startexe&lt;br /&gt;
exec $startexe&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Using Intel compiler the environment variable KMP_AFFINITY switches on binding of threads to specific cores. If you only run one MPI task per node please set KMP_AFFINITY=compact,1,0.&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
If you want to use 128 or more nodes, you must also set the environment variable as follows:           &amp;lt;BR&amp;gt;&lt;br /&gt;
export I_MPI_HYDRA_BRANCH_COUNT=-1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to use the options perhost, ppn or rr, you must additionally set the environment variable I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=off. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Execute the script &#039;&#039;&#039;job_impi_omp.sh&#039;&#039;&#039; by command sbatch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch -p multiple ./job_impi_omp.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The mpirun option &#039;&#039;-print-rank-map&#039;&#039; shows the bindings between MPI tasks and nodes (not very beneficial). The option &#039;&#039;-binding&#039;&#039; binds MPI tasks (processes) to a particular processor; &#039;&#039;domain=omp&#039;&#039; means that the domain size is determined by the number of threads. If you would choose 2 MPI tasks per node, you should choose &#039;&#039;-binding &amp;quot;cell=unit;map=bunch&amp;quot;&#039;&#039;; this binding maps one MPI process to each socket. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Chain jobs ====&lt;br /&gt;
The CPU time requirements of many applications exceed the limits of the job classes. In those situations it is recommended to solve the problem by a job chain. A job chain is a sequence of jobs where each job automatically starts its successor. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
####################################&lt;br /&gt;
## simple Slurm submitter script to setup   ## &lt;br /&gt;
## a chain of jobs using Slurm                    ##&lt;br /&gt;
####################################&lt;br /&gt;
## ver.  : 2018-11-27, KIT, SCC&lt;br /&gt;
&lt;br /&gt;
## Define maximum number of jobs via positional parameter 1, default is 5&lt;br /&gt;
max_nojob=${1:-5}&lt;br /&gt;
&lt;br /&gt;
## Define your jobscript (e.g. &amp;quot;~/chain_job.sh&amp;quot;)&lt;br /&gt;
chain_link_job=${PWD}/chain_job.sh&lt;br /&gt;
&lt;br /&gt;
## Define type of dependency via positional parameter 2, default is &#039;afterok&#039;&lt;br /&gt;
dep_type=&amp;quot;${2:-afterok}&amp;quot;&lt;br /&gt;
## -&amp;gt; List of all dependencies:&lt;br /&gt;
## https://slurm.schedmd.com/sbatch.html&lt;br /&gt;
&lt;br /&gt;
myloop_counter=1&lt;br /&gt;
## Submit loop&lt;br /&gt;
while [ ${myloop_counter} -le ${max_nojob} ] ; do&lt;br /&gt;
   ##&lt;br /&gt;
   ## Differ msub_opt depending on chain link number&lt;br /&gt;
   if [ ${myloop_counter} -eq 1 ] ; then&lt;br /&gt;
      slurm_opt=&amp;quot;&amp;quot;&lt;br /&gt;
   else&lt;br /&gt;
      slurm_opt=&amp;quot;-d ${dep_type}:${jobID}&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
   ##&lt;br /&gt;
   ## Print current iteration number and sbatch command&lt;br /&gt;
   echo &amp;quot;Chain job iteration = ${myloop_counter}&amp;quot;&lt;br /&gt;
   echo &amp;quot;   sbatch --export=myloop_counter=${myloop_counter} ${slurm_opt} ${chain_link_job}&amp;quot;&lt;br /&gt;
   ## Store job ID for next iteration by storing output of sbatch command with empty lines&lt;br /&gt;
   jobID=$(sbatch -p &amp;lt;queue&amp;gt; --export=ALL,myloop_counter=${myloop_counter} ${slurm_opt} ${chain_link_job} 2&amp;gt;&amp;amp;1 | sed &#039;s/[S,a-z]* //g&#039;)&lt;br /&gt;
   ##   &lt;br /&gt;
   ## Check if ERROR occured&lt;br /&gt;
   if [[ &amp;quot;${jobID}&amp;quot; =~ &amp;quot;ERROR&amp;quot; ]] ; then&lt;br /&gt;
      echo &amp;quot;   -&amp;gt; submission failed!&amp;quot; ; exit 1&lt;br /&gt;
   else&lt;br /&gt;
      echo &amp;quot;   -&amp;gt; job number = ${jobID}&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
   ##&lt;br /&gt;
   ## Increase counter&lt;br /&gt;
   let myloop_counter+=1&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GPU jobs ====&lt;br /&gt;
&lt;br /&gt;
The nodes in the gpu_4 and gpu_8 queues have 4 or 8 NVIDIA Tesla V100 GPUs. Just submitting a job to these queues is not enough to also allocate one or more GPUs, you have to do so using the &amp;quot;--gres=gpu&amp;quot; parameter. You have to specifiy how many GPUs your job needs, e.g. &amp;quot;--gres=gpu:2&amp;quot; will request two GPUs.&lt;br /&gt;
&lt;br /&gt;
The GPU nodes are shared between multiple jobs if the jobs don&#039;t request all the GPUs in a node and there are enough ressources to run more than one job. The individual GPUs are always bound to a single job and will not be shared between different jobs.&lt;br /&gt;
&lt;br /&gt;
a) add after the initial line of your script job.sh the line including the&lt;br /&gt;
information about the LSDF Online Storage usage:&amp;lt;br&amp;gt;   #SBATCH --constraint=LSDF&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --ntasks=40&lt;br /&gt;
#SBATCH --time=02:00:00&lt;br /&gt;
#SBATCH --mem=4000&lt;br /&gt;
#SBATCH --gres=gpu:2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or b) execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch -p &amp;lt;queue&amp;gt; -n 40 -t 02:00:00 --mem 4000 --gres=gpu:2 job.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
If you start an interactive session on of the GPU nodes, you can use the &amp;quot;nvidia-smi&amp;quot; command to list the GPUs allocated to your job:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nvidia-smi&lt;br /&gt;
Sun Mar 29 15:20:05 2020       &lt;br /&gt;
+-----------------------------------------------------------------------------+&lt;br /&gt;
| NVIDIA-SMI 440.33.01    Driver Version: 440.33.01    CUDA Version: 10.2     |&lt;br /&gt;
|-------------------------------+----------------------+----------------------+&lt;br /&gt;
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |&lt;br /&gt;
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |&lt;br /&gt;
|===============================+======================+======================|&lt;br /&gt;
|   0  Tesla V100-SXM2...  Off  | 00000000:3A:00.0 Off |                    0 |&lt;br /&gt;
| N/A   29C    P0    39W / 300W |      9MiB / 32510MiB |      0%      Default |&lt;br /&gt;
+-------------------------------+----------------------+----------------------+&lt;br /&gt;
|   1  Tesla V100-SXM2...  Off  | 00000000:3B:00.0 Off |                    0 |&lt;br /&gt;
| N/A   30C    P0    41W / 300W |      8MiB / 32510MiB |      0%      Default |&lt;br /&gt;
+-------------------------------+----------------------+----------------------+&lt;br /&gt;
                                                                               &lt;br /&gt;
+-----------------------------------------------------------------------------+&lt;br /&gt;
| Processes:                                                       GPU Memory |&lt;br /&gt;
|  GPU       PID   Type   Process name                             Usage      |&lt;br /&gt;
|=============================================================================|&lt;br /&gt;
|    0     14228      G   /usr/bin/X                                     8MiB |&lt;br /&gt;
|    1     14228      G   /usr/bin/X                                     8MiB |&lt;br /&gt;
+-----------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LSDF Online Storage ====&lt;br /&gt;
On bwUniCluster 2.0 you can use for special cases the LSDF Online Storage on the HPC cluster nodes. Please request for this service separately ([https://www.lsdf.kit.edu/os/storagerequest/: LSDF Storage Request]).&lt;br /&gt;
To mount the LSDF Online Storage on the compute nodes during the job runtime the&lt;br /&gt;
the constraint flag &amp;quot;LSDF&amp;quot; has to be set.  &lt;br /&gt;
&lt;br /&gt;
a) add after the initial line of your script job.sh the line including the&lt;br /&gt;
information about the LSDF Online Storage usage:&amp;lt;br&amp;gt;   #SBATCH --constraint=LSDF&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --ntasks=1&lt;br /&gt;
#SBATCH --time=120&lt;br /&gt;
#SBATCH --mem=200&lt;br /&gt;
#SBATCH --constraint=LSDF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or b) execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch -p &amp;lt;queue&amp;gt; -n 1 -t 2:00:00 --mem 200 job.sh -C LSDF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For the usage of the LSDF Online Storage&lt;br /&gt;
the following environment variables are available: $LSDF, $LSDFPROJECTS, $LSDFHOME.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====BeeOND (BeeGFS On-Demand)====&lt;br /&gt;
&lt;br /&gt;
BeeOND instances are integrated into the prolog and epilog script of the cluster batch system, Slurm. It can be used on the compute nodes during the job runtime with the constraint flag &amp;quot;BEEOND&amp;quot; ([[BwUniCluster_2.0_Slurm_common_Features#sbatch_Command_Parameters|Slurm Command Parameters]])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH ...&lt;br /&gt;
#SBATCH --constraint=BEEOND&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After your job has started you can find the private on-demand file system in &#039;&#039;&#039;/mnt/odfs/$SLURM_JOB_ID&#039;&#039;&#039; directory. The mountpoint comes with three pre-configured directories:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#for small files (stripe count = 1)&lt;br /&gt;
/mnt/odfs/$SLURM_JOB_ID/stripe_1&lt;br /&gt;
#stripe count = 4&lt;br /&gt;
/mnt/odfs/$SLURM_JOB_ID/stripe_default&lt;br /&gt;
#stripe count = 8, 16 or 32, use this directories for medium sized and large files or when using MPI-IO&lt;br /&gt;
/mnt/odfs/$SLURM_JOB_ID/stripe_8, /mnt/odfs/$SLURM_JOB_ID/stripe_16 or /mnt/odfs/$SLURM_JOB_ID/stripe_32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you request less nodes than stripe count, the stripe count will be max number of nodes, e.g., You only request 8 nodes , so the directory with stripe count 16 is basically only with a stripe count 8.&lt;br /&gt;
&lt;br /&gt;
The capacity of the private file system depends on the number of nodes. For each node you get 250Gbyte.&lt;br /&gt;
&lt;br /&gt;
!!! Be careful when creating large files, use always the directory with the max stripe count for large files.&lt;br /&gt;
If you create large files use a higher stripe count. For example, if your largest file is 1.1 Tb, then you have to use a stripe count larger&amp;gt;4 (4 x 250GB).  &lt;br /&gt;
&lt;br /&gt;
If you request 100 nodes for your job, the private file system is 100 * 250 Gbyte ~ 25 Tbyte (approx) capacity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommendation:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The private file system is using its own metadata server. This metadata server is started on the first nodes. Depending on your application, the metadata server is consuming decent amount of CPU power. Probably adding a extra node to your job could improve the usability of the on-demand file system. Start your application with the MPI option:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mpirun -nolocal myapplication&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
With the -nolocal option the node where mpirun is initiated is not used for your application. This node is fully available for the meta data server of your requested on-demand file system.&lt;br /&gt;
&lt;br /&gt;
Example job script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#very simple example on how to use a private on-demand file system&lt;br /&gt;
#SBATCH -N 10&lt;br /&gt;
#SBATCH --constraint=BEEOND&lt;br /&gt;
&lt;br /&gt;
#create a workspace &lt;br /&gt;
ws_allocate myresults-$SLURM_JOB_ID 90&lt;br /&gt;
RESULTDIR=`ws_find myresults-$SLURM_JOB_ID`&lt;br /&gt;
&lt;br /&gt;
#Set ENV variable to on-demand file system&lt;br /&gt;
ODFSDIR=/mnt/odfs/$SLURM_JOB_ID/stripe_16/&lt;br /&gt;
&lt;br /&gt;
#start application and write results to on-demand file system&lt;br /&gt;
mpirun -nolocal myapplication -o $ODFSDIR/results&lt;br /&gt;
&lt;br /&gt;
#Copy back data after your job application end&lt;br /&gt;
rsync -av $ODFSDIR/results $RESULTDIR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start time of job or resources : squeue --start ==&lt;br /&gt;
The command can be used by any user to displays the estimated start time of a job based a number of analysis types based on historical usage, earliest available reservable resources, and priority based backlog. The command squeue is explained in detail on the webpage https://slurm.schedmd.com/squeue.html or via manpage (man squeue). &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Access ===&lt;br /&gt;
By default, this command can be run by &#039;&#039;&#039;any user&#039;&#039;&#039;. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of your submitted jobs : squeue ==&lt;br /&gt;
Displays information about YOUR active, pending and/or recently completed jobs. The command displays all own active and pending jobs. The command squeue is explained in detail on the webpage https://slurm.schedmd.com/squeue.html or via manpage (man squeue).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Access ===&lt;br /&gt;
By default, this command can be run by any user.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
{| width=750px class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Flag !! Description&lt;br /&gt;
|-&lt;br /&gt;
| -l, --long&lt;br /&gt;
| Report more of the available information for the selected jobs or job steps, subject to any constraints specified.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&#039;&#039;squeue&#039;&#039; example on bwUniCluster 2.0 &amp;lt;small&amp;gt;(Only your own jobs are displayed!)&amp;lt;/small&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ squeue &lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
          18088744    single CPV.sbat   ab1234 PD       0:00      1 (Priority)&lt;br /&gt;
          18098414  multiple CPV.sbat   ab1234 PD       0:00      2 (Priority) &lt;br /&gt;
          18090089  multiple CPV.sbat   ab1234  R       2:27      2 uc2n[127-128]&lt;br /&gt;
$ squeue -l&lt;br /&gt;
            JOBID PARTITION     NAME     USER    STATE       TIME TIME_LIMI  NODES NODELIST(REASON) &lt;br /&gt;
         18088654    single CPV.sbat   ab1234 COMPLETI       4:29   2:00:00      1 uc2n374&lt;br /&gt;
         18088785    single CPV.sbat   ab1234  PENDING       0:00   2:00:00      1 (Priority)&lt;br /&gt;
         18098414  multiple CPV.sbat   ab1234  PENDING       0:00   2:00:00      2 (Priority)&lt;br /&gt;
         18088683    single CPV.sbat   ab1234  RUNNING       0:14   2:00:00      1 uc2n413  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The output of &#039;&#039;squeue&#039;&#039; shows how many jobs of yours are running or pending and how many nodes are in use by your jobs.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Shows free resources : sinfo_t_idle ==&lt;br /&gt;
The Slurm command sinfo is used to view partition and node information for a system running Slurm. It incorporates down time, reservations, and node state information in determining the available backfill window. The sinfo command can only be used by the administrator.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
SCC has prepared a special script (sinfo_t_idle) to find out how many processors are available for immediate use on the system. It is anticipated that users will use this information to submit jobs that meet these criteria and thus obtain quick job turnaround times. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Access ===&lt;br /&gt;
By default, this command can be used by any user or administrator. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Example ===&lt;br /&gt;
* The following command displays what resources are available for immediate use for the whole partition.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sinfo_t_idle&lt;br /&gt;
Partition dev_multiple  :      8 nodes idle&lt;br /&gt;
Partition multiple      :    332 nodes idle&lt;br /&gt;
Partition dev_single    :      4 nodes idle&lt;br /&gt;
Partition single        :     76 nodes idle&lt;br /&gt;
Partition long          :     80 nodes idle&lt;br /&gt;
Partition fat           :      5 nodes idle&lt;br /&gt;
Partition dev_special   :    342 nodes idle&lt;br /&gt;
Partition special       :    342 nodes idle&lt;br /&gt;
Partition dev_multiple_e:      7 nodes idle&lt;br /&gt;
Partition multiple_e    :    335 nodes idle&lt;br /&gt;
Partition gpu_4         :     12 nodes idle&lt;br /&gt;
Partition gpu_8         :      6 nodes idle&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* For the above example jobs in all partitions can be run immediately.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Detailed job information : scontrol show job ==&lt;br /&gt;
scontrol show job displays detailed job state information and diagnostic output for all or a specified job of yours. Detailed information is available for active, pending and recently completed jobs. The command scontrol is explained in detail on the webpage https://slurm.schedmd.com/scontrol.html or via manpage (man scontrol). &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Display the state of all your jobs in normal mode: scontrol show job&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Display the state of a job with &amp;lt;jobid&amp;gt; in normal mode: scontrol show job &amp;lt;jobid&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Access ===&lt;br /&gt;
* End users can use scontrol show job to view the status of their &#039;&#039;&#039;own jobs&#039;&#039;&#039; only. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
{| width=750px class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Option !! Default !! Description !! Example&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;width:12%;&amp;quot; &lt;br /&gt;
| -d&lt;br /&gt;
| (n/a)&lt;br /&gt;
| Detailed mode&lt;br /&gt;
| Example: Display the state with jobid 18089884 in detailed mode. &amp;lt;br&amp;gt; &amp;lt;pre&amp;gt;scontrol -d show job 18089884&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scontrol show job Example ===&lt;br /&gt;
Here is an example from bwUniCluster 2.0.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
squeue    # show my own jobs (here the userid is replaced!)&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
          18089884  multiple CPV.sbat   bq0742  R      33:44      2 uc2n[165-166]&lt;br /&gt;
&lt;br /&gt;
$&lt;br /&gt;
$ # now, see what&#039;s up with my pending job with jobid 18089884&lt;br /&gt;
$ &lt;br /&gt;
$ scontrol show job 18089884&lt;br /&gt;
&lt;br /&gt;
JobId=18089884 JobName=CPV.sbatch&lt;br /&gt;
   UserId=bq0742(8946) GroupId=scc(12345) MCS_label=N/A&lt;br /&gt;
   Priority=3 Nice=0 Account=kit QOS=normal&lt;br /&gt;
   JobState=RUNNING Reason=None Dependency=(null)&lt;br /&gt;
   Requeue=1 Restarts=0 BatchFlag=1 Reboot=0 ExitCode=0:0&lt;br /&gt;
   RunTime=00:35:06 TimeLimit=02:00:00 TimeMin=N/A&lt;br /&gt;
   SubmitTime=2020-03-16T14:14:54 EligibleTime=2020-03-16T14:14:54&lt;br /&gt;
   AccrueTime=2020-03-16T14:14:54&lt;br /&gt;
   StartTime=2020-03-16T15:12:51 EndTime=2020-03-16T17:12:51 Deadline=N/A&lt;br /&gt;
   SuspendTime=None SecsPreSuspend=0 LastSchedEval=2020-03-16T15:12:51&lt;br /&gt;
   Partition=multiple AllocNode:Sid=uc2n995:5064&lt;br /&gt;
   ReqNodeList=(null) ExcNodeList=(null)&lt;br /&gt;
   NodeList=uc2n[165-166]&lt;br /&gt;
   BatchHost=uc2n165&lt;br /&gt;
   NumNodes=2 NumCPUs=160 NumTasks=80 CPUs/Task=1 ReqB:S:C:T=0:0:*:1&lt;br /&gt;
   TRES=cpu=160,mem=96320M,node=2,billing=160&lt;br /&gt;
   Socks/Node=* NtasksPerN:B:S:C=40:0:*:1 CoreSpec=*&lt;br /&gt;
   MinCPUsNode=40 MinMemoryCPU=1204M MinTmpDiskNode=0&lt;br /&gt;
   Features=(null) DelayBoot=00:00:00&lt;br /&gt;
   OverSubscribe=NO Contiguous=0 Licenses=(null) Network=(null)&lt;br /&gt;
   Command=/pfs/data5/home/kit/scc/bq0742/git/CPV/bin/CPV.sbatch&lt;br /&gt;
   WorkDir=/pfs/data5/home/kit/scc/bq0742/git/CPV/bin&lt;br /&gt;
   StdErr=/pfs/data5/home/kit/scc/bq0742/git/CPV/bin/slurm-18089884.out&lt;br /&gt;
   StdIn=/dev/null&lt;br /&gt;
   StdOut=/pfs/data5/home/kit/scc/bq0742/git/CPV/bin/slurm-18089884.out&lt;br /&gt;
   Power=&lt;br /&gt;
   MailUser=(null) MailType=NONE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
You can use standard Linux pipe commands to filter the very detailed scontrol show job output.&lt;br /&gt;
* In which state the job is?&lt;br /&gt;
&amp;lt;pre&amp;gt;$ scontrol show job 18089884 | grep -i State&lt;br /&gt;
   JobState=COMPLETED Reason=None Dependency=(null)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cancel Slurm Jobs ==&lt;br /&gt;
The scancel command is used to cancel jobs. The command scancel is explained in detail on the webpage https://slurm.schedmd.com/scancel.html or via manpage (man scancel).   &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Canceling own jobs : scancel ===&lt;br /&gt;
scancel is used to signal or cancel jobs, job arrays or job steps. The command is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scancel [-i] &amp;lt;job-id&amp;gt;&lt;br /&gt;
$ scancel -t &amp;lt;job_state_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| width=750px class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Flag !! Default !! Description !! Example&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| -i, --interactive&lt;br /&gt;
| (n/a)&lt;br /&gt;
| Interactive mode.&lt;br /&gt;
| Cancel the job 987654 interactively. &amp;lt;br&amp;gt; &amp;lt;pre&amp;gt; scancel -i 987654 &amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| -t, --state&lt;br /&gt;
| (n/a)&lt;br /&gt;
| Restrict the scancel operation to jobs in a certain state. &amp;lt;br&amp;gt; &amp;quot;job_state_name&amp;quot; may have a value of either &amp;quot;PENDING&amp;quot;, &amp;quot;RUNNING&amp;quot; or &amp;quot;SUSPENDED&amp;quot;.&lt;br /&gt;
| Cancel all jobs in state &amp;quot;PENDING&amp;quot;. &amp;lt;br&amp;gt; &amp;lt;pre&amp;gt; scancel -t &amp;quot;PENDING&amp;quot; &amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Resource Managers =&lt;br /&gt;
=== Batch Job (Slurm) Variables ===&lt;br /&gt;
The following environment variables of Slurm are added to your environment once your job has started&lt;br /&gt;
&amp;lt;small&amp;gt;(only an excerpt of the most important ones)&amp;lt;/small&amp;gt;.&lt;br /&gt;
{| width=750px class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Environment !! Brief explanation&lt;br /&gt;
|- &lt;br /&gt;
| SLURM_JOB_CPUS_PER_NODE &lt;br /&gt;
| Number of processes per node dedicated to the job&lt;br /&gt;
|- &lt;br /&gt;
| SLURM_JOB_NODELIST &lt;br /&gt;
| List of nodes dedicated to the job&lt;br /&gt;
|- &lt;br /&gt;
| SLURM_JOB_NUM_NODES &lt;br /&gt;
| Number of nodes dedicated to the job&lt;br /&gt;
|- &lt;br /&gt;
| SLURM_MEM_PER_NODE &lt;br /&gt;
| Memory per node dedicated to the job &lt;br /&gt;
|- &lt;br /&gt;
| SLURM_NPROCS&lt;br /&gt;
| Total number of processes dedicated to the job &lt;br /&gt;
|-&lt;br /&gt;
| SLURM_CLUSTER_NAME&lt;br /&gt;
| Name of the cluster executing the job&lt;br /&gt;
|-&lt;br /&gt;
| SLURM_CPUS_PER_TASK &lt;br /&gt;
| Number of CPUs requested per task&lt;br /&gt;
|-&lt;br /&gt;
| SLURM_JOB_ACCOUNT&lt;br /&gt;
| Account name &lt;br /&gt;
|-&lt;br /&gt;
| SLURM_JOB_ID&lt;br /&gt;
| Job ID&lt;br /&gt;
|-&lt;br /&gt;
| SLURM_JOB_NAME&lt;br /&gt;
| Job Name&lt;br /&gt;
|-&lt;br /&gt;
| SLURM_JOB_PARTITION&lt;br /&gt;
| Partition/queue running the job&lt;br /&gt;
|-&lt;br /&gt;
| SLURM_JOB_UID&lt;br /&gt;
| User ID of the job&#039;s owner&lt;br /&gt;
|-&lt;br /&gt;
| SLURM_SUBMIT_DIR&lt;br /&gt;
| Job submit folder.  The directory from which msub was invoked. &lt;br /&gt;
|-&lt;br /&gt;
| SLURM_JOB_USER&lt;br /&gt;
| User name of the job&#039;s owner&lt;br /&gt;
|-&lt;br /&gt;
| SLURM_RESTART_COUNT&lt;br /&gt;
| Number of times job has restarted&lt;br /&gt;
|-&lt;br /&gt;
| SLURM_PROCID&lt;br /&gt;
| Task ID (MPI rank)&lt;br /&gt;
|-&lt;br /&gt;
| SLURM_NTASKS&lt;br /&gt;
| The total number of tasks available for the job&lt;br /&gt;
|-&lt;br /&gt;
| SLURM_STEP_ID&lt;br /&gt;
| Job step ID&lt;br /&gt;
|-&lt;br /&gt;
| SLURM_STEP_NUM_TASKS&lt;br /&gt;
| Task count (number of PI ranks)&lt;br /&gt;
|-&lt;br /&gt;
| SLURM_JOB_CONSTRAINT&lt;br /&gt;
| Job constraints&lt;br /&gt;
|}&lt;br /&gt;
See also:&lt;br /&gt;
* [https://slurm.schedmd.com/sbatch.html#lbAI Slurm input and output environment variables]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Job Exit Codes ===&lt;br /&gt;
A job&#039;s exit code (also known as exit status, return code and completion code) is captured by SLURM and saved as part of the job record. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Any non-zero exit code will be assumed to be a job failure and will result in a Job State of FAILED with a reason of &amp;quot;NonZeroExitCode&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The exit code is an 8 bit unsigned number ranging between 0 and 255. While it is possible for a job to return a negative exit code, SLURM will display it as an unsigned value in the 0 - 255 range.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Displaying Exit Codes and Signals ====&lt;br /&gt;
SLURM displays a job&#039;s exit code in the output of the &#039;&#039;&#039;scontrol show job&#039;&#039;&#039; and the sview utility.&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
When a signal was responsible for a job or step&#039;s termination, the signal number will be displayed after the exit code, delineated by a colon(:).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Submitting Termination Signal ====&lt;br /&gt;
Here is an example, how to &#039;save&#039; a Slurm termination signal in a typical jobscript.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
exit_code=$?&lt;br /&gt;
mpirun  -np &amp;lt;#cores&amp;gt;  &amp;lt;EXE_BIN_DIR&amp;gt;/&amp;lt;executable&amp;gt; ... (options)  2&amp;gt;&amp;amp;1&lt;br /&gt;
[ &amp;quot;$exit_code&amp;quot; -eq 0 ] &amp;amp;&amp;amp; echo &amp;quot;all clean...&amp;quot; || \&lt;br /&gt;
   echo &amp;quot;Executable &amp;lt;EXE_BIN_DIR&amp;gt;/&amp;lt;executable&amp;gt; finished with exit code ${$exit_code}&amp;quot;&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Do not use &#039;&#039;&#039;&#039;time&#039;&#039;&#039;&#039; mpirun! The exit code will be the one submitted by the first (time) program.&lt;br /&gt;
* You do not need an &#039;&#039;&#039;exit $exit_code&#039;&#039;&#039; in the scripts.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
[[Category:bwUniCluster 2.0|bwUniCluster 2.0]]&lt;br /&gt;
[[#top|Back to top]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/FAQ_-_broadwell_partition&amp;diff=8017</id>
		<title>BwUniCluster2.0/FAQ - broadwell partition</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster2.0/FAQ_-_broadwell_partition&amp;diff=8017"/>
		<updated>2020-11-21T16:42:48Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FAQs concerning best practice of [[BwUniCluster_2.0_Hardware_and_Architecture#Components_of_bwUniCluster|bwUniCluster broadwell partition]] (aka &amp;quot;extension&amp;quot; partition).&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Login =&lt;br /&gt;
== Are there separate login nodes for the bwUniCluster broadwell partition? ==&lt;br /&gt;
* Yes, but primarily to be used for compiling code.&lt;br /&gt;
&lt;br /&gt;
== How to login to broadwell login nodes? ==&lt;br /&gt;
* You can directly login on broadwell partition login nodes using&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh username@uc1e.scc.kit.edu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you are compiling code on broadwell login nodes, your code will not optimally run on the new &amp;quot;Cascade Lake&amp;quot; nodes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Compilation =&lt;br /&gt;
== How to compile code on broadwell (extension) nodes? ==&lt;br /&gt;
To use the code only on the partition multiple_e:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ icc/ifort -xHost [-further_options]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to compile code to be used on ALL partitions? ==&lt;br /&gt;
On uc1e (= extension) login nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ icc/ifort -xCORE-AVX2 -axCORE-AVX512 [-further_options]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Job execution =&lt;br /&gt;
== How to submit jobs to the broadwell (= extension) partition ==&lt;br /&gt;
The submitted job will be distributed either way to the broadwell nodes if specified correctly, i.e.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch -p multiple_e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Can I use my old multinode job script for the new broadwell partition? ==&lt;br /&gt;
Yes, but please note that all broadwell nodes do have &#039;&#039;&#039;28 cores per node&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:bwUniCluster]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Category:BwUniCluster_2.0&amp;diff=8002</id>
		<title>Category:BwUniCluster 2.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Category:BwUniCluster_2.0&amp;diff=8002"/>
		<updated>2020-11-10T12:35:49Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&amp;lt;span style=&amp;quot;color:red;font-size:105%;&amp;quot;&amp;gt;Important note: bwUniCluster is &#039;&#039;&#039;not&#039;&#039;&#039; in production mode yet.&amp;lt;/span&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%; border-spacing: 5px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;font-size:75%;&amp;quot; |&lt;br /&gt;
[[File:BwUniCluster_2.0_Feb2020.jpg|center|border|550px|Close-up of bwUniCluster by Simon Raffeiner, Copyright: KIT (SCC)]] &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;&amp;quot; |&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Close-up of bwUniCluster © KIT (Simon Raffeiner/SCC)&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
On 17.03.2020, the Steinbuch Centre for Computing (SCC) at Karlsruhe Institute of Technology (KIT) commissioned a new parallel computer system called &amp;quot;bwUniCluster 2.0+GFB-HPC&amp;quot; as a state service within the bwHPC framework. The bwUniCluster 2.0 replaces the predecessor system [[bwUniCluster]] and also includes the additional compute nodes which were procured as an extension to the bwUniCluster in November 2016.&lt;br /&gt;
&lt;br /&gt;
The modern bwUniCluster 2.0 system consists of more than 840 SMP nodes with 64-bit Intel Xeon processors. It provides the universities of the state of Baden-Württemberg with general compute resources and can be used free of charge by the staff of all universities in Baden-Württemberg. Users who currently have access to bwUniCluster will automatically also have access to bwUniCluster 2.0. There is no need to apply for new entitlements or to re-register.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- One column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; border:1px solid #BBBBBB; background:lightyellow; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{yellow}}| MPI/Software issues&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
After the [[BwUniCluster_2.0_Maintenance/2020-10|last maintenance]] there are currently some issues with Intel MPI and the default settings of a few software modules offered on the cluster. Further information be found [[BwUniCluster_2.0_Maintenance/2020-10/Software Issues|here]].&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- One column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; border:1px solid #BBBBBB; background:#fff5fa; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Red}}| New security measures&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
On 13.08.2020 at 10 AM the following changes to the security policies will take effect:&lt;br /&gt;
&lt;br /&gt;
* For authentication, the use of a second factor (2-factor authentication) in addition to the service password will be mandatory. [[BwUniCluster 2.0 User Access/2FA Tokens|You can find the user documentation for this function  here]].&lt;br /&gt;
&lt;br /&gt;
* The use of SSH keys will be possible again. However, these can no longer be managed via the authorized_keys files, but only centrally via bwIDM. [[BwUniCluster 2.0 User Access/SSH Keys|You can find the user documentation for this function here]].&lt;br /&gt;
&lt;br /&gt;
The following restrictions still apply:&lt;br /&gt;
&lt;br /&gt;
* Access is limited to IP addresses from within the campus networks of the respective home institutions of our current users. If you are outside of one of these networks (e.g. in your home office), a VPN connection to your home institution has to be established first (see e.g. [https://www.scc.kit.edu/dienste/openvpn.php] for the KIT).&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Two-column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%; border:1px solid #BBBBBB; background:#f5fffa; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Access&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* bwUniCluster [[BwUniCluster_2.0_User_Access|Registration and Login]]&lt;br /&gt;
* Registration [[bwUniCluster 2.0 Support|trouble issues]] &amp;amp;  [[BwUniCluster_2.0_User_Access#Deregistration|Deregistration]]&lt;br /&gt;
* [[First_Steps_on_bwHPC_cluster|First steps on bwUniCluster]]&lt;br /&gt;
* [[Jupyter_at_SCC|Access with Jupyter]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Software&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Software|Software and Environment Modules]]&lt;br /&gt;
|}&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Hardware&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Hardware_and_Architecture|Hardware and Architecture]]&lt;br /&gt;
* [[BwUniCluster_2.0_Hardware_and_Architecture#File_Systems|File Systems]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;padding:2px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; border:1px solid #BBBBBB; background:#f5faff; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| Batch/Compute Jobs&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Slurm_common_Features|Slurm common Features]]&lt;br /&gt;
* [[BwUniCluster_2.0_Batch_Queues|Batch Queues and interactive Jobs]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| [[BwHPC_Best_Practices_Repository|bwHPC Best Practice Guides]] / FAQs&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;!-- * [[Compiler]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Debugger]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Numerical Libraries]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Parallel Programming]] --&amp;gt;&lt;br /&gt;
* [[FAQ - bwUniCluster_broadwell_partition|FAQ - bwUniCluster 2.0 Broadwell partition]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| Miscellaneous&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [[bwUniCluster_Acknowledgement|Acknowledgement]] of work performed on bwUniCluster (2.0)&lt;br /&gt;
* [[BwUniCluster_2.0_File_System_Migration_Guide|File system migration guide]] and [[BwUniCluster_2.0_Batch_System_Migration_Guide|Batch system migration guide]] for users migrating from the former bwUniCluster 1&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Category:bwHPC_infrastructure]][[Category:bwHPC_Cluster]][[Category:bwCluster]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Category:BwUniCluster_2.0&amp;diff=7996</id>
		<title>Category:BwUniCluster 2.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Category:BwUniCluster_2.0&amp;diff=7996"/>
		<updated>2020-11-10T09:09:36Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&amp;lt;span style=&amp;quot;color:red;font-size:105%;&amp;quot;&amp;gt;Important note: bwUniCluster is &#039;&#039;&#039;not&#039;&#039;&#039; in production mode yet.&amp;lt;/span&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%; border-spacing: 5px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;font-size:75%;&amp;quot; |&lt;br /&gt;
[[File:BwUniCluster_2.0_Feb2020.jpg|center|border|550px|Close-up of bwUniCluster by Simon Raffeiner, Copyright: KIT (SCC)]] &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;&amp;quot; |&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Close-up of bwUniCluster © KIT (Simon Raffeiner/SCC)&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
On 17.03.2020, the Steinbuch Centre for Computing (SCC) at Karlsruhe Institute of Technology (KIT) commissioned a new parallel computer system called &amp;quot;bwUniCluster 2.0+GFB-HPC&amp;quot; as a state service within the bwHPC framework. The bwUniCluster 2.0 replaces the predecessor system [[bwUniCluster]] and also includes the additional compute nodes which were procured as an extension to the bwUniCluster in November 2016.&lt;br /&gt;
&lt;br /&gt;
The modern bwUniCluster 2.0 system consists of more than 840 SMP nodes with 64-bit Intel Xeon processors. It provides the universities of the state of Baden-Württemberg with general compute resources and can be used free of charge by the staff of all universities in Baden-Württemberg. Users who currently have access to bwUniCluster will automatically also have access to bwUniCluster 2.0. There is no need to apply for new entitlements or to re-register.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- One column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; border:1px solid #BBBBBB; background:lightyellow; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{yellow}}| MPI/Software issues&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
After the [[BwUniCluster_2.0_Maintenance/2020-10|last maintenance]] there are currently some issues with Intel MPI and the default settings of a few software modules offered on the cluster. Further information be found [[BwUniCluster_2.0_Maintenance/2020-10/Software Issues|here]].&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- One column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; border:1px solid #BBBBBB; background:#fff5fa; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Red}}| New security measures&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
On 13.08.2020 at 10 AM the following changes to the security policies will take effect:&lt;br /&gt;
&lt;br /&gt;
* For authentication, the use of a second factor (2-factor authentication) in addition to the service password will be mandatory. [[BwUniCluster 2.0 User Access/2FA Tokens|You can find the user documentation for this function  here]].&lt;br /&gt;
&lt;br /&gt;
* The use of SSH keys will be possible again. However, these can no longer be managed via the authorized_keys files, but only centrally via bwIDM. [[BwUniCluster 2.0 User Access/SSH Keys|You can find the user documentation for this function here]].&lt;br /&gt;
&lt;br /&gt;
The following restrictions still apply:&lt;br /&gt;
&lt;br /&gt;
* Access is limited to IP addresses from within the campus networks of the respective home institutions of our current users. If you are outside of one of these networks (e.g. in your home office), a VPN connection to your home institution has to be established first (see e.g. [https://www.scc.kit.edu/dienste/openvpn.php] for the KIT).&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Two-column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%; border:1px solid #BBBBBB; background:#f5fffa; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Access&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* bwUniCluster [[BwUniCluster_2.0_User_Access|Registration and Login]]&lt;br /&gt;
* Registration [[bwUniCluster 2.0 Support|trouble issues]] &amp;amp;  [[BwUniCluster_2.0_User_Access#Deregistration|Deregistration]]&lt;br /&gt;
* [[First_Steps_on_bwHPC_cluster|First steps on bwUniCluster]]&lt;br /&gt;
* [[Jupyter_at_SCC|Access with Jupyter]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Software&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Software|Software and Environment Modules]]&lt;br /&gt;
* [[Jupyter at SCC|Jupyter]]&lt;br /&gt;
|}&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Hardware&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Hardware_and_Architecture|Hardware and Architecture]]&lt;br /&gt;
* [[BwUniCluster_2.0_Hardware_and_Architecture#File_Systems|File Systems]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;padding:2px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; border:1px solid #BBBBBB; background:#f5faff; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| Batch/Compute Jobs&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Slurm_common_Features|Slurm common Features]]&lt;br /&gt;
* [[BwUniCluster_2.0_Batch_Queues|Batch Queues and interactive Jobs]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| [[BwHPC_Best_Practices_Repository|bwHPC Best Practice Guides]] / FAQs&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;!-- * [[Compiler]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Debugger]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Numerical Libraries]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Parallel Programming]] --&amp;gt;&lt;br /&gt;
* [[FAQ - bwUniCluster_broadwell_partition|FAQ - bwUniCluster 2.0 Broadwell partition]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| Miscellaneous&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [[bwUniCluster_Acknowledgement|Acknowledgement]] of work performed on bwUniCluster (2.0)&lt;br /&gt;
* [[BwUniCluster_2.0_File_System_Migration_Guide|File system migration guide]] and [[BwUniCluster_2.0_Batch_System_Migration_Guide|Batch system migration guide]] for users migrating from the former bwUniCluster 1&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Category:bwHPC_infrastructure]][[Category:bwHPC_Cluster]][[Category:bwCluster]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Jupyter&amp;diff=7995</id>
		<title>BwUniCluster 2.0 Jupyter</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Jupyter&amp;diff=7995"/>
		<updated>2020-11-10T09:08:24Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: Changed redirect target from Jupyter am SCC to Jupyter at SCC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Jupyter at SCC]]&lt;br /&gt;
&lt;br /&gt;
[[Category:bwUniCluster 2.0]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Jupyter&amp;diff=7994</id>
		<title>BwUniCluster 2.0 Jupyter</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Jupyter&amp;diff=7994"/>
		<updated>2020-11-10T09:08:04Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Jupyter am SCC]]&lt;br /&gt;
&lt;br /&gt;
[[Category:bwUniCluster 2.0]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Category:BwUniCluster_2.0&amp;diff=7842</id>
		<title>Category:BwUniCluster 2.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Category:BwUniCluster_2.0&amp;diff=7842"/>
		<updated>2020-10-27T10:58:58Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&amp;lt;span style=&amp;quot;color:red;font-size:105%;&amp;quot;&amp;gt;Important note: bwUniCluster is &#039;&#039;&#039;not&#039;&#039;&#039; in production mode yet.&amp;lt;/span&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%; border-spacing: 5px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;font-size:75%;&amp;quot; |&lt;br /&gt;
[[File:BwUniCluster_2.0_Feb2020.jpg|center|border|550px|Close-up of bwUniCluster by Simon Raffeiner, Copyright: KIT (SCC)]] &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center; color:#000;vertical-align:middle;&amp;quot; |&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Close-up of bwUniCluster © KIT (Simon Raffeiner/SCC)&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
On 17.03.2020, the Steinbuch Centre for Computing (SCC) at Karlsruhe Institute of Technology (KIT) commissioned a new parallel computer system called &amp;quot;bwUniCluster 2.0+GFB-HPC&amp;quot; as a state service within the bwHPC framework. The bwUniCluster 2.0 replaces the predecessor system [[bwUniCluster]] and also includes the additional compute nodes which were procured as an extension to the bwUniCluster in November 2016.&lt;br /&gt;
&lt;br /&gt;
The modern bwUniCluster 2.0 system consists of more than 840 SMP nodes with 64-bit Intel Xeon processors. It provides the universities of the state of Baden-Württemberg with general compute resources and can be used free of charge by the staff of all universities in Baden-Württemberg. Users who currently have access to bwUniCluster will automatically also have access to bwUniCluster 2.0. There is no need to apply for new entitlements or to re-register.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- One column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; border:1px solid #BBBBBB; background:lightyellow; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{yellow}}| MPI/Software issues&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
After the [[BwUniCluster_2.0_Maintenance/2020-10|last maintenance]] there are currently some issues with Intel MPI and the default settings of a few software modules offered on the cluster. Further information be found [[BwUniCluster_2.0_Maintenance/2020-10/Software Issues|here]].&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- One column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; border:1px solid #BBBBBB; background:#fff5fa; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Red}}| New security measures&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
On 13.08.2020 at 10 AM the following changes to the security policies will take effect:&lt;br /&gt;
&lt;br /&gt;
* For authentication, the use of a second factor (2-factor authentication) in addition to the service password will be mandatory. [[BwUniCluster 2.0 User Access/2FA Tokens|You can find the user documentation for this function  here]].&lt;br /&gt;
&lt;br /&gt;
* The use of SSH keys will be possible again. However, these can no longer be managed via the authorized_keys files, but only centrally via bwIDM. [[BwUniCluster 2.0 User Access/SSH Keys|You can find the user documentation for this function here]].&lt;br /&gt;
&lt;br /&gt;
The following restrictions still apply:&lt;br /&gt;
&lt;br /&gt;
* Access is limited to IP addresses from within the campus networks of the respective home institutions of our current users. If you are outside of one of these networks (e.g. in your home office), a VPN connection to your home institution has to be established first (see e.g. [https://www.scc.kit.edu/dienste/openvpn.php] for the KIT).&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Two-column table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%; border:1px solid #BBBBBB; background:#f5fffa; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Access&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* bwUniCluster [[BwUniCluster_2.0_User_Access|Registration and Login]]&lt;br /&gt;
* Registration [[bwUniCluster 2.0 Support|trouble issues]] &amp;amp;  [[BwUniCluster_2.0_User_Access#Deregistration|Deregistration]]&lt;br /&gt;
* [[First_Steps_on_bwHPC_cluster|First steps on bwUniCluster]]&lt;br /&gt;
* [[Jupyter_at_SCC|Access with Jupyter]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Software&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Software|Software and Environment Modules]]&lt;br /&gt;
|}&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Green}}| Hardware&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Hardware_and_Architecture|Hardware and Architecture]]&lt;br /&gt;
* [[BwUniCluster_2.0_Hardware_and_Architecture#File_Systems|File Systems]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;padding:2px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; border:1px solid #BBBBBB; background:#f5faff; vertical-align:top; color:#000;&amp;quot; |&lt;br /&gt;
{| style=&amp;quot;width:100%; vertical-align:top; border:0px solid #BBBBBB; padding:4px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| Batch/Compute Jobs&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[bwUniCluster_2.0_Slurm_common_Features|Slurm common Features]]&lt;br /&gt;
* [[BwUniCluster_2.0_Batch_Queues|Batch Queues and interactive Jobs]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| [[BwHPC_Best_Practices_Repository|bwHPC Best Practice Guides]] / FAQs&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;!-- * [[Compiler]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Debugger]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Numerical Libraries]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Parallel Programming]] --&amp;gt;&lt;br /&gt;
* [[FAQ - bwUniCluster_broadwell_partition|FAQ - bwUniCluster 2.0 Broadwell partition]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Blue}}| Miscellaneous&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [[bwUniCluster_Acknowledgement|Acknowledgement]] of work performed on bwUniCluster (2.0)&lt;br /&gt;
* [[BwUniCluster_2.0_File_System_Migration_Guide|File system migration guide]] and [[BwUniCluster_2.0_Batch_System_Migration_Guide|Batch system migration guide]] for users migrating from the former bwUniCluster 1&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Category:bwHPC_infrastructure]][[Category:bwHPC_Cluster]][[Category:bwCluster]]&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Maintenance/2020-10/Software_Issues&amp;diff=7837</id>
		<title>BwUniCluster 2.0 Maintenance/2020-10/Software Issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Maintenance/2020-10/Software_Issues&amp;diff=7837"/>
		<updated>2020-10-27T10:18:27Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Software modules without known fixes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After the last regular [[BwUniCluster_2.0_Maintenance/2020-10|maintenance]] interval (from 06.10.2020 to 13.10.2020) the following issues with Intel MPI exist:&lt;br /&gt;
&lt;br /&gt;
* Intel MPI 2018 is incompatible with Red Hat 8.2. Any invocation, even a simple &amp;quot;Hello World&amp;quot; MPI program, will result in a crash. The &#039;&#039;mpi/impi/2018&#039;&#039; module has therefore been removed.&lt;br /&gt;
&lt;br /&gt;
* There is a bug in Intel MPI 2019.x which leads to crashes when multiple MPI applications which are linked against Intel MPI 2019.x are run on the same node (e.g. in the &amp;quot;single&amp;quot; partition). The first application will run normally, but all others will crash. This can be fixed by setting the environment variable &#039;&#039;&#039;I_MPI_HYDRA_TOPOLIB=&amp;quot;ipl&amp;quot;&#039;&#039;&#039;. The &#039;&#039;mpi/impi/2019&#039;&#039; and &#039;&#039;mpi/impi/2020&#039;&#039; modules provided on the cluster already set this variable.&lt;br /&gt;
&lt;br /&gt;
* There is a bug in Intel MPI 2019.x which leads to incorrect CPU binding/affinity in conjunction with the Slurm batch system used on the clusters. All MPI ranks will run on the same CPU core instead of being bound to all available CPU cores. This can be fixed by setting the environment variable &#039;&#039;&#039;I_MPI_HYDRA_BOOTSTRAP_EXEC_EXTRA_ARGS=&amp;quot;--cpu-bind=none&amp;quot;&#039;&#039;&#039;. The &#039;&#039;mpi/impi/2019&#039;&#039; and &#039;&#039;mpi/impi/2020&#039;&#039; modules provided on the cluster already set this variable.&lt;br /&gt;
&lt;br /&gt;
There is a number of Third-Party software modules installed on the cluster system which come with their own copies of various Intel MPI library versions. These software modules fall into the following categories:&lt;br /&gt;
&lt;br /&gt;
== Corrected software modules ==&lt;br /&gt;
&lt;br /&gt;
The following software modules have been corrected by the HPC software maintainers. They should currently work as expected.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;StarCCM+&#039;&#039;: The included Intel MPI 2018 library was replaced with a more recent version.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;LS-DYNA&#039;&#039;: The included Intel MPI library was replaced with a more recent version.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;CST&#039;&#039;: The license does not allow multi-node jobs, so the problematic code paths cannot be used.&lt;br /&gt;
&lt;br /&gt;
== Software modules with known fixes ==&lt;br /&gt;
&lt;br /&gt;
The following software modules require additional user interaction to work:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;ANSYS Mechanical&#039;&#039; and &#039;&#039;Fluent&#039;&#039;: The software has to be switched to OpenMPI using the &#039;&#039;&#039;-mpi=openmpi&#039;&#039;&#039; command line argument.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;ANSYS CFX&#039;&#039;: The software has to be switched to OpenMPI using the &#039;&#039;&#039;-start-method &#039;Open MPI Distributed Parallel&#039; &#039;&#039;&#039; command line argument.&lt;br /&gt;
&lt;br /&gt;
== Software modules without known fixes ==&lt;br /&gt;
&lt;br /&gt;
For the following software modules there is currently no known fix:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Abaqus&#039;&#039;: Comes with Intel MPI 2017, for which there is currently no known fix. We are working on a solution. The &#039;&#039;cae/abaqus/2019&#039;&#039; software modules will not be removed because it can still be used for pre-/post-processing and single-node parallelisation using e.g. OpenMP.&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Maintenance/2020-10/Software_Issues&amp;diff=7836</id>
		<title>BwUniCluster 2.0 Maintenance/2020-10/Software Issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Maintenance/2020-10/Software_Issues&amp;diff=7836"/>
		<updated>2020-10-27T10:17:21Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: /* Corrected software modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After the last regular [[BwUniCluster_2.0_Maintenance/2020-10|maintenance]] interval (from 06.10.2020 to 13.10.2020) the following issues with Intel MPI exist:&lt;br /&gt;
&lt;br /&gt;
* Intel MPI 2018 is incompatible with Red Hat 8.2. Any invocation, even a simple &amp;quot;Hello World&amp;quot; MPI program, will result in a crash. The &#039;&#039;mpi/impi/2018&#039;&#039; module has therefore been removed.&lt;br /&gt;
&lt;br /&gt;
* There is a bug in Intel MPI 2019.x which leads to crashes when multiple MPI applications which are linked against Intel MPI 2019.x are run on the same node (e.g. in the &amp;quot;single&amp;quot; partition). The first application will run normally, but all others will crash. This can be fixed by setting the environment variable &#039;&#039;&#039;I_MPI_HYDRA_TOPOLIB=&amp;quot;ipl&amp;quot;&#039;&#039;&#039;. The &#039;&#039;mpi/impi/2019&#039;&#039; and &#039;&#039;mpi/impi/2020&#039;&#039; modules provided on the cluster already set this variable.&lt;br /&gt;
&lt;br /&gt;
* There is a bug in Intel MPI 2019.x which leads to incorrect CPU binding/affinity in conjunction with the Slurm batch system used on the clusters. All MPI ranks will run on the same CPU core instead of being bound to all available CPU cores. This can be fixed by setting the environment variable &#039;&#039;&#039;I_MPI_HYDRA_BOOTSTRAP_EXEC_EXTRA_ARGS=&amp;quot;--cpu-bind=none&amp;quot;&#039;&#039;&#039;. The &#039;&#039;mpi/impi/2019&#039;&#039; and &#039;&#039;mpi/impi/2020&#039;&#039; modules provided on the cluster already set this variable.&lt;br /&gt;
&lt;br /&gt;
There is a number of Third-Party software modules installed on the cluster system which come with their own copies of various Intel MPI library versions. These software modules fall into the following categories:&lt;br /&gt;
&lt;br /&gt;
== Corrected software modules ==&lt;br /&gt;
&lt;br /&gt;
The following software modules have been corrected by the HPC software maintainers. They should currently work as expected.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;StarCCM+&#039;&#039;: The included Intel MPI 2018 library was replaced with a more recent version.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;LS-DYNA&#039;&#039;: The included Intel MPI library was replaced with a more recent version.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;CST&#039;&#039;: The license does not allow multi-node jobs, so the problematic code paths cannot be used.&lt;br /&gt;
&lt;br /&gt;
== Software modules with known fixes ==&lt;br /&gt;
&lt;br /&gt;
The following software modules require additional user interaction to work:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;ANSYS Mechanical&#039;&#039; and &#039;&#039;Fluent&#039;&#039;: The software has to be switched to OpenMPI using the &#039;&#039;&#039;-mpi=openmpi&#039;&#039;&#039; command line argument.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;ANSYS CFX&#039;&#039;: The software has to be switched to OpenMPI using the &#039;&#039;&#039;-start-method &#039;Open MPI Distributed Parallel&#039; &#039;&#039;&#039; command line argument.&lt;br /&gt;
&lt;br /&gt;
== Software modules without known fixes ==&lt;br /&gt;
&lt;br /&gt;
For the following software modules there is currently no known fix:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;cae/abaqus/2019&#039;&#039; (comes with Intel MPI 2017).We are working on a solution.&lt;br /&gt;
&lt;br /&gt;
Non-working software modules will not be removed because they can still be used for pre-/post-processing and single-node parallelisation using e.g. OpenMP.&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Maintenance/2020-10/Software_Issues&amp;diff=7835</id>
		<title>BwUniCluster 2.0 Maintenance/2020-10/Software Issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Maintenance/2020-10/Software_Issues&amp;diff=7835"/>
		<updated>2020-10-27T10:13:00Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After the last regular [[BwUniCluster_2.0_Maintenance/2020-10|maintenance]] interval (from 06.10.2020 to 13.10.2020) the following issues with Intel MPI exist:&lt;br /&gt;
&lt;br /&gt;
* Intel MPI 2018 is incompatible with Red Hat 8.2. Any invocation, even a simple &amp;quot;Hello World&amp;quot; MPI program, will result in a crash. The &#039;&#039;mpi/impi/2018&#039;&#039; module has therefore been removed.&lt;br /&gt;
&lt;br /&gt;
* There is a bug in Intel MPI 2019.x which leads to crashes when multiple MPI applications which are linked against Intel MPI 2019.x are run on the same node (e.g. in the &amp;quot;single&amp;quot; partition). The first application will run normally, but all others will crash. This can be fixed by setting the environment variable &#039;&#039;&#039;I_MPI_HYDRA_TOPOLIB=&amp;quot;ipl&amp;quot;&#039;&#039;&#039;. The &#039;&#039;mpi/impi/2019&#039;&#039; and &#039;&#039;mpi/impi/2020&#039;&#039; modules provided on the cluster already set this variable.&lt;br /&gt;
&lt;br /&gt;
* There is a bug in Intel MPI 2019.x which leads to incorrect CPU binding/affinity in conjunction with the Slurm batch system used on the clusters. All MPI ranks will run on the same CPU core instead of being bound to all available CPU cores. This can be fixed by setting the environment variable &#039;&#039;&#039;I_MPI_HYDRA_BOOTSTRAP_EXEC_EXTRA_ARGS=&amp;quot;--cpu-bind=none&amp;quot;&#039;&#039;&#039;. The &#039;&#039;mpi/impi/2019&#039;&#039; and &#039;&#039;mpi/impi/2020&#039;&#039; modules provided on the cluster already set this variable.&lt;br /&gt;
&lt;br /&gt;
There is a number of Third-Party software modules installed on the cluster system which come with their own copies of various Intel MPI library versions. These software modules fall into the following categories:&lt;br /&gt;
&lt;br /&gt;
== Corrected software modules ==&lt;br /&gt;
&lt;br /&gt;
The following software modules have been corrected by the HPC software maintainers. They should currently work as expected.&lt;br /&gt;
&lt;br /&gt;
* StarCCM+: The included Intel MPI 2018 library was replaced with a more recent version.&lt;br /&gt;
&lt;br /&gt;
* LS-DYNA: The included Intel MPI library was replaced with a more recent version.&lt;br /&gt;
&lt;br /&gt;
* CST: The license does not allow multi-node jobs, so the problematic code paths cannot be used.&lt;br /&gt;
&lt;br /&gt;
== Software modules with known fixes ==&lt;br /&gt;
&lt;br /&gt;
The following software modules require additional user interaction to work:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;ANSYS Mechanical&#039;&#039; and &#039;&#039;Fluent&#039;&#039;: The software has to be switched to OpenMPI using the &#039;&#039;&#039;-mpi=openmpi&#039;&#039;&#039; command line argument.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;ANSYS CFX&#039;&#039;: The software has to be switched to OpenMPI using the &#039;&#039;&#039;-start-method &#039;Open MPI Distributed Parallel&#039; &#039;&#039;&#039; command line argument.&lt;br /&gt;
&lt;br /&gt;
== Software modules without known fixes ==&lt;br /&gt;
&lt;br /&gt;
For the following software modules there is currently no known fix:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;cae/abaqus/2019&#039;&#039; (comes with Intel MPI 2017).We are working on a solution.&lt;br /&gt;
&lt;br /&gt;
Non-working software modules will not be removed because they can still be used for pre-/post-processing and single-node parallelisation using e.g. OpenMP.&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Maintenance/2020-10/Software_Issues&amp;diff=7834</id>
		<title>BwUniCluster 2.0 Maintenance/2020-10/Software Issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Maintenance/2020-10/Software_Issues&amp;diff=7834"/>
		<updated>2020-10-27T10:11:02Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After the last regular [[BwUniCluster_2.0_Maintenance/2020-10|maintenance]] interval (from 06.10.2020 to 13.10.2020) the following issues with Intel MPI exist:&lt;br /&gt;
&lt;br /&gt;
* Intel MPI 2018 is incompatible with Red Hat 8.2. Any invocation, even a simple &amp;quot;Hello World&amp;quot; MPI program, will result in a crash. The &#039;&#039;mpi/impi/2018&#039;&#039; module has therefore been removed.&lt;br /&gt;
&lt;br /&gt;
* There is a bug in Intel MPI 2019.x which leads to crashes when multiple MPI applications which are linked against Intel MPI 2019.x are run on the same node (e.g. in the &amp;quot;single&amp;quot; partition). The first application will run normally, but all others will crash. This can be fixed by setting the environment variable &#039;&#039;&#039;I_MPI_HYDRA_TOPOLIB=&amp;quot;ipl&amp;quot;&#039;&#039;&#039;. The &#039;&#039;mpi/impi/2019&#039;&#039; and &#039;&#039;mpi/impi/2020&#039;&#039; modules provided on the cluster already set this variable.&lt;br /&gt;
&lt;br /&gt;
* There is a bug in Intel MPI 2019.x which leads to incorrect CPU binding/affinity in conjunction with the Slurm batch system used on the clusters. All MPI ranks will run on the same CPU core instead of being bound to all available CPU cores. This can be fixed by setting the environment variable &#039;&#039;&#039;I_MPI_HYDRA_BOOTSTRAP_EXEC_EXTRA_ARGS=&amp;quot;--cpu-bind=none&amp;quot;&amp;quot;&#039;&#039;&#039;. The &#039;&#039;mpi/impi/2019&#039;&#039; and &#039;&#039;mpi/impi/2020&#039;&#039; modules provided on the cluster already set this variable.&lt;br /&gt;
&lt;br /&gt;
There is a number of Third-Party software modules installed on the cluster system which come with their own copies of various Intel MPI library versions. These software modules fall into the following categories:&lt;br /&gt;
&lt;br /&gt;
== Corrected software modules ==&lt;br /&gt;
&lt;br /&gt;
The following software modules have been corrected by the HPC software maintainers. They should currently work as expected.&lt;br /&gt;
&lt;br /&gt;
* StarCCM+: The included Intel MPI 2018 library was replaced with a more recent version.&lt;br /&gt;
&lt;br /&gt;
* LS-DYNA: The included Intel MPI library was replaced with a more recent version.&lt;br /&gt;
&lt;br /&gt;
* CST: The license does not allow multi-node jobs, so the problematic code paths cannot be used.&lt;br /&gt;
&lt;br /&gt;
== Software modules with known fixes ==&lt;br /&gt;
&lt;br /&gt;
The following software modules require additional user interaction to work:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;ANSYS Mechanical&#039;&#039; and &#039;&#039;Fluent&#039;&#039;: The software has to be switched to OpenMPI using the &#039;&#039;&#039;-mpi=openmpi&#039;&#039;&#039; command line argument.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;ANSYS CFX&#039;&#039;: The software has to be switched to OpenMPI using the &#039;&#039;&#039;-start-method &#039;Open MPI Distributed Parallel&#039; &#039;&#039;&#039; command line argument.&lt;br /&gt;
&lt;br /&gt;
== Software modules without known fixes ==&lt;br /&gt;
&lt;br /&gt;
For the following software modules there is currently no known fix:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;cae/abaqus/2019&#039;&#039; (comes with Intel MPI 2017).We are working on a solution.&lt;br /&gt;
&lt;br /&gt;
Non-working software modules will not be removed because they can still be used for pre-/post-processing and single-node parallelisation using e.g. OpenMP.&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Maintenance/2020-10/Software_Issues&amp;diff=7833</id>
		<title>BwUniCluster 2.0 Maintenance/2020-10/Software Issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BwUniCluster_2.0_Maintenance/2020-10/Software_Issues&amp;diff=7833"/>
		<updated>2020-10-27T10:10:37Z</updated>

		<summary type="html">&lt;p&gt;S Raffeiner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After the last regular [[BwUniCluster_2.0_Maintenance/2020-10|maintenance]] interval (from 06.10.2020 to 13.10.2020) the following issues with Intel MPI exist:&lt;br /&gt;
&lt;br /&gt;
* Intel MPI 2018 is incompatible with Red Hat 8.2. Any invocation, even a simple &amp;quot;Hello World&amp;quot; MPI program, will result in a crash. The &#039;&#039;mpi/impi/2018&#039;&#039; module has therefore been removed.&lt;br /&gt;
&lt;br /&gt;
* There is a bug in Intel MPI 2019.x which leads to crashes when multiple MPI applications which are linked against Intel MPI 2019.x are run on the same node (e.g. in the &amp;quot;single&amp;quot; partition). The first application will run normally, but all others will crash. This can be fixed by setting the environment variable &#039;&#039;&#039;I_MPI_HYDRA_TOPOLIB=&amp;quot;ipl&amp;quot;&#039;&#039;&#039;. The &#039;&#039;mpi/impi/2019&#039;&#039; and &#039;&#039;mpi/impi/2020&#039;&#039; modules provided on the cluster already set this variable.&lt;br /&gt;
&lt;br /&gt;
* There is a bug in Intel MPI 2019.x which leads to incorrect CPU binding/affinity in conjunction with the Slurm batch system used on the clusters. All MPI ranks will run on the same CPU core instead of being bound to all available CPU cores. This can be fixed by setting the environment variable &#039;&#039;&#039;I_MPI_HYDRA_BOOTSTRAP_EXEC_EXTRA_ARGS=&amp;quot;--cpu-bind=none&amp;quot;&amp;quot;&#039;&#039;&#039;. The &#039;&#039;mpi/impi/2019&#039;&#039; and &#039;&#039;mpi/impi/2020&#039;&#039; modules provided on the cluster already set this variable.&lt;br /&gt;
&lt;br /&gt;
There is a number of Third-Party software modules installed on the cluster system which come with their own copies of various Intel MPI library versions. These software modules fall into onthe following categories.&lt;br /&gt;
&lt;br /&gt;
== Corrected software modules ==&lt;br /&gt;
&lt;br /&gt;
The following software modules have been corrected by the HPC software maintainers. They should currently work as expected.&lt;br /&gt;
&lt;br /&gt;
* StarCCM+: The included Intel MPI 2018 library was replaced with a more recent version.&lt;br /&gt;
&lt;br /&gt;
* LS-DYNA: The included Intel MPI library was replaced with a more recent version.&lt;br /&gt;
&lt;br /&gt;
* CST: The license does not allow multi-node jobs, so the problematic code paths cannot be used.&lt;br /&gt;
&lt;br /&gt;
== Software modules with known fixes ==&lt;br /&gt;
&lt;br /&gt;
The following software modules require additional user interaction to work:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;ANSYS Mechanical&#039;&#039; and &#039;&#039;Fluent&#039;&#039;: The software has to be switched to OpenMPI using the &#039;&#039;&#039;-mpi=openmpi&#039;&#039;&#039; command line argument.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;ANSYS CFX&#039;&#039;: The software has to be switched to OpenMPI using the &#039;&#039;&#039;-start-method &#039;Open MPI Distributed Parallel&#039; &#039;&#039;&#039; command line argument.&lt;br /&gt;
&lt;br /&gt;
== Software modules without known fixes ==&lt;br /&gt;
&lt;br /&gt;
For the following software modules there is currently no known fix:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;cae/abaqus/2019&#039;&#039; (comes with Intel MPI 2017).We are working on a solution.&lt;br /&gt;
&lt;br /&gt;
Non-working software modules will not be removed because they can still be used for pre-/post-processing and single-node parallelisation using e.g. OpenMP.&lt;/div&gt;</summary>
		<author><name>S Raffeiner</name></author>
	</entry>
</feed>