diff --git a/404.html b/404.html index 9e3ce15..381c3ed 100644 --- a/404.html +++ b/404.html @@ -5,13 +5,13 @@ Page Not Found | GLiCID - High Performance Computing - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/assets/js/0e384e19.15e2969d.js b/assets/js/0e384e19.15e2969d.js new file mode 100644 index 0000000..34c5105 --- /dev/null +++ b/assets/js/0e384e19.15e2969d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkhpc_tutorial_website=self.webpackChunkhpc_tutorial_website||[]).push([[9671],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>f});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=c(n),h=o,f=d["".concat(l,".").concat(h)]||d[h]||p[h]||a;return n?r.createElement(f,i(i({ref:t},u),{},{components:n})):r.createElement(f,i({ref:t},u))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,i[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var r=n(7462),o=(n(7294),n(3905));const a={sidebar_position:1},i="Getting Started With GLiCID: Quickstart",s={unversionedId:"intro",id:"intro",title:"Getting Started With GLiCID: Quickstart",description:"This documentation serves as the official user guide for GLiCID, a regional High Performance Computing center (M\xe9socentre) located in Loire Atlantique and hosted by Ecole Centrale de Nantes and Nantes University.",source:"@site/docs/intro.md",sourceDirName:".",slug:"/intro",permalink:"/docs/intro",draft:!1,editUrl:"https://mirjunaid26.github.io/docs/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Getting Started",permalink:"/docs/category/getting-started"}},l={},c=[{value:"How to access GLiCID Cluster",id:"how-to-access-glicid-cluster",level:2},{value:"OpenSSH Installation",id:"openssh-installation",level:2},{value:"OpenSSH Key Generation",id:"openssh-key-generation",level:2},{value:"OpenSSH Configuration",id:"openssh-configuration",level:2}],u={toc:c},d="wrapper";function p(e){let{components:t,...n}=e;return(0,o.kt)(d,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"getting-started-with-glicid-quickstart"},"Getting Started With GLiCID: Quickstart"),(0,o.kt)("p",null,"This documentation serves as the official user guide for GLiCID, a regional High Performance Computing center (M\xe9socentre) located in Loire Atlantique and hosted by Ecole Centrale de Nantes and Nantes University. "),(0,o.kt)("p",null,"It provides comprehensive instructions for utilizing the GLiCID cluster, catering to both beginners and advanced users. Newcomers are encouraged to begin from the start, where they'll find guidance on how to log in to GLiCID, acquaint themselves with the environment, discover pre-installed software, compile programs, and execute them on GLiCID."),(0,o.kt)("p",null,"Experienced users who are already acquainted with Liger and Waves can conveniently navigate the table of contents and explore the specific topics they're interested in."),(0,o.kt)("h2",{id:"how-to-access-glicid-cluster"},"How to access GLiCID Cluster"),(0,o.kt)("p",null,"In order to gain access to GLiCID you have to follow these steps:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Create an account on ",(0,o.kt)("a",{parentName:"li",href:"https://clam.glicid.fr"},"https://clam.glicid.fr")," (school account, or CRU account for external users)."),(0,o.kt)("li",{parentName:"ol"},"The account will be validated by an administrator."),(0,o.kt)("li",{parentName:"ol"},"User has to generate and upload the pulblic SSH key to CLAM portal (in profile's SSH Access tab)."),(0,o.kt)("li",{parentName:"ol"},"Edit the .ssh/config file and add the defined configuration."),(0,o.kt)("li",{parentName:"ol"},"Finally, you can log in using SSH from terminal (on Linux and macOS) and PowerShell (on Windows).")),(0,o.kt)("h1",{id:"openssh"},"OpenSSH"),(0,o.kt)("p",null,"OpenSSH is a popular and freely available SSH client for UNIX-like operating systems such as GNU/Linux and macOS."),(0,o.kt)("h2",{id:"openssh-installation"},"OpenSSH Installation"),(0,o.kt)("p",null,'OpenSSH comes pre-installed on macOS. It is also contained in the package repository of many GNU/Linux distributions, e.g., "openssh-client" on Debian, ubuntu, etc. or "openssh-clients" on Fedora, Centoas, etc. Also, the OpenSSH source code can be downloaded from the OpenSSH webite (',(0,o.kt)("a",{parentName:"p",href:"http://www.openssh.com/portable.html"},"http://www.openssh.com/portable.html"),")."),(0,o.kt)("h2",{id:"openssh-key-generation"},"OpenSSH Key Generation"),(0,o.kt)("p",null,"At GLiCID, we do not allow logging into our systems solely with a password. Rather, we require ke-based authentication. It is important to generate secure key pairs. Generate a key using the following line"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"ssh-keygen\n")),(0,o.kt)("p",null,"Note: If the file ~/.ssh/id_rsa already exists, ssh-keygen will ask before overwriting it. You probably do not want to overwrite the file as you might already be using it as credentials for another system. Instead, use a different file name, e.g., ~/.ssh/id_glicid and remember to use the same file name on all subsequent lines in this document."),(0,o.kt)("p",null,"Afterwards, ssh-keygen will ask for a passphrase. It is not mandatory to enter a passphrase as you can simple press enter to proceed without passpharse. However, it is recommended to provide a strong passphrase and it needs to be entered in the future to unlock your private key. You might want to use a password manager to save your key and easy the use of complicated passphrases. "),(0,o.kt)("p",null,"Keep the private key i.e., ~/.ssh/id_rsa safe and confidential on your local host. The generated puclic key i.e., ~/.ssh/id_rsa.pub needs to be uploaded to the CLAM user portal on ",(0,o.kt)("a",{parentName:"p",href:"https://clam.glicid.fr"},"https://clam.glicid.fr")),(0,o.kt)("h2",{id:"openssh-configuration"},"OpenSSH Configuration"),(0,o.kt)("p",null,"The user-side SSH configuration can be used to create shortcuts to targets/hosts and configure connections. The shortcuts and options also influnce the behavious of any program that uses SSH underneath, such as git, scp, and rsync."),(0,o.kt)("p",null,'An overview of all the available options can be seen via "man ssh_config". That\'s probably overwhelming, so here are a few options and configuraions highlighted.'),(0,o.kt)("p",null,"Edit the .ssh/config file and add the following:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"Host Bastion\n Hostname bastion.glicid.fr\n User @ec-nantes.fr\n IdentityFile ~/.ssh/id_rsa\n ForwardAgent yes\n\nHost glicid\n Hostname login-001.glicid.fr\n User @ec-nantes.fr\n ProxyJump Bastion\n IdentityFile ~/.ssh/id_rsa\n\nHost nautilus\n Hostname nautilus-devel-001.nautilus.intra.glicid.fr\n User jmir@ec-nantes.fr\n ProxyJump glicid\n IdentityFile ~/.ssh/id_rsa\n")),(0,o.kt)("p",null,"The above entries create a shortcut that allows you to log in to the individaul nodes via the shortcut such as glicid, nautilus, and philias(soon). "),(0,o.kt)("p",null,"Afterwards, you can simply connect to the GLiCID Cluster login nodes from the terminal using the following commands"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"ssh glicid\n")),(0,o.kt)("p",null,"or"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"ssh nautilus\n")),(0,o.kt)("p",null,"Note: If you're a windows user and not comfortable with the terminal, you can use MobaXterm."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0e384e19.9f3ee1fc.js b/assets/js/0e384e19.9f3ee1fc.js deleted file mode 100644 index 3da1689..0000000 --- a/assets/js/0e384e19.9f3ee1fc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkhpc_tutorial_website=self.webpackChunkhpc_tutorial_website||[]).push([[9671],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>f});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=c(n),h=a,f=p["".concat(l,".").concat(h)]||p[h]||d[h]||o;return n?r.createElement(f,i(i({ref:t},u),{},{components:n})):r.createElement(f,i({ref:t},u))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:a,i[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var r=n(7462),a=(n(7294),n(3905));const o={sidebar_position:1},i="Getting Started With GLiCID: Quickstart",s={unversionedId:"intro",id:"intro",title:"Getting Started With GLiCID: Quickstart",description:"This serves as the official user guide for GLiCID, a regional High Performance Computing center (M\xe9socentre) located in Loire Atlantique and hosted by Ecole Centrale de Nantes and Nantes University.",source:"@site/docs/intro.md",sourceDirName:".",slug:"/intro",permalink:"/docs/intro",draft:!1,editUrl:"https://mirjunaid26.github.io/docs/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Getting Started",permalink:"/docs/category/getting-started"}},l={},c=[{value:"How to access GLiCID Cluster",id:"how-to-access-glicid-cluster",level:2},{value:"OpenSSH Installation",id:"openssh-installation",level:2},{value:"OpenSSH Key Generation",id:"openssh-key-generation",level:2},{value:"OpenSSH Configuration",id:"openssh-configuration",level:2}],u={toc:c},p="wrapper";function d(e){let{components:t,...n}=e;return(0,a.kt)(p,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"getting-started-with-glicid-quickstart"},"Getting Started With GLiCID: Quickstart"),(0,a.kt)("p",null,"This serves as the official user guide for GLiCID, a regional High Performance Computing center (M\xe9socentre) located in Loire Atlantique and hosted by Ecole Centrale de Nantes and Nantes University. "),(0,a.kt)("p",null,"It provides comprehensive instructions for utilizing the GLiCID cluster, catering to both beginners and advanced users. Newcomers are encouraged to begin from the start, where they'll find guidance on how to log in to GLiCID, acquaint themselves with the environment, discover pre-installed software, compile programs, and execute them on GLiCID."),(0,a.kt)("p",null,"Experienced users who are already acquainted with Liger and Waves can conveniently navigate the table of contents and explore the specific topics they're interested in."),(0,a.kt)("h2",{id:"how-to-access-glicid-cluster"},"How to access GLiCID Cluster"),(0,a.kt)("p",null,"In order to gain access to GLiCID you have to follow these steps:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Create an account on ",(0,a.kt)("a",{parentName:"li",href:"https://clam.glicid.fr"},"https://clam.glicid.fr")," (school account, or CRU account for external users)."),(0,a.kt)("li",{parentName:"ol"},"The account will be validated by an administrator."),(0,a.kt)("li",{parentName:"ol"},"User has to generate and upload the pulblic SSH key to CLAM portal (in profile's SSH Access tab)."),(0,a.kt)("li",{parentName:"ol"},"Edit the .ssh/config file and add the defined configuration."),(0,a.kt)("li",{parentName:"ol"},"Finally, you can log in using SSH from terminal (on Linux and macOS) and PowerShell (on Windows).")),(0,a.kt)("h1",{id:"openssh"},"OpenSSH"),(0,a.kt)("p",null,"OpenSSH is a popular and freely available SSH client for UNIX-like operating systems such as GNU/Linux and macOS."),(0,a.kt)("h2",{id:"openssh-installation"},"OpenSSH Installation"),(0,a.kt)("p",null,'OpenSSH comes pre-installed on macOS. It is also contained in the package repository of many GNU/Linux distributions, e.g., "openssh-client" on Debian, ubuntu, etc. or "openssh-clients" on Fedora, Centoas, etc. Also, the OpenSSH source code can be downloaded from the OpenSSH webite (',(0,a.kt)("a",{parentName:"p",href:"http://www.openssh.com/portable.html"},"http://www.openssh.com/portable.html"),")."),(0,a.kt)("h2",{id:"openssh-key-generation"},"OpenSSH Key Generation"),(0,a.kt)("p",null,"At GLiCID, we do not allow logging into our systems solely with a password. Rather, we require ke-based authentication. It is important to generate secure key pairs. Generate a key using the following line"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"ssh-keygen\n")),(0,a.kt)("p",null,"Note: If the file ~/.ssh/id_rsa already exists, ssh-keygen will ask before overwriting it. You probably do not want to overwrite the file as you might already be using it as credentials for another system. Instead, use a different file name, e.g., ~/.ssh/id_glicid and remember to use the same file name on all subsequent lines in this document."),(0,a.kt)("p",null,"Afterwards, ssh-keygen will ask for a passphrase. It is not mandatory to enter a passphrase as you can simple press enter to proceed without passpharse. However, it is recommended to provide a strong passphrase and it needs to be entered in the future to unlock your private key. You might want to use a password manager to save your key and easy the use of complicated passphrases. "),(0,a.kt)("p",null,"Keep the private key i.e., ~/.ssh/id_rsa safe and confidential on your local host. The generated puclic key i.e., ~/.ssh/id_rsa.pub needs to be uploaded to the CLAM user portal on ",(0,a.kt)("a",{parentName:"p",href:"https://clam.glicid.fr"},"https://clam.glicid.fr")),(0,a.kt)("h2",{id:"openssh-configuration"},"OpenSSH Configuration"),(0,a.kt)("p",null,"The user-side SSH configuration can be used to create shortcuts to targets/hosts and configure connections. The shortcuts and options also influnce the behavious of any program that uses SSH underneath, such as git, scp, and rsync."),(0,a.kt)("p",null,'An overview of all the available options can be seen via "man ssh_config". That\'s probably overwhelming, so here are a few options and configuraions highlighted.'),(0,a.kt)("p",null,"Edit the .ssh/config file and add the following:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"Host Bastion\n Hostname bastion.glicid.fr\n User @ec-nantes.fr\n IdentityFile ~/.ssh/id_rsa\n ForwardAgent yes\n\nHost glicid\n Hostname login-001.glicid.fr\n User @ec-nantes.fr\n ProxyJump Bastion\n IdentityFile ~/.ssh/id_rsa\n\nHost nautilus\n Hostname nautilus-devel-001.nautilus.intra.glicid.fr\n User jmir@ec-nantes.fr\n ProxyJump glicid\n IdentityFile ~/.ssh/id_rsa\n")),(0,a.kt)("p",null,"The above entries create a shortcut that allows you to log in to the individaul nodes via the shortcut such as glicid, nautilus, and philias(soon). "),(0,a.kt)("p",null,"Afterwards, you can simply connect to the GLiCID Cluster login nodes from the terminal using the following commands"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"ssh glicid\n")),(0,a.kt)("p",null,"or"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"ssh nautilus\n")),(0,a.kt)("p",null,"Note: If you're a windows user and not comfortable with the terminal, you can use MobaXterm."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.2f35f6cc.js b/assets/js/935f2afb.2f35f6cc.js deleted file mode 100644 index dafeb72..0000000 --- a/assets/js/935f2afb.2f35f6cc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkhpc_tutorial_website=self.webpackChunkhpc_tutorial_website||[]).push([[53],{1109:t=>{t.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Getting Started With GLiCID: Quickstart","href":"/docs/intro","docId":"intro"},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"What is High-Performance Computing (HPC)s","href":"/docs/tutorial-basics/intro-hpc","docId":"tutorial-basics/intro-hpc"},{"type":"link","label":"Linux Command Line","href":"/docs/tutorial-basics/linux-commands","docId":"tutorial-basics/linux-commands"},{"type":"link","label":"Secure Shell (SSH)","href":"/docs/tutorial-basics/ssh","docId":"tutorial-basics/ssh"},{"type":"link","label":"How to request access on GLiCID Cluster?","href":"/docs/tutorial-basics/request-access","docId":"tutorial-basics/request-access"},{"type":"link","label":"Introduction to SLURM","href":"/docs/tutorial-basics/slurm","docId":"tutorial-basics/slurm"},{"type":"link","label":"GUIX","href":"/docs/tutorial-basics/guix","docId":"tutorial-basics/guix"},{"type":"link","label":"Containers for Scientific and High-Performance Computing (Apptainer/Singularity)","href":"/docs/tutorial-basics/apptainers","docId":"tutorial-basics/apptainers"},{"type":"link","label":"CUDA Python/C++","href":"/docs/tutorial-basics/cuda-python","docId":"tutorial-basics/cuda-python"},{"type":"link","label":"JupyterLab","href":"/docs/tutorial-basics/markdown-features","docId":"tutorial-basics/markdown-features"}],"href":"/docs/category/getting-started"},{"type":"category","label":"Extras","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"manage-docs-versions","href":"/docs/tutorial-extras/manage-docs-versions","docId":"tutorial-extras/manage-docs-versions"},{"type":"link","label":"Translate your site","href":"/docs/tutorial-extras/translate-your-site","docId":"tutorial-extras/translate-your-site"}],"href":"/docs/category/extras"}]},"docs":{"intro":{"id":"intro","title":"Getting Started With GLiCID: Quickstart","description":"This serves as the official user guide for GLiCID, a regional High Performance Computing center (M\xe9socentre) located in Loire Atlantique and hosted by Ecole Centrale de Nantes and Nantes University.","sidebar":"tutorialSidebar"},"tutorial-basics/apptainers":{"id":"tutorial-basics/apptainers","title":"Containers for Scientific and High-Performance Computing (Apptainer/Singularity)","description":"Docusaurus Plushie","sidebar":"tutorialSidebar"},"tutorial-basics/cuda-python":{"id":"tutorial-basics/cuda-python","title":"CUDA Python/C++","description":"Docusaurus Plushie Docusaurus Plushie","sidebar":"tutorialSidebar"},"tutorial-basics/guix":{"id":"tutorial-basics/guix","title":"GUIX","description":"GNU Guix is a package management tool for and distribution of the GNU system. Guix makes it easy for unprivileged users to install, upgrade, or remove software packages, to roll back to a previous package set, to build packages from source, and generally assists with the creation and maintenance of software environments.","sidebar":"tutorialSidebar"},"tutorial-basics/intro-hpc":{"id":"tutorial-basics/intro-hpc","title":"What is High-Performance Computing (HPC)s","description":"HPC is technology that uses clusters of powerful processors, working in parallel, to process massive multi-dimensional datasets (big data) and solve complex problems at extremely high speeds. HPC systems typically perform at speeds more than one million times faster than the fastest commodity desktop, laptop or server systems.","sidebar":"tutorialSidebar"},"tutorial-basics/linux-commands":{"id":"tutorial-basics/linux-commands","title":"Linux Command Line","description":"When working with High-Performance Computing (HPC) systems in Linux, there are several basic commands that are commonly used. Here are some of the essential commands:","sidebar":"tutorialSidebar"},"tutorial-basics/markdown-features":{"id":"tutorial-basics/markdown-features","title":"JupyterLab","description":"Docusaurus supports Markdown and a few additional features.","sidebar":"tutorialSidebar"},"tutorial-basics/request-access":{"id":"tutorial-basics/request-access","title":"How to request access on GLiCID Cluster?","description":"1. Create an account on https://clam.glicid.fr (school account, or CRU account for external users).","sidebar":"tutorialSidebar"},"tutorial-basics/slurm":{"id":"tutorial-basics/slurm","title":"Introduction to SLURM","description":"Docusaurus Plushie","sidebar":"tutorialSidebar"},"tutorial-basics/ssh":{"id":"tutorial-basics/ssh","title":"Secure Shell (SSH)","description":"CAUTION : WORK IN PROGRESS","sidebar":"tutorialSidebar"},"tutorial-extras/manage-docs-versions":{"id":"tutorial-extras/manage-docs-versions","title":"manage-docs-versions","description":"Work in Progress","sidebar":"tutorialSidebar"},"tutorial-extras/translate-your-site":{"id":"tutorial-extras/translate-your-site","title":"Translate your site","description":"CAUTION : WORK IN PROGRESS","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.61fce536.js b/assets/js/935f2afb.61fce536.js new file mode 100644 index 0000000..4905b44 --- /dev/null +++ b/assets/js/935f2afb.61fce536.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkhpc_tutorial_website=self.webpackChunkhpc_tutorial_website||[]).push([[53],{1109:t=>{t.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Getting Started With GLiCID: Quickstart","href":"/docs/intro","docId":"intro"},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"What is High-Performance Computing (HPC)s","href":"/docs/tutorial-basics/intro-hpc","docId":"tutorial-basics/intro-hpc"},{"type":"link","label":"Linux Command Line","href":"/docs/tutorial-basics/linux-commands","docId":"tutorial-basics/linux-commands"},{"type":"link","label":"Secure Shell (SSH)","href":"/docs/tutorial-basics/ssh","docId":"tutorial-basics/ssh"},{"type":"link","label":"How to request access on GLiCID Cluster?","href":"/docs/tutorial-basics/request-access","docId":"tutorial-basics/request-access"},{"type":"link","label":"Introduction to SLURM","href":"/docs/tutorial-basics/slurm","docId":"tutorial-basics/slurm"},{"type":"link","label":"GUIX","href":"/docs/tutorial-basics/guix","docId":"tutorial-basics/guix"},{"type":"link","label":"Containers for Scientific and High-Performance Computing (Apptainer/Singularity)","href":"/docs/tutorial-basics/apptainers","docId":"tutorial-basics/apptainers"},{"type":"link","label":"CUDA Python/C++","href":"/docs/tutorial-basics/cuda-python","docId":"tutorial-basics/cuda-python"},{"type":"link","label":"JupyterLab","href":"/docs/tutorial-basics/markdown-features","docId":"tutorial-basics/markdown-features"}],"href":"/docs/category/getting-started"},{"type":"category","label":"Extras","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"manage-docs-versions","href":"/docs/tutorial-extras/manage-docs-versions","docId":"tutorial-extras/manage-docs-versions"},{"type":"link","label":"Translate your site","href":"/docs/tutorial-extras/translate-your-site","docId":"tutorial-extras/translate-your-site"}],"href":"/docs/category/extras"}]},"docs":{"intro":{"id":"intro","title":"Getting Started With GLiCID: Quickstart","description":"This documentation serves as the official user guide for GLiCID, a regional High Performance Computing center (M\xe9socentre) located in Loire Atlantique and hosted by Ecole Centrale de Nantes and Nantes University.","sidebar":"tutorialSidebar"},"tutorial-basics/apptainers":{"id":"tutorial-basics/apptainers","title":"Containers for Scientific and High-Performance Computing (Apptainer/Singularity)","description":"Docusaurus Plushie","sidebar":"tutorialSidebar"},"tutorial-basics/cuda-python":{"id":"tutorial-basics/cuda-python","title":"CUDA Python/C++","description":"Docusaurus Plushie Docusaurus Plushie","sidebar":"tutorialSidebar"},"tutorial-basics/guix":{"id":"tutorial-basics/guix","title":"GUIX","description":"GNU Guix is a package management tool for and distribution of the GNU system. Guix makes it easy for unprivileged users to install, upgrade, or remove software packages, to roll back to a previous package set, to build packages from source, and generally assists with the creation and maintenance of software environments.","sidebar":"tutorialSidebar"},"tutorial-basics/intro-hpc":{"id":"tutorial-basics/intro-hpc","title":"What is High-Performance Computing (HPC)s","description":"HPC is technology that uses clusters of powerful processors, working in parallel, to process massive multi-dimensional datasets (big data) and solve complex problems at extremely high speeds. HPC systems typically perform at speeds more than one million times faster than the fastest commodity desktop, laptop or server systems.","sidebar":"tutorialSidebar"},"tutorial-basics/linux-commands":{"id":"tutorial-basics/linux-commands","title":"Linux Command Line","description":"When working with High-Performance Computing (HPC) systems in Linux, there are several basic commands that are commonly used. Here are some of the essential commands:","sidebar":"tutorialSidebar"},"tutorial-basics/markdown-features":{"id":"tutorial-basics/markdown-features","title":"JupyterLab","description":"Docusaurus supports Markdown and a few additional features.","sidebar":"tutorialSidebar"},"tutorial-basics/request-access":{"id":"tutorial-basics/request-access","title":"How to request access on GLiCID Cluster?","description":"1. Create an account on https://clam.glicid.fr (school account, or CRU account for external users).","sidebar":"tutorialSidebar"},"tutorial-basics/slurm":{"id":"tutorial-basics/slurm","title":"Introduction to SLURM","description":"Docusaurus Plushie","sidebar":"tutorialSidebar"},"tutorial-basics/ssh":{"id":"tutorial-basics/ssh","title":"Secure Shell (SSH)","description":"CAUTION : WORK IN PROGRESS","sidebar":"tutorialSidebar"},"tutorial-extras/manage-docs-versions":{"id":"tutorial-extras/manage-docs-versions","title":"manage-docs-versions","description":"Work in Progress","sidebar":"tutorialSidebar"},"tutorial-extras/translate-your-site":{"id":"tutorial-extras/translate-your-site","title":"Translate your site","description":"CAUTION : WORK IN PROGRESS","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.e3dfc083.js b/assets/js/runtime~main.271c8b25.js similarity index 65% rename from assets/js/runtime~main.e3dfc083.js rename to assets/js/runtime~main.271c8b25.js index 6f7bdf4..9251ded 100644 --- a/assets/js/runtime~main.e3dfc083.js +++ b/assets/js/runtime~main.271c8b25.js @@ -1 +1 @@ -(()=>{"use strict";var e,t,a,c,r,f={},d={};function o(e){var t=d[e];if(void 0!==t)return t.exports;var a=d[e]={id:e,loaded:!1,exports:{}};return f[e].call(a.exports,a,a.exports,o),a.loaded=!0,a.exports}o.m=f,o.c=d,e=[],o.O=(t,a,c,r)=>{if(!a){var f=1/0;for(i=0;i=r)&&Object.keys(o.O).every((e=>o.O[e](a[b])))?a.splice(b--,1):(d=!1,r0&&e[i-1][2]>r;i--)e[i]=e[i-1];e[i]=[a,c,r]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var r=Object.create(null);o.r(r);var f={};t=t||[null,a({}),a([]),a(a)];for(var d=2&c&&e;"object"==typeof d&&!~t.indexOf(d);d=a(d))Object.getOwnPropertyNames(d).forEach((t=>f[t]=()=>e[t]));return f.default=()=>e,o.d(r,f),r},o.d=(e,t)=>{for(var a in t)o.o(t,a)&&!o.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((t,a)=>(o.f[a](e,t),t)),[])),o.u=e=>"assets/js/"+({53:"935f2afb",110:"66406991",113:"976e78a2",225:"3152febb",453:"30a24c52",533:"b2b675dd",1046:"1381ee20",1184:"126e0200",1439:"5887b893",1477:"b2f554cd",1633:"031793e1",1713:"a7023ddc",1914:"d9f32620",2378:"17ad7c14",2535:"814f3328",2859:"18c41134",3085:"1f391b9e",3089:"a6aa9e1f",3205:"a80da1cf",3608:"9e4087bc",3702:"075afc17",3792:"dff1c289",3819:"63c5218b",4013:"01a85c17",4074:"cb260ffb",4195:"c4f5d8e4",4911:"2336c56d",5178:"1f674d75",5210:"fb0cb5c4",5234:"1c884c24",5259:"ccd99087",6103:"ccc49370",6613:"8da4562f",6755:"e44a2883",6938:"608ae6a4",7048:"83d7c99f",7178:"096bfee4",7292:"9798393f",7414:"393be207",7679:"91719550",7918:"17896441",8610:"6875c492",9035:"4c9e35b1",9424:"9231e1fe",9514:"1be78505",9642:"7661071f",9671:"0e384e19",9700:"e16015ca",9817:"14eb3368"}[e]||e)+"."+{53:"2f35f6cc",110:"dd8985db",113:"7c697938",225:"f990d681",453:"23cc75ca",533:"0c5997e6",1046:"a78d3173",1184:"4b4acd44",1439:"dd0b3f95",1477:"c8bc4f85",1506:"b585c7bc",1633:"9ccd3854",1713:"e8019a86",1914:"cd51f99b",2378:"7a0e8336",2529:"f944ba91",2535:"72078782",2859:"0a4d494a",3085:"8e7934fb",3089:"0f60f2ab",3205:"ff641900",3608:"c2303e1c",3702:"c477f2dc",3792:"383ae883",3819:"27eabe32",4013:"1a287272",4074:"4b1e1c94",4195:"ae6fe8e8",4911:"cd235b51",4972:"eddcd23d",5178:"b9b3953a",5210:"eada6603",5234:"d598ddd0",5259:"5784965b",6103:"c31a18c7",6613:"fbb41cfe",6755:"8c77de7f",6938:"81a417b9",7048:"6adaa049",7178:"68e8b207",7292:"fc47e3ad",7414:"4702f112",7679:"9da8c816",7918:"5d58e1dc",8610:"5d875250",9035:"0c0ec143",9424:"55c07263",9514:"f2711b5a",9642:"32654e9b",9671:"9f3ee1fc",9700:"4aac479d",9817:"c42bbc9c"}[e]+".js",o.miniCssF=e=>{},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),c={},r="hpc-tutorial-website:",o.l=(e,t,a,f)=>{if(c[e])c[e].push(t);else{var d,b;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{d.onerror=d.onload=null,clearTimeout(s);var r=c[e];if(delete c[e],d.parentNode&&d.parentNode.removeChild(d),r&&r.forEach((e=>e(a))),t)return t(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=l.bind(null,d.onerror),d.onload=l.bind(null,d.onload),b&&document.head.appendChild(d)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.p="/",o.gca=function(e){return e={17896441:"7918",66406991:"110",91719550:"7679","935f2afb":"53","976e78a2":"113","3152febb":"225","30a24c52":"453",b2b675dd:"533","1381ee20":"1046","126e0200":"1184","5887b893":"1439",b2f554cd:"1477","031793e1":"1633",a7023ddc:"1713",d9f32620:"1914","17ad7c14":"2378","814f3328":"2535","18c41134":"2859","1f391b9e":"3085",a6aa9e1f:"3089",a80da1cf:"3205","9e4087bc":"3608","075afc17":"3702",dff1c289:"3792","63c5218b":"3819","01a85c17":"4013",cb260ffb:"4074",c4f5d8e4:"4195","2336c56d":"4911","1f674d75":"5178",fb0cb5c4:"5210","1c884c24":"5234",ccd99087:"5259",ccc49370:"6103","8da4562f":"6613",e44a2883:"6755","608ae6a4":"6938","83d7c99f":"7048","096bfee4":"7178","9798393f":"7292","393be207":"7414","6875c492":"8610","4c9e35b1":"9035","9231e1fe":"9424","1be78505":"9514","7661071f":"9642","0e384e19":"9671",e16015ca:"9700","14eb3368":"9817"}[e]||e,o.p+o.u(e)},(()=>{var e={1303:0,532:0};o.f.j=(t,a)=>{var c=o.o(e,t)?e[t]:void 0;if(0!==c)if(c)a.push(c[2]);else if(/^(1303|532)$/.test(t))e[t]=0;else{var r=new Promise(((a,r)=>c=e[t]=[a,r]));a.push(c[2]=r);var f=o.p+o.u(t),d=new Error;o.l(f,(a=>{if(o.o(e,t)&&(0!==(c=e[t])&&(e[t]=void 0),c)){var r=a&&("load"===a.type?"missing":a.type),f=a&&a.target&&a.target.src;d.message="Loading chunk "+t+" failed.\n("+r+": "+f+")",d.name="ChunkLoadError",d.type=r,d.request=f,c[1](d)}}),"chunk-"+t,t)}},o.O.j=t=>0===e[t];var t=(t,a)=>{var c,r,f=a[0],d=a[1],b=a[2],n=0;if(f.some((t=>0!==e[t]))){for(c in d)o.o(d,c)&&(o.m[c]=d[c]);if(b)var i=b(o)}for(t&&t(a);n{"use strict";var e,t,a,c,r,f={},d={};function b(e){var t=d[e];if(void 0!==t)return t.exports;var a=d[e]={id:e,loaded:!1,exports:{}};return f[e].call(a.exports,a,a.exports,b),a.loaded=!0,a.exports}b.m=f,b.c=d,e=[],b.O=(t,a,c,r)=>{if(!a){var f=1/0;for(i=0;i=r)&&Object.keys(b.O).every((e=>b.O[e](a[o])))?a.splice(o--,1):(d=!1,r0&&e[i-1][2]>r;i--)e[i]=e[i-1];e[i]=[a,c,r]},b.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return b.d(t,{a:t}),t},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var r=Object.create(null);b.r(r);var f={};t=t||[null,a({}),a([]),a(a)];for(var d=2&c&&e;"object"==typeof d&&!~t.indexOf(d);d=a(d))Object.getOwnPropertyNames(d).forEach((t=>f[t]=()=>e[t]));return f.default=()=>e,b.d(r,f),r},b.d=(e,t)=>{for(var a in t)b.o(t,a)&&!b.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce(((t,a)=>(b.f[a](e,t),t)),[])),b.u=e=>"assets/js/"+({53:"935f2afb",110:"66406991",113:"976e78a2",225:"3152febb",453:"30a24c52",533:"b2b675dd",1046:"1381ee20",1184:"126e0200",1439:"5887b893",1477:"b2f554cd",1633:"031793e1",1713:"a7023ddc",1914:"d9f32620",2378:"17ad7c14",2535:"814f3328",2859:"18c41134",3085:"1f391b9e",3089:"a6aa9e1f",3205:"a80da1cf",3608:"9e4087bc",3702:"075afc17",3792:"dff1c289",3819:"63c5218b",4013:"01a85c17",4074:"cb260ffb",4195:"c4f5d8e4",4911:"2336c56d",5178:"1f674d75",5210:"fb0cb5c4",5234:"1c884c24",5259:"ccd99087",6103:"ccc49370",6613:"8da4562f",6755:"e44a2883",6938:"608ae6a4",7048:"83d7c99f",7178:"096bfee4",7292:"9798393f",7414:"393be207",7679:"91719550",7918:"17896441",8610:"6875c492",9035:"4c9e35b1",9424:"9231e1fe",9514:"1be78505",9642:"7661071f",9671:"0e384e19",9700:"e16015ca",9817:"14eb3368"}[e]||e)+"."+{53:"61fce536",110:"dd8985db",113:"7c697938",225:"f990d681",453:"23cc75ca",533:"0c5997e6",1046:"a78d3173",1184:"4b4acd44",1439:"dd0b3f95",1477:"c8bc4f85",1506:"b585c7bc",1633:"9ccd3854",1713:"e8019a86",1914:"cd51f99b",2378:"7a0e8336",2529:"f944ba91",2535:"72078782",2859:"0a4d494a",3085:"8e7934fb",3089:"0f60f2ab",3205:"ff641900",3608:"c2303e1c",3702:"c477f2dc",3792:"383ae883",3819:"27eabe32",4013:"1a287272",4074:"4b1e1c94",4195:"ae6fe8e8",4911:"cd235b51",4972:"eddcd23d",5178:"b9b3953a",5210:"eada6603",5234:"d598ddd0",5259:"5784965b",6103:"c31a18c7",6613:"fbb41cfe",6755:"8c77de7f",6938:"81a417b9",7048:"6adaa049",7178:"68e8b207",7292:"fc47e3ad",7414:"4702f112",7679:"9da8c816",7918:"5d58e1dc",8610:"5d875250",9035:"0c0ec143",9424:"55c07263",9514:"f2711b5a",9642:"32654e9b",9671:"15e2969d",9700:"4aac479d",9817:"c42bbc9c"}[e]+".js",b.miniCssF=e=>{},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),c={},r="hpc-tutorial-website:",b.l=(e,t,a,f)=>{if(c[e])c[e].push(t);else{var d,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{d.onerror=d.onload=null,clearTimeout(s);var r=c[e];if(delete c[e],d.parentNode&&d.parentNode.removeChild(d),r&&r.forEach((e=>e(a))),t)return t(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=l.bind(null,d.onerror),d.onload=l.bind(null,d.onload),o&&document.head.appendChild(d)}},b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.p="/",b.gca=function(e){return e={17896441:"7918",66406991:"110",91719550:"7679","935f2afb":"53","976e78a2":"113","3152febb":"225","30a24c52":"453",b2b675dd:"533","1381ee20":"1046","126e0200":"1184","5887b893":"1439",b2f554cd:"1477","031793e1":"1633",a7023ddc:"1713",d9f32620:"1914","17ad7c14":"2378","814f3328":"2535","18c41134":"2859","1f391b9e":"3085",a6aa9e1f:"3089",a80da1cf:"3205","9e4087bc":"3608","075afc17":"3702",dff1c289:"3792","63c5218b":"3819","01a85c17":"4013",cb260ffb:"4074",c4f5d8e4:"4195","2336c56d":"4911","1f674d75":"5178",fb0cb5c4:"5210","1c884c24":"5234",ccd99087:"5259",ccc49370:"6103","8da4562f":"6613",e44a2883:"6755","608ae6a4":"6938","83d7c99f":"7048","096bfee4":"7178","9798393f":"7292","393be207":"7414","6875c492":"8610","4c9e35b1":"9035","9231e1fe":"9424","1be78505":"9514","7661071f":"9642","0e384e19":"9671",e16015ca:"9700","14eb3368":"9817"}[e]||e,b.p+b.u(e)},(()=>{var e={1303:0,532:0};b.f.j=(t,a)=>{var c=b.o(e,t)?e[t]:void 0;if(0!==c)if(c)a.push(c[2]);else if(/^(1303|532)$/.test(t))e[t]=0;else{var r=new Promise(((a,r)=>c=e[t]=[a,r]));a.push(c[2]=r);var f=b.p+b.u(t),d=new Error;b.l(f,(a=>{if(b.o(e,t)&&(0!==(c=e[t])&&(e[t]=void 0),c)){var r=a&&("load"===a.type?"missing":a.type),f=a&&a.target&&a.target.src;d.message="Loading chunk "+t+" failed.\n("+r+": "+f+")",d.name="ChunkLoadError",d.type=r,d.request=f,c[1](d)}}),"chunk-"+t,t)}},b.O.j=t=>0===e[t];var t=(t,a)=>{var c,r,f=a[0],d=a[1],o=a[2],n=0;if(f.some((t=>0!==e[t]))){for(c in d)b.o(d,c)&&(b.m[c]=d[c]);if(o)var i=o(b)}for(t&&t(a);n Archive | GLiCID - High Performance Computing - + - + \ No newline at end of file diff --git a/blog/first-blog-post/index.html b/blog/first-blog-post/index.html index ee85163..994b8cb 100644 --- a/blog/first-blog-post/index.html +++ b/blog/first-blog-post/index.html @@ -5,7 +5,7 @@ Harnessing the Power of Clusters | GLiCID - High Performance Computing - + @@ -16,7 +16,7 @@ While running software on a single, powerful cloud machine may appear to be a viable option, it often comes with substantial costs. In contrast, clusters offer an economically sound alternative. By employing a cluster of smaller machines, users can leverage auto-scaling features that dynamically adjust the cluster's size based on workload demands. This flexibility allows for optimal resource utilization, eliminating the need for an overly large machine that may remain underutilized most of the time. Ultimately, clusters provide a more cost-effective solution for running numerous individual jobs simultaneously.

