Skip to content
Snippets Groups Projects
Commit 50b8fdb8 authored by Dirk Pleiter's avatar Dirk Pleiter
Browse files

Updates related to the use of Tegner

parent 763b8476
Branches 2022
No related tags found
No related merge requests found
...@@ -13,3 +13,20 @@ The instructions for the different exercises are here: ...@@ -13,3 +13,20 @@ The instructions for the different exercises are here:
- C programmers: [Lab 1](lab_1/README.md) - C programmers: [Lab 1](lab_1/README.md)
- Fortran programmers: [Lab 1](lab_1/README.md) and [specific Fortran guidelines](lab_1/Fortran/README.md) - Fortran programmers: [Lab 1](lab_1/README.md) and [specific Fortran guidelines](lab_1/Fortran/README.md)
- Lab 2: [Lab 2](lab_1/README.md) - Lab 2: [Lab 2](lab_1/README.md)
## GPU-accelerated system
The exercises will be run on PDC's cluster [Tegner](https://www.pdc.kth.se/hpc-services/computing-systems/tegner-1.737437):
```
tegner.pdc.kth.se
```
For all the exercises, we are going to use Tegner. **Even though you may have a laptop with a CUDA-supported GPU, we encourage you to use this during the labs.**
Authentication to Tegner happens through the Kerberos protocol. Related to the Kerberos-based authentication environment, please check the [Kerberos commands documentation](https://www.pdc.kth.se/support/documents/login/login.html#general-information-about-kerberos)
Current no resource manager, i.e. no Slurm, is used on Tegner. From the login node you can connect directly to the following nodes:
- Nodes with K80 GPUs: ```t03n[01-09]```
- Nodes with K420 GPUs and 512 GiByte of main memory: ```t02n[01-09,13-17,19-21,28-36,40-48],t03n[13-21]```
- Nodes with K420 GPUs and 1 or 2 TiByte of main memory: ```t01n[01,05,09,13,17,26,30,34,41,45]```
\ No newline at end of file
...@@ -2,14 +2,12 @@ ...@@ -2,14 +2,12 @@
## Introduction ## Introduction
For all the exercises, we are going to use Tegner. **Even though you may have a laptop with a CUDA-supported GPU, we encourage you to use this during the labs.**
In this first laboratory about GPU programming in CUDA, we are going to introduce you to the very basic concepts you need to start programming your own GPU-accelerated applications. It aims to provide you with a first notion on how to use CUDA. This includes how to compile a CUDA program, how to launch a CUDA kernel, how to index 1D arrays, and more. In this first laboratory about GPU programming in CUDA, we are going to introduce you to the very basic concepts you need to start programming your own GPU-accelerated applications. It aims to provide you with a first notion on how to use CUDA. This includes how to compile a CUDA program, how to launch a CUDA kernel, how to index 1D arrays, and more.
A step-by-step guide is provided and with each exercise you will find one or more steps that need to be performed with questions, which you need to address in order for the exercise to be considered complete. A step-by-step guide is provided and with each exercise you will find one or more steps that need to be performed with questions, which you need to address in order for the exercise to be considered complete.
For all the exercises, we are going to use Tegner. **Even though you may have a laptop with a CUDA-supported GPU, we encourage you to use this during the labs.** For the purposes of this laboratory, we will use the "Thin Nodes" of Tegner.
To connect Tegner, first connect to the Dardel login node and obtain a Kerberos token by running ``kinit``. Thereafter, connect to Tegner using ``ssh tegner`` from the Dardel login node.
In this first block A of the laboratory, we are going to introduce you to the world of GPU programming using CUDA. We will begin explaining how to how to compile and run a given program. Thereafter, we will ask you to create your first CUDA program using a CPU implementation of a SAXPY function as reference. In this first block A of the laboratory, we are going to introduce you to the world of GPU programming using CUDA. We will begin explaining how to how to compile and run a given program. Thereafter, we will ask you to create your first CUDA program using a CPU implementation of a SAXPY function as reference.
## Exercise A1: Experimental Setup ## Exercise A1: Experimental Setup
......
...@@ -8,7 +8,7 @@ In this second laboratory about GPU programming in CUDA, we are going to continu ...@@ -8,7 +8,7 @@ In this second laboratory about GPU programming in CUDA, we are going to continu
**We assume that everyone have already finished the exercises of the first lab**, i.e. exercise A1 to A2 (and ideally also the bonus exercises A3 and A4). **We assume that everyone have already finished the exercises of the first lab**, i.e. exercise A1 to A2 (and ideally also the bonus exercises A3 and A4).
For all the exercises, we are going to use Tegner. **Even though you may have a laptop with a CUDA-supported GPU, we encourage you to use this during the labs.** For the purposes of this laboratory, we will use the "Thin Nodes" of Tegner with K80 GPUs. For all the exercises, we are going to use Tegner. **Even though you may have a laptop with a CUDA-supported GPU, we encourage you to use this during the labs.**
For the second lab, we are going to play with images and perform some basic image processing to create the base for an edge detector, such as [Canny](https://en.wikipedia.org/wiki/Canny_edge_detector). Our goal is to make you understand how to index 2D matrices, while doing something fun and practical. As a matter of fact, the results of the exercises below represent some of the main image processing techniques used in Computer Vision that allow for object and text recognition. If you would like to get a feeling on how the final output would look like, check the cover of this document! For the second lab, we are going to play with images and perform some basic image processing to create the base for an edge detector, such as [Canny](https://en.wikipedia.org/wiki/Canny_edge_detector). Our goal is to make you understand how to index 2D matrices, while doing something fun and practical. As a matter of fact, the results of the exercises below represent some of the main image processing techniques used in Computer Vision that allow for object and text recognition. If you would like to get a feeling on how the final output would look like, check the cover of this document!
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment