Repository files navigation

Puma Demo

Index

What is HPC

High-performance computing (HPC) is the use of software and hardware to process data and perform complex calculations at high speeds. Supercomputers are the product of this innovation.

What is Puma

Released in mid 2020, Puma is the newest supercomputer at the University of Arizona. The system is available to all researchers at no cost.

Access HPC Systems

You must:

After you have been authorized by your sponsor group you may ssh into the University of Arizona's bastion host, a login node, via the command line.

$ ssh <netid>@hpc.arizona.edu

Fill in the necessary credentials to complete the login.

Access Puma

After successfully logging into bastion host simply type $ puma to access a Puma login node.

The purpose of a Puma login node is for users to perform housekeeping work, edit scripts, and submit their job requests for execution on one/some of the cluster’s compute nodes.

This is not where scripts are run. To learn more about executing scripts look here

To move files between your local machine and Puma I you can:

  • Create a GitHub repository to push and pull files
  • Move files from local-->HPC using $ scp -rp filenameordirectory NetId@filexfer.hpc.arizona.edu:subdirectory
  • Move files from HPC-->local$ scp -rp NetId@filexfer.hpc.arizona.edu:filenameordirectory .

Now that your account is associated with a sponsor group, you are granted access to the resources of that group. Each group has a monthly allocation of 70000 standard CPU hours on Puma and when you run a job, the hours used are deducted from your group’s account. For example, if you run a job for one hour using 5 CPUs, 5 CPU hours will be charged.

You can view your sponsor groups used and remaining hours by using the command:

$ va

va File

Access Software on Puma

To start, request an interactive session for one hour:

$ interactive

This command takes you from Puma's login node to a compute node. Each compute node comes with:

  • AMD Zen2 96 core processors
  • 512GB RAM
  • 25Gb path to storage
  • 25Gb path to other nodes for MPI
  • 2TB internal NVME disk (largely available as /tmp)
  • Qumulo all flash storage array for shared filesystems
  • Two large memory nodes with 3TB memory and the same processors and memory as the other nodes
  • Six nodes with four Nvidia V100S GPU's each

Get a look at the available built in modules:

$ module avail

You'll see which modules are loaded into your system indicated by the (L) to the right of the listed modules. More specifically you may view a list of all loaded modules using $ module list

module File

Load a module:

$ module load <software/version>

If you choose not to specify the version, then the latest version of the defined software will usually be loaded.

To swap a version of a software with another version use:

$ module swap <currentSoftware/CurrentVersion> <newSoftware/newVersion>

Run Scripts on Puma

After creating and compiling your code, write a SLURM job script.

SLURM is a scheduler software that will reserve resources and run work on the cluster's compute nodes when space becomes available.

To run a slurm job a .slurm file must be created blueprinting how to run your code.

This .slurm file is separated into two parts, resource requests and job instructions.

The first portion of your script tells the system the resources you’d like to reserve. This includes the number of nodes/cores you need, the time it will take to run your job, the memory required, your group's name, the partition, and any special instructions. Other optional job specifications may also be set such as a job name or requesting email notifications. Each line with one of these requests will start with #SBATCH. If you’d like to comment out optional specifications that you don’t want, change these to ### SBATCH. You may also delete them.

The second section tells the system exactly how to do your work. These are all the commands (e.g. loading modules, changing directories, etc) that you would execute in your current environment to run your script successfully. SLURM, by default, inherits the working environment present at the time of job submission. This behavior may be modified with additional SLURM directives. [1]

SLURM File

Submit your SLURM job:

$ sbatch <your_SLURM_script>.slurm

The output of this command gives you the job ID.

submit File

With the job ID you can track the status of the job:

$ squeue --job <job_id>

A status of PD means the job is pending. R indicates the job is running. When the job is finished you will not see any information regarding the job.

pending File

running File

finished File

SLURM provides the output file of the job in the format <job_name>-<job_id>.out or however you defined the output file in the line # SBATCH --output=<output_file_format> from your SLURM script. This output file will capture all standard out and standard error messages printed from the executables.

Demo

Now that we understand basic HPC and Puma operations let's do a quick demo calculating the Mandelbrot set.

First, access the University of Arizona's bastion login node:

$ ssh <netid>@hpc.arizona.edu

Once there is a connection open Puma:

$ puma

Clone this repository into the directory that best suits you:

$ git clone https://github.com/CompOpt4Apps/AthanPumaDemo.git

Open mandelbrot_openmp.slurm in an editor and change the line cd ~/demo/AthanPumaDemo by giving the absolute path to AthanPumaDemo on your machine cd <path>/AthanPumaDemo

Submit the SLURM job:

$ sbatch mandelbrot_openmp.slurm

You will see a .ppm file, the output of the SLURM job. This file gives us the Mandelbrot set. When opened with an application that accepts .ppm files such as GIMP, an image of the set will appear.