Understanding Nodes and Autoscaling: In a cluster, each machine or instance is referred to as a node. These nodes play distinct roles, with the head node serving as the central control unit and the remaining nodes acting as compute nodes. The head node facilitates coordination and management of the entire cluster, ensuring seamless communication and efficient task distribution among the compute nodes. To further enhance scalability, users can define a minimum and maximum number of nodes, bounding the autoscaling capabilities of the cluster. This allows the cluster to adapt dynamically to workload fluctuations, efficiently allocating resources as needed.

Conclusion: Clusters represent a paradigm shift in computing, providing an optimal solution for running software that exceeds the capacity of a single machine. By harnessing the power of interconnected nodes, clusters offer unprecedented computational capabilities, enabling users to tackle complex and compute-intensive tasks with ease. Additionally, the cost-efficiency and scalability of clusters make them a compelling choice for organizations seeking to maximize their computing resources. Embrace the transformative potential of clusters and unlock a new era of limitless possibilities in the realm of computing.

- + \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index d8e8bb0..a72ed36 100644 --- a/blog/index.html +++ b/blog/index.html @@ -5,7 +5,7 @@ Blog | GLiCID - High Performance Computing - + @@ -16,7 +16,7 @@ While running software on a single, powerful cloud machine may appear to be a viable option, it often comes with substantial costs. In contrast, clusters offer an economically sound alternative. By employing a cluster of smaller machines, users can leverage auto-scaling features that dynamically adjust the cluster's size based on workload demands. This flexibility allows for optimal resource utilization, eliminating the need for an overly large machine that may remain underutilized most of the time. Ultimately, clusters provide a more cost-effective solution for running numerous individual jobs simultaneously.

