Events

Refresh calendars Add to google calendar
September,2024
16 Sep 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 - Sep 2024Show in Google map
23 Sep 12:30 pm 2:00 pm

Intro to Supercomputing, session 1/3

An introduction to basic concepts in High-Performance Computing (HPC).  This is intended to be a high-level primer for those largely new to HPC.  Topic will include motivation for HPC, available HPC resources, essential issues, problem characteristics as they apply to parallelism and a high-level overview of parallel programming models.Format: Virtual Virtual
HPC101 - Sep 2024Show in Google map
25 Sep 12:30 pm 2:00 pm

Intro to Supercomputing, session 2/3

An introduction to basic concepts in High-Performance Computing (HPC).  This is intended to be a high-level primer for those largely new to HPC.  Topic will include motivation for HPC, available HPC resources, essential issues, problem characteristics as they apply to parallelism and a high-level overview of parallel programming models.Format: Virtual
HPC101 - Sep 2024
27 Sep 12:30 pm 29 Sep 2:00 pm

Intro to Supercomputing, session 3/3

An introduction to basic concepts in High-Performance Computing (HPC).  This is intended to be a high-level primer for those largely new to HPC.  Topic will include motivation for HPC, available HPC resources, essential issues, problem characteristics as they apply to parallelism and a high-level overview of parallel programming models.Format: Virtual
HPC101 - Sep 2024
October,2024
2 Oct 2:25 pm

Your views on this course opens

Please let us know your opinions about the course by completing these questions:
HPC101 - Sep 2024
4 Oct 1:00 pm 3:00 pm

Securing File Access Permissions on Linux

Did you know the Linux operating system has built-in tools to control which specific users and groups can access which files and directories?  In this session, you will learn what these Linux permissions are, how to use the available tools to control access and sharing, and how to avoid common security pitfalls.
SCMP283 - Oct 2024
14 Oct 11:55 pm

Your views on this course closes

Please let us know your opinions about the course by completing these questions:
HPC101 - Sep 2024
25 Oct 1:00 pm 4:00 pm

Linux Shell Scripting

Learn how to write bash scripts, use environment variables, how to control process, and much more. Requires some Linux basic command line experience.Format: Virtual Virtual
SCMP201 - Oct 2024Show in Google map
28 Oct 1:00 pm 4:00 pm

HPC205 Become an HPC Pro

Learn how to fully utilize the power of HPC. Discover proven strategies and tools to efficiently scale up from serial jobs to parallel runs across many compute nodes on Niagara.
HPC205 - Oct 2024
28 Oct 7:30 pm

Attendance quiz closes

Learn how to fully utilize the power of HPC. Discover proven strategies and tools to efficiently scale up from serial jobs to parallel runs across many compute nodes on Niagara.
HPC205 - Oct 2024
November,2024
5 Nov 1:00 pm 2:00 pm

Intro to Programming with Python

New to programming? Learn the basics of programming using python in eight one-hour sessions over the course of four weeks. Sessions will consist of a mix of lectures and hands-on exercises.Format: In-person. Sessions will be recorded. SciNet Teaching Room
SCMP142 - Nov 2024Show in Google map
5 Nov 1:00 pm

Attendance test for November 5 opens

What is the attendance code?
SCMP142 - Nov 2024
5 Nov 2:35 pm

Attendance test for November 5 closes

What is the attendance code?
SCMP142 - Nov 2024
6 Nov 1:00 pm 4:00 pm

GIT Version Control

Using version control for your scripts, codes, documents, papers, and even data, allows you to track changes, keep backups, and facilitate collaboration.  In this workshop, you will learn the basics of version control with the popular distributed version control software GIT. This workshop assumes that students have an understanding of basic Linux shell commands.Format: Virtual Virtual
DAT161 - Nov 2024Show in Google map
7 Nov 1:00 pm 2:00 pm

Intro to Programming with Python

New to programming? Learn the basics of programming using python in eight one-hour sessions over the course of four weeks. Sessions will consist of a mix of lectures and hands-on exercises.Format: In-person. Sessions will be recorded. SciNet Training Room
SCMP142 - Nov 2024Show in Google map
7 Nov 1:05 pm

Attendance quiz lecture 2 opens

