Events

Refresh calendars Add to google calendar
January,2024
9 Jan 10:00 am 12:00 pm

EES1137: Lecture 1

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: AA207
EES1137 - Winter 2024Show in Google map
9 Jan 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
10 Jan 1:00 pm 2:30 pm

Intro to Niagara

In about 90 minutes, learn how to use the SciNet systems Niagara and Mist, from securely logging in to running computations on the supercomputer. Experienced users may still pick up some valuable pointers.Format: Virtual Virtual
HPC105 - Jan 2024Show in Google map
11 Jan 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
11 Jan 11:00 am 12:00 pm

EES1137: Lecture 2

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: IC120
EES1137 - Winter 2024Show in Google map
15 Jan 1:00 pm 4:00 pm

File Management - Packing Small Files

Managing large amounts of data can be a challenging task. Processing large numbers of files incur heavy overhead of IO communications. This course explores several options such as using Apptainer Overlay and SQLite to pack and reduce a large number of files to few files, and hence, improving IO performance. Python scripts are used throughout the course.Format: Virtual Virtual
DAT171 - Jan 2024Show in Google map
16 Jan 10:00 am 12:00 pm

EES1137: Lecture 3

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: AA207
EES1137 - Winter 2024Show in Google map
16 Jan 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
18 Jan 11:00 am 12:00 pm

EES1137: Lecture 4

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: IC120
EES1137 - Winter 2024Show in Google map
18 Jan 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
22 Jan 1:00 pm 4:00 pm

HPC Python

Parallel programming in Python. We will cover subprocess, numexpr, multiprocessing, MPI, and other parallel-enabling python packages.Format: Virtual Virtual
HPC111 - Jan 2024Show in Google map
23 Jan 10:00 am 12:00 pm

EES1137: Lecture 5

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: AA207
EES1137 - Winter 2024Show in Google map
23 Jan 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
25 Jan 11:00 am 12:00 pm

EES1137: Lecture 6

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: IC120
EES1137 - Winter 2024Show in Google map
25 Jan 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
30 Jan 10:00 am 12:00 pm

EES1137: Lecture 7

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: AA207
EES1137 - Winter 2024Show in Google map
30 Jan 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
February,2024
1 Feb 11:00 am 12:00 pm

EES1137: Lecture 8

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: IC120
EES1137 - Winter 2024Show in Google map
1 Feb 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
6 Feb 10:00 am 12:00 pm

EES1137: Lecture 9

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: AA207
EES1137 - Winter 2024Show in Google map
6 Feb 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
8 Feb 11:00 am 12:00 pm

EES1137: Lecture 10

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: IC120
EES1137 - Winter 2024Show in Google map
8 Feb 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
13 Feb 10:00 am 12:00 pm

EES1137: Lecture 11

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: AA207
EES1137 - Winter 2024Show in Google map
13 Feb 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
14 Feb 1:00 pm 2:30 pm

Intro to Niagara

In about 90 minutes, learn how to use the SciNet systems Niagara and Mist, from securely logging in to running computations on the supercomputer. Experienced users may still pick up some valuable pointers.Format: Virtual Virtual
HPC105 - Feb 2024Show in Google map
15 Feb 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
15 Feb 11:00 am 12:00 pm

EES1137: Lecture 12

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: IC120
EES1137 - Winter 2024Show in Google map
21 Feb 12:00 pm 1:00 pm

Compute Ontario Colloquium: Multi-Factor Authentication (Marco Saldarriaga, SciNet)

Multi-factor authentication, MFA, two-factor authentication, or 2FA, along with similar terms, is an electronic authentication method in which a user is granted access to a device, website or application only after successfully presenting two or more pieces of evidence (or factors) to an authentication mechanism: MFA protects user data—which may include personal identification or financial assets from being accessed by an unauthorized third party that may have been able to discover, for example, a single password. We will explain the most common uses of MFA today, and how MFA is being implemented in our environment. Online
COCO - 21 Feb 2024Show in Google map
23 Feb 1:00 pm 4:00 pm

Intro to Linux Command Line

Working with many of the HPC systems (like those at SciNet) involves using the Linux/UNIX command line. This provides a very powerful interface, but it can be quite daunting for the uninitiated. In this half-day session, you can become initiated with this course which will cover basic commands. It could be a great boon for your productivity.Format: Virtual Virtual
SCMP101 - Feb 2024Show in Google map
26 Feb 12:30 pm 2:00 pm

GPU Programming 1/3

An overview of GPUs and their use in supercomputers. This workshop will explain what GPUs are, and cover the basic ideas of GPU use in scientific computing. We will introduce several GPU programming frameworks, and demonstrate how to accelerate a solution of a science problem using a GPU. Python or C++ could be used for the assignment.Format: Virtual
HPC133 - Feb 2024
27 Feb 10:00 am 12:00 pm

EES1137: Lecture 13

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: AA207
EES1137 - Winter 2024Show in Google map
27 Feb 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
28 Feb 12:30 pm 2:00 pm

GPU Programming 2/3

An overview of GPUs and their use in supercomputers. This workshop will explain what GPUs are, and cover the basic ideas of GPU use in scientific computing. We will introduce several GPU programming frameworks, and demonstrate how to accelerate a solution of a science problem using a GPU. Python or C++ could be used for the assignment.Format: Virtual
HPC133 - Feb 2024
29 Feb 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
29 Feb 11:00 am 12:00 pm