Understanding Nodes and Autoscaling: In a cluster, each machine or instance is referred to as a node. These nodes play distinct roles, with the head node serving as the central control unit and the remaining nodes acting as compute nodes. The head node facilitates coordination and management of the entire cluster, ensuring seamless communication and efficient task distribution among the compute nodes. To further enhance scalability, users can define a minimum and maximum number of nodes, bounding the autoscaling capabilities of the cluster. This allows the cluster to adapt dynamically to workload fluctuations, efficiently allocating resources as needed.

Conclusion: Clusters represent a paradigm shift in computing, providing an optimal solution for running software that exceeds the capacity of a single machine. By harnessing the power of interconnected nodes, clusters offer unprecedented computational capabilities, enabling users to tackle complex and compute-intensive tasks with ease. Additionally, the cost-efficiency and scalability of clusters make them a compelling choice for organizations seeking to maximize their computing resources. Embrace the transformative potential of clusters and unlock a new era of limitless possibilities in the realm of computing.

· One min read
Junaid MIR
Pierre-Emmanuel Guerrin

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/blog/long-blog-post/index.html b/blog/long-blog-post/index.html index c2ac78b..4331901 100644 --- a/blog/long-blog-post/index.html +++ b/blog/long-blog-post/index.html @@ -5,13 +5,13 @@ Parallel Programming CUDA(Python/C++) | GLiCID - High Performance Computing - +