What is the code?
SCMP142 - Nov 2024
7 Nov 2:15 pm

Attendance quiz lecture 2 closes

What is the code?
SCMP142 - Nov 2024
12 Nov 1:00 pm

Attendance quiz lecture 3 opens

Enter the attendance code.
SCMP142 - Nov 2024
12 Nov 1:00 pm 2:00 pm

Intro to Programming with Python

New to programming? Learn the basics of programming using python in eight one-hour sessions over the course of four weeks. Sessions will consist of a mix of lectures and hands-on exercises.Format: In-person. Sessions will be recorded. SciNet Teaching Room
SCMP142 - Nov 2024Show in Google map
12 Nov 2:32 pm

Attendance quiz lecture 3 closes

Enter the attendance code.
SCMP142 - Nov 2024
13 Nov 12:00 pm 1:00 pm

Setting Up Compute Infrastructure for Sensitive Data (Compute Ontario Colloquium)

We introduce a secure computing enclave at SciNet High-Performance Computing Consortium. Code-named S4H, this environment is already available to groups at the University of Toronto as a pilot project. S4H aims to meet researchers’ needs for hosting and working with sensitive data, which SciNet’s main cluster, Niagara, does not accommodate. In the first part (Yohai), we’ll delve into the technical details. We’ll explain how S4H is different from Niagara in that the data are encrypted at rest and access is hardened, and what that means in practice. We will talk about the difficulties of providing isolation for different research groups on a shared system, and explore the different components that make it possible, such as key management and containerization mechanisms. The second part (Shawn) will focus on adopting the Cybersecurity Maturity Model Certification (CMMC) framework. We’ll describe our journey deciphering the control set’s complexities, developing metadata for organizing remediation efforts, and crafting Plans of Action and Milestones for compliance gaps. Future steps include internal and potentially external assessments to verify compliance, with initiatives like Privacy Impact Assessment and penetration testing, with the eventual goal of being certified for Level 4 data. Virtual
COCO - 13 Nov 2024Show in Google map
14 Nov 1:00 pm

Attendance quiz lecture 4 opens

Enter the attendance code for lecture 4
SCMP142 - Nov 2024
14 Nov 1:00 pm 2:00 pm

Intro to Programming with Python

New to programming? Learn the basics of programming using python in eight one-hour sessions over the course of four weeks. Sessions will consist of a mix of lectures and hands-on exercises.Format: In-person. Sessions will be recorded. SciNet Training Room
SCMP142 - Nov 2024Show in Google map
14 Nov 2:30 pm

Attendance quiz lecture 4 closes

Enter the attendance code for lecture 4
SCMP142 - Nov 2024
25 Nov 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 - Nov 2024Show in Google map
26 Nov 1:00 pm 2:00 pm

Intro to Programming with Python

New to programming? Learn the basics of programming using python in eight one-hour sessions over the course of four weeks. Sessions will consist of a mix of lectures and hands-on exercises.Format: In-person. Sessions will be recorded. SciNet Teaching Room
SCMP142 - Nov 2024Show in Google map
28 Nov 1:00 pm 2:00 pm

Intro to Programming with Python

New to programming? Learn the basics of programming using python in eight one-hour sessions over the course of four weeks. Sessions will consist of a mix of lectures and hands-on exercises.Format: In-person. Sessions will be recorded. SciNet Teaching Room
SCMP142 - Nov 2024Show in Google map
28 Nov 11:59 pm

Assignmen 10 - new is due

Due date: November 28th at midnight (Thursday night).



In this assignment we will perform a clustering analysis on some codon data. Codons, for those unfamiliar, are sequences of three nucleotides that form a unit of genetic information. Since there are 4 nucleotide bases (A, C, T, G), there are 4*4*4=64 possible codons. You can read more about codons here.

The data for this assignment were originally taken from here, though the original source is here. I have modified the data to simplify it somewhat; the modified data can be found here. The data consists of codon relative-frequency data for 3000 species of organisms. We will perform a clustering analysis on these data to determine if there are any clusters of significance and which 'Kingdoms' (types of organisms), are most-commonly in those clusters.



