<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://teaching.healthtech.dtu.dk/maag/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gabre</id>
	<title>maag - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://teaching.healthtech.dtu.dk/maag/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gabre"/>
	<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk/maag/index.php/Special:Contributions/Gabre"/>
	<updated>2026-04-05T17:45:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://teaching.healthtech.dtu.dk/maag/index.php?title=Healthtech_cluster&amp;diff=15</id>
		<title>Healthtech cluster</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk/maag/index.php?title=Healthtech_cluster&amp;diff=15"/>
		<updated>2024-11-22T12:47:04Z</updated>

		<summary type="html">&lt;p&gt;Gabre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting an account ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Contact Gabriel Renaud and we will contact Peter Wad Sackett.&lt;br /&gt;
&lt;br /&gt;
== First time login ==&lt;br /&gt;
&lt;br /&gt;
* Do you have a DTU account? If not contact Gabriel.&lt;br /&gt;
* Have you changed DTU password after August 2021? If not, change it at password.dtu.dk&lt;br /&gt;
&amp;lt;!-- * Download either [https://play.google.com/store/apps/details?id=com.azure.authenticator&amp;amp;hl=en&amp;amp;gl=US Microsoft Authenticator] or [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&amp;amp;hl=en&amp;amp;gl=US Google&#039;s Authenticator] on your phone.&lt;br /&gt;
* Optional: watch this Youtube video https://www.youtube.com/watch?v=2ZLnBx8Mm40 if you have never used such apps before. --&amp;gt;&lt;br /&gt;
* If you can log in to DTU webmail [https://mail.dtu.dk https://mail.dtu.dk], your credentials should be in order.&lt;br /&gt;
* If you can not login in to DTU webmail, you should set up the MFA (2-factor authentication). We refer to DTU general instructions on how to do that.&lt;br /&gt;
* At this stage try to login using your DTU username and password:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@login.healthtech.dtu.dk&lt;br /&gt;
Example: ssh -XC gabre@login.healthtech.dtu.dk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You will be prompted for the password (you can not see the chars you type), and the MFA code.&lt;br /&gt;
&amp;lt;!--* Run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enable2factor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It will print out a QR code. &lt;br /&gt;
* In your Authenticator app, click &amp;quot;Add account&amp;quot;, &amp;quot;Work account&amp;quot;, &amp;quot;Scan QR code&amp;quot; scan the QR code that is on the screen. Call the account &amp;quot;Healthtech&amp;quot; or something&lt;br /&gt;
* if the QR code is mangled, there is a qrcode.png in your home directory. If you cannot copy it out, contact Gabriel&lt;br /&gt;
* is once the account is in your Authenticator app, you should be good to go --&amp;gt;&lt;br /&gt;
* If you can not login at this stage, using your DTU username, password and MFA, then you are probably not enrolled into Microsoft Azure. [https://account.activedirectory.windowsazure.com/proofup.aspx?proofup=1 Enroll here]. Use your DTU email as username. You will be taken to the DTU login procedure for verification of your identity.&amp;lt;br&amp;gt;Efter the enrollment, try to login again.&lt;br /&gt;
* Logout again using Ctrl D or typing &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Subsequent logins ==&lt;br /&gt;
&lt;br /&gt;
* Login using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@login.healthtech.dtu.dk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enter your DTU password and the MFA password when prompted&lt;br /&gt;
&amp;lt;!--* You will be prompted for:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2FA Passcode: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Go to your Authenticator app, select &amp;quot;Healthtech&amp;quot; and put the 6 digits that you see, they are only valid for 30 seconds so be quick. --&amp;gt;&lt;br /&gt;
* You should see:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;username&amp;gt;@login ~$ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;This is the login node, do not run anything there.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
* Then select a node from 01 to 14:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@nodeX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where X is 01, 02, 03, ...,  14&lt;br /&gt;
* if this is your first time logging in, &#039;&#039;&#039;read&#039;&#039;&#039; the:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/home/README.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
very carefully WHEN on a node. It will tell you where the different directories are.&lt;br /&gt;
* Check if the Node is busy using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
htop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will see the CPUs on top and the memory.&lt;br /&gt;
&lt;br /&gt;
== Nodes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| NodeID&lt;br /&gt;
! CPUs&lt;br /&gt;
! GHz (7z)&lt;br /&gt;
! | MIPS (7z)&lt;br /&gt;
! Memory (kb)&lt;br /&gt;
|-&lt;br /&gt;
| | node01&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.67GHz&lt;br /&gt;
| 3197&lt;br /&gt;
| | 64,304&lt;br /&gt;
|-&lt;br /&gt;
| | node02&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.40GHz&lt;br /&gt;
| 2898&lt;br /&gt;
| | 64,402&lt;br /&gt;
|-&lt;br /&gt;
| | node03&lt;br /&gt;
| | 24&lt;br /&gt;
| | 3.07GHz&lt;br /&gt;
| 3713&lt;br /&gt;
| | 96,656&lt;br /&gt;
|-&lt;br /&gt;
| | node04&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.93GHz&lt;br /&gt;
| 3551&lt;br /&gt;
| | 193,424&lt;br /&gt;
|-&lt;br /&gt;
| | node05&lt;br /&gt;
| | 24&lt;br /&gt;
| | 3.33GHz&lt;br /&gt;
| 3773&lt;br /&gt;
| | 193,424&lt;br /&gt;
|-&lt;br /&gt;
| | node06&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.40GHz&lt;br /&gt;
| 3017&lt;br /&gt;
| | 64,400&lt;br /&gt;
|-&lt;br /&gt;
| | node07&lt;br /&gt;
| | 64&lt;br /&gt;
| | 2.70GHz&lt;br /&gt;
| 3463&lt;br /&gt;
| | 515,942&lt;br /&gt;
|-&lt;br /&gt;
| | node08&lt;br /&gt;
| | 20&lt;br /&gt;
| | 2.30GHz&lt;br /&gt;
| 3456&lt;br /&gt;
| | 128,796&lt;br /&gt;
|-&lt;br /&gt;
| | node09&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 2991&lt;br /&gt;
| | 120,853&lt;br /&gt;
|-&lt;br /&gt;
| | node10&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 2985&lt;br /&gt;
| | 120,853&lt;br /&gt;
|-&lt;br /&gt;
| | node11&lt;br /&gt;
| 40&lt;br /&gt;
| | 2.60GHz&lt;br /&gt;
| 3872&lt;br /&gt;
| | 257,847&lt;br /&gt;
|-&lt;br /&gt;
| | node12&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.80GHz&lt;br /&gt;
| 3458&lt;br /&gt;
| | 24,081&lt;br /&gt;
|-&lt;br /&gt;
| | node13&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 3036&lt;br /&gt;
| | 24,081&lt;br /&gt;
|-&lt;br /&gt;
| | node14&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.43GHz&lt;br /&gt;
| 3002&lt;br /&gt;
| | 128,913&lt;br /&gt;
|-&lt;br /&gt;
| | compute01&lt;br /&gt;
| 128&lt;br /&gt;
| | 3.53GHz&lt;br /&gt;
| | 3671&lt;br /&gt;
| | 1,056,315&lt;br /&gt;
|-&lt;br /&gt;
| | compute02&lt;br /&gt;
| 192&lt;br /&gt;
| | 2.62GHz&lt;br /&gt;
| | 2917&lt;br /&gt;
| | 1,031,526&lt;br /&gt;
|-&lt;br /&gt;
| | compute03&lt;br /&gt;
| 128&lt;br /&gt;
| | 3.20GHz&lt;br /&gt;
| | 2449&lt;br /&gt;
| | 515,453&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running things in parallel versus interactive ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You can login to node07, node10, node12 and compute01 directly. The rest are non-interactive meaning you need to use slurm (see below)&#039;&#039;&#039;. &lt;br /&gt;
On the iterative nodes, you can use parallel. First, write a file with the commands, let&#039;s call it &amp;quot;list_cmds&amp;quot;. We need full paths, no relative paths. &lt;br /&gt;
&lt;br /&gt;
Then pick an interative server to run the commands and you write:&lt;br /&gt;
&lt;br /&gt;
    cat list_cmds | parallel &lt;br /&gt;
&lt;br /&gt;
== General considerations ==&lt;br /&gt;
&lt;br /&gt;
You can ssh to the login node and, once on the login node to other nodes without 2 factor or a password using ssh keys. To set up the ssh keys and not have to type your password+2FA, find instructions here: [[Sshnopassword]]. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not forget&#039;&#039;&#039; to nice -19 your commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using SLURM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancel your jobs === &lt;br /&gt;
&lt;br /&gt;
For a specific job:&lt;br /&gt;
&lt;br /&gt;
     scancel JOBID&lt;br /&gt;
&lt;br /&gt;
For all your jobs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     scancel -u gabre&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== get info on jobs === &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get info on the nodes:&lt;br /&gt;
&lt;br /&gt;
     sinfo -N -l&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== submit jobs using sbatch === &lt;br /&gt;
&lt;br /&gt;
We will launch 100 jobs of generating random numbers and check if they are prime. First make sure that you have a directory called ~/slurm_out/ and then run:&lt;br /&gt;
&lt;br /&gt;
      for i in `seq 100`; do echo &amp;quot; /home/ctools/bin//python3  /home/projects/MAAG/FileDescriptors/random_int_generator.py   --min 1000000000000 --max 100000000000000 1000 | /home/ctools/bin//python3 /home/projects/MAAG/FileDescriptors/prime_checker.py&amp;quot;; done | xargs -I CMD sbatch     --job-name=gabriel_job     --mem=2G     --time=00:10:00     --cpus-per-task=1     --output=~/slurm_out/slurm_output_%j.out     --error=~/slurm_out/slurm_error_%j.err     --wrap=&amp;quot;CMD&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== checking jobs === &lt;br /&gt;
 &lt;br /&gt;
Either use:&lt;br /&gt;
      &lt;br /&gt;
      squeue &lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
      watch -n1 &amp;quot;squeue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to refresh every 1s. You can limit to a user using -u [username]&lt;/div&gt;</summary>
		<author><name>Gabre</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk/maag/index.php?title=Healthtech_cluster&amp;diff=14</id>
		<title>Healthtech cluster</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk/maag/index.php?title=Healthtech_cluster&amp;diff=14"/>
		<updated>2024-11-04T10:57:39Z</updated>

		<summary type="html">&lt;p&gt;Gabre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting an account ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Contact Gabriel Renaud and we will contact Peter Wad Sackett.&lt;br /&gt;
&lt;br /&gt;
== First time login ==&lt;br /&gt;
&lt;br /&gt;
* Do you have a DTU account? If not contact Gabriel.&lt;br /&gt;
* Have you changed DTU password after August 2021? If not, change it at password.dtu.dk&lt;br /&gt;
&amp;lt;!-- * Download either [https://play.google.com/store/apps/details?id=com.azure.authenticator&amp;amp;hl=en&amp;amp;gl=US Microsoft Authenticator] or [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&amp;amp;hl=en&amp;amp;gl=US Google&#039;s Authenticator] on your phone.&lt;br /&gt;
* Optional: watch this Youtube video https://www.youtube.com/watch?v=2ZLnBx8Mm40 if you have never used such apps before. --&amp;gt;&lt;br /&gt;
* If you can log in to DTU webmail [https://mail.dtu.dk https://mail.dtu.dk], your credentials should be in order.&lt;br /&gt;
* If you can not login in to DTU webmail, you should set up the MFA (2-factor authentication). We refer to DTU general instructions on how to do that.&lt;br /&gt;
* At this stage try to login using your DTU username and password:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@login.healthtech.dtu.dk&lt;br /&gt;
Example: ssh -XC gabre@login.healthtech.dtu.dk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You will be prompted for the password (you can not see the chars you type), and the MFA code.&lt;br /&gt;
&amp;lt;!--* Run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enable2factor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It will print out a QR code. &lt;br /&gt;
* In your Authenticator app, click &amp;quot;Add account&amp;quot;, &amp;quot;Work account&amp;quot;, &amp;quot;Scan QR code&amp;quot; scan the QR code that is on the screen. Call the account &amp;quot;Healthtech&amp;quot; or something&lt;br /&gt;
* if the QR code is mangled, there is a qrcode.png in your home directory. If you cannot copy it out, contact Gabriel&lt;br /&gt;
* is once the account is in your Authenticator app, you should be good to go --&amp;gt;&lt;br /&gt;
* If you can not login at this stage, using your DTU username, password and MFA, then you are probably not enrolled into Microsoft Azure. [https://account.activedirectory.windowsazure.com/proofup.aspx?proofup=1 Enroll here]. Use your DTU email as username. You will be taken to the DTU login procedure for verification of your identity.&amp;lt;br&amp;gt;Efter the enrollment, try to login again.&lt;br /&gt;
* Logout again using Ctrl D or typing &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Subsequent logins ==&lt;br /&gt;
&lt;br /&gt;
* Login using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@login.healthtech.dtu.dk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enter your DTU password and the MFA password when prompted&lt;br /&gt;
&amp;lt;!--* You will be prompted for:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2FA Passcode: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Go to your Authenticator app, select &amp;quot;Healthtech&amp;quot; and put the 6 digits that you see, they are only valid for 30 seconds so be quick. --&amp;gt;&lt;br /&gt;
* You should see:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;username&amp;gt;@login ~$ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;This is the login node, do not run anything there.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
* Then select a node from 01 to 14:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@nodeX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where X is 01, 02, 03, ...,  14&lt;br /&gt;
* if this is your first time logging in, &#039;&#039;&#039;read&#039;&#039;&#039; the:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/home/README.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
very carefully WHEN on a node. It will tell you where the different directories are.&lt;br /&gt;
* Check if the Node is busy using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
htop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will see the CPUs on top and the memory.&lt;br /&gt;
&lt;br /&gt;
== Nodes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| NodeID&lt;br /&gt;
! CPUs&lt;br /&gt;
! GHz (7z)&lt;br /&gt;
! | MIPS (7z)&lt;br /&gt;
! Memory (kb)&lt;br /&gt;
|-&lt;br /&gt;
| | node01&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.67GHz&lt;br /&gt;
| 3197&lt;br /&gt;
| | 64,304&lt;br /&gt;
|-&lt;br /&gt;
| | node02&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.40GHz&lt;br /&gt;
| 2898&lt;br /&gt;
| | 64,402&lt;br /&gt;
|-&lt;br /&gt;
| | node03&lt;br /&gt;
| | 24&lt;br /&gt;
| | 3.07GHz&lt;br /&gt;
| 3713&lt;br /&gt;
| | 96,656&lt;br /&gt;
|-&lt;br /&gt;
| | node04&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.93GHz&lt;br /&gt;
| 3551&lt;br /&gt;
| | 193,424&lt;br /&gt;
|-&lt;br /&gt;
| | node05&lt;br /&gt;
| | 24&lt;br /&gt;
| | 3.33GHz&lt;br /&gt;
| 3773&lt;br /&gt;
| | 193,424&lt;br /&gt;
|-&lt;br /&gt;
| | node06&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.40GHz&lt;br /&gt;
| 3017&lt;br /&gt;
| | 64,400&lt;br /&gt;
|-&lt;br /&gt;
| | node07&lt;br /&gt;
| | 64&lt;br /&gt;
| | 2.70GHz&lt;br /&gt;
| 3463&lt;br /&gt;
| | 515,942&lt;br /&gt;
|-&lt;br /&gt;
| | node08&lt;br /&gt;
| | 20&lt;br /&gt;
| | 2.30GHz&lt;br /&gt;
| 3456&lt;br /&gt;
| | 128,796&lt;br /&gt;
|-&lt;br /&gt;
| | node09&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 2991&lt;br /&gt;
| | 120,853&lt;br /&gt;
|-&lt;br /&gt;
| | node10&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 2985&lt;br /&gt;
| | 120,853&lt;br /&gt;
|-&lt;br /&gt;
| | node11&lt;br /&gt;
| 40&lt;br /&gt;
| | 2.60GHz&lt;br /&gt;
| 3872&lt;br /&gt;
| | 257,847&lt;br /&gt;
|-&lt;br /&gt;
| | node12&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.80GHz&lt;br /&gt;
| 3458&lt;br /&gt;
| | 24,081&lt;br /&gt;
|-&lt;br /&gt;
| | node13&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 3036&lt;br /&gt;
| | 24,081&lt;br /&gt;
|-&lt;br /&gt;
| | node14&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.43GHz&lt;br /&gt;
| 3002&lt;br /&gt;
| | 128,913&lt;br /&gt;
|-&lt;br /&gt;
| | compute01&lt;br /&gt;
| 128&lt;br /&gt;
| | 3.53GHz&lt;br /&gt;
| | 3671&lt;br /&gt;
| | 1,056,315&lt;br /&gt;
|-&lt;br /&gt;
| | compute02&lt;br /&gt;
| 192&lt;br /&gt;
| | 2.62GHz&lt;br /&gt;
| | 2917&lt;br /&gt;
| | 1,031,526&lt;br /&gt;
|-&lt;br /&gt;
| | compute03&lt;br /&gt;
| 128&lt;br /&gt;
| | 3.20GHz&lt;br /&gt;
| | 2449&lt;br /&gt;
| | 515,453&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running things in parallel ==&lt;br /&gt;
&lt;br /&gt;
You can login to node07, node10, node12 and compute01 directly. The rest are non-interactive meaning you need to use slurm (see below). &lt;br /&gt;
On the iterative nodes, you can use parallel. First, write a file with the commands, let&#039;s call it &amp;quot;list_cmds&amp;quot;. We need full paths, no relative paths. &lt;br /&gt;
Then pick an interative server to run the commands and you write:&lt;br /&gt;
&lt;br /&gt;
    cat list_cmds | parallel &lt;br /&gt;
&lt;br /&gt;
== General considerations ==&lt;br /&gt;
&lt;br /&gt;
You can ssh to the login node and, once on the login node to other nodes without 2 factor or a password using ssh keys. To set up the ssh keys and not have to type your password+2FA, find instructions here: [[Sshnopassword]]. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not forget&#039;&#039;&#039; to nice -19 your commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using SLURM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancel your jobs === &lt;br /&gt;
&lt;br /&gt;
For a specific job:&lt;br /&gt;
&lt;br /&gt;
     scancel JOBID&lt;br /&gt;
&lt;br /&gt;
For all your jobs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     scancel -u gabre&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== get info on jobs === &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get info on the nodes:&lt;br /&gt;
&lt;br /&gt;
     sinfo -N -l&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== submit jobs using sbatch === &lt;br /&gt;
&lt;br /&gt;
We will launch 100 jobs of generating random numbers and check if they are prime. First make sure that you have a directory called ~/slurm_out/ and then run:&lt;br /&gt;
&lt;br /&gt;
      for i in `seq 100`; do echo &amp;quot; /home/ctools/bin//python3  /home/projects/MAAG/FileDescriptors/random_int_generator.py   --min 1000000000000 --max 100000000000000 1000 | /home/ctools/bin//python3 /home/projects/MAAG/FileDescriptors/prime_checker.py&amp;quot;; done | xargs -I CMD sbatch     --job-name=gabriel_job     --mem=2G     --time=00:10:00     --cpus-per-task=1     --output=~/slurm_out/slurm_output_%j.out     --error=~/slurm_out/slurm_error_%j.err     --wrap=&amp;quot;CMD&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== checking jobs === &lt;br /&gt;
 &lt;br /&gt;
Either use:&lt;br /&gt;
      &lt;br /&gt;
      squeue &lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
      watch -n1 &amp;quot;squeue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to refresh every 1s. You can limit to a user using -u [username]&lt;/div&gt;</summary>
		<author><name>Gabre</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk/maag/index.php?title=Healthtech_cluster&amp;diff=13</id>
		<title>Healthtech cluster</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk/maag/index.php?title=Healthtech_cluster&amp;diff=13"/>
		<updated>2024-10-25T13:07:09Z</updated>

		<summary type="html">&lt;p&gt;Gabre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting an account ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Contact Gabriel Renaud and we will contact Peter Wad Sackett.&lt;br /&gt;
&lt;br /&gt;
== First time login ==&lt;br /&gt;
&lt;br /&gt;
* Do you have a DTU account? If not contact Gabriel.&lt;br /&gt;
* Have you changed DTU password after August 2021? If not, change it at password.dtu.dk&lt;br /&gt;
&amp;lt;!-- * Download either [https://play.google.com/store/apps/details?id=com.azure.authenticator&amp;amp;hl=en&amp;amp;gl=US Microsoft Authenticator] or [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&amp;amp;hl=en&amp;amp;gl=US Google&#039;s Authenticator] on your phone.&lt;br /&gt;
* Optional: watch this Youtube video https://www.youtube.com/watch?v=2ZLnBx8Mm40 if you have never used such apps before. --&amp;gt;&lt;br /&gt;
* If you can log in to DTU webmail [https://mail.dtu.dk https://mail.dtu.dk], your credentials should be in order.&lt;br /&gt;
* If you can not login in to DTU webmail, you should set up the MFA (2-factor authentication). We refer to DTU general instructions on how to do that.&lt;br /&gt;
* At this stage try to login using your DTU username and password:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@login.healthtech.dtu.dk&lt;br /&gt;
Example: ssh -XC gabre@login.healthtech.dtu.dk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You will be prompted for the password (you can not see the chars you type), and the MFA code.&lt;br /&gt;
&amp;lt;!--* Run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enable2factor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It will print out a QR code. &lt;br /&gt;
* In your Authenticator app, click &amp;quot;Add account&amp;quot;, &amp;quot;Work account&amp;quot;, &amp;quot;Scan QR code&amp;quot; scan the QR code that is on the screen. Call the account &amp;quot;Healthtech&amp;quot; or something&lt;br /&gt;
* if the QR code is mangled, there is a qrcode.png in your home directory. If you cannot copy it out, contact Gabriel&lt;br /&gt;
* is once the account is in your Authenticator app, you should be good to go --&amp;gt;&lt;br /&gt;
* If you can not login at this stage, using your DTU username, password and MFA, then you are probably not enrolled into Microsoft Azure. [https://account.activedirectory.windowsazure.com/proofup.aspx?proofup=1 Enroll here]. Use your DTU email as username. You will be taken to the DTU login procedure for verification of your identity.&amp;lt;br&amp;gt;Efter the enrollment, try to login again.&lt;br /&gt;
* Logout again using Ctrl D or typing &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Subsequent logins ==&lt;br /&gt;
&lt;br /&gt;
* Login using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@login.healthtech.dtu.dk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enter your DTU password and the MFA password when prompted&lt;br /&gt;
&amp;lt;!--* You will be prompted for:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2FA Passcode: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Go to your Authenticator app, select &amp;quot;Healthtech&amp;quot; and put the 6 digits that you see, they are only valid for 30 seconds so be quick. --&amp;gt;&lt;br /&gt;
* You should see:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;username&amp;gt;@login ~$ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;This is the login node, do not run anything there.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
* Then select a node from 01 to 14:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@nodeX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where X is 01, 02, 03, ...,  14&lt;br /&gt;
* if this is your first time logging in, &#039;&#039;&#039;read&#039;&#039;&#039; the:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/home/README.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
very carefully WHEN on a node. It will tell you where the different directories are.&lt;br /&gt;
* Check if the Node is busy using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
htop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will see the CPUs on top and the memory.&lt;br /&gt;
&lt;br /&gt;
== Nodes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| NodeID&lt;br /&gt;
! CPUs&lt;br /&gt;
! GHz (7z)&lt;br /&gt;
! | MIPS (7z)&lt;br /&gt;
! Memory (kb)&lt;br /&gt;
|-&lt;br /&gt;
| | node01&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.67GHz&lt;br /&gt;
| 3197&lt;br /&gt;
| | 64,304&lt;br /&gt;
|-&lt;br /&gt;
| | node02&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.40GHz&lt;br /&gt;
| 2898&lt;br /&gt;
| | 64,402&lt;br /&gt;
|-&lt;br /&gt;
| | node03&lt;br /&gt;
| | 24&lt;br /&gt;
| | 3.07GHz&lt;br /&gt;
| 3713&lt;br /&gt;
| | 96,656&lt;br /&gt;
|-&lt;br /&gt;
| | node04&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.93GHz&lt;br /&gt;
| 3551&lt;br /&gt;
| | 193,424&lt;br /&gt;
|-&lt;br /&gt;
| | node05&lt;br /&gt;
| | 24&lt;br /&gt;
| | 3.33GHz&lt;br /&gt;
| 3773&lt;br /&gt;
| | 193,424&lt;br /&gt;
|-&lt;br /&gt;
| | node06&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.40GHz&lt;br /&gt;
| 3017&lt;br /&gt;
| | 64,400&lt;br /&gt;
|-&lt;br /&gt;
| | node07&lt;br /&gt;
| | 64&lt;br /&gt;
| | 2.70GHz&lt;br /&gt;
| 3463&lt;br /&gt;
| | 515,942&lt;br /&gt;
|-&lt;br /&gt;
| | node08&lt;br /&gt;
| | 20&lt;br /&gt;
| | 2.30GHz&lt;br /&gt;
| 3456&lt;br /&gt;
| | 128,796&lt;br /&gt;
|-&lt;br /&gt;
| | node09&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 2991&lt;br /&gt;
| | 120,853&lt;br /&gt;
|-&lt;br /&gt;
| | node10&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 2985&lt;br /&gt;
| | 120,853&lt;br /&gt;
|-&lt;br /&gt;
| | node11&lt;br /&gt;
| 40&lt;br /&gt;
| | 2.60GHz&lt;br /&gt;
| 3872&lt;br /&gt;
| | 257,847&lt;br /&gt;
|-&lt;br /&gt;
| | node12&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.80GHz&lt;br /&gt;
| 3458&lt;br /&gt;
| | 24,081&lt;br /&gt;
|-&lt;br /&gt;
| | node13&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 3036&lt;br /&gt;
| | 24,081&lt;br /&gt;
|-&lt;br /&gt;
| | node14&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.43GHz&lt;br /&gt;
| 3002&lt;br /&gt;
| | 128,913&lt;br /&gt;
|-&lt;br /&gt;
| | compute01&lt;br /&gt;
| 128&lt;br /&gt;
| | 3.53GHz&lt;br /&gt;
| | 3671&lt;br /&gt;
| | 1,056,315&lt;br /&gt;
|-&lt;br /&gt;
| | compute02&lt;br /&gt;
| 192&lt;br /&gt;
| | 2.62GHz&lt;br /&gt;
| | 2917&lt;br /&gt;
| | 1,031,526&lt;br /&gt;
|-&lt;br /&gt;
| | compute03&lt;br /&gt;
| 128&lt;br /&gt;
| | 3.20GHz&lt;br /&gt;
| | 2449&lt;br /&gt;
| | 515,453&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running things in parallel ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is no queuing system on the cluster. But that can be simulated using parallel. First, write a file with the commands, let&#039;s call it &amp;quot;list_cmds&amp;quot;. We need full paths, no relative paths. &lt;br /&gt;
Then pick a host server to launch the commands from, I pick node10 because it is the slowest (then I keep the faster nodes for&lt;br /&gt;
computations): you write:&lt;br /&gt;
&lt;br /&gt;
    cat list_cmds | parallel --slf list_serv_1_14minus10&lt;br /&gt;
&lt;br /&gt;
And the file: list_serv_1_14minus10 has:&lt;br /&gt;
    node01&lt;br /&gt;
    node02&lt;br /&gt;
    node03&lt;br /&gt;
    node04&lt;br /&gt;
    node05&lt;br /&gt;
    node06&lt;br /&gt;
    node07&lt;br /&gt;
    node08&lt;br /&gt;
    node09&lt;br /&gt;
    node11&lt;br /&gt;
    node12&lt;br /&gt;
    node13&lt;br /&gt;
    node14&lt;br /&gt;
&lt;br /&gt;
== General considerations ==&lt;br /&gt;
&lt;br /&gt;
You can ssh to the login node and, once on the login node to other nodes without 2 factor or a password using ssh keys. To set up the ssh keys and not have to type your password+2FA, find instructions here: [[Sshnopassword]]. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not forget&#039;&#039;&#039; to nice -19 your commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using SLURM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancel your jobs === &lt;br /&gt;
&lt;br /&gt;
For a specific job:&lt;br /&gt;
&lt;br /&gt;
     scancel JOBID&lt;br /&gt;
&lt;br /&gt;
For all your jobs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     scancel -u gabre&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== get info on jobs === &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get info on the nodes:&lt;br /&gt;
&lt;br /&gt;
     sinfo -N -l&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== submit jobs using sbatch === &lt;br /&gt;
&lt;br /&gt;
We will launch 100 jobs of generating random numbers and check if they are prime. First make sure that you have a directory called ~/slurm_out/ and then run:&lt;br /&gt;
&lt;br /&gt;
      for i in `seq 100`; do echo &amp;quot; /home/ctools/bin//python3  /home/projects/MAAG/FileDescriptors/random_int_generator.py   --min 1000000000000 --max 100000000000000 1000 | /home/ctools/bin//python3 /home/projects/MAAG/FileDescriptors/prime_checker.py&amp;quot;; done | xargs -I CMD sbatch     --job-name=gabriel_job     --mem=2G     --time=00:10:00     --cpus-per-task=1     --output=~/slurm_out/slurm_output_%j.out     --error=~/slurm_out/slurm_error_%j.err     --wrap=&amp;quot;CMD&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== checking jobs === &lt;br /&gt;
 &lt;br /&gt;
Either use:&lt;br /&gt;
      &lt;br /&gt;
      squeue &lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
      watch -n1 &amp;quot;squeue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to refresh every 1s. You can limit to a user using -u [username]&lt;/div&gt;</summary>
		<author><name>Gabre</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk/maag/index.php?title=Healthtech_cluster&amp;diff=12</id>
		<title>Healthtech cluster</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk/maag/index.php?title=Healthtech_cluster&amp;diff=12"/>
		<updated>2024-10-25T10:41:47Z</updated>

		<summary type="html">&lt;p&gt;Gabre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting an account ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Contact Gabriel Renaud and we will contact Peter Wad Sackett.&lt;br /&gt;
&lt;br /&gt;
== First time login ==&lt;br /&gt;
&lt;br /&gt;
* Do you have a DTU account? If not contact Gabriel.&lt;br /&gt;
* Have you changed DTU password after August 2021? If not, change it at password.dtu.dk&lt;br /&gt;
&amp;lt;!-- * Download either [https://play.google.com/store/apps/details?id=com.azure.authenticator&amp;amp;hl=en&amp;amp;gl=US Microsoft Authenticator] or [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&amp;amp;hl=en&amp;amp;gl=US Google&#039;s Authenticator] on your phone.&lt;br /&gt;
* Optional: watch this Youtube video https://www.youtube.com/watch?v=2ZLnBx8Mm40 if you have never used such apps before. --&amp;gt;&lt;br /&gt;
* If you can log in to DTU webmail [https://mail.dtu.dk https://mail.dtu.dk], your credentials should be in order.&lt;br /&gt;
* If you can not login in to DTU webmail, you should set up the MFA (2-factor authentication). We refer to DTU general instructions on how to do that.&lt;br /&gt;
* At this stage try to login using your DTU username and password:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@login.healthtech.dtu.dk&lt;br /&gt;
Example: ssh -XC gabre@login.healthtech.dtu.dk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You will be prompted for the password (you can not see the chars you type), and the MFA code.&lt;br /&gt;
&amp;lt;!--* Run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enable2factor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It will print out a QR code. &lt;br /&gt;
* In your Authenticator app, click &amp;quot;Add account&amp;quot;, &amp;quot;Work account&amp;quot;, &amp;quot;Scan QR code&amp;quot; scan the QR code that is on the screen. Call the account &amp;quot;Healthtech&amp;quot; or something&lt;br /&gt;
* if the QR code is mangled, there is a qrcode.png in your home directory. If you cannot copy it out, contact Gabriel&lt;br /&gt;
* is once the account is in your Authenticator app, you should be good to go --&amp;gt;&lt;br /&gt;
* If you can not login at this stage, using your DTU username, password and MFA, then you are probably not enrolled into Microsoft Azure. [https://account.activedirectory.windowsazure.com/proofup.aspx?proofup=1 Enroll here]. Use your DTU email as username. You will be taken to the DTU login procedure for verification of your identity.&amp;lt;br&amp;gt;Efter the enrollment, try to login again.&lt;br /&gt;
* Logout again using Ctrl D or typing &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Subsequent logins ==&lt;br /&gt;
&lt;br /&gt;
* Login using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@login.healthtech.dtu.dk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enter your DTU password and the MFA password when prompted&lt;br /&gt;
&amp;lt;!--* You will be prompted for:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2FA Passcode: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Go to your Authenticator app, select &amp;quot;Healthtech&amp;quot; and put the 6 digits that you see, they are only valid for 30 seconds so be quick. --&amp;gt;&lt;br /&gt;
* You should see:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;username&amp;gt;@login ~$ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;This is the login node, do not run anything there.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
* Then select a node from 01 to 14:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@nodeX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where X is 01, 02, 03, ...,  14&lt;br /&gt;
* if this is your first time logging in, &#039;&#039;&#039;read&#039;&#039;&#039; the:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/home/README.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
very carefully WHEN on a node. It will tell you where the different directories are.&lt;br /&gt;
* Check if the Node is busy using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
htop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will see the CPUs on top and the memory.&lt;br /&gt;
&lt;br /&gt;
== Nodes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| NodeID&lt;br /&gt;
! CPUs&lt;br /&gt;
! GHz (7z)&lt;br /&gt;
! | MIPS (7z)&lt;br /&gt;
! Memory (kb)&lt;br /&gt;
|-&lt;br /&gt;
| | node01&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.67GHz&lt;br /&gt;
| 3197&lt;br /&gt;
| | 64,304&lt;br /&gt;
|-&lt;br /&gt;
| | node02&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.40GHz&lt;br /&gt;
| 2898&lt;br /&gt;
| | 64,402&lt;br /&gt;
|-&lt;br /&gt;
| | node03&lt;br /&gt;
| | 24&lt;br /&gt;
| | 3.07GHz&lt;br /&gt;
| 3713&lt;br /&gt;
| | 96,656&lt;br /&gt;
|-&lt;br /&gt;
| | node04&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.93GHz&lt;br /&gt;
| 3551&lt;br /&gt;
| | 193,424&lt;br /&gt;
|-&lt;br /&gt;
| | node05&lt;br /&gt;
| | 24&lt;br /&gt;
| | 3.33GHz&lt;br /&gt;
| 3773&lt;br /&gt;
| | 193,424&lt;br /&gt;
|-&lt;br /&gt;
| | node06&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.40GHz&lt;br /&gt;
| 3017&lt;br /&gt;
| | 64,400&lt;br /&gt;
|-&lt;br /&gt;
| | node07&lt;br /&gt;
| | 64&lt;br /&gt;
| | 2.70GHz&lt;br /&gt;
| 3463&lt;br /&gt;
| | 515,942&lt;br /&gt;
|-&lt;br /&gt;
| | node08&lt;br /&gt;
| | 20&lt;br /&gt;
| | 2.30GHz&lt;br /&gt;
| 3456&lt;br /&gt;
| | 128,796&lt;br /&gt;
|-&lt;br /&gt;
| | node09&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 2991&lt;br /&gt;
| | 120,853&lt;br /&gt;
|-&lt;br /&gt;
| | node10&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 2985&lt;br /&gt;
| | 120,853&lt;br /&gt;
|-&lt;br /&gt;
| | node11&lt;br /&gt;
| 40&lt;br /&gt;
| | 2.60GHz&lt;br /&gt;
| 3872&lt;br /&gt;
| | 257,847&lt;br /&gt;
|-&lt;br /&gt;
| | node12&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.80GHz&lt;br /&gt;
| 3458&lt;br /&gt;
| | 24,081&lt;br /&gt;
|-&lt;br /&gt;
| | node13&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 3036&lt;br /&gt;
| | 24,081&lt;br /&gt;
|-&lt;br /&gt;
| | node14&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.43GHz&lt;br /&gt;
| 3002&lt;br /&gt;
| | 128,913&lt;br /&gt;
|-&lt;br /&gt;
| | compute01&lt;br /&gt;
| 128&lt;br /&gt;
| | 3.53GHz&lt;br /&gt;
| | 3671&lt;br /&gt;
| | 1,056,315&lt;br /&gt;
|-&lt;br /&gt;
| | compute02&lt;br /&gt;
| 192&lt;br /&gt;
| | 2.62GHz&lt;br /&gt;
| | 2917&lt;br /&gt;
| | 1,031,526&lt;br /&gt;
|-&lt;br /&gt;
| | compute03&lt;br /&gt;
| 128&lt;br /&gt;
| | 3.20GHz&lt;br /&gt;
| | 2449&lt;br /&gt;
| | 515,453&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running things in parallel ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is no queuing system on the cluster. But that can be simulated using parallel. First, write a file with the commands, let&#039;s call it &amp;quot;list_cmds&amp;quot;. We need full paths, no relative paths. &lt;br /&gt;
Then pick a host server to launch the commands from, I pick node10 because it is the slowest (then I keep the faster nodes for&lt;br /&gt;
computations): you write:&lt;br /&gt;
&lt;br /&gt;
    cat list_cmds | parallel --slf list_serv_1_14minus10&lt;br /&gt;
&lt;br /&gt;
And the file: list_serv_1_14minus10 has:&lt;br /&gt;
    node01&lt;br /&gt;
    node02&lt;br /&gt;
    node03&lt;br /&gt;
    node04&lt;br /&gt;
    node05&lt;br /&gt;
    node06&lt;br /&gt;
    node07&lt;br /&gt;
    node08&lt;br /&gt;
    node09&lt;br /&gt;
    node11&lt;br /&gt;
    node12&lt;br /&gt;
    node13&lt;br /&gt;
    node14&lt;br /&gt;
&lt;br /&gt;
== General considerations ==&lt;br /&gt;
&lt;br /&gt;
You can ssh to the login node and, once on the login node to other nodes without 2 factor or a password using ssh keys. To set up the ssh keys and not have to type your password+2FA, find instructions here: [[Sshnopassword]]. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not forget&#039;&#039;&#039; to nice -19 your commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using SLURM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancel your jobs === &lt;br /&gt;
&lt;br /&gt;
For a specific job:&lt;br /&gt;
&lt;br /&gt;
     scancel JOBID&lt;br /&gt;
&lt;br /&gt;
For all your jobs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     scancel -u gabre&lt;/div&gt;</summary>
		<author><name>Gabre</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk/maag/index.php?title=Healthtech_cluster&amp;diff=11</id>
		<title>Healthtech cluster</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk/maag/index.php?title=Healthtech_cluster&amp;diff=11"/>
		<updated>2024-09-05T13:29:53Z</updated>

		<summary type="html">&lt;p&gt;Gabre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting an account ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Contact Gabriel Renaud and we will contact Peter Wad Sackett.&lt;br /&gt;
&lt;br /&gt;
== First time login ==&lt;br /&gt;
&lt;br /&gt;
* Do you have a DTU account? If not contact Gabriel.&lt;br /&gt;
* Have you changed DTU password after August 2021? If not, change it at password.dtu.dk&lt;br /&gt;
&amp;lt;!-- * Download either [https://play.google.com/store/apps/details?id=com.azure.authenticator&amp;amp;hl=en&amp;amp;gl=US Microsoft Authenticator] or [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&amp;amp;hl=en&amp;amp;gl=US Google&#039;s Authenticator] on your phone.&lt;br /&gt;
* Optional: watch this Youtube video https://www.youtube.com/watch?v=2ZLnBx8Mm40 if you have never used such apps before. --&amp;gt;&lt;br /&gt;
* If you can log in to DTU webmail [https://mail.dtu.dk https://mail.dtu.dk], your credentials should be in order.&lt;br /&gt;
* If you can not login in to DTU webmail, you should set up the MFA (2-factor authentication). We refer to DTU general instructions on how to do that.&lt;br /&gt;
* At this stage try to login using your DTU username and password:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@login.healthtech.dtu.dk&lt;br /&gt;
Example: ssh -XC gabre@login.healthtech.dtu.dk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* You will be prompted for the password (you can not see the chars you type), and the MFA code.&lt;br /&gt;
&amp;lt;!--* Run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enable2factor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It will print out a QR code. &lt;br /&gt;
* In your Authenticator app, click &amp;quot;Add account&amp;quot;, &amp;quot;Work account&amp;quot;, &amp;quot;Scan QR code&amp;quot; scan the QR code that is on the screen. Call the account &amp;quot;Healthtech&amp;quot; or something&lt;br /&gt;
* if the QR code is mangled, there is a qrcode.png in your home directory. If you cannot copy it out, contact Gabriel&lt;br /&gt;
* is once the account is in your Authenticator app, you should be good to go --&amp;gt;&lt;br /&gt;
* If you can not login at this stage, using your DTU username, password and MFA, then you are probably not enrolled into Microsoft Azure. [https://account.activedirectory.windowsazure.com/proofup.aspx?proofup=1 Enroll here]. Use your DTU email as username. You will be taken to the DTU login procedure for verification of your identity.&amp;lt;br&amp;gt;Efter the enrollment, try to login again.&lt;br /&gt;
* Logout again using Ctrl D or typing &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Subsequent logins ==&lt;br /&gt;
&lt;br /&gt;
* Login using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@login.healthtech.dtu.dk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enter your DTU password and the MFA password when prompted&lt;br /&gt;
&amp;lt;!--* You will be prompted for:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2FA Passcode: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Go to your Authenticator app, select &amp;quot;Healthtech&amp;quot; and put the 6 digits that you see, they are only valid for 30 seconds so be quick. --&amp;gt;&lt;br /&gt;
* You should see:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;username&amp;gt;@login ~$ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;This is the login node, do not run anything there.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
* Then select a node from 01 to 14:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -XC  &amp;lt;username&amp;gt;@nodeX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where X is 01, 02, 03, ...,  14&lt;br /&gt;
* if this is your first time logging in, &#039;&#039;&#039;read&#039;&#039;&#039; the:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/home/README.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
very carefully WHEN on a node. It will tell you where the different directories are.&lt;br /&gt;
* Check if the Node is busy using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
htop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will see the CPUs on top and the memory.&lt;br /&gt;
&lt;br /&gt;
== Nodes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| NodeID&lt;br /&gt;
! CPUs&lt;br /&gt;
! GHz (7z)&lt;br /&gt;
! | MIPS (7z)&lt;br /&gt;
! Memory (kb)&lt;br /&gt;
|-&lt;br /&gt;
| | node01&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.67GHz&lt;br /&gt;
| 3197&lt;br /&gt;
| | 64,304&lt;br /&gt;
|-&lt;br /&gt;
| | node02&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.40GHz&lt;br /&gt;
| 2898&lt;br /&gt;
| | 64,402&lt;br /&gt;
|-&lt;br /&gt;
| | node03&lt;br /&gt;
| | 24&lt;br /&gt;
| | 3.07GHz&lt;br /&gt;
| 3713&lt;br /&gt;
| | 96,656&lt;br /&gt;
|-&lt;br /&gt;
| | node04&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.93GHz&lt;br /&gt;
| 3551&lt;br /&gt;
| | 193,424&lt;br /&gt;
|-&lt;br /&gt;
| | node05&lt;br /&gt;
| | 24&lt;br /&gt;
| | 3.33GHz&lt;br /&gt;
| 3773&lt;br /&gt;
| | 193,424&lt;br /&gt;
|-&lt;br /&gt;
| | node06&lt;br /&gt;
| | 24&lt;br /&gt;
| | 2.40GHz&lt;br /&gt;
| 3017&lt;br /&gt;
| | 64,400&lt;br /&gt;
|-&lt;br /&gt;
| | node07&lt;br /&gt;
| | 64&lt;br /&gt;
| | 2.70GHz&lt;br /&gt;
| 3463&lt;br /&gt;
| | 515,942&lt;br /&gt;
|-&lt;br /&gt;
| | node08&lt;br /&gt;
| | 20&lt;br /&gt;
| | 2.30GHz&lt;br /&gt;
| 3456&lt;br /&gt;
| | 128,796&lt;br /&gt;
|-&lt;br /&gt;
| | node09&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 2991&lt;br /&gt;
| | 120,853&lt;br /&gt;
|-&lt;br /&gt;
| | node10&lt;br /&gt;
| | 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 2985&lt;br /&gt;
| | 120,853&lt;br /&gt;
|-&lt;br /&gt;
| | node11&lt;br /&gt;
| 40&lt;br /&gt;
| | 2.60GHz&lt;br /&gt;
| 3872&lt;br /&gt;
| | 257,847&lt;br /&gt;
|-&lt;br /&gt;
| | node12&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.80GHz&lt;br /&gt;
| 3458&lt;br /&gt;
| | 24,081&lt;br /&gt;
|-&lt;br /&gt;
| | node13&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.53GHz&lt;br /&gt;
| 3036&lt;br /&gt;
| | 24,081&lt;br /&gt;
|-&lt;br /&gt;
| | node14&lt;br /&gt;
| 16&lt;br /&gt;
| | 2.43GHz&lt;br /&gt;
| 3002&lt;br /&gt;
| | 128,913&lt;br /&gt;
|-&lt;br /&gt;
| | compute01&lt;br /&gt;
| 128&lt;br /&gt;
| | 3.53GHz&lt;br /&gt;
| | 3671&lt;br /&gt;
| | 1,056,315&lt;br /&gt;
|-&lt;br /&gt;
| | compute02&lt;br /&gt;
| 192&lt;br /&gt;
| | 2.62GHz&lt;br /&gt;
| | 2917&lt;br /&gt;
| | 1,031,526&lt;br /&gt;
|-&lt;br /&gt;
| | compute03&lt;br /&gt;
| 128&lt;br /&gt;
| | 3.20GHz&lt;br /&gt;
| | 2449&lt;br /&gt;
| | 515,453&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running things in parallel ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is no queuing system on the cluster. But that can be simulated using parallel. First, write a file with the commands, let&#039;s call it &amp;quot;list_cmds&amp;quot;. We need full paths, no relative paths. &lt;br /&gt;
Then pick a host server to launch the commands from, I pick node10 because it is the slowest (then I keep the faster nodes for&lt;br /&gt;
computations): you write:&lt;br /&gt;
&lt;br /&gt;
    cat list_cmds | parallel --slf list_serv_1_14minus10&lt;br /&gt;
&lt;br /&gt;
And the file: list_serv_1_14minus10 has:&lt;br /&gt;
    node01&lt;br /&gt;
    node02&lt;br /&gt;
    node03&lt;br /&gt;
    node04&lt;br /&gt;
    node05&lt;br /&gt;
    node06&lt;br /&gt;
    node07&lt;br /&gt;
    node08&lt;br /&gt;
    node09&lt;br /&gt;
    node11&lt;br /&gt;
    node12&lt;br /&gt;
    node13&lt;br /&gt;
    node14&lt;br /&gt;
&lt;br /&gt;
== General considerations ==&lt;br /&gt;
&lt;br /&gt;
You can ssh to the login node and, once on the login node to other nodes without 2 factor or a password using ssh keys. To set up the ssh keys and not have to type your password+2FA, find instructions here: [[Sshnopassword]]. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not forget&#039;&#039;&#039; to nice -19 your commands.&lt;/div&gt;</summary>
		<author><name>Gabre</name></author>
	</entry>
</feed>