Parallel Programming CUDA(Python/C++)

· 3 min read
Endilie Yacop Sucipto

This is the summary of a very long blog post,

Use a <!-- truncate --> comment to limit blog post size in the list view.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/mdx-blog-post/index.html b/blog/mdx-blog-post/index.html index 157dc94..1fe9d24 100644 --- a/blog/mdx-blog-post/index.html +++ b/blog/mdx-blog-post/index.html @@ -5,13 +5,13 @@ How Supercomputers expedite AI research? | GLiCID - High Performance Computing - +

How Supercomputers expedite AI research?

· One min read
Junaid MIR

Blog posts support Docusaurus Markdown features, such as MDX.

tip

Use the power of React to create interactive blog posts.

<button onClick={() => alert('button clicked!')}>Click me!</button>
- + \ No newline at end of file diff --git a/blog/tags/docusaurus/index.html b/blog/tags/docusaurus/index.html index 5f2666e..35d84a9 100644 --- a/blog/tags/docusaurus/index.html +++ b/blog/tags/docusaurus/index.html @@ -5,7 +5,7 @@ 4 posts tagged with "docusaurus" | GLiCID - High Performance Computing - + @@ -16,7 +16,7 @@ While running software on a single, powerful cloud machine may appear to be a viable option, it often comes with substantial costs. In contrast, clusters offer an economically sound alternative. By employing a cluster of smaller machines, users can leverage auto-scaling features that dynamically adjust the cluster's size based on workload demands. This flexibility allows for optimal resource utilization, eliminating the need for an overly large machine that may remain underutilized most of the time. Ultimately, clusters provide a more cost-effective solution for running numerous individual jobs simultaneously.