EES1137: Lecture 14

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: IC120
EES1137 - Winter 2024Show in Google map
March,2024
1 Mar 12:30 pm 2:00 pm

GPU Programming 3/3

An overview of GPUs and their use in supercomputers. This workshop will explain what GPUs are, and cover the basic ideas of GPU use in scientific computing. We will introduce several GPU programming frameworks, and demonstrate how to accelerate a solution of a science problem using a GPU. Python or C++ could be used for the assignment.Format: Virtual
HPC133 - Feb 2024
4 Mar 1:00 pm 2:30 pm

Intro to OpenMP

Learn the basics of shared memory programming with OpenMP. In particular, we will discuss the OpenMP execution and memory model, performance, reductions and load balancing.Format: Virtual Virtual
HPC113 - Mar 2024Show in Google map
5 Mar 10:00 am 12:00 pm

EES1137: Lecture 15

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: AA207
EES1137 - Winter 2024Show in Google map
5 Mar 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
7 Mar 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
7 Mar 11:00 am 12:00 pm

EES1137: Lecture 16

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: IC120
EES1137 - Winter 2024Show in Google map
11 Mar 9:00 am

2D diffusion equation is due

The assignment is to numerically solve the diffusion (heat) equation
in two dimensions, using GPU acceleration, in either Python or C++.

You can find serial, CPU-based solutions in both languages in the course’s source tarball.

If you choose Python, you can follow the instructions on the
appropriate slide in the handouts, titled Setting up the environment
(Python). If you want graphics on Mist, please also install the
matplotlib package in your Conda environment using conda install (no
need on Graham as the package is provided by the scipy-stack module).
You could modify the file diff2d.py such that the bulk of the
calculation (within the time loop) is done using the GPU. You can follow
the gravitational potential calculation example shown in class, Numba
and/or CuPy can be used in the solution. Note that the sample solution in Python is equivalent to the “naïve” solution for the gravitational potential problem, therefore very bad.

If you choose C++, we count on you being familiar with how to compile
source code. You could modify the file diff2d.cpp such that the bulk
of the calculation (within the time loop) is done using the GPU. On
both Mist and Graham, load the following modules: cuda, gcc, pgplot (you
may skip PGPLOT but then please remove the plotting calls from the main
source file and do not compile diff2dplot.cpp). If you choose to work
with HIP instead of CUDA, on Mist you can load the hip module in
addition to the cuda module (which is still necessary since HIP uses the
CUDA compiler under the hood when compiling for Nvidia GPUs). HIP is
not currently available on Graham, but you can try to install it locally
there.
The sample C++ code uses rarray,
you can install it locally or just pull the header.

The usual suffix of CUDA files is .cu and the nvcc command is used to
compile the source (instead of g++ for example). You can keep the .cpp
suffix, but then have to pass --x=cu to nvcc (this is not recommended for files that contains a kernel launch with triple angle brackets, as that is not legal C++ syntax). The usual suffix of HIP
files is just .cpp, and the hipcc command is used to compile. GPU kernels
can be in the same file where the main function is, as we saw in the
vector addition example, but in more complex applications the GPU code
(including kernel launches) would generally be separated out to one or more compilation units that
are linked to the rest of the code during the build process.
The Mist login node has four GPUs that can be used for the assignment, on Graham one has to submit a job to the scheduler. Unlike for submitted jobs, there is no guarantee that a GPU on the Mist login node would be free when you launch your application, as the node is shared by everyone. You could use the nvidia-smi command to see the current usage of the GPUs. By default, the first device (number 0) is used, but this behaviour can be change by setting an environment variable as shown below. For example, if you want to use device number 1:
CUDA_VISIBLE_DEVICES=1 python code.py
There are three “bonus” tasks that you can try for your own amusement (2 & 3 are beyond the scope of this workshop):

The smaller Δx, the more accurate and computationally heavy the solution. Plot the timing for your solution and of the serial CPU-based solution (and possibly improved CPU-based solutions) as a function of Δx.
Decompose the domain and solve the problem with multiple GPUs on the same node.
Use a distributed memory library to deploy your solution on multiple nodes.

Hint: for a single node you could use multiprocessing in Python and thread or OpenMP in C++.
For multiple nodes you could use mpi4py (Python) or MPI (C++).
HPC133 - Feb 2024
12 Mar 10:00 am 12:00 pm

EES1137: Lecture 17

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: AA207
EES1137 - Winter 2024Show in Google map
12 Mar 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
13 Mar 1:00 pm 2:30 pm

Intro to Niagara

In about 90 minutes, learn how to use the SciNet systems Niagara and Mist, from securely logging in to running computations on the supercomputer. Experienced users may still pick up some valuable pointers.Format: Virtual Virtual
HPC105 - Mar 2024Show in Google map
14 Mar 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024
14 Mar 11:00 am 12:00 pm

EES1137: Lecture 18

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: IC120
EES1137 - Winter 2024Show in Google map
19 Mar 10:00 am 12:00 pm

EES1137: Lecture 19

In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data.  Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
UTSC: AA207
EES1137 - Winter 2024Show in Google map
19 Mar 11:00 am 12:00 pm

PHY1610 Scientific Computing Lecture

This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.This is an in-person course.
PHY1610 - Winter 2024