0) You must use version control ("git"), as you develop your code. We suggest you start, from the Linux command line, by creating a new directory, e.g. assignment10, cd into that directory and initialize a git repository ("git init") within it, and perform "git add ..., git commit" repeatedly as you add to your code. You will hand in the output of "git log" for your assignment repository as part of the assignment. You must have a significant number of commits representing the modifications, alterations and changes to your code. If your log does not show a significant number of commits with meaningful comments you will lose marks.



1) Create a file named Codon.Utilities.R containing the following functions.

1a) Write a function which takes a single string argument, the name of the data file. The function should load the data, keep only the features (the codon columns) and the target (the 'Kingdom' column), and return the resulting data frame. You may hard-code the column names involved.

1b) Write a function which, given some input data and a percentage, will perform a principle component analysis. The function should keep only those priciple components whose standard deviations are greater than or equal to the standard deviation of the first principle component, multiplied by the second argument (see the tol argument to the prcomp function). The function should then return the model.

1c) Write a function which, given some input data, will perform 10-fold cross validation on \\(k\\)-Means models, with \\(k\\) values ranging from 1 to 15. The function should generate a plot of cross-validation score versus \\(k\\). You may copy the cross-validation function given in lecture.

1d) Write a function which takes as arguments a trained \\(k\\)-means model and a vector of targets. The function should determine the Kingdom with the highest population in each cluster. The function should print out the cluster number, the name of the Kingdom and the percentage of the population of the cluster that it represents.



2) Create a script called Codon.Analysis.R that will perform the following steps:

take a single command-line argument, the data to be processed,
load the modified data file, linked above,
run PCA on the features, keeping those principle components whose standard deviations are at least 20% of the first principle component's standar deviation.
create a transformed version of the original features, using the principle components from the PCA. The predict function works to do this, in the usual way.
run 10-fold cross-validation on \\(k\\)-means models, using the transformed data, to determine which value of \\(k\\) would be the ideal number of clusters for this data set.
At this point you should examine the figure which is generated by the function. Using your expertise, pick an ideal value of \\(k\\) for this data set. Put an explanation of your choice in the comments of your driver script.
Create a new \\(k\\)-Means model, using your choice of ideal value of \\(k\\) and the transformed data.
Print out the Kingdom in each cluster of your new model which has the largest population, and its percentage of the cluster's total population.


Your script should output something like this, when run from the shell terminal:


$
$ Rscript Codon.Analysis.R codon_usage_filtered_small.csv
Cluster: 1 , Kingdom: Bacteria , Percent: 25.95819 %
Cluster: 2 , Kingdom: Vertebrate , Percent: 68.80734 %
Cluster: 3 , Kingdom: Bacteria , Percent: 85.90164 %
Cluster: 4 , Kingdom: Virus , Percent: 52.35149 %
Cluster: 5 , Kingdom: Plant , Percent: 53.6036 %
Cluster: 6 , Kingdom: Bacteria , Percent: 47.8022 %
$

Be sure to comment and document your functions. Defensive programming is needed for the number of driver-script arguments and the precense of the data file.




Submit your Codon.Utilities.R, Codon.Analysis.R files, your cross-validation figure, and the output of git log from your assignment repository.


Both R code files must be added and committed frequently to the repository. To capture the output of git log use redirection (git log > git.log, and hand in the git.log file). 



Assignments will be graded on a 10 point basis. Due date is November 28th 2024 (midnight), with 0.5 penalty point per day off for late submission until the cut-off date of December 5th 2024, at 10:00am.

MSC1090 - Fall 2024
29 Nov 1:00 pm 4:00 pm

Intro to Apptainer

Container computing is gradually changing the way researchers are developing, sharing, and running software applications. Apptainer (formerly called Singularity) is gaining popularity in HPC for its performance, ease of use, portability,  and security. In this course, we will explore: what is a container, why use a container, and how to use and create one.Format: Virtual
SCMP161 - Nov 2024
December,2024
2 Dec 12:30 pm 2:00 pm

Intro to parallel programming, session 1/3

An introduction to concepts and techniques in parallel computing with compiled languages, e.g., C, C++ or Fortran. Both OpenMP and MPI will be introduced.Format: Virtual Virtual
HPC163 - Dec 2024Show in Google map