diff --git a/_sources/chapters/04_running-scripts.md b/_sources/chapters/04_running-scripts.md index 76c5f10..801abfe 100644 --- a/_sources/chapters/04_running-scripts.md +++ b/_sources/chapters/04_running-scripts.md @@ -804,10 +804,13 @@ tmpfs 26G 0 26G 0% /run/user/1032 Estimating Resource Requirements -------------------------------- -Estimating how much time and memory your script requires is hard. It's hard for -several reasons, some of which involve knowing formal principles from computer -science. In this section we will limit ourselves to discussing practical -considerations. +Remote computing environments will ask you to estimate how many resources you +need to do your work. Typically, these resources are **time** and **run-time +memory** (RAM). Computer scientists have developed formalized methods for +estimating these two resources, and we will discuss them briefly below, but +making such estimations also relies on the particularities of whatever system +you're using. This section is therefore primarily about practical +considerations for estimating resource requirements. If you take away anything from this section, it should be this: you should estimate resource usage by tip-toeing up from simple instances to more complex @@ -816,45 +819,97 @@ of gigabytes of data. That will be time-intensive and probably misleading. Instead, start with a small amount of data and gradually scale your tests until you feel you're able to make a good estimate. +### Computational complexity + +In computer science, **computational complexity** refers to the amount of +resources an algorithm requires to run. Time is often the focus in this topic, +because certain operations in your code can quickly balloon from only a few +seconds to several minutes, hours, and even days. That is, the amount of data, +or **input size**, your code processes does not always hold a linear +relationship with the amount of time it takes to process that input; the same +goes for memory considerations as well. + +Instead, the relationship between input size and resource usage might be one of +several different types. Computer scientists express these relationships using +**Big O notation**, which represents the growth rate of resource usage for a +particular input size $n$. Here are some common notations: + +```{margin} Want to know more? +The [Wikipedia page][wiki] for Big O notation is a good place to start. It +covers the basic concepts and lists many other time complexity types. + +[wiki]: https://en.wikipedia.org/wiki/Big_O_notation +``` + +| Notation | Relationship | Explanation | +|----------|--------------|------------------------------------------------------| +| $O(1)$ | Constant | Constant resource use, regardless of input | +| $O(n)$ | Linear | Resource use is proportional to input | +| $O(n^2)$ | Quadratic | Requirements are proportional to the square of input | +| $O(2^n)$ | Exponential | Each new input element doubles resource use | + +Importantly, Big O notation represents the worst-case scenario for how many +resources your code might require. But not every piece of code you write is +guaranteed to require the full extent of possible resources defined by this +notation. Various optimizations, from your computer's hardware to the design of +software libraries like NumPy or dplyr, help mitigate this. But you should be +aware that the possibility of this eventuality nevertheless exists, and thus +try to mitigate it yourself when possible. + +Here are some examples of operations in your code that fit into the above +notations: + +| Notation | Operation | +|----------|-------------------------------| +| $O(1)$ | Indexing an array | +| $O(n)$ | A `for` loop | +| $O(n^2)$ | Two nested `for` loops | +| $O(2^n)$ | Calculating Fibonacci numbers | + ### Example script -Consider the script `factorial.{sh,py,R}`. It computes the factorial of a -positive number `n` (e.g. $10!$). +Consider the script `nested.{sh,py,R}`. It runs one `for` loop `n` times, and +then it runs another `for` loop inside that first one `n` times. This means its +time complexity is quadratic. `````{tab-set} ````{tab-item} Bash ```{code-block} bash #!/usr/bin/env bash -factorial() { - # Compute the factorial of a positive number $1 - local result=1 +nested() { + # Run an inner and outer for loop n times for ((i=1; i<=$1; i++)) do - result=$((result * i)) + echo "Outer loop $i" + for ((j=1; j<=$1; j++)) do + echo "Inner loop $j" + done done } -factorial "$1" +nested "$1" ``` ```` ````{tab-item} Python ```{code-block} python #!/usr/bin/env python3 +# -*- coding: utf-8 -*- import sys -def factorial(n): - """Compute the factorial of a positive number `n`.""" - result = 1 - for i in range(1, n+1): - result *= i +def nested(n): + # Run an inner and outer for loop n times + for i in range(n): + print("Outer loop", i) + for j in range(n): + print("Inner loop", j) def main(): n = int(sys.argv[1]) - factorial(n) + nested(n) if __name__ == "__main__": @@ -866,19 +921,19 @@ if __name__ == "__main__": ```{code-block} R #!/usr/bin/env Rscript -library(gmp) - -factorial = function(n) { - # ' Compute the factorial of a postive number `n` - result = as.bigz(1) +nested = function(n) { + # ' Run an inner and outer for loop n times for (i in 1:n) { - result = result * i + cat(paste("Outer loop", i, "\n")) + for (j in 1:n) { + cat(paste("Inner loop", j, "\n")) + } } } args = commandArgs(trailingOnly=TRUE) n = as.integer(args[1]) -factorial(n) +nested(n) ``` ```` ````` @@ -891,47 +946,111 @@ you how long it took to execute that command. Below, we use the Python version of this code to compute factorials for three numbers. ``` -$ time ./factorial.py 5000 -./factorial.py 5000 0.02s user 0.01s system 92% cpu 0.037 total -$ time ./factorial.py 10000 -./factorial.py 10000 0.04s user 0.01s system 94% cpu 0.058 total -$ time ./factorial.py 15000 -./factorial.py 15000 0.08s user 0.01s system 96% cpu 0.091 total +$ time ./nested.py 1000 > output.txt +real 0m1.112s +user 0m0.667s +sys 0m0.049s +$ time ./nested.py 2000 > output.txt +real 0m2.512s +user 0m2.283s +sys 0m0.089s +$ time ./nested.py 4000 > output.txt +real 0m9.761s +user 0m9.096s +sys 0m0.305s ``` -`time` outputs four metrics: +`time` outputs three metrics: ++ `real`: elapsed time for the entire process + `user`: time spent executing the actual script instructions -+ `system`: time spent on system-level processes (e.g. loading data into a - script, calls to the kernel) -+ `cpu`: percentage of CPU time spent on the command, relative to the total - time available -+ `total`, or `real`: actual elapsed time for the entire process ++ `sys`: time spent on system-level processes (e.g. loading data into a script, + calls to the kernel) + +We won't be subjecting these outputs to a rigorous time analysis, but do note +the fact that the time taken to execute this program quickly expands beyond the +rise in input size. Whereas our input size doubles each time, the time it takes +to process this input first doubled, then it tripled. Can we expect it to +quadruple next? + +``` +$ time ./nested.py 8000 > output.txt +real 0m36.974s +user 0m35.701s +sys 0m0.932s +``` + +Roughly, yes! + +While this is a trivial example, certain data structures can require nested +`for` loops to construct them. For example, we often need to populate big +matrices for mathematical operations. One way to do that would be with these +double loops, but that can get slow quickly, and you may end up spending a lot +of time simply building matrices before you can run computations on them. This +is where optimized code libraries come in. NumPy, for example, has vectorized +operations for building matrices, which run much faster than your typical +nested `for` loop. + +The code below shows you how to construct a big matrix with base Python and +then with NumPy. + +`````{tab-set} +````{tab-item} Base Python +```{code-block} Python +#!/usr/bin/env python3 + +def main(): + n = 5000 + mat = [] + for i in range(n): + sublist = [] + for j in range(n): + sublist.append(0) + mat.append(sublist) + + +if __name__ == "__main__": + main() +``` +```` + +````{tab-item} NumPy +```{code-block} Python +#!/usr/bin/env python3 -Calculating the factorial of a number runs in **linear** time. That is, the -time it takes to run this process increases linearly with the size of its -input. This is evident from the steady rise in the `total` time value: -increasing `n` by `50000` takes an additional ~0.03 seconds. +import numpy as np -Will that hold for the next number in our series? + +def main(): + n = 5000 + mat = np.zeros((n, n)) + + +if __name__ == "__main__": + main() +``` +```` +````` + +Timing the nested `for` loop version gives the following: ``` -$ time ./factorial.py 20000 -./factorial.py 20000 0.12s user 0.01s system 97% cpu 0.129 total +$ time ./base_matrix.py +real 0m1.718s +user 0m1.492s +sys 0m0.203s ``` -Roughly, yes. A true time test will take the average of multiple runs to -account for variances in your system, but this is already a decent estimate of -the amount of time it will take to execute `factorial.py`. We could express -this estimate as a linear equation: +While timing the NumPy version gives this result: -$$ -T = \frac{0.03}{5000} \cdot n + b -$$ +``` +$ time ./numpy_matrix.py +real 0m0.360s +user 0m0.174s +sys 0m0.073s +``` -Where $n$ is your input and $b$ represents the base amount of time it takes to -complete the task. You can estimate $b$ by comparing a few trials with -different values for $n$. In this case, $b$ is ~0.005 seconds. +The second one is over five times as fast! ### RAM usage diff --git a/chapters/04_running-scripts.html b/chapters/04_running-scripts.html index bbec7ad..af630c0 100644 --- a/chapters/04_running-scripts.html +++ b/chapters/04_running-scripts.html @@ -376,9 +376,10 @@

