CCR provides online courses that covering how to use our resources. Several departments at UB provide courses on high performance computing and machine learning that utilize CCR's HPC environment.
These self-guided, self-paced courses are managed by CCR and are available for free to UB faculty, staff, and students via UB Learns.
"Intro to CCR" is a short course intended to provide the basic information you need to know prior to using CCR's high performance computing (HPC) environment. This is a self-paced class that is designed to provide step by step instructions to get access to CCR's HPC clusters and learn how to use them. It covers how to login, run batch jobs, use the OnDemand HPC portal, and use the software provided. Also provided is information on CCR policies, data transfer and storage options, and troubleshooting tips and tricks. This course is a requirement for any undergraduate or graduate students that need to use CCR for a course they're taking. Though not required, it is highly recommended for anyone working for a research group that utilizes CCR's HPC environment. Self-enroll by clicking here.
"Using Python at CCR" is a self-paced course for CCR users intended to provide the basic information you need to know in order to use the Python programming language in CCR's high performance computing (HPC) environment. The course is broken into a few short, easily digestible modules that you can complete at your own pace. The intention is to present various methods for CCR users to properly utilize Python on our systems and hopefully prevent frustration and headaches. The modules include basic Python usage in the HPC environment, using virtual environments to install additional packages, leveraging containers for GPU-enabled codes, and common pitfalls to avoid. Once you complete the base modules and decide which method will work best for your workflow or use case, there are optional modules that provide details on specific tools like Jupyter, RStudio, and VSCode. There are no quizzes or assignments in this course; it's informational only. The reader should be familiar with Python and have a CCR account on an active allocation to login to our systems. For more information, please refer to the CCR documentation. If you are not yet familiar with using CCR, we highly encourage you to take the "Intro to CCR" UBLearns course. Self-enroll by clicking here.
The following courses are taught at UB but not by CCR staff. Please contact the relevant instructors or departments for more information:
This course will introduce students to the fundamental ideas of scientific computing on high performance architectures. The principal objective of this course is to enable students to use high performance computers in all aspects of scientific computing to support research activities. At the end of the class, you should be able to: design and implement efficient algorithms for high performance computing related to a variety of research areas, use MPI, OpenMP and other special tools used to program large multi-processor computers, understand the basic operating principles of these machines, and, analyze the performance of your codes.
Course number: MAE 609, PHY 515, MTH 667, CE 620
Introduction to fundamental ideas of scientific computing, with particular attention given to algorithms that are well-suited to high performance computer architectures. Concentration on scientific computing in applications, including stochastic methods, FFTs, and finite element and finite difference methods.
Course number: MAE 610
Spectral methods are high order methods based on global polynomials such as the trigonometric or orthogonal polynomials, and they yield the so-called exponential or spectral convergence when smooth problems are considered. Due to such high order accuracy, spectral methods have been actively applied to various problems in applied mathematics. This course will introduce spectral methods with emphasis on both the theory and applications. The methodology of spectral methods will be derived for various PDEs such as wave equations, heat equations, and nonlinear hyperbolic conservation laws. Recent developments of the spectral methods for non-smooth problems and the discontinuous Galerkin methods will be also covered. Students who take this course will have an understanding of the spectral methods and be able to apply them to real computational problems.
Course number: MTH 637
The State Education Department and the Chancellor of the State University of New York have approved an Advanced (Graduate) Certificate in Computational Science at the University at Buffalo. Computational Science is an emerging discipline, uniting ideas in mathematics and computer science together with applications arising in science and engineering. Because it complements theoretical and experimental investigations, Computational Science is often referred to as "the third science". The Certificate recognizes a student's special training in scientific computing and applications. This Certificate is a cooperative program involving the Center for Computational Research and the Departments of Mathematics, Physics, Chemical Engineering and Mechanical and Aerospace Engineering; other departments have expressed an interest in joining the program.