References

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Puma Demo

Index

What is HPC

High-performance computing (HPC) is the use of software and hardware to process data and perform complex calculations at high speeds. Supercomputers are the product of this innovation.

What is Puma

Released in mid 2020, Puma is the newest supercomputer at the University of Arizona. The system is available to all researchers at no cost.

Access HPC Systems

You must:

After you have been authorized by your sponsor group you may ssh into the University of Arizona's bastion host, a login node, via the command line.

$ ssh <netid>@hpc.arizona.edu

Fill in the necessary credentials to complete the login.

Access Puma

After successfully logging into bastion host simply type $ puma to access a Puma login node.

The purpose of a Puma login node is for users to perform housekeeping work, edit scripts, and submit their job requests for execution on one/some of the cluster’s compute nodes.

This is not where scripts are run. To learn more about executing scripts look here

To move files between your local machine and Puma I you can:

  • Create a GitHub repository to push and pull files
  • Move files from local-->HPC using $ scp -rp filenameordirectory NetId@filexfer.hpc.arizona.edu:subdirectory
  • Move files from HPC-->local$ scp -rp NetId@filexfer.hpc.arizona.edu:filenameordirectory .

Now that your account is associated with a sponsor group, you are granted access to the resources of that group. Each group has a monthly allocation of 70000 standard CPU hours on Puma and when you run a job, the hours used are deducted from your group’s account. For example, if you run a job for one hour using 5 CPUs, 5 CPU hours will be charged.

You can view your sponsor groups used and remaining hours by using the command:

$ va

va File

Access Software on Puma

To start, request an interactive session for one hour:

$ interactive

This command takes you from Puma's login node to a compute node. Each compute node comes with:

  • AMD Zen2 96 core processors
  • 512GB RAM
  • 25Gb path to storage
  • 25Gb path to other nodes for MPI
  • 2TB internal NVME disk (largely available as /tmp)
  • Qumulo all flash storage array for shared filesystems
  • Two large memory nodes with 3TB memory and the same processors and memory as the other nodes
  • Six nodes with four Nvidia V100S GPU's each

Get a look at the available built in modules:

$ module avail

You'll see which modules are loaded into your system indicated by the (L) to the right of the listed modules. More specifically you may view a list of all loaded modules using $ module list

module File

Load a module:

$ module load <software/version>

If you choose not to specify the version, then the latest version of the defined software will usually be loaded.

To swap a version of a software with another version use:

$ module swap <currentSoftware/CurrentVersion> <newSoftware/newVersion>

Run Scripts on Puma

After creating and compiling your code, write a SLURM job script.

SLURM is a scheduler software that will reserve resources and run work on the cluster's compute nodes when space becomes available.

To run a slurm job a .slurm file must be created blueprinting how to run your code.

This .slurm file is separated into two parts, resource requests and job instructions.

The first portion of your script tells the system the resources you’d like to reserve. This includes the number of nodes/cores you need, the time it will take to run your job, the memory required, your group's name, the partition, and any special instructions. Other optional job specifications may also be set such as a job name or requesting email notifications. Each line with one of these requests will start with #SBATCH. If you’d like to comment out optional specifications that you don’t want, change these to ### SBATCH. You may also delete them.

The second section tells the system exactly how to do your work. These are all the commands (e.g. loading modules, changing directories, etc) that you would execute in your current environment to run your script successfully. SLURM, by default, inherits the working environment present at the time of job submission. This behavior may be modified with additional SLURM directives. [1]

SLURM File

Submit your SLURM job:

$ sbatch <your_SLURM_script>.slurm

The output of this command gives you the job ID.

submit File

With the job ID you can track the status of the job:

$ squeue --job <job_id>

A status of PD means the job is pending. R indicates the job is running. When the job is finished you will not see any information regarding the job.

pending File

running File

finished File

SLURM provides the output file of the job in the format <job_name>-<job_id>.out or however you defined the output file in the line # SBATCH --output=<output_file_format> from your SLURM script. This output file will capture all standard out and standard error messages printed from the executables.

Demo

Now that we understand basic HPC and Puma operations let's do a quick demo calculating the Mandelbrot set.

First, access the University of Arizona's bastion login node:

$ ssh <netid>@hpc.arizona.edu

Once there is a connection open Puma:

$ puma

Clone this repository into the directory that best suits you:

$ git clone https://github.com/CompOpt4Apps/AthanPumaDemo.git

Open mandelbrot_openmp.slurm in an editor and change the line cd ~/demo/AthanPumaDemo by giving the absolute path to AthanPumaDemo on your machine cd <path>/AthanPumaDemo

Submit the SLURM job:

$ sbatch mandelbrot_openmp.slurm

You will see a .ppm file, the output of the SLURM job. This file gives us the Mandelbrot set. When opened with an application that accepts .ppm files such as GIMP, an image of the set will appear.