Contents

  • 4.4. Estimating Resource Requirements
  • @@ -1083,35 +1084,116 @@

    4.3.3. Other resource information

    4.4. Estimating Resource Requirements#

    -

    Estimating how much time and memory your script requires is hard. It’s hard for -several reasons, some of which involve knowing formal principles from computer -science. In this section we will limit ourselves to discussing practical -considerations.

    +

    Remote computing environments will ask you to estimate how many resources you +need to do your work. Typically, these resources are time and run-time +memory (RAM). Computer scientists have developed formalized methods for +estimating these two resources, and we will discuss them briefly below, but +making such estimations also relies on the particularities of whatever system +you’re using. This section is therefore primarily about practical +considerations for estimating resource requirements.

    If you take away anything from this section, it should be this: you should estimate resource usage by tip-toeing up from simple instances to more complex ones. There’s no point in estimating resource usage by starting with hundreds of gigabytes of data. That will be time-intensive and probably misleading. Instead, start with a small amount of data and gradually scale your tests until you feel you’re able to make a good estimate.

    +
    +

    4.4.1. Computational complexity#

    +

    In computer science, computational complexity refers to the amount of +resources an algorithm requires to run. Time is often the focus in this topic, +because certain operations in your code can quickly balloon from only a few +seconds to several minutes, hours, and even days. That is, the amount of data, +or input size, your code processes does not always hold a linear +relationship with the amount of time it takes to process that input; the same +goes for memory considerations as well.

    +

    Instead, the relationship between input size and resource usage might be one of +several different types. Computer scientists express these relationships using +Big O notation, which represents the growth rate of resource usage for a +particular input size \(n\). Here are some common notations:

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Notation

    Relationship

    Explanation

    \(O(1)\)

    Constant

    Constant resource use, regardless of input

    \(O(n)\)

    Linear

    Resource use is proportional to input

    \(O(n^2)\)

    Quadratic

    Requirements are proportional to the square of input

    \(O(2^n)\)

    Exponential

    Each new input element doubles resource use

    +

    Importantly, Big O notation represents the worst-case scenario for how many +resources your code might require. But not every piece of code you write is +guaranteed to require the full extent of possible resources defined by this +notation. Various optimizations, from your computer’s hardware to the design of +software libraries like NumPy or dplyr, help mitigate this. But you should be +aware that the possibility of this eventuality nevertheless exists, and thus +try to mitigate it yourself when possible.

    +

    Here are some examples of operations in your code that fit into the above +notations:

    + + + + + + + + + + + + + + + + + + + + +

    Notation

    Operation

    \(O(1)\)

    Indexing an array

    \(O(n)\)

    A for loop

    \(O(n^2)\)

    Two nested for loops

    \(O(2^n)\)

    Calculating Fibonacci numbers

    +
    -

    4.4.1. Example script#

    -

    Consider the script factorial.{sh,py,R}. It computes the factorial of a -positive number n (e.g. \(10!\)).

    +

    4.4.2. Example script#

    +

    Consider the script nested.{sh,py,R}. It runs one for loop n times, and +then it runs another for loop inside that first one n times. This means its +time complexity is quadratic.

    -

    4.4.2. Timing code#

    +

    4.4.3. Timing code#

    Python and R both have libraries for timing this code, but there are also utilities like time. Call time before any other command and it will show you how long it took to execute that command. Below, we use the Python version of this code to compute factorials for three numbers.

    -
    $ time ./factorial.py 5000
    -./factorial.py 5000  0.02s user 0.01s system 92% cpu 0.037 total
    -$ time ./factorial.py 10000
    -./factorial.py 10000  0.04s user 0.01s system 94% cpu 0.058 total
    -$ time ./factorial.py 15000
    -./factorial.py 15000  0.08s user 0.01s system 96% cpu 0.091 total
    +
    $ time ./nested.py 1000 > output.txt
    +real    0m1.112s
    +user    0m0.667s
    +sys     0m0.049s
    +$ time ./nested.py 2000 > output.txt
    +real    0m2.512s
    +user    0m2.283s
    +sys     0m0.089s
    +$ time ./nested.py 4000 > output.txt
    +real    0m9.761s
    +user    0m9.096s
    +sys     0m0.305s
     
    -

    time outputs four metrics:

    +

    time outputs three metrics:

      +
    • real: elapsed time for the entire process

    • user: time spent executing the actual script instructions

    • -
    • system: time spent on system-level processes (e.g. loading data into a -script, calls to the kernel)

    • -
    • cpu: percentage of CPU time spent on the command, relative to the total -time available

    • -
    • total, or real: actual elapsed time for the entire process

    • +
    • sys: time spent on system-level processes (e.g. loading data into a script, +calls to the kernel)

    -

    Calculating the factorial of a number runs in linear time. That is, the -time it takes to run this process increases linearly with the size of its -input. This is evident from the steady rise in the total time value: -increasing n by 50000 takes an additional ~0.03 seconds.

    -

    Will that hold for the next number in our series?

    -
    $ time ./factorial.py 20000
    -./factorial.py 20000  0.12s user 0.01s system 97% cpu 0.129 total
    +

    We won’t be subjecting these outputs to a rigorous time analysis, but do note +the fact that the time taken to execute this program quickly expands beyond the +rise in input size. Whereas our input size doubles each time, the time it takes +to process this input first doubled, then it tripled. Can we expect it to +quadruple next?

    +
    $ time ./nested.py 8000 > output.txt
    +real    0m36.974s
    +user    0m35.701s
    +sys     0m0.932s
    +
    +
    +

    Roughly, yes!

    +

    While this is a trivial example, certain data structures can require nested +for loops to construct them. For example, we often need to populate big +matrices for mathematical operations. One way to do that would be with these +double loops, but that can get slow quickly, and you may end up spending a lot +of time simply building matrices before you can run computations on them. This +is where optimized code libraries come in. NumPy, for example, has vectorized +operations for building matrices, which run much faster than your typical +nested for loop.

    +

    The code below shows you how to construct a big matrix with base Python and +then with NumPy.

    +
    + +
    +
    #!/usr/bin/env python3
    +
    +def main():
    +    n = 5000
    +    mat = []
    +    for i in range(n):
    +        sublist = []
    +        for j in range(n):
    +            sublist.append(0)
    +        mat.append(sublist)
    +
    +
    +if __name__ == "__main__":
    +    main()
    +
    +
    +
    + +
    +
    #!/usr/bin/env python3
    +
    +import numpy as np
    +
    +
    +def main():
    +    n = 5000
    +    mat = np.zeros((n, n))
    +
    +
    +if __name__ == "__main__":
    +    main()
    +
    +
    +
    +
    +

    Timing the nested for loop version gives the following:

    +
    $ time ./base_matrix.py
    +real    0m1.718s
    +user    0m1.492s
    +sys     0m0.203s
    +
    +
    +

    While timing the NumPy version gives this result:

    +
    $ time ./numpy_matrix.py
    +real    0m0.360s
    +user    0m0.174s
    +sys     0m0.073s
     
    -

    Roughly, yes. A true time test will take the average of multiple runs to -account for variances in your system, but this is already a decent estimate of -the amount of time it will take to execute factorial.py. We could express -this estimate as a linear equation:

    -
    -\[ -T = \frac{0.03}{5000} \cdot n + b -\]
    -

    Where \(n\) is your input and \(b\) represents the base amount of time it takes to -complete the task. You can estimate \(b\) by comparing a few trials with -different values for \(n\). In this case, \(b\) is ~0.005 seconds.

    +

    The second one is over five times as fast!

    -

    4.4.3. RAM usage#

    +

    4.4.4. RAM usage#

    Estimating how much memory your script will take follows a similar pattern: incrementally scale your computations until you feel confident in your ability to make an informed guess. While there are third-party command line utilities @@ -1321,9 +1466,10 @@

    4.4.3. RAM usage
  • 4.4. Estimating Resource Requirements
  • diff --git a/searchindex.js b/searchindex.js index 3aaee07..64fbc61 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["chapters/01_introduction","chapters/02_connecting-to-a-server","chapters/03_environment-setup","chapters/04_running-scripts","chapters/05_cluster-computing","chapters/index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["chapters/01_introduction.md","chapters/02_connecting-to-a-server.md","chapters/03_environment-setup.md","chapters/04_running-scripts.md","chapters/05_cluster-computing.md","chapters/index.md"],objects:{},objnames:{},objtypes:{},terms:{"0":[1,2,3,4],"00":[1,3,4],"000":3,"00000000":3,"001":1,"005":3,"007":1,"01":[3,4],"02":[1,2,3,4],"03":[1,3,4],"037":3,"04":[2,3],"05":1,"058":3,"07":[3,4],"0700":1,"08":[3,4],"09":[1,4],"091":3,"0k":3,"0m":3,"0mb":1,"1":[1,2,3,4],"10":[1,2,3,4],"100":[1,3],"10000":3,"101":4,"1027":3,"1031":3,"1032":3,"104":3,"108":1,"109":1,"10m":4,"10mb":4,"11":[1,2,3,4],"1164":1,"11652":3,"117t":3,"12":[1,2,3,4],"120g":4,"122g":3,"126g":3,"12748":3,"129":3,"12936":3,"13":[1,2,3,4],"135918main_bm1_high":1,"137k":1,"14":[1,2,4],"1406":3,"142":1,"14m":3,"15":[2,3,4],"150":4,"15000":3,"1536":3,"15g":3,"16":[1,2,4],"16384":1,"168":[1,3],"16g":3,"17":[1,2,3,4],"172916":3,"17360":3,"174t":3,"17840":3,"1792":3,"17_8":2,"18":[1,3,4],"1804235":4,"1833":3,"1834":3,"1836":3,"19":[1,4],"190":1,"191k":1,"192":1,"19206":1,"19348":1,"195439":1,"196":1,"1972":1,"1989378":3,"1989412":3,"1989413":3,"1989436":3,"1989437":3,"1989587":3,"1989588":3,"1990312":3,"1990640":3,"1995213":3,"1995214":3,"1g":3,"1m":3,"1t":3,"2":[1,2,3,4],"20":[1,3,4],"200":1,"20000":3,"2000m":4,"2002776":3,"2002783":3,"2004":1,"200g":4,"2011773":3,"2011775":3,"2011885":3,"2012094":3,"2012182":3,"2015504":3,"2015629":3,"2021":1,"2022":[1,2],"2023":[1,3],"2024":4,"20g":4,"21":[1,3,4],"2108kb":1,"2158139":1,"2158216":1,"22":[1,2,3,4],"22t09":4,"23":[2,4],"231g":3,"234m":3,"24":4,"240m":3,"251":1,"26":[2,4],"2607":1,"266":1,"26g":3,"27":1,"2768":3,"28":[1,3,4],"29":1,"2_gnu":2,"2a04":1,"2m":3,"2mb":[],"3":[1,2,3,4],"30":[1,3,4],"300":3,"300k":3,"300w":3,"3072":[1,3],"31":1,"32":[1,4],"32g":4,"33":3,"3328":3,"35":[3,4],"36":[2,3,4],"3628":3,"36c":3,"37":4,"38":[1,4],"3840":3,"3880":3,"3kb":1,"4":[1,2,3,4],"40":[3,4],"4005":1,"4096":1,"40g":4,"40k":3,"41":3,"416g":3,"42":4,"426c":1,"43":[2,3,4],"44":3,"443":1,"45":[1,3,4],"45w":3,"46":[1,2,3,4],"463g":3,"47":3,"477m":3,"48893":3,"49":3,"4g":4,"4m":3,"4mib":3,"5":[1,2,3,4],"50":[3,4],"5000":3,"50000":3,"502g":3,"51":[2,3],"52":4,"53":4,"535":3,"5376":3,"54":4,"55":3,"56":[3,4],"5632":3,"56968":3,"57":[1,4],"579":2,"58":4,"58t":3,"59":[1,4],"5g":3,"5m":3,"6":[1,2,3,4],"60":[3,4],"6173446":4,"6192":3,"62":[3,4],"63g":3,"64":3,"64273":3,"66":1,"6632":3,"6785":3,"6788":3,"69":4,"6m":3,"7":[1,2,3,4],"71":4,"72m":3,"76":3,"7672":3,"7680":3,"77":[3,4],"7900":3,"7936":3,"7m":3,"8":[2,3,4],"80":2,"80gb":3,"812":1,"8192":[1,3],"81920mib":3,"82":3,"83":3,"8380":3,"84":3,"843g":3,"85":3,"86":4,"86k":1,"87":4,"8747":3,"87g":3,"89k":1,"8g":[3,4],"8m":3,"9":[1,2,3,4],"906g":3,"91":3,"9124":3,"92":[3,4],"9297800":4,"9318810":4,"9375105":4,"9375115":4,"9375794":4,"9376376":4,"9377130":4,"9377337":4,"9377346":4,"9384372":4,"94":3,"96":[3,4],"97":3,"98":3,"9984":3,"9g":3,"9m":3,"9t":3,"break":[2,4],"case":[1,2,3,4],"catch":1,"default":[1,2,3],"do":[1,2,3,4],"final":[1,2,3,4],"function":[3,4],"import":[1,2,3,4],"int":3,"long":[1,2,3,4],"new":[1,2,3,4],"public":1,"return":[1,4],"short":1,"super":1,"switch":[2,3],"throw":3,"true":[1,3],"try":[1,2],"var":3,"while":[1,2,3,4],A:[2,3,4],AT:1,And:[3,4],As:[1,2,3],At:[1,2,3],Be:2,Being:[1,2],But:[1,3],By:[1,2,3],For:[1,2,3],IT:1,If:[1,2,3,4],In:[1,2,3,4],It:[1,2,3,4],Its:1,NO:1,No:[1,3],On:[1,2,3,4],One:[1,2,3],Or:4,That:[2,3,4],The:[2,4,5],Then:[1,2,3],There:[1,2,3,4],These:[1,2,3],To:[2,3,4],Will:3,With:[1,2,3,4],__main__:3,__name__:3,_build:3,_libgcc_mutex:2,_openmp_mutex:2,_static:3,a100:[3,4],abil:[1,3],abl:[1,2,3,5],about:[1,2,3,4],abov:[1,2,3,4],absolut:[1,3],accept:[1,2,3],access:[1,2,5],accident:[1,2],accommod:2,accord:[1,3],account:[3,4],acct1:4,acct2:4,acct3:4,acct4:4,acct5:4,acct6:4,accur:1,across:3,act:[1,3],action:1,activ:[1,2,3,4],actual:[1,2,3],ad:[1,2,4],add:[1,2,3,4],addit:[1,2,3,4],addition:[1,3],address:[1,2,4],adequ:[2,4],administr:2,advanc:2,advic:[1,4],affect:3,aforement:1,after:[1,2,3,5],again:[1,2,3],against:[1,2,3],ahead:[1,2],aim:[],algorithm:1,alia:[2,4],alias:4,align:[1,4],aliv:3,all:[1,2,3,4],alloc:[1,3,4],allow:[1,2,3,4],almost:[1,2],along:[1,2,4],alreadi:[1,2,3],also:[1,2,3,4],alter:[1,3],altern:[1,2],although:[],altogeth:3,alwai:[1,2,3],amdfftw:2,amic:1,amount:[1,3],an:[1,4,5],anatomi:3,ani:[1,2,3,4],anoth:[1,2,3,4],anotherserv:1,anotherserver_rsa:1,anybodi:1,anyon:[1,2],anyth:[1,2,3,4],anywher:1,app:2,appear:[1,2],append:[1,2],appimag:2,appli:1,applic:[1,3],approach:[1,2],apr:1,apt:2,ar:[2,3,4,5],arch:1,architectur:1,archiv:1,area:3,aren:3,arg1:3,arg2:3,arg3:3,arg:3,argument:[1,2,3,4],argv:3,around:[1,2,3,4],arrow:3,asid:[1,2],ask:[1,2,4],assign:[1,2,3],associ:[1,2,3],assum:1,assumpt:[1,3],asymmetr:1,attach:3,attack:1,attempt:1,authent:[],authorized_kei:1,auto:1,autom:3,automat:2,avail:[1,2,3,4],avecpu:4,averag:[1,3],avoid:[1,2],awai:3,await:1,awar:[1,2],b:3,back:[1,2,3],bag:1,ban:1,bandwidth:1,bar:3,base:[1,2,3],bash:[3,4],bash_profil:[2,3],bashrc:[1,2,4],basic:[4,5],batch:4,beacon:[3,4],beacon_9384572:4,becaus:[1,2,3],becom:[3,4],been:[1,2,3,4],befor:[1,2,3,4],begin:[1,2,3],behav:[1,2],behavior:[1,3],being:[1,3],belong:[1,2,4],below:[1,2,3,4],beneath:3,benefit:[1,2],besid:[1,2],best:[2,3],between:[2,3],beyond:[1,2],bgpu:4,big:[1,3,4],bigger:1,biggest:3,bigmem10:4,bigmem8:4,bigmem9:4,bigmem:4,bigmemh:4,bigmemht:4,bigmeml:4,bigmemm:4,bigz:3,bin:[1,2,3,4],binari:[2,3],bird:3,bit150h:4,bit:[2,3,4],blank:2,blue:1,bluemarbl:1,bluemarble1972:1,bm20:4,bm:4,bmh:4,bml:4,bmm:4,bog:3,book:[0,1],boost:2,boot:3,both:[1,2,3],bottom:3,bourn:2,brief:1,bring:[1,3],broadli:1,browser:[1,3],bu:3,buff:3,bug:2,build:[1,2,3],built:[1,2],bundl:1,burden:2,bye:1,bzip2:2,c000:1,c4:3,c:[2,3],cach:[2,3],calcul:3,call:[1,2,3],callback:4,callout:4,campu:1,can:[1,2,3,4],cancel:4,cannot:1,cap:3,capabl:4,capit:1,care:2,cartoon:1,cat:[1,3,4],categori:1,caus:[1,2,3],caveat:1,cd:[1,2,4],cdot:3,cee:[],cell:3,censor:4,certain:3,cetera:1,cfg:2,cgal:2,cgroup:3,chang:[1,2,3,4],channel:[1,2],chapter:[0,1,2,3,4],charact:1,cheat:[2,3],check:[1,2,3,4],chmod:[1,2,3],chocolatei:2,choos:[1,2,3],ci:3,circumst:1,claim:1,classic:2,clean:2,click:1,client:1,clock:1,close:[1,2,3],cloud:[1,2],cluster:[2,5],cm:2,cmd:[2,3],co:1,code:[1,2,4],cog:1,cognit:2,collabor:2,collect:[2,3],colon:[1,2],colorterm:2,column:[3,4],com:[1,4],combin:[],come:[1,3],comfort:[1,2,5],command:[1,2,3,4,5],commandarg:3,comment:3,common:[1,2,3],commonli:1,commun:[1,2],compar:[1,3],compat:2,compil:[2,3],complet:[1,2,3],complex:[2,3],compon:[1,3,4],compress:[1,4],compris:3,compromis:1,comput:[2,3,5],concept:1,concern:1,concert:3,conclud:3,conda:[2,3,5],conda_forg:2,confid:3,config:2,configur:3,confirm:[1,2],conflict:2,connect:[2,3],consensu:2,consequ:1,consid:[1,3,4],consider:3,consist:1,constraint:3,consult:[3,4],contact:1,contain:[1,2,3],content:[0,1,2,3],context:[1,3],continu:[1,3,4],contrast:3,control:[1,2,3],conveni:[1,2],convent:2,coordin:1,copi:[1,3],core:[2,4],correct:1,corrupt:1,cost:2,could:[1,3,4],counterpart:1,cover:[3,5],cp:1,cpu:[1,3,4],crash:1,creat:[1,3,4],creation:1,cricit:1,cross:2,crucial:1,cryptograph:1,cryptographi:1,csv:3,ctrl:3,cu:3,cuda:[2,3],curl:2,current:[2,3,4],custom:[1,2,3],cut:[],cxx4:2,d:[1,2,3,4],dai:[1,3,4],damag:1,dash:1,dashboard:3,data:[3,4],data_smal:3,dataarch:1,datalab:[3,4,5],datalabg:4,datalabgrp:[3,4],date:[1,2],davi:5,deactiv:2,deadlin:1,debian:2,debug:4,dec:1,decent:[3,4],decid:2,declar:[],decod:1,decompress:1,decrypt:1,dedic:[1,3],deep:4,def:3,defin:[2,4],delet:[1,2],deni:3,denot:1,depend:2,dept:4,depth:3,describ:[1,2],descript:1,design:[1,2,3],desir:[1,4],desktop:2,destin:1,detach:[3,4],detail:[1,2,3,4],detect:[1,2],determin:[3,4],dev:3,develop:[1,2,3,4],devic:[],devtmpf:3,df:[3,4],dh:3,dhjnxmne02gfe4iquk64:1,diagnos:2,did:2,differ:[1,2,3,4],dir:1,direct:[2,3],directli:[1,2,3],directori:[2,3,4],disabl:[1,3],discuss:[1,3,4],disk:[1,3,4],disp:3,displai:[1,2,3],distinct:2,distribut:2,dive:4,divid:3,dload:1,docker:2,document:[1,2],doe:[1,3],doesn:[2,3],dollar:2,don:1,done:[1,3,4],dot:1,doubl:2,doubt:1,down:[1,3],download:[2,3,4],dozen:1,drawback:1,drive:1,driver:3,drop:2,drwx:1,drwxr:1,ds:3,dsl:3,du:[3,4],due:1,dure:1,e:[1,3,4],each:[1,2,3,4],earli:4,earlier:1,easi:2,easier:[1,2,4],easili:[1,3],easybuild:2,ecc:3,echo:[1,2,3],ecl243:4,edit:1,editor:[1,2],edu:4,ee:1,effect:1,effort:1,eigen:2,either:[1,2,3,4],elaps:3,elimin:2,els:1,email:[1,4],empti:[0,1,2],en:[],enabl:[1,3],encount:2,encourag:[1,4],encrypt:1,end:[1,3,4],endang:1,engin:2,enough:2,ensur:[1,2],enter:[1,2,3,4],entir:[1,3],entireti:1,env:[2,3,4],environ:[3,4],equal:2,equat:3,equip:4,equival:[1,3,4,5],err:4,error:[1,2,3,4],especi:[1,2,3,4,5],essenti:[1,3],establish:1,estim:1,et:1,etc:[1,3,4],etcetera:[],etiquett:[3,5],etsi:1,eval:3,even:[1,2,3],ever:[1,2],everi:[1,2,3],everyon:1,everyth:[2,4,5],evid:3,eviron:2,ex:2,exact:1,exactli:[1,2],examin:2,exampl:[1,2,4],exce:1,exceed:1,exceedingli:1,except:[3,4],excess:1,exchang:1,exclus:1,execut:[1,2],exist:[],exit:[1,2,3,4],exitcod:4,expect:[1,3],experi:[2,5],explain:[2,3,4,5],explan:4,explicitli:1,exploit:1,express:3,extens:[2,3,4],extern:3,extra:[1,3,4],extrem:[1,3],ey:3,f8b0:1,f:3,fa87:1,faceless:1,facil:2,fact:1,factor:1,factori:3,fail:4,fair:[1,4],fall:1,famili:2,familiar:[1,2,3],fan:3,far:4,farm:[2,4,5],faster:[2,3],favorit:2,fcyc:1,fd:2,featur:[1,2,3],feel:[2,3],fetch:1,few:[2,3],fffd:1,fftw:2,fi:3,file:[4,5],filenam:[],filesystem:[1,3],fill:1,find:[1,2],fine:[1,2,3],fingerprint:1,finish:[1,2,4],finit:1,first:[1,2,3,4],fish:2,fit:3,five:1,fix:[1,2,3],fju:3,flag:[2,3,4],flatpak:2,flexibl:2,flow:3,flush:3,fly:1,focu:2,focus:[2,3],folder:2,follow:[1,2,3,4],foo:2,forg:2,forget:1,forkbomb:[],form:1,formal:3,format:[2,3,4],former:3,formmat:4,formul:1,fortran:2,forward:1,found:[1,2,3],four:[1,3,4],fourth:4,frac:3,free:[3,4],freeli:1,freez:2,frequent:[2,3],fresh:2,from:[2,3,4,5],front:2,frontpag:1,frv:2,fs:3,full:[1,2,3,4],fun:1,fundament:2,further:[1,3],furthermor:[],g:[1,3],gain:1,gcc:2,gener:[1,2,3,4],get:[1,2,3,4,5],gi:3,giant:[1,3],gib:3,gigabyt:[2,3],git:[2,3,4],github:[1,3],give:[1,2,3,4],given:[1,2,4],glean:1,gmp:[2,3],go:[1,2,3,4],goe:2,good:[1,2,3],googl:1,gov:1,gpu:[1,3,4],gpuh:4,gpul:4,gpum:4,gradual:3,great:3,grep:[2,3,4],grind:1,group:[1,2,3],gsl:2,guarante:2,guess:3,gz:1,gzip:1,h166bdaf_0:2,h59595ed_0:2,h5z:2,h69a702a_3:2,h7e041cc_3:2,h807b86a_3:2,h:[3,4],ha4646dd_3:2,ha:[1,2,3,4],hack:1,hacker:1,had:[2,3],halt:1,hame:1,hand:1,handl:4,happen:1,hard:[1,2,3],hardwar:[2,3],harm:3,hash:1,have:[1,2,3,4,5],hbea9962_0:2,hd590300_0:2,hdf5:2,he8a937b_3:2,head:[1,4],header:[3,4],heavi:1,held:4,hello:[2,3],help:[1,2,4],here:[1,2,3,4],hi:3,hidden:1,hierarchi:1,high2:4,high:[2,3,4,5],highli:[1,2],hint:3,histor:1,histori:2,hmm:4,hog:1,hold:[1,3],home:[2,3],homebrew:[2,3],honest:1,horizont:3,host:[],hostnam:4,hour:[3,4],how:[2,3,4,5],howev:[1,2,3,4],hpc:[4,5],html:1,htop:[3,4],http:1,human:[2,3],hundr:3,hwloc:2,hygien:1,hyperlink:1,hypr:2,i:[1,3,4],ic:2,id:[3,4],id_rsa:1,idea:[1,2,3],ideal:[1,4],ident:1,identif:1,identifi:[1,3],identityfil:1,idl:4,ignor:1,il:4,imag:1,imagin:[1,3],img:3,immedi:[1,2,4],impact:[],imperson:1,implement:[1,3],impli:1,importantli:[1,3],imposs:1,improv:1,inaccess:1,inbox:4,includ:[1,2,3,4],incom:1,incorrect:1,increas:[1,3],increasingli:3,increment:3,indefinit:[3,4],independ:2,index:[1,3],indic:[1,2,3],individu:[1,4],inevit:1,info:2,inform:[1,2,4],ing:[],init:2,initi:[1,3],input:[1,3],insecur:1,insert:3,insid:[1,3],inspect:[1,2,3],instal:[1,3,5],instanc:[2,3],instead:[1,2,3,4],instruct:[1,2,3,4],intact:2,integ:3,intel:2,intend:[1,2,4],intens:[1,3,4],intent:3,interact:[1,2,3,5],intercept:1,interconnect:1,interest:[1,3],interfac:[2,4],interfer:1,intern:1,internet:3,interpret:[2,3],interrupt:1,introduc:[1,4],introduct:5,invad:1,invas:1,invest:2,invoc:1,invok:1,involv:3,ip:1,isn:4,issu:[1,2],iter:3,its:[1,2,3,4],itself:[1,3],j:[3,4],jdk:2,job:3,jobid:4,jpeg:1,jpg:1,julia:2,jupyt:4,just:[1,2,3,4],k:3,kb:1,keep:[2,3,4],kei:3,kept:1,kernel:3,keybind:3,keygen:1,keystrok:1,keyword:1,kick:[3,4],kid:1,kill:3,kilobyt:3,kind:3,know:[1,2,3,4,5],knowledg:2,known_host:1,l:[1,2,3,4],la:1,lab:4,languag:[1,2,3],laptop:2,larg:[1,4],larger:[1,3],last:1,later:[1,2],latter:[3,4],launch:4,layout:1,lcd:1,ldxozuff:1,leak:1,learner:5,leav:[1,2,3],left:[1,3,4],legitim:1,length:1,less:2,lesshistfil:2,let:[1,2,3,4],level:[1,3],lib64:1,lib:[1,2,3],libev:2,libexec:3,libframel:2,libgcc:2,libgfortran5:2,libgfortran:2,libgomp:2,librari:[1,3],librsvg:2,libstdcxx:2,libszip:2,lifetim:1,lightweight:2,like:[1,2,3,4],limit:[1,3],line:[1,2,3,4,5],linear:3,linearli:3,link:1,linux:[1,2,3,5],list:[0,1,2,3,4],littl:[2,3],ll:[1,2,3,4],lmkdir:1,load:[2,3,4],local:[2,3,4],locat:[1,2],lock:2,log:[1,2,3,4,5],login:[1,4],logout:[1,4],longer:[1,2,4],look:[1,2,3,4],loop:[1,3,4],lore:1,loss:1,lost:3,lot:1,low2:4,low:4,lowercas:1,lpwd:1,ls:[1,3],lvcoraid1:3,lvcoraid2:3,lvdata:3,lvhome:3,lvoutput:3,lvroot:3,lvusr:3,lvvar:3,m34754_a2:1,m:3,machin:[1,3,4],maco:[2,3],made:1,magnitud:1,mai:[1,2,3,4],mail:4,main:[1,2,3],maintain:[1,2],major:1,make:[1,2,3],malici:[1,2,3],mamba:[2,5],man:[1,3,4],manag:4,mani:[1,2,3,4],manipul:1,manual:1,manufactur:3,mapper:3,mar:1,marbl:1,march:1,markup:2,match:[1,2],matrix:3,matter:2,matur:2,max:4,maxim:1,maximum:[3,4],maxrss:4,mayb:3,mb:1,mcl:4,me:[1,4],mean:[1,2,3,4],meant:[1,2],measur:3,med2:4,med:4,media:1,megabyt:3,mem:[3,4],memori:[1,3,4],mention:1,menu:1,messag:[1,2,4],metadata:4,method:[1,2],metric:3,mi:1,mib:3,micro:2,middl:1,mig:3,might:[1,2,3,4],mimic:1,min_m:4,mind:1,miniforg:2,minim:1,minut:[1,4],mirror:1,misconfigur:1,mislead:3,mismatch:1,miss:[1,2],mistak:1,mix:[1,4],mkdir:[1,2,4],mkl:2,mm:2,mnt:[],mode:[1,3],model:[3,4],modern:2,modifi:[1,2],modul:4,modulefil:2,moment:[1,2],mon:1,more:[1,2,3,4],most:[1,2,3,4],mount:3,move:[3,4],movement:3,mpfr:2,much:[1,2,3,4],multipl:[1,2,4],multiplex:[3,4],must:[0,1,2,3,5],mypc:1,n:[3,4],name:[1,2,3,4],name_job:4,nano:2,nasa:1,nativ:2,navig:[2,3],nearli:3,neat:1,necessari:[1,2,3],need:[1,2,3,4,5],neg:3,neither:1,nerd:1,netcdf:2,network:1,never:1,nevertheless:2,newer:[2,3],newkei:1,next:[1,3],ng:2,ni:3,nice:3,nick:2,nine:3,nix:2,node:[1,4],nodelist:4,nompi_hc118613_108:2,non:[0,1,3,4,5],nor:1,normal:[2,3],not_ent:3,notat:1,note:[1,2,3,4],noth:1,notic:[1,2,3],notifi:4,nov:1,now:[1,2,3,4],ntask:4,number:[1,2,3,4],numpi:3,nvhpc:2,nvidia:3,o:[1,2,4],obtain:1,obvious:[],occasion:2,occur:1,oct:[1,3],octal:[1,3],off:[3,4],offens:1,offer:1,offici:2,offset:1,often:[1,2,3],ok:1,okai:2,old:[1,2],older:2,omit:[1,2],onc:[1,4],one:[1,2,3,4],oneapi:2,ones:[1,3],onli:[1,2,3,4],onlin:[1,2,3],onto:3,oo:1,oooo:1,open:[2,3,4],openjdk:2,openmpi:[2,4],oper:[1,2,4],opposit:1,opt:1,option:[1,2,3,4],order:[1,2],org:[],organ:1,origin:[1,3],other:4,otherwis:1,our:[3,4],ourselv:3,out:[1,2,3,4],outdat:[],output:[1,2,3,4],output_scrol:[],outright:1,outsid:[1,3],over:[1,2],overal:4,overtax:1,overview:4,overwhelm:3,overwork:1,overwrit:2,own:[1,2,3,4],owner:1,p0:3,p:[1,3,4],pack:1,packag:[1,3],page:[1,3,4],painless:2,pair:1,pam:3,paramet:4,parent:[1,3],pars:3,part:[1,3,4],parti:[1,3],particip:5,particular:1,particularli:2,partion:4,pass:[1,3],passphras:1,passwd:1,past:[1,3],path:[1,2,3,4],path_help:3,pattern:[1,3],pc:1,pcie:3,pd:4,peacefulli:1,pend:4,peopl:2,per:[1,4],percentag:3,perf:3,perfect:1,perform:[1,2,5],perhap:3,period:2,perman:1,persist:[2,3],person:[1,2],perspect:1,pgid:3,phone:1,physic:3,pid:3,piec:[1,4],pigz:2,pipe:[1,2],pitfal:2,pkg:2,place:2,plaintext:3,plan:[1,4],platform:2,pleas:1,plug:[],pm:2,pmix:2,podman:2,point:[1,3],poke:1,polici:1,pop:1,popular:[2,3],portion:[1,3,4],posit:3,posix:2,possibl:[1,2,3,4],post:1,postiv:3,potenti:[1,2,3],power:[1,3,4],powershel:2,ppid:3,pr:3,practic:[1,2,3],pre:[2,3],precompil:3,predecessor:2,prefer:[2,3],prefix:[1,2],prepend:[2,3,4],present:3,preset:3,press:[1,2],pretend:1,prevent:[1,2],previou:[1,3,4],previous:1,primarili:1,principl:3,print:[1,2,3,4],prior:5,prioriti:[3,4],privaci:[],privat:1,privileg:1,probabl:[1,2,3],problem:[1,2,3],proce:1,procedur:1,process:[],produc:2,profil:2,program:[1,2,3,4,5],project:2,prompt:[1,2],pronounc:1,proof:1,properli:0,properti:1,proportion:1,protect:[1,3],protocol:1,prove:1,provid:[1,2,3,5],ps:3,pst:1,pt:3,pty:4,pub:1,publish:1,purpos:[1,3,4],put:[1,2,4],pwd:1,pwr:3,py:[3,4],python3:[3,4],python:[2,3],q:[1,3],queri:1,question:1,queu:4,quick:[2,3],quickli:[1,2],quiet:1,quit:[1,3,4],quot:2,r:[1,2,3,4],r_libs_us:2,r_profile_us:2,raallga1:4,ran:2,random:1,randomart:1,rang:3,rank:2,rantallg:4,rare:1,rather:[1,2,3],re:[1,2,3,4],read:[1,2,3,4],readabl:[1,2,3],reader:[1,2,4],readi:[2,4],readout:3,real:1,realli:1,reason:[1,3,4],reassign:2,rebuild:3,recal:[3,4],receiv:1,recent:2,recip:3,recommend:[1,2,3],recreat:[1,2],recurs:1,redirect:[1,2],reduc:1,refer:[1,2],referenc:1,reflect:3,refus:1,regard:1,regardless:1,regular:[1,3],rel:[1,2,3],relat:[1,3],relationship:1,releas:2,relev:1,reli:3,reliev:1,reload:2,remain:[1,2,4],rememb:[1,2],remot:[2,3,5],remov:[1,2],renam:1,render:[0,1],reopen:2,repeat:1,replac:[1,2],repositori:[2,3],repres:3,represent:3,reproduc:[2,3,4],request:[1,2],requeu:4,requir:[1,2,4],research:[2,3,4],resembl:4,reserv:[4,5],reset:2,resid:3,resolv:1,resourc:4,respect:[1,3],respectv:1,respond:1,respons:[1,4],rest:1,restart:2,result:[1,2,3,4],resum:1,retain:1,rethink:3,retriev:4,retyp:1,review:2,revisit:2,rg:2,right:[1,2,3],ripgrep:2,rise:3,rm:1,rmdir:1,rnu:1,rom:[],root:1,roughli:[1,3],row:4,rprofil:2,rsa:1,rsa_cryptosystem:[],rscript:3,rstudio:4,rsync:4,rude:1,rule:1,run:[1,2,5],rw:[1,3],rwx:1,rwxr:[1,3],s:[1,3,4,5],safe:[1,2,3],sai:2,said:[1,2],same:[1,2,3],sandwich:3,save:[1,2,3,4],saw:3,sbatch:4,sbin:[1,2],scale:3,scancel:4,scenario:[],schedul:[3,4],scheme:1,scienc:3,scientif:1,scontrol:4,scope:[1,2,3,4],scratch:[1,3,4],screen:3,screenshot:3,script:[1,2,4],sd:3,sda1:3,seamless:1,search:[1,2],second:[1,2,3],section:[1,2,3],secur:1,see:[1,2,3,4],seldom:1,select:[1,2,3],send:[1,3,4],sens:1,sent:[1,4],separ:[1,2,3],sequenc:3,seri:[3,5],seriou:1,serv:2,server:[2,3,4,5],servic:[1,2],session:[1,4],session_manag:2,set:[1,3,4,5],setup:[1,3],sever:[1,2,3],sh:[2,3,4],sha256:1,share:[1,2,3,4],shebang:[],sheet:[2,3],shell:[1,2,3,4,5],shield:1,shift:3,shm:3,shortcut:1,shorter:1,shortest:1,shorthand:[1,3],should:[1,2,3,4,5],show:[1,2,3,4],shown:1,shr:3,shut:1,si:3,sid:3,side:1,sign:[1,2],signatur:1,signific:1,silent:1,similar:[2,3],similarli:[1,3],simpl:3,simpler:1,simplest:1,simpli:[1,3,4],simplifi:1,simultan:[1,2,4],sinc:[1,2],sinfo:4,singl:[1,2,3],sit:3,site:1,size:[1,3],skill:2,skip:1,slash:[1,2],sleep:3,slight:[1,2],slightli:[1,2,3],slow:1,slower:[1,2],slur_job_id:4,slurm:[2,5],slurm_job_id:4,slurm_nodelist:4,slurn:[],small:[1,3],smi:3,smooth:1,snoop:1,so:[1,2,3,4],softwar:[1,5],sole:2,solut:[1,2],some:[1,2,3,4],somehow:1,someon:[1,2],someth:[1,3],sometim:[1,2],sort:3,sound:1,sourc:[1,2],space:[1,2,3,4],spack:2,spawn:3,speak:3,special:[1,3],specif:[1,2,3,4],specifi:[1,2,3,4],speed:1,spell:1,spent:[1,3],spin:1,split:[1,3],spoken:1,spread:3,squeue:4,src:1,srun:4,ssh:[2,4,5],ssh_config:1,sshd:3,sstat:4,st:[3,4],staff:[1,2],stai:2,stand:[1,2,3],standard:1,start:[1,2,3,4,5],start_cpu_sess:4,stat:3,state:[3,4],statist:[1,4],statu:[1,3,4],steadi:3,step:[1,2],still:[1,2,3],stime:3,stole:1,stolen:1,stop:3,storag:[1,4],store:[1,2,3,4],straightforward:1,strategi:1,string:1,strong:1,stronger:2,subcommand:2,subdirectori:3,subfix:3,submit:1,subproject:2,subsequ:[1,2],substanti:[2,3],subsystem:2,subtl:2,success:2,successfulli:[1,2,3],suffic:3,suggest:2,suit:1,summar:4,summari:4,superus:1,support:[1,2],suppos:[1,2],sure:[2,3],surfac:3,surprisingli:1,suspend:4,swap:[1,3],sy:3,symbol:3,symlink:[2,3],symmetr:1,sync:4,syntax:[3,5],sysop:1,system:[2,4],systemd:3,t:[1,2,3],tab:3,tabl:[0,4],tag:[],tailor:2,take:[1,2,3,4],taken:5,talk:[],tape:1,tar:1,tarbal:1,target:3,task:[3,4],technic:[2,3,4],tediou:2,tee:1,tell:[1,2,3,4],temp:[1,3],temporari:1,tend:3,term:[1,4],termin:[1,2,3,4],terribl:1,test:[2,3,4],testserv:1,testus:1,text:[1,2,3],than:[1,2,3],thankyouverymuch:1,thei:[1,2,3,4],them:[1,2,3,4],themselv:1,therefor:1,thi:[1,2,3,4,5],thiev:1,thing:[1,2,3],think:[3,4],third:[1,3],those:[1,2,3,4],though:[3,4],thousand:1,three:[1,2,3],through:[1,2,4],thu:[1,3,4],ti:1,time:[1,2,5],time_left:4,timelimit:4,tip:3,tmp:[1,2],tmpf:3,tmux:[2,4],todolist:1,toe:3,togeth:2,toggl:3,toi:3,token:1,told:4,too:[2,3],took:3,tool:[1,2],top:[3,4],topic:1,total:[1,3,4],touch:[2,3],track:[2,3],tradeoff:2,traffic:1,trailingonli:3,train:4,transfer:5,transpar:1,travel:1,travers:3,treat:1,tree:3,tri:1,trial:3,trick:1,troubleshoot:2,truecolor:2,tty:3,tue:1,tunnel:4,turn:[1,2,4],twice:3,two:[1,2,3,4],txt:[1,2,3],type:[1,2,3],typic:[1,2,3,4],typo:1,u:[1,3],uc:5,ucdavi:4,ucx:2,uid:3,unabl:2,uncorr:3,under:[1,2],underneath:1,understand:2,unduli:1,unencrypt:1,unfortun:[1,4],unimport:1,unintention:3,uniqu:[3,4],unit:[1,3],univers:1,unix:[1,2,3],unless:[1,2],unlik:[1,3],unload:[2,4],unpack:1,unrespons:3,unset:2,unspecifi:1,until:[1,2,3,4],unus:[1,2],unwittingli:3,up:[1,3,4,5],updat:[1,2,3,4],upload:4,upon:[],uppercas:[1,2],url:1,us:[2,4,5],usag:[1,2,4],usb:[],user1:4,user2:4,user3:4,user4:4,user5:4,user6:4,user7:4,user:[2,3,4],userjob:4,usernam:2,usr:[1,2,3],usual:[1,2,3],util:[1,2,3],v7wj:1,v:3,valu:[2,3],variabl:[3,4],varianc:3,variat:1,variou:3,vastli:1,ve:[2,3,4],veri:[1,2,3],verifi:1,version:[2,3],vertic:3,vg0:3,vg1:3,vg3:3,vi:[],via:[1,2,3,4],view:3,vim:[1,2,3],virt:3,virtual:[1,2,3,4],virtualbox:2,visit:[1,3],volatil:3,vs:4,vscode:4,w:[1,3],wa:[1,2,3],wai:[1,2,3,4],wait:[1,3,4],walk:4,wall:3,walltim:4,want:[1,2,3],warn:1,we:[1,2,3,4],web:[1,3],week:4,welcom:1,well:[2,3,4],went:1,were:[1,3],wget:2,what:3,whatev:[1,3],when:[1,2,3,4],whenev:[2,3],where:[1,2,3],whether:[1,2,3,4],which:[1,2,3,4],whichev:1,who:[1,2,3],whose:1,why:2,wide:[1,2,3],wiki:[],wikipedia:[],wildcard:1,win1:3,win2:3,window:2,within:[1,2,3],without:[1,2,3],won:4,word:[1,3],work:[1,2,3,4,5],workflow:[2,3],workload:4,workshop:[1,5],world:[1,2],wors:1,worth:2,worthwhil:2,would:[1,2,3,4],wp:1,writabl:1,write:[1,2,3,4],written:[1,2,3,4],wrong:1,wrote:3,www:1,x:[1,2,3,4],x_:4,xferd:1,xfz:1,xkcd:1,xr:1,y:2,yaml:2,ye:3,yet:[1,2],yml:2,you:[1,2,3,4,5],your:[0,1,2,4],yourself:[1,2,3],z:[2,3],zen:2,zero:3,zfp:2,zlib:2,zombi:3,zone:1,zprofil:3,zsh:[2,3]},titles:["1. Introduction","2. Connecting To A Server","3. Setting Up Software","4. Running Scripts","5. Cluster Computing","Overview"],titleterms:{"export":2,A:1,And:1,Is:1,The:[1,3],To:1,account:1,administr:1,alias:2,an:[2,3],ar:1,authent:1,bash:2,basic:[1,3],between:1,cluster:[1,4],code:3,comput:[1,4],config:1,configur:[1,2],connect:1,creat:2,curl:1,current:1,data:1,davi:2,directori:1,don:4,download:1,edit:2,environ:2,estim:3,etiquett:[1,4],everi:4,exampl:3,execut:3,exist:1,farm:[],file:[1,2,3],find:3,from:1,goal:5,home:1,host:1,how:1,hpc:2,info:4,inform:3,instal:2,interact:4,internet:1,introduct:0,job:[1,4],kei:1,known:1,known_host:[],learn:[1,2,3,4,5],local:1,manag:[1,2,3],micromamba:2,modul:2,monitor:[3,4],move:1,multi:4,multipl:3,object:[1,2,3,4],open:1,organ:4,other:[1,2,3],overview:5,packag:2,pane:3,parallel:4,partit:4,password:1,peopl:1,perform:3,permiss:[1,3],posix:1,prerequisit:5,privaci:1,process:[3,4],project:4,queue:4,ram:3,real:[3,4],remot:1,request:4,requir:3,resourc:[1,3],run:[3,4],s:2,schedul:1,scp:1,script:3,sequenc:4,server:1,session:3,set:2,sftp:1,shebang:3,shell:[],slurm:4,softwar:2,ssh:1,storag:2,structur:1,submit:4,system:[1,3],t:4,thread:4,time:[3,4],tip:[],tmux:3,transfer:1,type:4,uc:2,up:2,upload:1,us:[1,3],usag:3,user:1,variabl:2,want:4,wget:1,what:[1,2,4],window:3,your:3}}) \ No newline at end of file +Search.setIndex({docnames:["chapters/01_introduction","chapters/02_connecting-to-a-server","chapters/03_environment-setup","chapters/04_running-scripts","chapters/05_cluster-computing","chapters/index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["chapters/01_introduction.md","chapters/02_connecting-to-a-server.md","chapters/03_environment-setup.md","chapters/04_running-scripts.md","chapters/05_cluster-computing.md","chapters/index.md"],objects:{},objnames:{},objtypes:{},terms:{"0":[1,2,3,4],"00":[1,3,4],"000":3,"00000000":3,"001":1,"005":[],"007":1,"01":[3,4],"02":[1,2,3,4],"03":[1,3,4],"037":[],"04":[2,3],"049":3,"05":1,"058":[],"07":[3,4],"0700":1,"073":3,"08":[3,4],"089":3,"09":[1,4],"091":[],"096":3,"0k":3,"0m":3,"0m0":3,"0m1":3,"0m2":3,"0m35":3,"0m36":3,"0m9":3,"0mb":1,"1":[1,2,3,4],"10":[1,2,4],"100":[1,3],"1000":3,"10000":[],"101":4,"1027":3,"1031":3,"1032":3,"104":3,"108":1,"109":1,"10m":4,"10mb":4,"11":[1,2,3,4],"112":3,"1164":1,"11652":3,"117t":3,"12":[1,2,3,4],"120g":4,"122g":3,"126g":3,"12748":3,"129":[],"12936":3,"13":[1,2,3,4],"135918main_bm1_high":1,"137k":1,"14":[1,2,4],"1406":3,"142":1,"14m":3,"15":[2,3,4],"150":4,"15000":[],"1536":3,"15g":3,"16":[1,2,4],"16384":1,"168":[1,3],"16g":3,"17":[1,2,3,4],"172916":3,"17360":3,"174":3,"174t":3,"17840":3,"1792":3,"17_8":2,"18":[1,3,4],"1804235":4,"1833":3,"1834":3,"1836":3,"19":[1,4],"190":1,"191k":1,"192":1,"19206":1,"19348":1,"195439":1,"196":1,"1972":1,"1989378":3,"1989412":3,"1989413":3,"1989436":3,"1989437":3,"1989587":3,"1989588":3,"1990312":3,"1990640":3,"1995213":3,"1995214":3,"1g":3,"1m":3,"1t":3,"2":[1,2,3,4],"20":[1,3,4],"200":1,"2000":3,"20000":[],"2000m":4,"2002776":3,"2002783":3,"2004":1,"200g":4,"2011773":3,"2011775":3,"2011885":3,"2012094":3,"2012182":3,"2015504":3,"2015629":3,"2021":1,"2022":[1,2],"2023":[1,3],"2024":4,"203":3,"20g":4,"21":[1,3,4],"2108kb":1,"2158139":1,"2158216":1,"22":[1,2,3,4],"22t09":4,"23":[2,4],"231g":3,"234m":3,"24":4,"240m":3,"251":1,"26":[2,4],"2607":1,"266":1,"26g":3,"27":1,"2768":3,"28":[1,3,4],"283":3,"29":1,"2_gnu":2,"2a04":1,"2m":3,"2mb":[],"3":[1,2,3,4],"30":[1,3,4],"300":3,"300k":3,"300w":3,"305":3,"3072":[1,3],"31":1,"32":[1,4],"32g":4,"33":3,"3328":3,"35":[3,4],"36":[2,3,4],"360":3,"3628":3,"36c":3,"37":4,"38":[1,4],"3840":3,"3880":3,"3kb":1,"4":[1,2,3,4],"40":[3,4],"4000":3,"4005":1,"4096":1,"40g":4,"40k":3,"41":3,"416g":3,"42":4,"426c":1,"43":[2,3,4],"44":3,"443":1,"45":[1,3,4],"45w":3,"46":[1,2,3,4],"463g":3,"47":3,"477m":3,"48893":3,"49":3,"492":3,"4g":4,"4m":3,"4mib":3,"5":[1,2,3,4],"50":[3,4],"5000":3,"50000":[],"502g":3,"51":[2,3],"512":3,"52":4,"53":4,"535":3,"5376":3,"54":4,"55":3,"56":[3,4],"5632":3,"56968":3,"57":[1,4],"579":2,"58":4,"58t":3,"59":[1,4],"5g":3,"5m":3,"6":[1,2,3,4],"60":[3,4],"6173446":4,"6192":3,"62":[3,4],"63g":3,"64":3,"64273":3,"66":1,"6632":3,"667":3,"6785":3,"6788":3,"69":4,"6m":3,"7":[1,2,3,4],"701":3,"71":4,"718":3,"72m":3,"76":3,"761":3,"7672":3,"7680":3,"77":[3,4],"7900":3,"7936":3,"7m":3,"8":[2,3,4],"80":2,"8000":3,"80gb":3,"812":1,"8192":[1,3],"81920mib":3,"82":3,"83":3,"8380":3,"84":3,"843g":3,"85":3,"86":4,"86k":1,"87":4,"8747":3,"87g":3,"89k":1,"8g":[3,4],"8m":3,"9":[1,2,3,4],"906g":3,"91":3,"9124":3,"92":4,"9297800":4,"9318810":4,"932":3,"9375105":4,"9375115":4,"9375794":4,"9376376":4,"9377130":4,"9377337":4,"9377346":4,"9384372":4,"94":3,"96":4,"97":[],"974":3,"98":3,"9984":3,"9g":3,"9m":3,"9t":3,"break":[2,4],"case":[1,2,3,4],"catch":1,"default":[1,2,3],"do":[1,2,3,4],"final":[1,2,3,4],"function":[3,4],"import":[1,2,3,4],"int":3,"long":[1,2,3,4],"new":[1,2,3,4],"public":1,"return":[1,4],"short":1,"super":1,"switch":[2,3],"throw":3,"true":[1,3],"try":[1,2,3],"var":3,"while":[1,2,3,4],A:[2,3,4],AT:1,And:[3,4],As:[1,2,3],At:[1,2,3],Be:2,Being:[1,2],But:[1,3],By:[1,2,3],For:[1,2,3],IT:1,If:[1,2,3,4],In:[1,2,3,4],It:[1,2,3,4],Its:1,NO:1,No:[1,3],On:[1,2,3,4],One:[1,2,3],Or:4,That:[2,3,4],The:[2,4,5],Then:[1,2,3],There:[1,2,3,4],These:[1,2,3],To:[2,3,4],Will:3,With:[1,2,3,4],__main__:3,__name__:3,_build:3,_libgcc_mutex:2,_openmp_mutex:2,_static:3,a100:[3,4],abil:[1,3],abl:[1,2,3,5],about:[1,2,3,4],abov:[1,2,3,4],absolut:[1,3],accept:[1,2,3],access:[1,2,5],accident:[1,2],accommod:2,accord:[1,3],account:4,acct1:4,acct2:4,acct3:4,acct4:4,acct5:4,acct6:4,accur:1,across:3,act:[1,3],action:1,activ:[1,2,3,4],actual:[1,2,3],ad:[1,2,4],add:[1,2,3,4],addit:[1,2,3,4],addition:[1,3],address:[1,2,4],adequ:[2,4],administr:2,advanc:2,advic:[1,4],affect:3,aforement:1,after:[1,2,3,5],again:[1,2,3],against:[1,2,3],ahead:[1,2],aim:[],algorithm:[1,3],alia:[2,4],alias:4,align:[1,4],aliv:3,all:[1,2,3,4],alloc:[1,3,4],allow:[1,2,3,4],almost:[1,2],along:[1,2,4],alreadi:[1,2],also:[1,2,3,4],alter:[1,3],altern:[1,2],although:[],altogeth:3,alwai:[1,2,3],amdfftw:2,amic:1,amount:[1,3],an:[1,4,5],analysi:3,anatomi:3,ani:[1,2,3,4],anoth:[1,2,3,4],anotherserv:1,anotherserver_rsa:1,anybodi:1,anyon:[1,2],anyth:[1,2,3,4],anywher:1,app:2,appear:[1,2],append:[1,2,3],appimag:2,appli:1,applic:[1,3],approach:[1,2],apr:1,apt:2,ar:[2,3,4,5],arch:1,architectur:1,archiv:1,area:3,aren:3,arg1:3,arg2:3,arg3:3,arg:3,argument:[1,2,3,4],argv:3,around:[1,2,3,4],arrai:3,arrow:3,asid:[1,2],ask:[1,2,3,4],assign:[1,2,3],associ:[1,2,3],assum:1,assumpt:[1,3],asymmetr:1,attach:3,attack:1,attempt:1,authent:[],authorized_kei:1,auto:1,autom:3,automat:2,avail:[1,2,3,4],avecpu:4,averag:[1,3],avoid:[1,2],awai:3,await:1,awar:[1,2,3],b:3,back:[1,2,3],bag:1,balloon:3,ban:1,bandwidth:1,bar:3,base:[1,2,3],base_matrix:3,bash:[3,4],bash_profil:[2,3],bashrc:[1,2,4],basic:[4,5],batch:4,beacon:[3,4],beacon_9384572:4,becaus:[1,2,3],becom:[3,4],been:[1,2,3,4],befor:[1,2,3,4],begin:[1,2,3],behav:[1,2],behavior:[1,3],being:[1,3],belong:[1,2,4],below:[1,2,3,4],beneath:3,benefit:[1,2],besid:[1,2],best:[2,3],between:[2,3],beyond:[1,2,3],bgpu:4,big:[1,3,4],bigger:1,biggest:3,bigmem10:4,bigmem8:4,bigmem9:4,bigmem:4,bigmemh:4,bigmemht:4,bigmeml:4,bigmemm:4,bigz:[],bin:[1,2,3,4],binari:[2,3],bird:3,bit150h:4,bit:[2,3,4],blank:2,blue:1,bluemarbl:1,bluemarble1972:1,bm20:4,bm:4,bmh:4,bml:4,bmm:4,bog:3,book:[0,1],boost:2,boot:3,both:[1,2,3],bottom:3,bourn:2,brief:1,briefli:3,bring:[1,3],broadli:1,browser:[1,3],bu:3,buff:3,bug:2,build:[1,2,3],built:[1,2],bundl:1,burden:2,bye:1,bzip2:2,c000:1,c4:3,c:[2,3],cach:[2,3],calcul:3,call:[1,2,3],callback:4,callout:4,campu:1,can:[1,2,3,4],cancel:4,cannot:1,cap:3,capabl:4,capit:1,care:2,cartoon:1,cat:[1,3,4],categori:1,caus:[1,2,3],caveat:1,cd:[1,2,4],cdot:[],cee:[],cell:3,censor:4,certain:3,cetera:1,cfg:2,cgal:2,cgroup:3,chang:[1,2,3,4],channel:[1,2],chapter:[0,1,2,3,4],charact:1,cheat:[2,3],check:[1,2,3,4],chmod:[1,2,3],chocolatei:2,choos:[1,2,3],ci:3,circumst:1,claim:1,classic:2,clean:2,click:1,client:1,clock:1,close:[1,2,3],cloud:[1,2],cluster:[2,5],cm:2,cmd:[2,3],co:1,code:[1,2,4],cog:1,cognit:2,collabor:2,collect:[2,3],colon:[1,2],colorterm:2,column:[3,4],com:[1,4],combin:[],come:[1,3],comfort:[1,2,5],command:[1,2,3,4,5],commandarg:3,comment:3,common:[1,2,3],commonli:1,commun:[1,2],compar:1,compat:2,compil:[2,3],complet:[1,2,3],complex:2,compon:[1,3,4],compress:[1,4],compris:3,compromis:1,comput:[2,5],concept:[1,3],concern:1,concert:3,conclud:3,conda:[2,3,5],conda_forg:2,confid:3,config:2,configur:3,confirm:[1,2],conflict:2,connect:[2,3],consensu:2,consequ:1,consid:[1,3,4],consider:3,consist:1,constant:3,constraint:3,construct:3,consult:[3,4],contact:1,contain:[1,2,3],content:[0,1,2,3],context:[1,3],continu:[1,3,4],contrast:3,control:[1,2,3],conveni:[1,2],convent:2,coordin:1,copi:[1,3],core:[2,4],correct:1,corrupt:1,cost:2,could:[1,4],counterpart:1,cover:[3,5],cp:1,cpu:[1,3,4],crash:1,creat:[1,3,4],creation:1,cricit:1,cross:2,crucial:1,cryptograph:1,cryptographi:1,csv:3,ctrl:3,cu:3,cuda:[2,3],curl:2,current:[2,3,4],custom:[1,2,3],cut:[],cxx4:2,d:[1,2,3,4],dai:[1,3,4],damag:1,dash:1,dashboard:3,data:[3,4],data_smal:3,dataarch:1,datalab:[3,4,5],datalabg:4,datalabgrp:[3,4],date:[1,2],davi:5,deactiv:2,deadlin:1,debian:2,debug:4,dec:1,decent:4,decid:2,declar:[],decod:1,decompress:1,decrypt:1,dedic:[1,3],deep:4,def:3,defin:[2,3,4],delet:[1,2],deni:3,denot:1,depend:2,dept:4,depth:3,describ:[1,2],descript:1,design:[1,2,3],desir:[1,4],desktop:2,destin:1,detach:[3,4],detail:[1,2,3,4],detect:[1,2],determin:[3,4],dev:3,develop:[1,2,3,4],devic:[],devtmpf:3,df:[3,4],dh:3,dhjnxmne02gfe4iquk64:1,diagnos:2,did:2,differ:[1,2,3,4],dir:1,direct:[2,3],directli:[1,2,3],directori:[2,3,4],disabl:[1,3],discuss:[1,3,4],disk:[1,3,4],disp:3,displai:[1,2,3],distinct:2,distribut:2,dive:4,divid:3,dload:1,docker:2,document:[1,2],doe:[1,3],doesn:[2,3],dollar:2,don:1,done:[1,3,4],dot:1,doubl:[2,3],doubt:1,down:[1,3],download:[2,3,4],dozen:1,dplyr:3,drawback:1,drive:1,driver:3,drop:2,drwx:1,drwxr:1,ds:3,dsl:3,du:[3,4],due:1,dure:1,e:[1,3,4],each:[1,2,3,4],earli:4,earlier:1,easi:2,easier:[1,2,4],easili:[1,3],easybuild:2,ecc:3,echo:[1,2,3],ecl243:4,edit:1,editor:[1,2],edu:4,ee:1,effect:1,effort:1,eigen:2,either:[1,2,3,4],elaps:3,element:3,elimin:2,els:1,email:[1,4],empti:[0,1,2],en:[],enabl:[1,3],encount:2,encourag:[1,4],encrypt:1,end:[1,3,4],endang:1,engin:2,enough:2,ensur:[1,2],enter:[1,2,3,4],entir:[1,3],entireti:1,env:[2,3,4],environ:[3,4],equal:2,equat:[],equip:4,equival:[1,3,4,5],err:4,error:[1,2,3,4],especi:[1,2,3,4,5],essenti:[1,3],establish:1,estim:1,et:1,etc:[1,3,4],etcetera:[],etiquett:[3,5],etsi:1,eval:3,even:[1,2,3],eventu:3,ever:[1,2],everi:[1,2,3],everyon:1,everyth:[2,4,5],evid:[],eviron:2,ex:2,exact:1,exactli:[1,2],examin:2,exampl:[1,2,4],exce:1,exceed:1,exceedingli:1,except:[3,4],excess:1,exchang:1,exclus:1,execut:[1,2],exist:3,exit:[1,2,3,4],exitcod:4,expand:3,expect:[1,3],experi:[2,5],explain:[2,3,4,5],explan:[3,4],explicitli:1,exploit:1,exponenti:3,express:3,extens:[2,3,4],extent:3,extern:3,extra:[1,3,4],extrem:[1,3],ey:3,f8b0:1,f:3,fa87:1,faceless:1,facil:2,fact:[1,3],factor:1,factori:3,fail:4,fair:[1,4],fall:1,famili:2,familiar:[1,2,3],fan:3,far:4,farm:[2,4,5],fast:3,faster:[2,3],favorit:2,fcyc:1,fd:2,featur:[1,2,3],feel:[2,3],fetch:1,few:[2,3],fffd:1,fftw:2,fi:3,fibonacci:3,file:[4,5],filenam:[],filesystem:[1,3],fill:1,find:[1,2],fine:[1,2,3],fingerprint:1,finish:[1,2,4],finit:1,first:[1,2,3,4],fish:2,fit:3,five:[1,3],fix:[1,2,3],fju:3,flag:[2,3,4],flatpak:2,flexibl:2,flow:3,flush:3,fly:1,focu:[2,3],focus:[2,3],folder:2,follow:[1,2,3,4],foo:2,forg:2,forget:1,forkbomb:[],form:1,formal:3,format:[2,3,4],former:3,formmat:4,formul:1,fortran:2,forward:1,found:[1,2,3],four:[1,4],fourth:4,frac:[],free:[3,4],freeli:1,freez:2,frequent:[2,3],fresh:2,from:[2,3,4,5],front:2,frontpag:1,frv:2,fs:3,full:[1,2,3,4],fun:1,fundament:2,further:[1,3],furthermor:[],g:[1,3],gain:1,gcc:2,gener:[1,2,3,4],get:[1,2,3,4,5],gi:3,giant:[1,3],gib:3,gigabyt:[2,3],git:[2,3,4],github:[1,3],give:[1,2,3,4],given:[1,2,4],glean:1,gmp:2,go:[1,2,3,4],goe:[2,3],good:[1,2,3],googl:1,gov:1,gpu:[1,3,4],gpuh:4,gpul:4,gpum:4,gradual:3,great:3,grep:[2,3,4],grind:1,group:[1,2,3],growth:3,gsl:2,guarante:[2,3],guess:3,gz:1,gzip:1,h166bdaf_0:2,h59595ed_0:2,h5z:2,h69a702a_3:2,h7e041cc_3:2,h807b86a_3:2,h:[3,4],ha4646dd_3:2,ha:[1,2,3,4],hack:1,hacker:1,had:[2,3],halt:1,hame:1,hand:1,handl:4,happen:1,hard:[1,2,3],hardwar:[2,3],harm:3,hash:1,have:[1,2,3,4,5],hbea9962_0:2,hd590300_0:2,hdf5:2,he8a937b_3:2,head:[1,4],header:[3,4],heavi:1,held:4,hello:[2,3],help:[1,2,3,4],here:[1,2,3,4],hi:3,hidden:1,hierarchi:1,high2:4,high:[2,3,4,5],highli:[1,2],hint:3,histor:1,histori:2,hmm:4,hog:1,hold:[1,3],home:[2,3],homebrew:[2,3],honest:1,horizont:3,host:[],hostnam:4,hour:[3,4],how:[2,3,4,5],howev:[1,2,3,4],hpc:[4,5],html:1,htop:[3,4],http:1,human:[2,3],hundr:3,hwloc:2,hygien:1,hyperlink:1,hypr:2,i:[1,3,4],ic:2,id:[3,4],id_rsa:1,idea:[1,2,3],ideal:[1,4],ident:1,identif:1,identifi:[1,3],identityfil:1,idl:4,ignor:1,il:4,imag:1,imagin:[1,3],img:3,immedi:[1,2,4],impact:[],imperson:1,implement:[1,3],impli:1,importantli:[1,3],imposs:1,improv:1,inaccess:1,inbox:4,includ:[1,2,3,4],incom:1,incorrect:1,increas:1,increasingli:3,increment:3,indefinit:[3,4],independ:2,index:[1,3],indic:[1,2,3],individu:[1,4],inevit:1,info:2,inform:[1,2,4],ing:[],init:2,initi:[1,3],inner:3,input:[1,3],insecur:1,insert:3,insid:[1,3],inspect:[1,2,3],instal:[1,3,5],instanc:[2,3],instead:[1,2,3,4],instruct:[1,2,3,4],intact:2,integ:3,intel:2,intend:[1,2,4],intens:[1,3,4],intent:3,interact:[1,2,3,5],intercept:1,interconnect:1,interest:[1,3],interfac:[2,4],interfer:1,intern:1,internet:3,interpret:[2,3],interrupt:1,introduc:[1,4],introduct:5,invad:1,invas:1,invest:2,invoc:1,invok:1,involv:3,ip:1,isn:4,issu:[1,2],iter:3,its:[1,2,3,4],itself:[1,3],j:[3,4],jdk:2,job:3,jobid:4,jpeg:1,jpg:1,julia:2,jupyt:4,just:[1,2,3,4],k:3,kb:1,keep:[2,3,4],kei:3,kept:1,kernel:3,keybind:3,keygen:1,keystrok:1,keyword:1,kick:[3,4],kid:1,kill:3,kilobyt:3,kind:3,know:[1,2,4,5],knowledg:2,known_host:1,l:[1,2,3,4],la:1,lab:4,languag:[1,2,3],laptop:2,larg:[1,4],larger:[1,3],last:1,later:[1,2],latter:[3,4],launch:4,layout:1,lcd:1,ldxozuff:1,leak:1,learner:5,leav:[1,2,3],left:[1,3,4],legitim:1,length:1,less:2,lesshistfil:2,let:[1,2,3,4],level:[1,3],lib64:1,lib:[1,2,3],libev:2,libexec:3,libframel:2,libgcc:2,libgfortran5:2,libgfortran:2,libgomp:2,librari:[1,3],librsvg:2,libstdcxx:2,libszip:2,lifetim:1,lightweight:2,like:[1,2,3,4],limit:[1,3],line:[1,2,3,4,5],linear:3,linearli:[],link:1,linux:[1,2,3,5],list:[0,1,2,3,4],littl:[2,3],ll:[1,2,3,4],lmkdir:1,load:[2,3,4],local:[2,4],locat:[1,2],lock:2,log:[1,2,3,4,5],login:[1,4],logout:[1,4],longer:[1,2,4],look:[1,2,3,4],loop:[1,3,4],lore:1,loss:1,lost:3,lot:[1,3],low2:4,low:4,lowercas:1,lpwd:1,ls:[1,3],lvcoraid1:3,lvcoraid2:3,lvdata:3,lvhome:3,lvoutput:3,lvroot:3,lvusr:3,lvvar:3,m34754_a2:1,m:3,machin:[1,3,4],maco:[2,3],made:1,magnitud:1,mai:[1,2,3,4],mail:4,main:[1,2,3],maintain:[1,2],major:1,make:[1,2,3],malici:[1,2,3],mamba:[2,5],man:[1,3,4],manag:4,mani:[1,2,3,4],manipul:1,manual:1,manufactur:3,mapper:3,mar:1,marbl:1,march:1,markup:2,mat:3,match:[1,2],mathemat:3,matric:3,matrix:3,matter:2,matur:2,max:4,maxim:1,maximum:[3,4],maxrss:4,mayb:3,mb:1,mcl:4,me:[1,4],mean:[1,2,3,4],meant:[1,2],measur:3,med2:4,med:4,media:1,megabyt:3,mem:[3,4],memori:[1,3,4],mention:1,menu:1,messag:[1,2,4],metadata:4,method:[1,2,3],metric:3,mi:1,mib:3,micro:2,middl:1,mig:3,might:[1,2,3,4],mimic:1,min_m:4,mind:1,miniforg:2,minim:1,minut:[1,3,4],mirror:1,misconfigur:1,mislead:3,mismatch:1,miss:[1,2],mistak:1,mitig:3,mix:[1,4],mkdir:[1,2,4],mkl:2,mm:2,mnt:[],mode:[1,3],model:[3,4],modern:2,modifi:[1,2],modul:4,modulefil:2,moment:[1,2],mon:1,more:[1,2,4],most:[1,2,3,4],mount:3,move:[3,4],movement:3,mpfr:2,much:[1,2,3,4],multipl:[1,2,4],multiplex:[3,4],must:[0,1,2,3,5],mypc:1,n:[3,4],name:[1,2,3,4],name_job:4,nano:2,nasa:1,nativ:2,navig:[2,3],nearli:3,neat:1,necessari:[1,2,3],need:[1,2,3,4,5],neg:3,neither:1,nerd:1,nest:3,netcdf:2,network:1,never:1,nevertheless:[2,3],newer:[2,3],newkei:1,next:[1,3],ng:2,ni:3,nice:3,nick:2,nine:3,nix:2,node:[1,4],nodelist:4,nompi_hc118613_108:2,non:[0,1,3,4,5],nor:1,normal:[2,3],not_ent:3,notat:[1,3],note:[1,2,3,4],noth:1,notic:[1,2,3],notifi:4,nov:1,now:[1,2,3,4],np:3,ntask:4,number:[1,2,3,4],numpi:3,numpy_matrix:3,nvhpc:2,nvidia:3,o:[1,2,3,4],obtain:1,obvious:[],occasion:2,occur:1,oct:[1,3],octal:[1,3],off:[3,4],offens:1,offer:1,offici:2,offset:1,often:[1,2,3],ok:1,okai:2,old:[1,2],older:2,omit:[1,2],onc:[1,4],one:[1,2,3,4],oneapi:2,ones:[1,3],onli:[1,2,3,4],onlin:[1,2,3],onto:3,oo:1,oooo:1,open:[2,3,4],openjdk:2,openmpi:[2,4],oper:[1,2,3,4],opposit:1,opt:1,optim:3,option:[1,2,3,4],order:[1,2],org:[],organ:1,origin:[1,3],other:4,otherwis:1,our:[3,4],ourselv:[],out:[1,2,3,4],outdat:[],outer:3,output:[1,2,3,4],output_scrol:[],outright:1,outsid:[1,3],over:[1,2,3],overal:4,overtax:1,overview:4,overwhelm:3,overwork:1,overwrit:2,own:[1,2,3,4],owner:1,p0:3,p:[1,3,4],pack:1,packag:[1,3],page:[1,3,4],painless:2,pair:1,pam:3,paramet:4,parent:[1,3],pars:3,part:[1,3,4],parti:[1,3],particip:5,particular:[1,3],particularli:2,partion:4,pass:[1,3],passphras:1,passwd:1,past:[1,3],path:[1,2,3,4],path_help:3,pattern:[1,3],pc:1,pcie:3,pd:4,peacefulli:1,pend:4,peopl:2,per:[1,4],percentag:[],perf:3,perfect:1,perform:[1,2,5],perhap:3,period:2,perman:1,persist:[2,3],person:[1,2],perspect:1,pgid:3,phone:1,physic:3,pid:3,piec:[1,3,4],pigz:2,pipe:[1,2],pitfal:2,pkg:2,place:[2,3],plaintext:3,plan:[1,4],platform:2,pleas:1,plug:[],pm:2,pmix:2,podman:2,point:[1,3],poke:1,polici:1,pop:1,popul:3,popular:[2,3],portion:[1,3,4],posit:3,posix:2,possibl:[1,2,3,4],post:1,postiv:[],potenti:[1,2,3],power:[1,3,4],powershel:2,ppid:3,pr:3,practic:[1,2,3],pre:[2,3],precompil:3,predecessor:2,prefer:[2,3],prefix:[1,2],prepend:[2,3,4],present:3,preset:3,press:[1,2],pretend:1,prevent:[1,2],previou:[1,3,4],previous:1,primarili:[1,3],principl:[],print:[1,2,3,4],prior:5,prioriti:[3,4],privaci:[],privat:1,privileg:1,probabl:[1,2,3],problem:[1,2,3],proce:1,procedur:1,process:[],produc:2,profil:2,program:[1,2,3,4,5],project:2,prompt:[1,2],pronounc:1,proof:1,properli:0,properti:1,proport:3,proportion:1,protect:[1,3],protocol:1,prove:1,provid:[1,2,3,5],ps:3,pst:1,pt:3,pty:4,pub:1,publish:1,purpos:[1,3,4],put:[1,2,4],pwd:1,pwr:3,py:[3,4],python3:[3,4],python:[2,3],q:[1,3],quadrat:3,quadrupl:3,queri:1,question:1,queu:4,quick:[2,3],quickli:[1,2,3],quiet:1,quit:[1,3,4],quot:2,r:[1,2,3,4],r_libs_us:2,r_profile_us:2,raallga1:4,ran:2,random:1,randomart:1,rang:3,rank:2,rantallg:4,rare:1,rate:3,rather:[1,2,3],re:[1,2,3,4],read:[1,2,3,4],readabl:[1,2,3],reader:[1,2,4],readi:[2,4],readout:3,real:1,realli:1,reason:[1,3,4],reassign:2,rebuild:3,recal:[3,4],receiv:1,recent:2,recip:3,recommend:[1,2,3],recreat:[1,2],recurs:1,redirect:[1,2],reduc:1,refer:[1,2,3],referenc:1,reflect:3,refus:1,regard:1,regardless:[1,3],regular:[1,3],rel:[1,2],relat:[1,3],relationship:[1,3],releas:2,relev:1,reli:3,reliev:1,reload:2,remain:[1,2,4],rememb:[1,2],remot:[2,3,5],remov:[1,2],renam:1,render:[0,1],reopen:2,repeat:1,replac:[1,2],repositori:[2,3],repres:3,represent:3,reproduc:[2,3,4],request:[1,2],requeu:4,requir:[1,2,4],research:[2,3,4],resembl:4,reserv:[4,5],reset:2,resid:3,resolv:1,resourc:4,respect:[1,3],respectv:1,respond:1,respons:[1,4],rest:1,restart:2,result:[1,2,3,4],resum:1,retain:1,rethink:3,retriev:4,retyp:1,review:2,revisit:2,rg:2,right:[1,2,3],rigor:3,ripgrep:2,rise:3,rm:1,rmdir:1,rnu:1,rom:[],root:1,roughli:[1,3],row:4,rprofil:2,rsa:1,rsa_cryptosystem:[],rscript:3,rstudio:4,rsync:4,rude:1,rule:1,run:[1,2,5],rw:[1,3],rwx:1,rwxr:[1,3],s:[1,3,4,5],safe:[1,2,3],sai:2,said:[1,2],same:[1,2,3],sandwich:3,save:[1,2,3,4],saw:3,sbatch:4,sbin:[1,2],scale:3,scancel:4,scenario:3,schedul:[3,4],scheme:1,scienc:3,scientif:1,scientist:3,scontrol:4,scope:[1,2,3,4],scratch:[1,3,4],screen:3,screenshot:3,script:[1,2,4],sd:3,sda1:3,seamless:1,search:[1,2],second:[1,2,3],section:[1,2,3],secur:1,see:[1,2,3,4],seldom:1,select:[1,2,3],send:[1,3,4],sens:1,sent:[1,4],separ:[1,2,3],sequenc:3,seri:5,seriou:1,serv:2,server:[2,3,4,5],servic:[1,2],session:[1,4],session_manag:2,set:[1,3,4,5],setup:[1,3],sever:[1,2,3],sh:[2,3,4],sha256:1,share:[1,2,3,4],shebang:[],sheet:[2,3],shell:[1,2,3,4,5],shield:1,shift:3,shm:3,shortcut:1,shorter:1,shortest:1,shorthand:[1,3],should:[1,2,3,4,5],show:[1,2,3,4],shown:1,shr:3,shut:1,si:3,sid:3,side:1,sign:[1,2],signatur:1,signific:1,silent:1,similar:[2,3],similarli:[1,3],simpl:3,simpler:1,simplest:1,simpli:[1,3,4],simplifi:1,simultan:[1,2,4],sinc:[1,2],sinfo:4,singl:[1,2,3],sit:3,site:1,size:[1,3],skill:2,skip:1,slash:[1,2],sleep:3,slight:[1,2],slightli:[1,2,3],slow:[1,3],slower:[1,2],slur_job_id:4,slurm:[2,5],slurm_job_id:4,slurm_nodelist:4,slurn:[],small:[1,3],smi:3,smooth:1,snoop:1,so:[1,2,3,4],softwar:[1,3,5],sole:2,solut:[1,2],some:[1,2,3,4],somehow:1,someon:[1,2],someth:[1,3],sometim:[1,2],sort:3,sound:1,sourc:[1,2],space:[1,2,3,4],spack:2,spawn:3,speak:3,special:[1,3],specif:[1,2,3,4],specifi:[1,2,3,4],speed:1,spell:1,spend:3,spent:[1,3],spin:1,split:[1,3],spoken:1,spread:3,squar:3,squeue:4,src:1,srun:4,ssh:[2,4,5],ssh_config:1,sshd:3,sstat:4,st:[3,4],staff:[1,2],stai:2,stand:[1,2,3],standard:1,start:[1,2,3,4,5],start_cpu_sess:4,stat:3,state:[3,4],statist:[1,4],statu:[1,3,4],steadi:[],step:[1,2],still:[1,2,3],stime:3,stole:1,stolen:1,stop:3,storag:[1,4],store:[1,2,3,4],straightforward:1,strategi:1,string:1,strong:1,stronger:2,structur:3,subcommand:2,subdirectori:3,subfix:3,subject:3,sublist:3,submit:1,subproject:2,subsequ:[1,2],substanti:[2,3],subsystem:2,subtl:2,success:2,successfulli:[1,2,3],suffic:3,suggest:2,suit:1,summar:4,summari:4,superus:1,support:[1,2],suppos:[1,2],sure:[2,3],surfac:3,surprisingli:1,suspend:4,swap:[1,3],sy:3,symbol:3,symlink:[2,3],symmetr:1,sync:4,syntax:[3,5],sysop:1,system:[2,4],systemd:3,t:[1,2,3],tab:3,tabl:[0,4],tag:[],tailor:2,take:[1,2,3,4],taken:[3,5],talk:[],tape:1,tar:1,tarbal:1,target:3,task:[3,4],technic:[2,3,4],tediou:2,tee:1,tell:[1,2,3,4],temp:[1,3],temporari:1,tend:3,term:[1,4],termin:[1,2,3,4],terribl:1,test:[2,3,4],testserv:1,testus:1,text:[1,2,3],than:[1,2,3],thankyouverymuch:1,thei:[1,2,3,4],them:[1,2,3,4],themselv:1,therefor:[1,3],thi:[1,2,3,4,5],thiev:1,thing:[1,2,3],think:[3,4],third:[1,3],those:[1,2,3,4],though:[3,4],thousand:1,three:[1,2,3],through:[1,2,4],thu:[1,3,4],ti:1,time:[1,2,5],time_left:4,timelimit:4,tip:3,tmp:[1,2],tmpf:3,tmux:[2,4],todolist:1,toe:3,togeth:2,toggl:3,toi:3,token:1,told:4,too:[2,3],took:3,tool:[1,2],top:[3,4],topic:[1,3],total:[1,3,4],touch:[2,3],track:[2,3],tradeoff:2,traffic:1,trailingonli:3,train:4,transfer:5,transpar:1,travel:1,travers:3,treat:1,tree:3,tri:1,trial:[],trick:1,tripl:3,trivial:3,troubleshoot:2,truecolor:2,tty:3,tue:1,tunnel:4,turn:[1,2,4],twice:3,two:[1,2,3,4],txt:[1,2,3],type:[1,2,3],typic:[1,2,3,4],typo:1,u:[1,3],uc:5,ucdavi:4,ucx:2,uid:3,unabl:2,uncorr:3,under:[1,2],underneath:1,understand:2,unduli:1,unencrypt:1,unfortun:[1,4],unimport:1,unintention:3,uniqu:[3,4],unit:[1,3],univers:1,unix:[1,2,3],unless:[1,2],unlik:[1,3],unload:[2,4],unpack:1,unrespons:3,unset:2,unspecifi:1,until:[1,2,3,4],unus:[1,2],unwittingli:3,up:[1,3,4,5],updat:[1,2,3,4],upload:4,upon:[],uppercas:[1,2],url:1,us:[2,4,5],usag:[1,2,4],usb:[],user1:4,user2:4,user3:4,user4:4,user5:4,user6:4,user7:4,user:[2,3,4],userjob:4,usernam:2,usr:[1,2,3],usual:[1,2,3],utf:3,util:[1,2,3],v7wj:1,v:3,valu:[2,3],variabl:[3,4],varianc:[],variat:1,variou:3,vastli:1,ve:[2,3,4],vector:3,veri:[1,2,3],verifi:1,version:[2,3],vertic:3,vg0:3,vg1:3,vg3:3,vi:[],via:[1,2,3,4],view:3,vim:[1,2,3],virt:3,virtual:[1,2,3,4],virtualbox:2,visit:[1,3],volatil:3,vs:4,vscode:4,w:[1,3],wa:[1,2,3],wai:[1,2,3,4],wait:[1,3,4],walk:4,wall:3,walltim:4,want:[1,2],warn:1,we:[1,2,3,4],web:[1,3],week:4,welcom:1,well:[2,3,4],went:1,were:[1,3],wget:2,what:3,whatev:[1,3],when:[1,2,3,4],whenev:[2,3],where:[1,2,3],wherea:3,whether:[1,2,3,4],which:[1,2,3,4],whichev:1,who:[1,2,3],whose:1,why:2,wide:[1,2,3],wiki:[],wikipedia:3,wildcard:1,win1:3,win2:3,window:2,within:[1,2,3],without:[1,2,3],won:[3,4],word:[1,3],work:[1,2,3,4,5],workflow:[2,3],workload:4,workshop:[1,5],world:[1,2],wors:1,worst:3,worth:2,worthwhil:2,would:[1,2,3,4],wp:1,writabl:1,write:[1,2,3,4],written:[1,2,3,4],wrong:1,wrote:3,www:1,x:[1,2,3,4],x_:4,xferd:1,xfz:1,xkcd:1,xr:1,y:2,yaml:2,ye:3,yet:[1,2],yml:2,you:[1,2,3,4,5],your:[0,1,2,4],yourself:[1,2,3],z:[2,3],zen:2,zero:3,zfp:2,zlib:2,zombi:3,zone:1,zprofil:3,zsh:[2,3]},titles:["1. Introduction","2. Connecting To A Server","3. Setting Up Software","4. Running Scripts","5. Cluster Computing","Overview"],titleterms:{"export":2,A:1,And:1,Is:1,The:[1,3],To:1,abbrevi:[],account:1,administr:1,alias:2,an:[2,3],ar:1,authent:1,bash:2,basic:[1,3],between:1,cluster:[1,4],code:3,complex:3,comput:[1,3,4],config:1,configur:[1,2],connect:1,creat:2,curl:1,current:1,data:1,davi:2,directori:1,don:4,download:1,edit:2,environ:2,estim:3,etiquett:[1,4],everi:4,exampl:3,execut:3,exist:1,farm:[],file:[1,2,3],find:3,from:1,goal:5,home:1,host:1,how:1,hpc:2,info:4,inform:3,instal:2,interact:4,internet:1,introduct:0,job:[1,4],kei:1,know:3,known:1,known_host:[],learn:[1,2,3,4,5],local:1,manag:[1,2,3],micromamba:2,modul:2,monitor:[3,4],more:3,move:1,multi:4,multipl:3,object:[1,2,3,4],open:1,organ:4,other:[1,2,3],overview:5,packag:2,pane:3,parallel:4,partit:4,password:1,peopl:1,perform:3,permiss:[1,3],posix:1,prerequisit:5,primer:[],privaci:1,process:[3,4],project:4,queue:4,ram:3,real:[3,4],remot:1,request:4,requir:3,resourc:[1,3],run:[3,4],s:2,schedul:1,scp:1,script:3,sequenc:4,server:1,session:3,set:2,sftp:1,shebang:3,shell:[],slurm:4,softwar:2,ssh:1,storag:2,structur:1,submit:4,system:[1,3],t:4,thread:4,time:[3,4],tip:[],tmux:3,transfer:1,type:4,uc:2,up:2,upload:1,us:[1,3],usag:3,user:1,variabl:2,veri:[],want:[3,4],wget:1,what:[1,2,4],window:3,your:3}}) \ No newline at end of file