Understanding Nodes and Autoscaling: In a cluster, each machine or instance is referred to as a node. These nodes play distinct roles, with the head node serving as the central control unit and the remaining nodes acting as compute nodes. The head node facilitates coordination and management of the entire cluster, ensuring seamless communication and efficient task distribution among the compute nodes. To further enhance scalability, users can define a minimum and maximum number of nodes, bounding the autoscaling capabilities of the cluster. This allows the cluster to adapt dynamically to workload fluctuations, efficiently allocating resources as needed.

Conclusion: Clusters represent a paradigm shift in computing, providing an optimal solution for running software that exceeds the capacity of a single machine. By harnessing the power of interconnected nodes, clusters offer unprecedented computational capabilities, enabling users to tackle complex and compute-intensive tasks with ease. Additionally, the cost-efficiency and scalability of clusters make them a compelling choice for organizations seeking to maximize their computing resources. Embrace the transformative potential of clusters and unlock a new era of limitless possibilities in the realm of computing.

· One min read
Junaid MIR
Pierre-Emmanuel Guerrin

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/blog/tags/facebook/index.html b/blog/tags/facebook/index.html index c718ba3..192bf7e 100644 --- a/blog/tags/facebook/index.html +++ b/blog/tags/facebook/index.html @@ -5,13 +5,13 @@ One post tagged with "facebook" | GLiCID - High Performance Computing - +

One post tagged with "facebook"

View All Tags

· One min read
Junaid MIR
Pierre-Emmanuel Guerrin

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/blog/tags/hello/index.html b/blog/tags/hello/index.html index 056e729..646b1ca 100644 --- a/blog/tags/hello/index.html +++ b/blog/tags/hello/index.html @@ -5,13 +5,13 @@ 2 posts tagged with "hello" | GLiCID - High Performance Computing - +

2 posts tagged with "hello"

View All Tags

· One min read
Junaid MIR
Pierre-Emmanuel Guerrin

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/blog/tags/hola/index.html b/blog/tags/hola/index.html index e6469e8..b76cd66 100644 --- a/blog/tags/hola/index.html +++ b/blog/tags/hola/index.html @@ -5,7 +5,7 @@ One post tagged with "hola" | GLiCID - High Performance Computing - + @@ -16,7 +16,7 @@ While running software on a single, powerful cloud machine may appear to be a viable option, it often comes with substantial costs. In contrast, clusters offer an economically sound alternative. By employing a cluster of smaller machines, users can leverage auto-scaling features that dynamically adjust the cluster's size based on workload demands. This flexibility allows for optimal resource utilization, eliminating the need for an overly large machine that may remain underutilized most of the time. Ultimately, clusters provide a more cost-effective solution for running numerous individual jobs simultaneously.

Understanding Nodes and Autoscaling: In a cluster, each machine or instance is referred to as a node. These nodes play distinct roles, with the head node serving as the central control unit and the remaining nodes acting as compute nodes. The head node facilitates coordination and management of the entire cluster, ensuring seamless communication and efficient task distribution among the compute nodes. To further enhance scalability, users can define a minimum and maximum number of nodes, bounding the autoscaling capabilities of the cluster. This allows the cluster to adapt dynamically to workload fluctuations, efficiently allocating resources as needed.

Conclusion: Clusters represent a paradigm shift in computing, providing an optimal solution for running software that exceeds the capacity of a single machine. By harnessing the power of interconnected nodes, clusters offer unprecedented computational capabilities, enabling users to tackle complex and compute-intensive tasks with ease. Additionally, the cost-efficiency and scalability of clusters make them a compelling choice for organizations seeking to maximize their computing resources. Embrace the transformative potential of clusters and unlock a new era of limitless possibilities in the realm of computing.

- + \ No newline at end of file diff --git a/blog/tags/index.html b/blog/tags/index.html index 910b507..bb3a67d 100644 --- a/blog/tags/index.html +++ b/blog/tags/index.html @@ -5,13 +5,13 @@ Tags | GLiCID - High Performance Computing - + - + \ No newline at end of file diff --git a/blog/welcome/index.html b/blog/welcome/index.html index a2dab64..46de662 100644 --- a/blog/welcome/index.html +++ b/blog/welcome/index.html @@ -5,13 +5,13 @@ High Performance Computing | GLiCID - High Performance Computing - +

High Performance Computing

· One min read
Junaid MIR
Pierre-Emmanuel Guerrin

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/docs/category/extras/index.html b/docs/category/extras/index.html index d2b1687..bad9aab 100644 --- a/docs/category/extras/index.html +++ b/docs/category/extras/index.html @@ -5,13 +5,13 @@ Extras | GLiCID - High Performance Computing - + - + \ No newline at end of file diff --git a/docs/category/getting-started/index.html b/docs/category/getting-started/index.html index 80d58fc..aeffc09 100644 --- a/docs/category/getting-started/index.html +++ b/docs/category/getting-started/index.html @@ -5,13 +5,13 @@ Getting Started | GLiCID - High Performance Computing - +

Getting Started

Getting started with GLiCID HPC

- + \ No newline at end of file diff --git a/docs/intro/index.html b/docs/intro/index.html index 6c3eaa3..d12900e 100644 --- a/docs/intro/index.html +++ b/docs/intro/index.html @@ -3,15 +3,15 @@ -Getting Started With GLiCID: Quickstart | GLiCID - High Performance Computing +Getting Started With GLiCID: Quickstart | GLiCID - High Performance Computing - +
-

Getting Started With GLiCID: Quickstart

This serves as the official user guide for GLiCID, a regional High Performance Computing center (Mésocentre) located in Loire Atlantique and hosted by Ecole Centrale de Nantes and Nantes University.

It provides comprehensive instructions for utilizing the GLiCID cluster, catering to both beginners and advanced users. Newcomers are encouraged to begin from the start, where they'll find guidance on how to log in to GLiCID, acquaint themselves with the environment, discover pre-installed software, compile programs, and execute them on GLiCID.

Experienced users who are already acquainted with Liger and Waves can conveniently navigate the table of contents and explore the specific topics they're interested in.

How to access GLiCID Cluster