References

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Puma Demo

Index

What is HPC

High-performance computing (HPC) is the use of software and hardware to process data and perform complex calculations at high speeds. Supercomputers are the product of this innovation.

What is Puma

Released in mid 2020, Puma is the newest supercomputer at the University of Arizona. The system is available to all researchers at no cost.

Access HPC Systems

You must:

After you have been authorized by your sponsor group you may ssh into the University of Arizona's bastion host, a login node, via the command line.

$ ssh <netid>@hpc.arizona.edu

Fill in the necessary credentials to complete the login.

Access Puma

After successfully logging into bastion host simply type $ puma to access a Puma login node.

The purpose of a Puma login node is for users to perform housekeeping work, edit scripts, and submit their job requests for execution on one/some of the cluster’s compute nodes.

This is not where scripts are run. To learn more about executing scripts look here

To move files between your local machine and Puma I you can:

  • Create a GitHub repository to push and pull files
  • Move files from local-->HPC using $ scp -rp filenameordirectory NetId@filexfer.hpc.arizona.edu:subdirectory
  • Move files from HPC-->local$ scp -rp NetId@filexfer.hpc.arizona.edu:filenameordirectory .

Now that your account is associated with a sponsor group, you are granted access to the resources of that group. Each group has a monthly allocation of 70000 standard CPU hours on Puma and when you run a job, the hours used are deducted from your group’s account. For example, if you run a job for one hour using 5 CPUs, 5 CPU hours will be charged.

You can view your sponsor groups used and remaining hours by using the command:

$ va

va File

Access Software on Puma

To start, request an interactive session for one hour:

$ interactive

This command takes you from Puma's login node to a compute node. Each compute node comes with:

  • AMD Zen2 96 core processors
  • 512GB RAM
  • 25Gb path to storage
  • 25Gb path to other nodes for MPI
  • 2TB internal NVME disk (largely available as /tmp)
  • Qumulo all flash storage array for shared filesystems
  • Two large memory nodes with 3TB memory and the same processors and memory as the other nodes
  • Six nodes with four Nvidia V100S GPU's each

Get a look at the available built in modules:

$ module avail

You'll see which modules are loaded into your system indicated by the (L) to the right of the listed modules. More specifically you may view a list of all loaded modules using $ module list

module File

Load a module:

$ module load <software/version>

If you choose not to specify the version, then the latest version of the defined software will usually be loaded.

To swap a version of a software with another version use:

$ module swap <currentSoftware/CurrentVersion> <newSoftware/newVersion>

Run Scripts on Puma

After creating and compiling your code, write a SLURM job script.

SLURM is a scheduler software that will reserve resources and run work on the cluster's compute nodes when space becomes available.

To run a slurm job a .slurm file must be created blueprinting how to run your code.

This .slurm file is separated into two parts, resource requests and job instructions.

The first portion of your script tells the system the resources you’d like to reserve. This includes the number of nodes/cores you need, the time it will take to run your job, the memory required, your group's name, the partition, and any special instructions. Other optional job specifications may also be set such as a job name or requesting email notifications. Each line with one of these requests will start with #SBATCH. If you’d like to comment out optional specifications that you don’t want, change these to ### SBATCH. You may also delete them.

The second section tells the system exactly how to do your work. These are all the commands (e.g. loading modules, changing directories, etc) that you would execute in your current environment to run your script successfully. SLURM, by default, inherits the working environment present at the time of job submission. This behavior may be modified with additional SLURM directives. [1]

SLURM File

Submit your SLURM job:

$ sbatch <your_SLURM_script>.slurm

The output of this command gives you the job ID.

submit File

With the job ID you can track the status of the job:

$ squeue --job <job_id>

A status of PD means the job is pending. R indicates the job is running. When the job is finished you will not see any information regarding the job.

pending File

running File

finished File

SLURM provides the output file of the job in the format <job_name>-<job_id>.out or however you defined the output file in the line # SBATCH --output=<output_file_format> from your SLURM script. This output file will capture all standard out and standard error messages printed from the executables.

Demo

Now that we understand basic HPC and Puma operations let's do a quick demo calculating the Mandelbrot set.

First, access the University of Arizona's bastion login node:

$ ssh <netid>@hpc.arizona.edu

Once there is a connection open Puma:

$ puma

Clone this repository into the directory that best suits you:

$ git clone https://github.com/CompOpt4Apps/AthanPumaDemo.git

Open mandelbrot_openmp.slurm in an editor and change the line cd ~/demo/AthanPumaDemo by giving the absolute path to AthanPumaDemo on your machine cd <path>/AthanPumaDemo

Submit the SLURM job:

$ sbatch mandelbrot_openmp.slurm

You will see a .ppm file, the output of the SLURM job. This file gives us the Mandelbrot set. When opened with an application that accepts .ppm files such as GIMP, an image of the set will appear.

