|
| 1 | +===================================================================== |
| 2 | +June 2023 / Intro to Scientific Computing / HPC Summer Kickstart |
| 3 | +===================================================================== |
| 4 | + |
| 5 | +.. important:: |
| 6 | + |
| 7 | + This page mostly has information from 2022. The page will be |
| 8 | + updated closer to time. The dates are confirmed to be 6-8 June |
| 9 | + 2023 (T-Th). The schedule will be updated based on what we decide |
| 10 | + to focus on this year - if you have special topic requests, please |
| 11 | + let us know. |
| 12 | + |
| 13 | + |
| 14 | +Kickstart is a three × half day course for researchers to get |
| 15 | +started with high-performance computing (HPC) clusters. |
| 16 | +**The first day serves as a guide to your career:** a map to the types of |
| 17 | +resources that are available and skills you may need in your career, |
| 18 | +so that you can be prepared when you |
| 19 | +need more in the future. This part is especially suitable to new researchers or students trying to |
| 20 | +understand computational/data analysis options available to them. It |
| 21 | +won't go into anything too deep, but will provide you with a good |
| 22 | +background for your next steps: you will know what resources are |
| 23 | +available and know the next steps to use them. |
| 24 | + |
| 25 | +**The second and third days take |
| 26 | +you from being a new user to being competent to run your code at a |
| 27 | +larger scale than you could before.** |
| 28 | +This part is good for any researcher who thinks they may need to |
| 29 | +scale up to larger resources in the next six months, in any field. |
| 30 | +Even if you don't use computing clusters, you will be better prepared |
| 31 | +to understand how computing works on other systems. If you are a |
| 32 | +student, this is an investment in your skills. By the end of the course you |
| 33 | +get the hints, ready solutions and |
| 34 | +copy/paste examples on how to find, run and monitor your applications, |
| 35 | +and manage your data. |
| 36 | + |
| 37 | +If you are at Aalto University: the course is obligatory for all new |
| 38 | +Triton users and recommended to all interested in the field. |
| 39 | + |
| 40 | +This course is part of :doc:`Scientific Computing in Practice <index>` lecture series |
| 41 | +at Aalto University, supported by many others outside Aalto, and offered to others as part of `CodeRefinery <https://coderefinery.org>`__. |
| 42 | + |
| 43 | + |
| 44 | + |
| 45 | +Other universities |
| 46 | +------------------ |
| 47 | + |
| 48 | +**If you are not at Aalto University**, you can follow along with the |
| 49 | +course and will learn many things anyway. The course is designed to |
| 50 | +be as useful to people outside of Aalto, but some of the examples |
| 51 | +won't directly work on your cluster (most will, anyway we will give |
| 52 | +hints about adapting). Known sites partnering with this course: |
| 53 | + |
| 54 | +* Regardless of where you are from, you may register using the |
| 55 | + registration form below to get emails about the course. |
| 56 | +* Participants from University of Helsinki can follow how to connect |
| 57 | + to their Kale/Turso cluster by following `their own instructions |
| 58 | + <https://wiki.helsinki.fi/pages/viewpage.action?pageId=408323613>`__. |
| 59 | +* Participants from University of Oulu: please follow instructions on |
| 60 | + `how to access the Carpo2 computing cluster <https://ict.oulu.fi/17120/?page&lang=en>`__. |
| 61 | +* Tampere: this course is recommended for all new Narvi users and also all |
| 62 | + interested in HPC. Most things should work with simply replacing triton |
| 63 | + -> narvi. Some differences in configuration are listed in |
| 64 | + `Narvi differences |
| 65 | + <https://narvi-docs.readthedocs.io/narvi/kickstart-diffs.html>`__ |
| 66 | +* `CSC <https://csc.fi>`__ (Finland): Participants with `CSC user |
| 67 | + account <https://docs.csc.fi/accounts/>`__ can try examples also in |
| 68 | + CSC supercomputers, see the `overview of CSC supercomputers |
| 69 | + <https://docs.csc.fi/computing/overview/>`__ for details on |
| 70 | + connecting, etc. |
| 71 | + |
| 72 | +If you want to get your site listed here and/or help out, contact us |
| 73 | +via the `CodeRefinery chat |
| 74 | +<https://coderefinery.github.io/manuals/chat/>`__ (#workshops stream). |
| 75 | +Our :doc:`hints for other sites' support staff |
| 76 | +</triton/tut/required-cluster-setup>` are available. |
| 77 | + |
| 78 | + |
| 79 | + |
| 80 | +Practical information |
| 81 | +--------------------- |
| 82 | + |
| 83 | +This is an online hybrid of MOOC and interactive: everyone may attend |
| 84 | +the **livestream** at https://twitch.tv/coderefinery, no registration |
| 85 | +needed! This is the primary way to watch all sessions. **Zoom** is |
| 86 | +used for exercise sessions of partner audiences, and **HackMD** is |
| 87 | +used for a continuous Q&A session. |
| 88 | + |
| 89 | +**Time, date:** 6 -- 8 June (Tue--Thu). 11:50-16:00 EEST |
| 90 | + |
| 91 | +**Place:** Online via public livestream, Zoom exercise sessions for |
| 92 | +partners, and probably in-person discussion/practice rooms at some |
| 93 | +campus. |
| 94 | + |
| 95 | +**Registration:** Please register at this link [TODO]. Attending |
| 96 | + individual sessions is fine. |
| 97 | + |
| 98 | +**Cost:** Free of charge for FGCI consortium members including Aalto |
| 99 | +employees and students. Livestream is free to everyone. |
| 100 | + |
| 101 | +**Additional course info at:** scip@aalto.fi |
| 102 | + |
| 103 | + |
| 104 | + |
| 105 | +Schedule |
| 106 | +-------- |
| 107 | + |
| 108 | +**All times are EEST (Europe/Helsinki time)!** |
| 109 | + |
| 110 | +The daily schedule will be adjusted based on the audience's questions. |
| 111 | +There will be frequent breaks and continuous questions time going on, |
| 112 | +this is the mass equivalent of an informal help session to get you |
| 113 | +started with the computing resources. |
| 114 | + |
| 115 | + |
| 116 | +.. admonition:: Subject to change |
| 117 | + |
| 118 | + Schedule may still have minor updates, please check back for |
| 119 | + the latest. |
| 120 | + |
| 121 | +* **Day #1 (Tue 6.jun):** Basics and background |
| 122 | + |
| 123 | + * 11:50--12:00: Connecting time, basics, and icebreaker |
| 124 | + |
| 125 | + * **12:00--12:10 Introduction, about the course** *Richard Darst and |
| 126 | + other staff* Materials: :doc:`../../training/kickstart/intro` |
| 127 | + |
| 128 | + * **12:10--12:25: From data storage to your science** *Enrico |
| 129 | + Glerean and Simo Tuomisto* |
| 130 | + |
| 131 | + Data is how most computational work starts, whether it is |
| 132 | + externally collected, simulation code, or generated. And these |
| 133 | + days, you can work on data even remotely, and these workflows |
| 134 | + aren't obvious. We discuss how data storage choices lead to |
| 135 | + computational workflows. Materials: `SciComp Intro |
| 136 | + <https://hackmd.io/@AaltoSciComp/SciCompIntro>`__ |
| 137 | + |
| 138 | + * **12:25--12:50: What is parallel computing? An analogy with |
| 139 | + cooking** *Enrico Glerean and Thomas Pfau* |
| 140 | + |
| 141 | + In workshops such as this, you will hear lots about parallel |
| 142 | + computing and how you need it, but rarely get a understandable |
| 143 | + introduction to how they relate and which are right for you. |
| 144 | + Here, we give a understandable metaphor with preparing large |
| 145 | + meals. `Slides <https://docs.google.com/presentation/d/e/2PACX-1vQLTzWkRy7Du3jjPJ6Y9BqKczU_JcSTEL6XsndrNJ7ylzi4RWeEy8lhfWZQu_lpwbAKroh51qqLoPFG/pub>`__ |
| 146 | + |
| 147 | + * **13:00--13:25: Behind the scenes: the humans of scientific |
| 148 | + computing** *Richard Darst and ???* |
| 149 | + |
| 150 | + Who are we that provide these services. What makes it such a |
| 151 | + fascinating career? Learn about what goes on behind the scenes |
| 152 | + and how you could join us. |
| 153 | + |
| 154 | + * **13:25--13:50: How you actually install software on the cluster: |
| 155 | + an example case (Conda and Python)** *Simo Tuomisto and ???* |
| 156 | + |
| 157 | + Software installation is one of the questions we most often get. |
| 158 | + Usually, on clusters, this happens via *environments*, which |
| 159 | + allows you to install specific software per-project. We'll give a |
| 160 | + demonstration of how these work in Python. Materials for demo: |
| 161 | + :doc:`/triton/apps/python-conda` |
| 162 | + |
| 163 | + - **14:00--14:50: Secure Shell (ssh) tips and tricks** *Thomas Pfau |
| 164 | + and Enrico Glerean* |
| 165 | + |
| 166 | + Remembering server address... Another login? Another password prompt? |
| 167 | + Again? Wouldn't it be nice to just have a key instead of a keycode that |
| 168 | + you need to type in? Here, we will show you how to set up your computer |
| 169 | + to easily connect to the server(s) you need. And we will explain the |
| 170 | + process from keys to config. While useful, this part is skippable if |
| 171 | + you are able to connect to Triton (next section). |
| 172 | + Materials: :doc:`/scicomp/ssh` |
| 173 | + |
| 174 | + - **15:00--15:45: Connecting to a HPC cluster** *Thomas Pfau and |
| 175 | + Simo Tuomisto* |
| 176 | + |
| 177 | + - Required if you are attending the Triton/HPC tutorials the |
| 178 | + following days, otherwise the day is done. |
| 179 | + - 15:00--15:20?: Livestream introduction to connecting |
| 180 | + - 15:??--??: Individual help time in Zoom (links sent to |
| 181 | + registered participants) |
| 182 | + - Material: :doc:`/triton/tut/connecting` |
| 183 | + |
| 184 | + - Preparation for day 2: |
| 185 | + |
| 186 | + Remember to read/watch the "shell crash course" (see "Preparation" |
| 187 | + below) if you are not yet confident with the command line. This |
| 188 | + will be useful for tomorrow. |
| 189 | + |
| 190 | +* **Day #2 (Wed 7.jun):** Basic use of a cluster *(Richard Darst, Simo |
| 191 | + Tuomisto)* |
| 192 | + |
| 193 | + - 11:50--12:00: Connecting time and icebreaker |
| 194 | + |
| 195 | + - **12:00--12:05: Introduction to days 2-3** |
| 196 | + |
| 197 | + - :doc:`/triton/tut/intro` |
| 198 | + |
| 199 | + - **12:05--12:30: What can you do with a computational cluster?** |
| 200 | + |
| 201 | + Several real examples of how people use the cluster (what you can |
| 202 | + do at the end of the course). |
| 203 | + |
| 204 | + - Real example 1: Large-scale computing with array jobs |
| 205 | + - Real example 2: Large-scale parallel computing |
| 206 | + |
| 207 | + - **12:30--15:00: Running your first jobs in the queue** |
| 208 | + |
| 209 | + - :doc:`/triton/tut/interactive` |
| 210 | + - :doc:`/triton/tut/serial` |
| 211 | + - :doc:`/triton/tut/monitoring` |
| 212 | + |
| 213 | + - **15:00--15:30: Other things you should know about the HPC environment** |
| 214 | + |
| 215 | + - :doc:`/triton/tut/modules` |
| 216 | + - :doc:`/triton/tut/storage` |
| 217 | + - :doc:`/triton/tut/remotedata` |
| 218 | + |
| 219 | + - **15:30--16:00: Q&A** |
| 220 | + |
| 221 | +* **Day #3 (Thu 8.jun):** Advanced cluster use *(Simo Tuomisto, Richard |
| 222 | + Darst)* |
| 223 | + |
| 224 | + - 11:50: Joining time/icebreaker |
| 225 | + |
| 226 | + - **11:50--13:00: Simple parallelization with array jobs:** |
| 227 | + :doc:`/triton/tut/array` |
| 228 | + |
| 229 | + - **13:00--14:00: Using more than one CPU at the same time:** |
| 230 | + :doc:`/triton/tut/parallel` |
| 231 | + |
| 232 | + - **14:00--14:30: Laptops to Lumi** |
| 233 | + |
| 234 | + You now know of basics of using a computing cluster. What if you |
| 235 | + need more than what a university can provide? CSC (and other |
| 236 | + national computing centers) have even more resources, and this is |
| 237 | + a tour of them. `Slides here <https://github.com/AaltoSciComp/scicomp-docs/raw/master/training/scip/CSC-services_062022.pdf>`__. |
| 238 | + |
| 239 | + - **14:40--15:30: Running jobs that can utilize GPU hardware:** :doc:`/triton/tut/gpu` |
| 240 | + |
| 241 | + - **15:30--16:00: Q&A** |
| 242 | + |
| 243 | + |
| 244 | + |
| 245 | +Preparation |
| 246 | +----------- |
| 247 | + |
| 248 | +We strongly recommend you are familiar with the Linux command line. |
| 249 | +Browsing the following material is sufficient: |
| 250 | + |
| 251 | +* `Basic Linux shell and scripting |
| 252 | + <https://www.youtube.com/watch?v=ESXLbtaxpdI&list=PLZLVmS9rf3nN_tMPgqoUQac9bTjZw8JYc&index=3>`__ |
| 253 | + (important) (or read/watch the shorter :doc:`crash course |
| 254 | + </scicomp/shell>` / `video <https://youtu.be/56p6xX0aToI>`__) |
| 255 | + |
| 256 | +**How to attend:** Online workshops can be a productive format, but it |
| 257 | +takes some effort to get ready. Browse these resources: |
| 258 | + |
| 259 | +* `Attending a livestream workshop |
| 260 | + <https://coderefinery.github.io/manuals/how-to-attend-stream/>`__, |
| 261 | + good to read in detail (ignore the CodeRefinery-specific parts). |
| 262 | +* `How to use HackMD to take answer questions and hold discussions <https://coderefinery.github.io/manuals/hackmd-mechanics/>`__. |
| 263 | + |
| 264 | + |
| 265 | + |
| 266 | + |
| 267 | +Technical prerequisites |
| 268 | +----------------------- |
| 269 | + |
| 270 | +**Software installation** |
| 271 | + |
| 272 | +* SSH client to connect to the cluster (+ be able to connect, see next |
| 273 | + point) |
| 274 | +* `Zoom <https://coderefinery.github.io/installation/zoom/>`__ (if |
| 275 | + attending breakout rooms) |
| 276 | + |
| 277 | + |
| 278 | +**Cluster account and connection verification:** |
| 279 | + |
| 280 | +* Access to your computer cluster. |
| 281 | + |
| 282 | + * Aalto: if you do not yet have access to Triton, :doc:`request an account |
| 283 | + </triton/accounts>` in advance. |
| 284 | + |
| 285 | +* Then, connect and get it working |
| 286 | + |
| 287 | + * Aalto (and possibly useful to others): try to :doc:`connect to |
| 288 | + Triton </triton/tut/connecting>` to be ready. Come to the |
| 289 | + Wednesday session for help connecting (required). |
| 290 | + |
| 291 | + |
| 292 | + |
| 293 | +Next steps / follow-up courses |
| 294 | +------------------------------ |
| 295 | + |
| 296 | +Keep the :doc:`Triton quick reference </triton/ref/index>` close (or |
| 297 | +equivalent for your cluster). |
| 298 | + |
| 299 | +Each year the first day has varying topics presented. We don't repeat |
| 300 | +these every year, but we strongly recommend that you watch some of |
| 301 | +these videos yourself as preparation. |
| 302 | + |
| 303 | +Very strongly recommended: |
| 304 | + |
| 305 | +* `When and how to ask for help |
| 306 | + <https://www.youtube.com/watch?v=5fgXXz3fzdM>`__ (very useful) |
| 307 | +* `Git intro |
| 308 | + <https://www.youtube.com/watch?v=r9AT7MqmLrU&list=PLZLVmS9rf3nOaNzGrzPwLtkvFLu35kVF4&index=5>`__ (useful) |
| 309 | + |
| 310 | +Other useful material in previous versions of this course: |
| 311 | + |
| 312 | +* Scientific Computing workflows at Aalto - concepts apply to other |
| 313 | + sites, too (optional): `lecture notes |
| 314 | + <https://hackmd.io/@AaltoSciComp/SciCompIntro>`__ and `video |
| 315 | + <https://www.youtube.com/watch?v=Oz37XAzWFhk>`__, :doc:`reference |
| 316 | + material </triton/usage/workflows>`. |
| 317 | +* Tools of scientific computing (optional): `lecture notes |
| 318 | + <https://hackmd.io/@AaltoSciComp/ToolsOfScientificComputing>`__ and |
| 319 | + `video <https://www.youtube.com/watch?v=kXYfxXEb0Go>`__ |
| 320 | + |
| 321 | +While not an official part of this course, we suggest these videos |
| 322 | +(co-produced by our staff) as a follow-up perspective: |
| 323 | + |
| 324 | +* Attend a `CodeRefinery workshop <https://coderefinery.org>`__, |
| 325 | + which teaches more useful tools for scientific software |
| 326 | + development. |
| 327 | +* Look at `Hands-on Scientific Computing |
| 328 | + <https://hands-on.coderefinery.org>`__ for an online course to |
| 329 | + either browse or take for credits. |
| 330 | +* `Cluster Etiquette (in Research Software Hour) |
| 331 | + <https://www.youtube.com/watch?v=NIW9mqDwnJE&list=PLpLblYHCzJAB6blBBa0O2BEYadVZV3JYf>`__: |
| 332 | + The Summer Kickstart teaches what you *can* do from this course, |
| 333 | + but what *should* you do to be a good user. |
| 334 | +* `How to tame the cluster (in Research Software Hour) |
| 335 | + <https://www.youtube.com/watch?v=5HN9-MW7Tw8&list=PLpLblYHCzJAB6blBBa0O2BEYadVZV3JYf>`__. |
| 336 | + This mostly repeats the contents of this course, with a bit more |
| 337 | + discussion, and working one example from start to parallel. |
| 338 | + |
| 339 | + |
| 340 | + |
| 341 | +Community standards |
| 342 | +------------------- |
| 343 | + |
| 344 | +We hope to make a good learning environment for everyone, and expect |
| 345 | +everyone to do their part for this. If there is anything we can do to |
| 346 | +support that, let us know. |
| 347 | + |
| 348 | +If there is anything wrong, *tell us right away* - if you need to |
| 349 | +contact us privately, you can message the host on Zoom or |
| 350 | +:doc:`contact us outside the course </help/index>`. This could be as |
| 351 | +simple as "speak louder / text on screen is unreadable / go slower" or |
| 352 | +as complex as "someone is distracting our group by discussing too |
| 353 | +advanced things". |
| 354 | + |
| 355 | + |
| 356 | + |
| 357 | +Material |
| 358 | +-------- |
| 359 | + |
| 360 | +See the schedule |
0 commit comments