From Documentation
Revision as of 10:03, 7 January 2016 by Edward (Talk | contribs) (Recordings)

Jump to: navigation, search
  • New! SHARCNET youtube channel: . We are in the process of editing our webinar recordings and uploading them to youtube. All new webinars recordings will go straight to youtube. We will update the links below accordingly.




2015/04/29 - High Performance Computing with Python, Pawel Pomorski
Python has numerous advantages over traditional compiled languages like C and Fortran, and it is seeing increasing adoption among the scientific community. However, despite its advantages, there are challenges associated with using Python in a High Performance Computing (HPC) environment. First, a “vanilla” Python program is generally slower than an analogous compiled language program. Also, Python is relatively new to the HPC field, and many scientific programmers may not be aware of its parallel computing capabilities. This talk will discuss various strategies to make a serial Python code faster, for example using libraries like NumPy, or tools like Cython which compile Python code. The talk will also discuss the available tools for running Python in parallel, focusing on the mpi4py module which implements MPI (Message Passing Interface) in Python.



2014/11/12 - Linear Algebra on GPU, Pawel Pomorski
This seminar will provide an overview of how one can efficiently solve linear algebra problems using GPGPU (General Purpose Graphics Processing Unit) hardware and the associated CUDA software framework. The basic issues involved in developing efficient code for this type of computation will be discussed, followed by a demonstration of how to use three popular libraries relevant to the problem: CUBLAS, CULA and MAGMA.


2013/12/18 - Why Would I Use GPUs?, Pawel Pomorski
GPUs (Graphics Processing Units) can provide a significant speedup for certain types of scientific computations. This talk will discuss which programs can benefit from this speedup, and how in certain cases it can be obtained without much effort using already existing packages and libraries. Simulation packages already accelerated for the GPU will be discussed, with focus on NAMD molecular dynamics package as a useful example. The use of GPU-enabled numerical libraries useful for common problems will be discussed. The use of these techniques will be demonstrated with example runs on SHARCNET’s new GPU cluster. While not the focus of this talk, a brief overview of available programming approaches for GPUs will be also provided.

Slides as PDF file




Summer School 2012 Pre-school Talks (recordings)

  1. Introduction to the SHARCNET Environment - slides
    • This talk provides a brief literacy-based overview of SHARCNET: available hardware and software resources, our web portal, where to look for help, how to log in to systems, compile code, run, submit and manage your jobs and finally a quick summary of our visualization tools.
  2. Introduction to Linux - slides
    • This seminar serves as an introduction to Linux, the UNIX-like operating system that runs on all SHARCNET systems, intended for users who have little or no experience with UNIX or Linux. We will consider essential materials related to coping with the Linux command-line environment, necessary for successful use of the SHARCNET envrionment, including basic commands for file/directory management, text editors, etc.
  3. Appraising Your Programming Skills - slides
    • Much of the Summer School programme is focused on programming. While we always take steps to inform attendees that we are primarily covering the parallel side of the programming equation, and thus assume some experience writing serial code, we have found some people underestimate what is meant by "some level of serial programming experience" which can present barriers. This talk will survey basic language concepts that are considered "essential" to serial programming, and thus will underpin any expansion into parallelism (e.g. file handling, pointers and memory management, etc.). The hope is this will provide someone with a better understanding of their strengths and weaknesses while there is still a little time to brush up before the summer school commences.
  4. HPC Architecture Overview - slides
    • High performance computing (HPC) is an umbrella term that covers a variety of standard approaches. It is not a magic bullet that can take any program and make it 10x times faster. Not all HPC hardware solutions are applicable to a given problem, and not all problems are susceptible to an arbitrary HPC solution. Learn what the standard approaches are and what their strengths and weaknesses are.

See Also