References

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Puma Demo

Index

What is HPC

High-performance computing (HPC) is the use of software and hardware to process data and perform complex calculations at high speeds. Supercomputers are the product of this innovation.

What is Puma

Released in mid 2020, Puma is the newest supercomputer at the University of Arizona. The system is available to all researchers at no cost.

Access HPC Systems

You must:

After you have been authorized by your sponsor group you may ssh into the University of Arizona's bastion host, a login node, via the command line.

$ ssh <netid>@hpc.arizona.edu

Fill in the necessary credentials to complete the login.

Access Puma

After successfully logging into bastion host simply type $ puma to access a Puma login node.

The purpose of a Puma login node is for users to perform housekeeping work, edit scripts, and submit their job requests for execution on one/some of the cluster’s compute nodes.

This is not where scripts are run. To learn more about executing scripts look here

To move files between your local machine and Puma I you can:

  • Create a GitHub repository to push and pull files
  • Move files from local-->HPC using $ scp -rp filenameordirectory NetId@filexfer.hpc.arizona.edu:subdirectory
  • Move files from HPC-->local$ scp -rp NetId@filexfer.hpc.arizona.edu:filenameordirectory .

Now that your account is associated with a sponsor group, you are granted access to the resources of that group. Each group has a monthly allocation of 70000 standard CPU hours on Puma and when you run a job, the hours used are deducted from your group’s account. For example, if you run a job for one hour using 5 CPUs, 5 CPU hours will be charged.

You can view your sponsor groups used and remaining hours by using the command:

$ va

va File

Access Software on Puma

To start, request an interactive session for one hour:

$ interactive

This command takes you from Puma's login node to a compute node. Each compute node comes with:

  • AMD Zen2 96 core processors
  • 512GB RAM
  • 25Gb path to storage
  • 25Gb path to other nodes for MPI
  • 2TB internal NVME disk (largely available as /tmp)
  • Qumulo all flash storage array for shared filesystems
  • Two large memory nodes with 3TB memory and the same processors and memory as the other nodes
  • Six nodes with four Nvidia V100S GPU's each

Get a look at the available built in modules:

$ module avail

You'll see which modules are loaded into your system indicated by the (L) to the right of the listed modules. More specifically you may view a list of all loaded modules using $ module list

module File

Load a module:

$ module load <software/version>

If you choose not to specify the version, then the latest version of the defined software will usually be loaded.

To swap a version of a software with another version use:

$ module swap <currentSoftware/CurrentVersion> <newSoftware/newVersion>

Run Scripts on Puma

After creating and compiling your code, write a SLURM job script.

SLURM is a scheduler software that will reserve resources and run work on the cluster's compute nodes when space becomes available.

To run a slurm job a .slurm file must be created blueprinting how to run your code.

This .slurm file is separated into two parts, resource requests and job instructions.

The first portion of your script tells the system the resources you’d like to reserve. This includes the number of nodes/cores you need, the time it will take to run your job, the memory required, your group's name, the partition, and any special instructions. Other optional job specifications may also be set such as a job name or requesting email notifications. Each line with one of these requests will start with #SBATCH. If you’d like to comment out optional specifications that you don’t want, change these to ### SBATCH. You may also delete them.

The second section tells the system exactly how to do your work. These are all the commands (e.g. loading modules, changing directories, etc) that you would execute in your current environment to run your script successfully. SLURM, by default, inherits the working environment present at the time of job submission. This behavior may be modified with additional SLURM directives. [1]

SLURM File

Submit your SLURM job:

$ sbatch <your_SLURM_script>.slurm

The output of this command gives you the job ID.

submit File

With the job ID you can track the status of the job:

$ squeue --job <job_id>

A status of PD means the job is pending. R indicates the job is running. When the job is finished you will not see any information regarding the job.

pending File

running File

finished File

SLURM provides the output file of the job in the format <job_name>-<job_id>.out or however you defined the output file in the line # SBATCH --output=<output_file_format> from your SLURM script. This output file will capture all standard out and standard error messages printed from the executables.

Demo

Now that we understand basic HPC and Puma operations let's do a quick demo calculating the Mandelbrot set.

First, access the University of Arizona's bastion login node:

$ ssh <netid>@hpc.arizona.edu

Once there is a connection open Puma:

$ puma

Clone this repository into the directory that best suits you:

$ git clone https://github.com/CompOpt4Apps/AthanPumaDemo.git

Open mandelbrot_openmp.slurm in an editor and change the line cd ~/demo/AthanPumaDemo by giving the absolute path to AthanPumaDemo on your machine cd <path>/AthanPumaDemo

Submit the SLURM job:

$ sbatch mandelbrot_openmp.slurm

You will see a .ppm file, the output of the SLURM job. This file gives us the Mandelbrot set. When opened with an application that accepts .ppm files such as GIMP, an image of the set will appear.