In order to gain access to GLiCID you have to follow these steps:

  1. Create an account on https://clam.glicid.fr (school account, or CRU account for external users).
  2. The account will be validated by an administrator.
  3. User has to generate and upload the pulblic SSH key to CLAM portal (in profile's SSH Access tab).
  4. Edit the .ssh/config file and add the defined configuration.
  5. Finally, you can log in using SSH from terminal (on Linux and macOS) and PowerShell (on Windows).

OpenSSH

OpenSSH is a popular and freely available SSH client for UNIX-like operating systems such as GNU/Linux and macOS.

OpenSSH Installation

OpenSSH comes pre-installed on macOS. It is also contained in the package repository of many GNU/Linux distributions, e.g., "openssh-client" on Debian, ubuntu, etc. or "openssh-clients" on Fedora, Centoas, etc. Also, the OpenSSH source code can be downloaded from the OpenSSH webite (http://www.openssh.com/portable.html).

OpenSSH Key Generation

At GLiCID, we do not allow logging into our systems solely with a password. Rather, we require ke-based authentication. It is important to generate secure key pairs. Generate a key using the following line

ssh-keygen

Note: If the file ~/.ssh/id_rsa already exists, ssh-keygen will ask before overwriting it. You probably do not want to overwrite the file as you might already be using it as credentials for another system. Instead, use a different file name, e.g., ~/.ssh/id_glicid and remember to use the same file name on all subsequent lines in this document.

Afterwards, ssh-keygen will ask for a passphrase. It is not mandatory to enter a passphrase as you can simple press enter to proceed without passpharse. However, it is recommended to provide a strong passphrase and it needs to be entered in the future to unlock your private key. You might want to use a password manager to save your key and easy the use of complicated passphrases.

Keep the private key i.e., ~/.ssh/id_rsa safe and confidential on your local host. The generated puclic key i.e., ~/.ssh/id_rsa.pub needs to be uploaded to the CLAM user portal on https://clam.glicid.fr

OpenSSH Configuration

The user-side SSH configuration can be used to create shortcuts to targets/hosts and configure connections. The shortcuts and options also influnce the behavious of any program that uses SSH underneath, such as git, scp, and rsync.

An overview of all the available options can be seen via "man ssh_config". That's probably overwhelming, so here are a few options and configuraions highlighted.

Edit the .ssh/config file and add the following:

Host Bastion
Hostname bastion.glicid.fr
User <username>@ec-nantes.fr
IdentityFile ~/.ssh/id_rsa
ForwardAgent yes

Host glicid
Hostname login-001.glicid.fr
User <username>@ec-nantes.fr
ProxyJump Bastion
IdentityFile ~/.ssh/id_rsa

Host nautilus
Hostname nautilus-devel-001.nautilus.intra.glicid.fr
User jmir@ec-nantes.fr
ProxyJump glicid
IdentityFile ~/.ssh/id_rsa

The above entries create a shortcut that allows you to log in to the individaul nodes via the shortcut such as glicid, nautilus, and philias(soon).

Afterwards, you can simply connect to the GLiCID Cluster login nodes from the terminal using the following commands

ssh glicid

or

ssh nautilus

Note: If you're a windows user and not comfortable with the terminal, you can use MobaXterm.

- +

Getting Started With GLiCID: Quickstart

This documentation serves as the official user guide for GLiCID, a regional High Performance Computing center (Mésocentre) located in Loire Atlantique and hosted by Ecole Centrale de Nantes and Nantes University.

It provides comprehensive instructions for utilizing the GLiCID cluster, catering to both beginners and advanced users. Newcomers are encouraged to begin from the start, where they'll find guidance on how to log in to GLiCID, acquaint themselves with the environment, discover pre-installed software, compile programs, and execute them on GLiCID.

Experienced users who are already acquainted with Liger and Waves can conveniently navigate the table of contents and explore the specific topics they're interested in.

How to access GLiCID Cluster

In order to gain access to GLiCID you have to follow these steps:

  1. Create an account on https://clam.glicid.fr (school account, or CRU account for external users).
  2. The account will be validated by an administrator.
  3. User has to generate and upload the pulblic SSH key to CLAM portal (in profile's SSH Access tab).
  4. Edit the .ssh/config file and add the defined configuration.
  5. Finally, you can log in using SSH from terminal (on Linux and macOS) and PowerShell (on Windows).

OpenSSH

OpenSSH is a popular and freely available SSH client for UNIX-like operating systems such as GNU/Linux and macOS.

OpenSSH Installation

OpenSSH comes pre-installed on macOS. It is also contained in the package repository of many GNU/Linux distributions, e.g., "openssh-client" on Debian, ubuntu, etc. or "openssh-clients" on Fedora, Centoas, etc. Also, the OpenSSH source code can be downloaded from the OpenSSH webite (http://www.openssh.com/portable.html).

OpenSSH Key Generation

At GLiCID, we do not allow logging into our systems solely with a password. Rather, we require ke-based authentication. It is important to generate secure key pairs. Generate a key using the following line

ssh-keygen

Note: If the file ~/.ssh/id_rsa already exists, ssh-keygen will ask before overwriting it. You probably do not want to overwrite the file as you might already be using it as credentials for another system. Instead, use a different file name, e.g., ~/.ssh/id_glicid and remember to use the same file name on all subsequent lines in this document.

Afterwards, ssh-keygen will ask for a passphrase. It is not mandatory to enter a passphrase as you can simple press enter to proceed without passpharse. However, it is recommended to provide a strong passphrase and it needs to be entered in the future to unlock your private key. You might want to use a password manager to save your key and easy the use of complicated passphrases.

Keep the private key i.e., ~/.ssh/id_rsa safe and confidential on your local host. The generated puclic key i.e., ~/.ssh/id_rsa.pub needs to be uploaded to the CLAM user portal on https://clam.glicid.fr

OpenSSH Configuration

The user-side SSH configuration can be used to create shortcuts to targets/hosts and configure connections. The shortcuts and options also influnce the behavious of any program that uses SSH underneath, such as git, scp, and rsync.

An overview of all the available options can be seen via "man ssh_config". That's probably overwhelming, so here are a few options and configuraions highlighted.

Edit the .ssh/config file and add the following:

Host Bastion
Hostname bastion.glicid.fr
User <username>@ec-nantes.fr
IdentityFile ~/.ssh/id_rsa
ForwardAgent yes

Host glicid
Hostname login-001.glicid.fr
User <username>@ec-nantes.fr
ProxyJump Bastion
IdentityFile ~/.ssh/id_rsa

Host nautilus
Hostname nautilus-devel-001.nautilus.intra.glicid.fr
User jmir@ec-nantes.fr
ProxyJump glicid
IdentityFile ~/.ssh/id_rsa

The above entries create a shortcut that allows you to log in to the individaul nodes via the shortcut such as glicid, nautilus, and philias(soon).

Afterwards, you can simply connect to the GLiCID Cluster login nodes from the terminal using the following commands

ssh glicid

or

ssh nautilus

Note: If you're a windows user and not comfortable with the terminal, you can use MobaXterm.

+ \ No newline at end of file diff --git a/docs/tutorial-basics/apptainers/index.html b/docs/tutorial-basics/apptainers/index.html index 42d4554..ad38bb7 100644 --- a/docs/tutorial-basics/apptainers/index.html +++ b/docs/tutorial-basics/apptainers/index.html @@ -5,7 +5,7 @@ Containers for Scientific and High-Performance Computing (Apptainer/Singularity) | GLiCID - High Performance Computing - + @@ -117,7 +117,7 @@ Version v0.0.1

%help Example container running the RooFit tutorial and producing the rf101_basics.png image. The container provides ROOT with RooFit and Python integration running on Ubuntu.

References:

  1. Singularity/Apptainer Tutorial (https://hsf-training.github.io/hsf-training-singularity-webpage/04-building-containers/index.html)
- + \ No newline at end of file diff --git a/docs/tutorial-basics/cuda-python/index.html b/docs/tutorial-basics/cuda-python/index.html index 949e958..8ccd96c 100644 --- a/docs/tutorial-basics/cuda-python/index.html +++ b/docs/tutorial-basics/cuda-python/index.html @@ -5,13 +5,13 @@ CUDA Python/C++ | GLiCID - High Performance Computing - +

CUDA Python/C++

Docusaurus Plushie Docusaurus Plushie

CAUTION : WORK IN PROGRESS

Matrix Multiplication

import numpy
def dot(a, b):
"""Multiply the matrix a with the matrix b.

Parameters
----------
a: ndarray
left matrxi
b: ndarray
right matrix

Return
------
c: ndarray
result matrix
"""
c = numpy.zeros((a.shape[0], b.shape[1]))
for i in range(a.shape[0]):
for j in range(b.shape[1]):
for k in range(a.shape[1]):
c[i, j] += a [i, k] * b[k, j]
return c

Let's two small matrices and see how long the above function takes to conpute matrix multiplication.

n = 256
a = numpy.random.random((n, n))
b = numpy.random.random((n, n))

t_dot = %timeit -o dot(a, b)

A matrix multiplication of two n by n matrices performs 2n^3 operations. The dot function achieves

print("%.3f GFLOP/s" % (2e-9 * n**3 / t_dot.best))

That's why they tell is Python is slower.

Luckily, we have Numba, an open source JIT compiler that translates a subset of Python and NumPy code into fast machine code.

Numba makes Python code fast.

from numba import jit
jdot = jit(dot)

t_jit = %timeit -o jdot(a, b)

print("%.3f GFLOP/s" % (2e-9 * n**3 / t_jit.best))
- + \ No newline at end of file diff --git a/docs/tutorial-basics/guix/index.html b/docs/tutorial-basics/guix/index.html index 2a01851..d9ab870 100644 --- a/docs/tutorial-basics/guix/index.html +++ b/docs/tutorial-basics/guix/index.html @@ -5,13 +5,13 @@ GUIX | GLiCID - High Performance Computing - +

GUIX

GNU Guix is a package management tool for and distribution of the GNU system. Guix makes it easy for unprivileged users to install, upgrade, or remove software packages, to roll back to a previous package set, to build packages from source, and generally assists with the creation and maintenance of software environments.

Basic Guix Commands

To use guix on Nautilus, run this command at least once.

guix pull

Look for a package

guix search <package_name>

To install a package

guix install <package_name>

To remove a package

guix remove <package_name>

To check the list of installed packages

guix package -l

For more information, please visit Guix Official Docs

- + \ No newline at end of file diff --git a/docs/tutorial-basics/intro-hpc/index.html b/docs/tutorial-basics/intro-hpc/index.html index 5d7a8a2..bd36212 100644 --- a/docs/tutorial-basics/intro-hpc/index.html +++ b/docs/tutorial-basics/intro-hpc/index.html @@ -5,13 +5,13 @@ What is High-Performance Computing (HPC)s | GLiCID - High Performance Computing - +

What is High-Performance Computing (HPC)s

HPC is technology that uses clusters of powerful processors, working in parallel, to process massive multi-dimensional datasets (big data) and solve complex problems at extremely high speeds. HPC systems typically perform at speeds more than one million times faster than the fastest commodity desktop, laptop or server systems.

For decades the HPC system paradigm was the supercomputer, a purpose-built computer that embodies millions of processors or processor cores. Supercomputers are still with us; at this writing, the fastest supercomputer is the US-based Frontier, with a processing speed of 1.102 exaflops, or quintillion floating point operations per second (flops). But today, more and more organizations are running HPC solutions on clusters of high-speed computers servers, hosted on premises or in the cloud.

HPC workloads uncover important new insights that advance human knowledge and create significant competitive advantage. For example, HPC is used to sequence DNA, automate stock trading, and run artificial intelligence (AI) algorithms and simulations—like those enabling self-driving automobiles—that analyze terabytes of data streaming from IoT sensors, radar and GPS systems in real time to make split-second decisions.

How does HPC work?

A standard computing system solves problems primarily using serial computing—it divides the workload into a sequence of tasks, and then executes the tasks one after the other on the same processor.

In contrast, HPC leverages

Massively parallel computing. Parallel computing runs multiple tasks simultaneously on multiple computer servers or processors. Massively parallel computing is parallel computing using tens of thousands to millions of processors or processor cores.

Computer clusters (also called HPC clusters). An HPC cluster consists of multiple high-speed computer servers networked together, with a centralized scheduler that manages the parallel computing workload. The computers, called nodes, use either high-performance multi-core CPUs or, more likely today, GPUs (graphical processing units), which are well suited for rigorous mathematical calculations, machine learning models and graphics-intensive tasks. A single HPC cluster can include 100,000 or more nodes.

High-performance components: All the other computing resources in an HPC cluster—networking, memory, storage and file systems—are high-speed, high-throughput and low-latency components that can keep pace with the nodes and optimize the computing power and performance of the cluster.

Key Features and Benefits of HPC

  1. Speed and Scalability: HPC systems are designed to deliver exceptional processing speed and scalability. By distributing computational tasks across multiple processors or computing nodes, HPC allows for parallel execution, significantly reducing the time required to complete computationally demanding tasks.

  2. Large-Scale Data Processing: HPC facilitates the processing and analysis of massive datasets by leveraging parallel computing techniques. It enables researchers and scientists to tackle data-intensive challenges, such as genomics, climate modeling, financial analysis, and big data analytics, with improved efficiency.

  3. Complex Simulations and Modeling: HPC empowers researchers to perform complex simulations and modeling tasks that require extensive computational resources. It enables the exploration of intricate physical phenomena, optimization of designs, and prediction of system behavior by dividing the workload among multiple processors and solving parts of the problem simultaneously.

  4. Scientific Discovery and Innovation: HPC plays a vital role in accelerating scientific discovery and fostering innovation. It enables researchers to tackle complex problems, conduct advanced simulations, and analyze large-scale datasets, leading to breakthroughs in diverse fields, including physics, chemistry, biology, engineering, and astronomy.

  5. Parallel Algorithms and Software: HPC systems require the development and implementation of parallel algorithms and software to fully exploit their capabilities. Parallel programming languages, frameworks, and libraries enable programmers to efficiently distribute tasks across processors and manage communication and synchronization between them.

Applications of HPC

HPC finds applications in various fields, including but not limited to:

  • Artificial Intelligence and Machine Learning: HPC supports training deep neural networks, processing large datasets, and accelerating machine learning algorithms.

  • Weather and Climate Modeling: HPC is used to run complex atmospheric models, simulate weather patterns, and predict climate change phenomena.

  • Engineering and Design Optimization: HPC is employed to optimize engineering designs, analyze structural integrity, simulate fluid dynamics, and enhance product performance.

  • Astrophysics and Cosmology: HPC facilitates large-scale simulations of the universe, including galaxy formation, stellar evolution, and gravitational wave analysis.

  • Drug Discovery and Molecular Dynamics: HPC enables the simulation of drug interactions, protein folding, and molecular dynamics, aiding in the development of new pharmaceuticals.

  • Financial Modeling and Risk Analysis: HPC helps in analyzing complex financial models, running Monte Carlo simulations, and assessing investment risks.

- + \ No newline at end of file diff --git a/docs/tutorial-basics/linux-commands/index.html b/docs/tutorial-basics/linux-commands/index.html index 49221f5..7847b34 100644 --- a/docs/tutorial-basics/linux-commands/index.html +++ b/docs/tutorial-basics/linux-commands/index.html @@ -5,13 +5,13 @@ Linux Command Line | GLiCID - High Performance Computing - +

Linux Command Line

When working with High-Performance Computing (HPC) systems in Linux, there are several basic commands that are commonly used. Here are some of the essential commands:

  1. pwd: Print the current working directory. It displays the path of the current directory you are in.

    pwd
  2. ls: List the contents of a directory. It displays the files and directories in the current working directory.

    ls
  3. cd: Change directory. Use cd followed by the directory path to navigate to a specific directory.

    cd /path/to/dir
  4. mkdir: Create directories. Use mkdir followed by the directory name to create a new directory.

    mkdir
  5. touch: Create a new empty file.

    touch
  6. mv: Move or rename files and directories. It can be used to move files or directories from one location to another or rename them.

    mv
  7. cp: Copy files and directories. You can use cp to create a copy of a file or directory.

    cp
  8. rm: Remove files and directories. This command is used to delete files and directories. Be cautious when using it, as deleted files are not recoverable.

    rm
  9. man: Display page manual for the command.

    man
  10. cat: Display file content. It is used to print the contents of a file on the console.

    cat filename
  11. nano or vi: Text editors for creating or modifying files. You can use either nano or vi to edit text files directly from the command line.

    nano filename
  12. scp: Transferring files to HPC Clusters from a Mac/Linux.

    scp filename username@cluster:~
  13. ssh: Secure Shell (SSH) is used to connect to remote HPC systems. You can use the ssh command followed by the remote server's IP address or hostname to establish a secure shell connection.

    ssh nautilus

These are just a few basic commands, but there are many more available in Linux for various purposes. It's also worth mentioning that some HPC systems may have additional commands or utilities specific to their setup or configuration.

- + \ No newline at end of file diff --git a/docs/tutorial-basics/markdown-features/index.html b/docs/tutorial-basics/markdown-features/index.html index c292329..2fd6dce 100644 --- a/docs/tutorial-basics/markdown-features/index.html +++ b/docs/tutorial-basics/markdown-features/index.html @@ -5,13 +5,13 @@ JupyterLab | GLiCID - High Performance Computing - +

JupyterLab

Docusaurus supports Markdown and a few additional features.

Front Matter

Markdown documents have metadata at the top called Front Matter:

my-doc.md
---
id: my-doc-id
title: My document title
description: My document description
slug: /my-custom-url
---

## Markdown heading

Markdown text with [links](./hello.md)

Regular Markdown links are supported, using url paths or relative file paths.

Let's see how to [Create a page](/create-a-page).
Let's see how to [Create a page](./create-a-page.md).

Result: Let's see how to Create a page.

Images

Regular Markdown images are supported.

You can use absolute paths to reference images in the static directory (static/img/docusaurus.png):

![Docusaurus logo](/img/docusaurus.png)

Docusaurus logo

You can reference images relative to the current file as well. This is particularly useful to colocate images close to the Markdown files using them:

![Docusaurus logo](./img/docusaurus.png)

Code Blocks

Markdown code blocks are supported with Syntax highlighting.

```jsx title="src/components/HelloDocusaurus.js"
function HelloDocusaurus() {
return (
<h1>Hello, Docusaurus!</h1>
)
}
```
src/components/HelloDocusaurus.js
function HelloDocusaurus() {
return <h1>Hello, Docusaurus!</h1>;
}

Admonitions

Docusaurus has a special syntax to create admonitions and callouts:

:::tip My tip

Use this awesome feature option

:::

:::danger Take care

This action is dangerous

:::
My tip

Use this awesome feature option

Take care

This action is dangerous

MDX and React Components

MDX can make your documentation more interactive and allows using any React components inside Markdown:

export const Highlight = ({children, color}) => (
<span
style={{
backgroundColor: color,
borderRadius: '20px',
color: '#fff',
padding: '10px',
cursor: 'pointer',
}}
onClick={() => {
alert(`You clicked the color ${color} with label ${children}`)
}}>
{children}
</span>
);

This is <Highlight color="#25c2a0">Docusaurus green</Highlight> !

This is <Highlight color="#1877F2">Facebook blue</Highlight> !

This is Docusaurus green !

This is Facebook blue !

- + \ No newline at end of file diff --git a/docs/tutorial-basics/request-access/index.html b/docs/tutorial-basics/request-access/index.html index 3cc287c..9703f98 100644 --- a/docs/tutorial-basics/request-access/index.html +++ b/docs/tutorial-basics/request-access/index.html @@ -5,13 +5,13 @@ How to request access on GLiCID Cluster? | GLiCID - High Performance Computing - +

How to request access on GLiCID Cluster?

1. Create an account on https://clam.glicid.fr (school account, or CRU account for external users).
2. Account validation by an administrator
3. User sends SSH key to CLAM portal (in profile's SSH Access tab).
4. SSH connection configuration (found in the profile's SSH Access tab):
- For Linux and MacOS, edit the .ssh/config file and add the following:

Host Bastion
Hostname bastion.glicid.fr
User <username>@ec-nantes.fr
IdentityFile ~/.ssh/id_rsa
ForwardAgent yes

Host glicid
Hostname login-001.glicid.fr
User <username>@ec-nantes.fr
ProxyJump Bastion
IdentityFile ~/.ssh/id_rsa

Host nautilus
Hostname nautilus-devel-001.nautilus.intra.glicid.fr
User jmir@ec-nantes.fr
ProxyJump glicid
IdentityFile ~/.ssh/id_rsa


- For Windows, use MobaXTerm. With this tool, you can easily configure the GLiCID host, as well as the Jump proxy to Bastion.

5. You can log in using the session created in MobaXTerm (Windows), or with the GLiCID ssh command from a terminal (Linux and MacOS).

Note: Avoid using passwords on the GLiCID platform.

After, logging in to glicid, you need to generate the key and copy it to authorized keys directory to access nautilus.

login@guix-devel-00X# ssh-keygen -t rsa
login@guix-devel-00X# cat .ssh/id_rsa.pub > .ssh/authorized_keys
login@guix-devel-00X# ssh nautilus-devel-001
- + \ No newline at end of file diff --git a/docs/tutorial-basics/slurm/index.html b/docs/tutorial-basics/slurm/index.html index cffa91a..3eb0939 100644 --- a/docs/tutorial-basics/slurm/index.html +++ b/docs/tutorial-basics/slurm/index.html @@ -5,7 +5,7 @@ Introduction to SLURM | GLiCID - High Performance Computing - + @@ -15,7 +15,7 @@ scontrol show job job_id -M nautilus

scontrol show job 1411747 -M nautilus
  • Managing Jobs: You can cancel a running job using the scancel command followed by the job ID: scancel job_id
scancel 1411747

TP_2. Parallel Programming

IntelMPI

Let's try one embarassingly parallel program. Create a file using touch command and name it hello-mpi.cpp

Open the file using vim editor and insert the following code:

#include <iostream>
#include "mpi.h"
using namespace std;
int main(int argc,char **argv)
{
int rank,size;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
MPI_Comm_size(MPI_COMM_WORLD,&size);
int namesize;
char name[512];
MPI_Get_processor_name(name,&namesize);
cout << "hello from " << rank << " out of " << size << " running on " << name << " " << endl;
MPI_Finalize();
return 0;
}

Load the IntelMPI module using:

module load intel/compiler intel/mpi

Now, compile the code using the following command:

mpicxx -cxx=icpx -O3 -o hello-intelmpi hello-mpi.cpp

Once compiled, create a slurm script and name it job-intel.slurm. Here's the script:

#!/bin/bash
#SBATCH --job-name=HelloWorldMpi
#SBATCH --partition=standard

module purge
module load intel/compiler intel/mpi
export I_MPI_PMI_LIBRARY=/lib64/libpmi2.so
export I_MPI_COLL_EXTERNAL=0
export I_MPI_ADJUST_BCAST=0
export I_MPI_FABRICS=shm:ofi
export FI_PROVIDER=psm3

srun --mpi=pmi2 ./hello-intelmpi

Finally, submit the job using the following command

sbatch -M nautilus -p standard -q short job-intel.slurm

Now, monitor your job and check the output files.

OpenMPI

Let's try compiling with GNU compiler and OpenMPI but first you need to purge the loaded modules.

module purge

Now, load openMPI module using:

module load gcc openmpi/ucx/4.1.5_gcc_8.5.0_uxc_1.14.1_rdma_46.0

and compile hello-mpi.cpp program using:

mpicxx -O3 -o hello-openmpi hello-mpi.cpp

Once compiled, create a slurm script and name it job-mpi.slurm. Here's the script:

#!/bin/bash
#SBATCH --job-name=HelloWorldMpi
#SBATCH --partition=standard

module purge
module load gcc openmpi/ucx/4.1.5_gcc_8.5.0_ucx_1.14.1_rdma_46.0

export UCX_WARN_UNUSED_ENV_VARS=n
export OMPI_MCA_btl=^openib
export UCX_NET_DEVICES=mlx5_2:1

srun ./hello-openmpi

Submit the job using the following command

sbatch -M nautilus -p standard -q short job-mpi.slurm

Now, monitor your job and check the output files.

TP_3. Conda and Micromamba

Conda is a software environment manager that is quite popular, especially in the Python community, but it has many issues in the context of HPC use.

Note: GLiCID administrators advise against its use, especially if the affected software is already available in Guix. However, some packages are not available(yet) on Guix. In GLiCID, we have decided to use micromamba, which is the lighter version of conda. Here are the commands to run to install it locally on GLiCID:

# Download micromamba
mkdir -p $HOME/.local/bin
wget -P $HOME/.local/bin https://s3.glicid.fr/pkgs/micromamba
chmod u+x $HOME/.local/bin/micromamba

# Initilize micromamba
$HOME/.local/bin/micromamba -r /micromamba/$USER/ shell init --shell=bash --prefix=/micromamba/$USER/

# [OPTIONAL] Add an alias `conda`
echo -e '\n\n#Alias conda with micromamba\nalias conda=micromamba' >> ~/.bashrc

# Reload the .bashrc
source ~/.bashrc

Note: It is possible that the file is not always sourced at the login on GLiCID (investigations are ongoing). If this is not the case, remember to do after each login to load well. .bashrcsource ~/.bashrcmicromamba

Note: Set proxy on Nautilus (not devel) use:

export http_proxy=http://proxy-upgrade.univ-nantes.fr:3128/
export https_proxy=http://proxy-upgrade.univ-nantes.fr:3128/

To verify the installation:

micromamba --version  # or: `conda --version`
# -> 1.4.0

# create and environment micromamba/conda
micromamba create -n my_env

# Activate the ennvironment
micromamba activate my_env

# -> Your prompt should now be prefixed with: (my_env)

# Install the package using conda-forge
micromamba install -c conda-forge numpy

# Test the package
python -V
python -c "import numpy as np; print(np.__version__)"
# -> 1.24.2

# Deactivate the environment
micromamba deactivate


TP_4. FORTRAN

In this part of the tutorial, we will write our first Fortran program: the ubiquitous “Hello, World!” example.

However, before we can write our program, we need to ensure that we have a Fortran compiler set up.

Fortran is a compiled language, which means that, once written, the source code must be passed through a compiler to produce a machine executable that can be run.

Load the module using the following command:

module load gcc/13.1.0

Once you have loaded the module, open a new file in vim editor and enter the following:

program hello
! This is a comment line; it is ignored by the compiler
print *, 'Hello, World!'
end program hello

Having saved your program to hello.f90, compile at the command line with:

gfortran hello.f90 -o hello

.f90 is the standard file extension for modern Fortran source files. The 90 refers to the first modern Fortran standard in 1990.

To run your compiled program:

./hello

Congratulations, you’ve written, compiled and run your first Fortran program!


SLURM Official Docs

- + \ No newline at end of file diff --git a/docs/tutorial-basics/ssh/index.html b/docs/tutorial-basics/ssh/index.html index dab2005..9c7a282 100644 --- a/docs/tutorial-basics/ssh/index.html +++ b/docs/tutorial-basics/ssh/index.html @@ -5,13 +5,13 @@ Secure Shell (SSH) | GLiCID - High Performance Computing - +

Secure Shell (SSH)

CAUTION : WORK IN PROGRESS

Secure Shell (SSH) and its Use in HPC

Secure Shell (SSH) is a network protocol that provides a secure and encrypted way to establish remote command-line connections between computers over an untrusted network. SSH ensures data integrity, confidentiality, and authentication, making it an essential tool for accessing and managing High-Performance Computing (HPC) systems.

HPC environments often consist of clusters or supercomputers with multiple nodes, and SSH enables users to securely log in to these remote machines, execute commands, transfer files, and manage the system without physically being present at the HPC facility. It allows for remote administration, job submission, and monitoring of HPC resources.

Advantages of Using SSH for HPC:

  1. Secure Communication: SSH employs strong encryption algorithms to protect data transmitted over the network. This ensures that sensitive information, such as login credentials and command output, remains secure from eavesdropping and unauthorized access.

  2. Remote Access: SSH enables users to access and control HPC systems from anywhere with an internet connection. It eliminates the need for physical proximity to the HPC infrastructure, providing flexibility and convenience.

  3. Authentication and Authorization: SSH supports various authentication methods, such as passwords, public-key cryptography, and two-factor authentication. It ensures that only authorized individuals can access the HPC resources, adding an additional layer of security.

  4. File Transfer: SSH includes utilities like SCP (Secure Copy) and SFTP (Secure File Transfer Protocol) that allow users to securely transfer files between local machines and remote HPC systems. This facilitates data exchange for running simulations, analyzing results, and managing input/output files.

  5. Tunneling and Port Forwarding: SSH can create encrypted tunnels to securely access services running on remote machines, even if they are not directly exposed to the external network. It enables users to access web applications, databases, or other services hosted on HPC clusters through a secure connection.

Basic SSH Commands for HPC:

Here are some essential SSH commands used in HPC environments:

  1. ssh: Connects to a remote HPC system using SSH. Syntax: ssh [username]@[hostname] (e.g., ssh username@hpc.example.com).

  2. scp: Transfers files securely between local and remote systems using SSH. Syntax: scp [source] [destination] (e.g., scp file.txt username@hpc.example.com:/path/to/destination).

  3. sftp: Opens a secure FTP session for interactive file transfers between local and remote systems. Syntax: sftp [username]@[hostname] (e.g., sftp username@hpc.example.com).

  4. ssh-keygen: Generates SSH key pairs for public-key authentication. Syntax: ssh-keygen -t [type] (e.g., ssh-keygen -t rsa). This command creates a private key (id_rsa) and a corresponding public key (id_rsa.pub).

  5. ssh-copy-id: Installs the public key on a remote server, enabling passwordless SSH login. Syntax: ssh-copy-id [username]@[hostname] (e.g., ssh-copy-id username@hpc.example.com).

  6. ssh-agent: Manages SSH keys and provides secure storage for private keys. Syntax: ssh-agent bash (starts a new shell with SSH agent functionality).

  7. ssh-add: Adds private keys to the SSH agent. Syntax: ssh-add [path_to_private_key] (e.g., ssh-add ~/.ssh/id_rsa).

  8. logout or exit: Terminates the SSH session and disconnects from the remote HPC system.

- + \ No newline at end of file diff --git a/docs/tutorial-extras/manage-docs-versions/index.html b/docs/tutorial-extras/manage-docs-versions/index.html index 36c3567..3650213 100644 --- a/docs/tutorial-extras/manage-docs-versions/index.html +++ b/docs/tutorial-extras/manage-docs-versions/index.html @@ -5,13 +5,13 @@ manage-docs-versions | GLiCID - High Performance Computing - + - + \ No newline at end of file diff --git a/docs/tutorial-extras/translate-your-site/index.html b/docs/tutorial-extras/translate-your-site/index.html index 2da8d61..8852936 100644 --- a/docs/tutorial-extras/translate-your-site/index.html +++ b/docs/tutorial-extras/translate-your-site/index.html @@ -5,13 +5,13 @@ Translate your site | GLiCID - High Performance Computing - +

Translate your site

CAUTION : WORK IN PROGRESS

Let's translate docs/intro.md to French.

Configure i18n

Modify docusaurus.config.js to add support for the fr locale:

docusaurus.config.js
module.exports = {
i18n: {
defaultLocale: 'en',
locales: ['en', 'fr'],
},
};

Translate a doc

Copy the docs/intro.md file to the i18n/fr folder:

mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/

cp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md

Translate i18n/fr/docusaurus-plugin-content-docs/current/intro.md in French.

Start your localized site

Start your site on the French locale:

npm run start -- --locale fr

Your localized site is accessible at http://localhost:3000/fr/ and the Getting Started page is translated.

caution

In development, you can only use one locale at a same time.

Add a Locale Dropdown

To navigate seamlessly across languages, add a locale dropdown.

Modify the docusaurus.config.js file:

docusaurus.config.js
module.exports = {
themeConfig: {
navbar: {
items: [
{
type: 'localeDropdown',
},
],
},
},
};

The locale dropdown now appears in your navbar:

Locale Dropdown

Build your localized site

Build your site for a specific locale:

npm run build -- --locale fr

Or build your site to include all the locales at once:

npm run build
- + \ No newline at end of file diff --git a/index.html b/index.html index c518c66..beeef17 100644 --- a/index.html +++ b/index.html @@ -5,13 +5,13 @@ Hello from GLiCID - High Performance Computing | GLiCID - High Performance Computing - +

GLiCID - High Performance Computing

Ecole Centrale Nantes and Nantes University

Easy to Use

Mission

Promote scientific computing by offering its users advanced and shared computing resources for supercomputing and data exploitation.

Focus on What Matters

Services

Access to hours of CPU and GPU computing for sequential and parallel computing alongwith high-performance and volumetric data storage.

Powered by React

Users

There are around 400 to 500 active users in GLiCID which inlcude reserachers from all laboratories in the region from all disciplines.

- + \ No newline at end of file diff --git a/markdown-page/index.html b/markdown-page/index.html index 43c6cf5..c6833ee 100644 --- a/markdown-page/index.html +++ b/markdown-page/index.html @@ -5,13 +5,13 @@ Markdown page example | GLiCID - High Performance Computing - +

Markdown page example

You don't need React to write simple standalone pages.

- + \ No newline at end of file