References

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Puma Demo

Index

What is HPC

High-performance computing (HPC) is the use of software and hardware to process data and perform complex calculations at high speeds. Supercomputers are the product of this innovation.

What is Puma

Released in mid 2020, Puma is the newest supercomputer at the University of Arizona. The system is available to all researchers at no cost.

Access HPC Systems

You must:

After you have been authorized by your sponsor group you may ssh into the University of Arizona's bastion host, a login node, via the command line.

$ ssh <netid>@hpc.arizona.edu

Fill in the necessary credentials to complete the login.

Access Puma

After successfully logging into bastion host simply type $ puma to access a Puma login node.

The purpose of a Puma login node is for users to perform housekeeping work, edit scripts, and submit their job requests for execution on one/some of the cluster’s compute nodes.

This is not where scripts are run. To learn more about executing scripts look here

To move files between your local machine and Puma I you can:

  • Create a GitHub repository to push and pull files
  • Move files from local-->HPC using $ scp -rp filenameordirectory NetId@filexfer.hpc.arizona.edu:subdirectory
  • Move files from HPC-->local$ scp -rp NetId@filexfer.hpc.arizona.edu:filenameordirectory .

Now that your account is associated with a sponsor group, you are granted access to the resources of that group. Each group has a monthly allocation of 70000 standard CPU hours on Puma and when you run a job, the hours used are deducted from your group’s account. For example, if you run a job for one hour using 5 CPUs, 5 CPU hours will be charged.

You can view your sponsor groups used and remaining hours by using the command:

$ va

va File

Access Software on Puma

To start, request an interactive session for one hour:

$ interactive

This command takes you from Puma's login node to a compute node. Each compute node comes with:

  • AMD Zen2 96 core processors
  • 512GB RAM
  • 25Gb path to storage
  • 25Gb path to other nodes for MPI
  • 2TB internal NVME disk (largely available as /tmp)
  • Qumulo all flash storage array for shared filesystems
  • Two large memory nodes with 3TB memory and the same processors and memory as the other nodes
  • Six nodes with four Nvidia V100S GPU's each

Get a look at the available built in modules:

$ module avail

You'll see which modules are loaded into your system indicated by the (L) to the right of the listed modules. More specifically you may view a list of all loaded modules using $ module list

module File

Load a module:

$ module load <software/version>

If you choose not to specify the version, then the latest version of the defined software will usually be loaded.

To swap a version of a software with another version use:

$ module swap <currentSoftware/CurrentVersion> <newSoftware/newVersion>

Run Scripts on Puma

After creating and compiling your code, write a SLURM job script.

SLURM is a scheduler software that will reserve resources and run work on the cluster's compute nodes when space becomes available.

To run a slurm job a .slurm file must be created blueprinting how to run your code.

This .slurm file is separated into two parts, resource requests and job instructions.

The first portion of your script tells the system the resources you’d like to reserve. This includes the number of nodes/cores you need, the time it will take to run your job, the memory required, your group's name, the partition, and any special instructions. Other optional job specifications may also be set such as a job name or requesting email notifications. Each line with one of these requests will start with #SBATCH. If you’d like to comment out optional specifications that you don’t want, change these to ### SBATCH. You may also delete them.

The second section tells the system exactly how to do your work. These are all the commands (e.g. loading modules, changing directories, etc) that you would execute in your current environment to run your script successfully. SLURM, by default, inherits the working environment present at the time of job submission. This behavior may be modified with additional SLURM directives. [1]

SLURM File

Submit your SLURM job:

$ sbatch <your_SLURM_script>.slurm

The output of this command gives you the job ID.

submit File

With the job ID you can track the status of the job:

$ squeue --job <job_id>

A status of PD means the job is pending. R indicates the job is running. When the job is finished you will not see any information regarding the job.

pending File

running File

finished File

SLURM provides the output file of the job in the format <job_name>-<job_id>.out or however you defined the output file in the line # SBATCH --output=<output_file_format> from your SLURM script. This output file will capture all standard out and standard error messages printed from the executables.

Demo

Now that we understand basic HPC and Puma operations let's do a quick demo calculating the Mandelbrot set.

First, access the University of Arizona's bastion login node:

$ ssh <netid>@hpc.arizona.edu

Once there is a connection open Puma:

$ puma

Clone this repository into the directory that best suits you:

$ git clone https://github.com/CompOpt4Apps/AthanPumaDemo.git

Open mandelbrot_openmp.slurm in an editor and change the line cd ~/demo/AthanPumaDemo by giving the absolute path to AthanPumaDemo on your machine cd <path>/AthanPumaDemo

Submit the SLURM job:

$ sbatch mandelbrot_openmp.slurm

You will see a .ppm file, the output of the SLURM job. This file gives us the Mandelbrot set. When opened with an application that accepts .ppm files such as GIMP, an image of the set will appear.

References

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Puma Demo

Index

What is HPC

High-performance computing (HPC) is the use of software and hardware to process data and perform complex calculations at high speeds. Supercomputers are the product of this innovation.

What is Puma

Released in mid 2020, Puma is the newest supercomputer at the University of Arizona. The system is available to all researchers at no cost.

Access HPC Systems

You must:

After you have been authorized by your sponsor group you may ssh into the University of Arizona's bastion host, a login node, via the command line.

$ ssh <netid>@hpc.arizona.edu

Fill in the necessary credentials to complete the login.

Access Puma

After successfully logging into bastion host simply type $ puma to access a Puma login node.

The purpose of a Puma login node is for users to perform housekeeping work, edit scripts, and submit their job requests for execution on one/some of the cluster’s compute nodes.

This is not where scripts are run. To learn more about executing scripts look here

To move files between your local machine and Puma I you can:

  • Create a GitHub repository to push and pull files
  • Move files from local-->HPC using $ scp -rp filenameordirectory NetId@filexfer.hpc.arizona.edu:subdirectory
  • Move files from HPC-->local$ scp -rp NetId@filexfer.hpc.arizona.edu:filenameordirectory .

Now that your account is associated with a sponsor group, you are granted access to the resources of that group. Each group has a monthly allocation of 70000 standard CPU hours on Puma and when you run a job, the hours used are deducted from your group’s account. For example, if you run a job for one hour using 5 CPUs, 5 CPU hours will be charged.

You can view your sponsor groups used and remaining hours by using the command:

$ va

va File

Access Software on Puma

To start, request an interactive session for one hour:

$ interactive

This command takes you from Puma's login node to a compute node. Each compute node comes with:

  • AMD Zen2 96 core processors
  • 512GB RAM
  • 25Gb path to storage
  • 25Gb path to other nodes for MPI
  • 2TB internal NVME disk (largely available as /tmp)
  • Qumulo all flash storage array for shared filesystems
  • Two large memory nodes with 3TB memory and the same processors and memory as the other nodes
  • Six nodes with four Nvidia V100S GPU's each

Get a look at the available built in modules:

$ module avail

You'll see which modules are loaded into your system indicated by the (L) to the right of the listed modules. More specifically you may view a list of all loaded modules using $ module list

module File

Load a module:

$ module load <software/version>

If you choose not to specify the version, then the latest version of the defined software will usually be loaded.

To swap a version of a software with another version use:

$ module swap <currentSoftware/CurrentVersion> <newSoftware/newVersion>

Run Scripts on Puma

After creating and compiling your code, write a SLURM job script.

SLURM is a scheduler software that will reserve resources and run work on the cluster's compute nodes when space becomes available.

To run a slurm job a .slurm file must be created blueprinting how to run your code.

This .slurm file is separated into two parts, resource requests and job instructions.

The first portion of your script tells the system the resources you’d like to reserve. This includes the number of nodes/cores you need, the time it will take to run your job, the memory required, your group's name, the partition, and any special instructions. Other optional job specifications may also be set such as a job name or requesting email notifications. Each line with one of these requests will start with #SBATCH. If you’d like to comment out optional specifications that you don’t want, change these to ### SBATCH. You may also delete them.

The second section tells the system exactly how to do your work. These are all the commands (e.g. loading modules, changing directories, etc) that you would execute in your current environment to run your script successfully. SLURM, by default, inherits the working environment present at the time of job submission. This behavior may be modified with additional SLURM directives. [1]

SLURM File

Submit your SLURM job:

$ sbatch <your_SLURM_script>.slurm

The output of this command gives you the job ID.

submit File

With the job ID you can track the status of the job:

$ squeue --job <job_id>

A status of PD means the job is pending. R indicates the job is running. When the job is finished you will not see any information regarding the job.

pending File

running File

finished File

SLURM provides the output file of the job in the format <job_name>-<job_id>.out or however you defined the output file in the line # SBATCH --output=<output_file_format> from your SLURM script. This output file will capture all standard out and standard error messages printed from the executables.

Demo

Now that we understand basic HPC and Puma operations let's do a quick demo calculating the Mandelbrot set.

First, access the University of Arizona's bastion login node:

$ ssh <netid>@hpc.arizona.edu

Once there is a connection open Puma:

$ puma

Clone this repository into the directory that best suits you:

$ git clone https://github.com/CompOpt4Apps/AthanPumaDemo.git

Open mandelbrot_openmp.slurm in an editor and change the line cd ~/demo/AthanPumaDemo by giving the absolute path to AthanPumaDemo on your machine cd <path>/AthanPumaDemo

Submit the SLURM job:

$ sbatch mandelbrot_openmp.slurm

You will see a .ppm file, the output of the SLURM job. This file gives us the Mandelbrot set. When opened with an application that accepts .ppm files such as GIMP, an image of the set will appear.

References

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Puma Demo

Index

What is HPC

High-performance computing (HPC) is the use of software and hardware to process data and perform complex calculations at high speeds. Supercomputers are the product of this innovation.

What is Puma

Released in mid 2020, Puma is the newest supercomputer at the University of Arizona. The system is available to all researchers at no cost.

Access HPC Systems

You must:

After you have been authorized by your sponsor group you may ssh into the University of Arizona's bastion host, a login node, via the command line.

$ ssh <netid>@hpc.arizona.edu

Fill in the necessary credentials to complete the login.

Access Puma

After successfully logging into bastion host simply type $ puma to access a Puma login node.

The purpose of a Puma login node is for users to perform housekeeping work, edit scripts, and submit their job requests for execution on one/some of the cluster’s compute nodes.

This is not where scripts are run. To learn more about executing scripts look here

To move files between your local machine and Puma I you can:

  • Create a GitHub repository to push and pull files
  • Move files from local-->HPC using $ scp -rp filenameordirectory NetId@filexfer.hpc.arizona.edu:subdirectory
  • Move files from HPC-->local$ scp -rp NetId@filexfer.hpc.arizona.edu:filenameordirectory .

Now that your account is associated with a sponsor group, you are granted access to the resources of that group. Each group has a monthly allocation of 70000 standard CPU hours on Puma and when you run a job, the hours used are deducted from your group’s account. For example, if you run a job for one hour using 5 CPUs, 5 CPU hours will be charged.

You can view your sponsor groups used and remaining hours by using the command:

$ va

va File

Access Software on Puma

To start, request an interactive session for one hour:

$ interactive

This command takes you from Puma's login node to a compute node. Each compute node comes with:

  • AMD Zen2 96 core processors
  • 512GB RAM
  • 25Gb path to storage
  • 25Gb path to other nodes for MPI
  • 2TB internal NVME disk (largely available as /tmp)
  • Qumulo all flash storage array for shared filesystems
  • Two large memory nodes with 3TB memory and the same processors and memory as the other nodes
  • Six nodes with four Nvidia V100S GPU's each

Get a look at the available built in modules:

$ module avail

You'll see which modules are loaded into your system indicated by the (L) to the right of the listed modules. More specifically you may view a list of all loaded modules using $ module list

module File

Load a module:

$ module load <software/version>

If you choose not to specify the version, then the latest version of the defined software will usually be loaded.

To swap a version of a software with another version use:

$ module swap <currentSoftware/CurrentVersion> <newSoftware/newVersion>

Run Scripts on Puma

After creating and compiling your code, write a SLURM job script.

SLURM is a scheduler software that will reserve resources and run work on the cluster's compute nodes when space becomes available.

To run a slurm job a .slurm file must be created blueprinting how to run your code.

This .slurm file is separated into two parts, resource requests and job instructions.

The first portion of your script tells the system the resources you’d like to reserve. This includes the number of nodes/cores you need, the time it will take to run your job, the memory required, your group's name, the partition, and any special instructions. Other optional job specifications may also be set such as a job name or requesting email notifications. Each line with one of these requests will start with #SBATCH. If you’d like to comment out optional specifications that you don’t want, change these to ### SBATCH. You may also delete them.

The second section tells the system exactly how to do your work. These are all the commands (e.g. loading modules, changing directories, etc) that you would execute in your current environment to run your script successfully. SLURM, by default, inherits the working environment present at the time of job submission. This behavior may be modified with additional SLURM directives. [1]

SLURM File

Submit your SLURM job:

$ sbatch <your_SLURM_script>.slurm

The output of this command gives you the job ID.

submit File

With the job ID you can track the status of the job:

$ squeue --job <job_id>

A status of PD means the job is pending. R indicates the job is running. When the job is finished you will not see any information regarding the job.

pending File

running File

finished File

SLURM provides the output file of the job in the format <job_name>-<job_id>.out or however you defined the output file in the line # SBATCH --output=<output_file_format> from your SLURM script. This output file will capture all standard out and standard error messages printed from the executables.

Demo

Now that we understand basic HPC and Puma operations let's do a quick demo calculating the Mandelbrot set.

First, access the University of Arizona's bastion login node:

$ ssh <netid>@hpc.arizona.edu

Once there is a connection open Puma:

$ puma

Clone this repository into the directory that best suits you:

$ git clone https://github.com/CompOpt4Apps/AthanPumaDemo.git

Open mandelbrot_openmp.slurm in an editor and change the line cd ~/demo/AthanPumaDemo by giving the absolute path to AthanPumaDemo on your machine cd <path>/AthanPumaDemo

Submit the SLURM job:

$ sbatch mandelbrot_openmp.slurm

You will see a .ppm file, the output of the SLURM job. This file gives us the Mandelbrot set. When opened with an application that accepts .ppm files such as GIMP, an image of the set will appear.

References

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Puma Demo

Index

What is HPC

High-performance computing (HPC) is the use of software and hardware to process data and perform complex calculations at high speeds. Supercomputers are the product of this innovation.

What is Puma

Released in mid 2020, Puma is the newest supercomputer at the University of Arizona. The system is available to all researchers at no cost.

Access HPC Systems

You must:

After you have been authorized by your sponsor group you may ssh into the University of Arizona's bastion host, a login node, via the command line.

$ ssh <netid>@hpc.arizona.edu

Fill in the necessary credentials to complete the login.

Access Puma

After successfully logging into bastion host simply type $ puma to access a Puma login node.

The purpose of a Puma login node is for users to perform housekeeping work, edit scripts, and submit their job requests for execution on one/some of the cluster’s compute nodes.

This is not where scripts are run. To learn more about executing scripts look here

To move files between your local machine and Puma I you can:

  • Create a GitHub repository to push and pull files
  • Move files from local-->HPC using $ scp -rp filenameordirectory NetId@filexfer.hpc.arizona.edu:subdirectory
  • Move files from HPC-->local$ scp -rp NetId@filexfer.hpc.arizona.edu:filenameordirectory .

Now that your account is associated with a sponsor group, you are granted access to the resources of that group. Each group has a monthly allocation of 70000 standard CPU hours on Puma and when you run a job, the hours used are deducted from your group’s account. For example, if you run a job for one hour using 5 CPUs, 5 CPU hours will be charged.

You can view your sponsor groups used and remaining hours by using the command:

$ va

va File

Access Software on Puma

To start, request an interactive session for one hour:

$ interactive

This command takes you from Puma's login node to a compute node. Each compute node comes with:

  • AMD Zen2 96 core processors
  • 512GB RAM
  • 25Gb path to storage
  • 25Gb path to other nodes for MPI
  • 2TB internal NVME disk (largely available as /tmp)
  • Qumulo all flash storage array for shared filesystems
  • Two large memory nodes with 3TB memory and the same processors and memory as the other nodes
  • Six nodes with four Nvidia V100S GPU's each

Get a look at the available built in modules:

$ module avail

You'll see which modules are loaded into your system indicated by the (L) to the right of the listed modules. More specifically you may view a list of all loaded modules using $ module list

module File

Load a module:

$ module load <software/version>

If you choose not to specify the version, then the latest version of the defined software will usually be loaded.

To swap a version of a software with another version use:

$ module swap <currentSoftware/CurrentVersion> <newSoftware/newVersion>

Run Scripts on Puma

After creating and compiling your code, write a SLURM job script.

SLURM is a scheduler software that will reserve resources and run work on the cluster's compute nodes when space becomes available.

To run a slurm job a .slurm file must be created blueprinting how to run your code.

This .slurm file is separated into two parts, resource requests and job instructions.

The first portion of your script tells the system the resources you’d like to reserve. This includes the number of nodes/cores you need, the time it will take to run your job, the memory required, your group's name, the partition, and any special instructions. Other optional job specifications may also be set such as a job name or requesting email notifications. Each line with one of these requests will start with #SBATCH. If you’d like to comment out optional specifications that you don’t want, change these to ### SBATCH. You may also delete them.

The second section tells the system exactly how to do your work. These are all the commands (e.g. loading modules, changing directories, etc) that you would execute in your current environment to run your script successfully. SLURM, by default, inherits the working environment present at the time of job submission. This behavior may be modified with additional SLURM directives. [1]

SLURM File

Submit your SLURM job:

$ sbatch <your_SLURM_script>.slurm

The output of this command gives you the job ID.

submit File

With the job ID you can track the status of the job:

$ squeue --job <job_id>

A status of PD means the job is pending. R indicates the job is running. When the job is finished you will not see any information regarding the job.

pending File

running File

finished File

SLURM provides the output file of the job in the format <job_name>-<job_id>.out or however you defined the output file in the line # SBATCH --output=<output_file_format> from your SLURM script. This output file will capture all standard out and standard error messages printed from the executables.

Demo

Now that we understand basic HPC and Puma operations let's do a quick demo calculating the Mandelbrot set.

First, access the University of Arizona's bastion login node:

$ ssh <netid>@hpc.arizona.edu

Once there is a connection open Puma:

$ puma

Clone this repository into the directory that best suits you:

$ git clone https://github.com/CompOpt4Apps/AthanPumaDemo.git

Open mandelbrot_openmp.slurm in an editor and change the line cd ~/demo/AthanPumaDemo by giving the absolute path to AthanPumaDemo on your machine cd <path>/AthanPumaDemo

Submit the SLURM job:

$ sbatch mandelbrot_openmp.slurm

You will see a .ppm file, the output of the SLURM job. This file gives us the Mandelbrot set. When opened with an application that accepts .ppm files such as GIMP, an image of the set will appear.

References

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages