This course is targeted to scientists, engineers, scholars, or anyone seeking to solve problems efficiently in high-performance computing environments or in the cloud. Students completing this course will have a basic understanding of how to find bottlenecks in their programs as well as how to address those bottlenecks. The course will provide a high-level introduction to modern compute node architectures of high-performance and cloud computing instances.
This course can be taken for academic credit as part of CU Boulder’s Master of Science in Data Science (MS-DS) degree offered on the Coursera platform. The MS-DS is an interdisciplinary degree that brings together faculty from CU Boulder’s departments of Applied Mathematics, Computer Science, Information Science, and others. With performance-based admissions and no application process, the MS-DS is ideal for individuals with a broad range of undergraduate education and/or professional experience in computer science, information science, mathematics, and statistics. Learn more about the MS-DS program at https://hua.dididi.sbs/degrees/master-of-science-data-science-boulder.
In this module, we cover an approach to analyze and optimize program performance, such as profiling, using optimized libraries, and compiler options for increasing efficiency.
涵盖的内容
5个视频3篇阅读材料1个作业1个编程作业
显示有关单元内容的信息
5个视频•总计39分钟
Course Overview•3分钟
Profiling with gprof•9分钟
Profiling For Python•6分钟
Numerical Libraries•12分钟
Compiler Options for Performance•8分钟
3篇阅读材料•总计21分钟
Course Updates and Accessibility Support•1分钟
Earn Academic Credit for your Work!•10分钟
Course Support•10分钟
1个作业•总计15分钟
Module Quiz•15分钟
1个编程作业•总计45分钟
Matrix Multiplication Profiling•45分钟
Simple Optimization Techniques
第 2 单元•小时 后完成
单元详情
In this module, we examine simple techniques that help with program performance. We are looking at scalar and loop optimization methods that can have a large impact on a program’s floating-point performance.
涵盖的内容
5个视频1个作业1个编程作业
显示有关单元内容的信息
5个视频•总计28分钟
Dependency Analysis•6分钟
Scalar Optimization•6分钟
Loop Optimizations - Part 1•5分钟
Loop Optimizations - Part 2•6分钟
Python Optimization with NumPy•6分钟
1个作业•总计15分钟
Module Quiz•15分钟
1个编程作业•总计30分钟
Matrix Multiplication Optimizations: Loop Transformations and Parallelization•30分钟
Computer Architecture and Vectorization
第 3 单元•小时 后完成
单元详情
In this module, we introduce the basic architecture of modern computers focusing on how the architecture influences program performance. We are looking at processor level data parallelism and how optimized code for parallelism has a much increased floating-point performance.
涵盖的内容
4个视频1个作业1个编程作业
显示有关单元内容的信息
4个视频•总计24分钟
Computer Architecture•6分钟
Maximizing Performance with Vectorization•7分钟
Preparing your Application Data for Vectorization - Data Alignment•5分钟
OpenMP - SIMD•5分钟
1个作业•总计15分钟
Module Quiz•15分钟
1个编程作业•总计30分钟
Vectorization and Parallelization in Dot Product Computation•30分钟
Computer Architecture
第 4 单元•小时 后完成
单元详情
Memory performance is generally the main performance bottleneck since the speed of the main memory has not kept up with the capabilities of processors to process floating-point numbers. We introduce how layers of fast memory, called cache memory, can speed up computations and provide an example of how to optimize algorithms for better memory performance.
涵盖的内容
4个视频1个作业1个编程作业
显示有关单元内容的信息
4个视频•总计27分钟
Memory Architecture•7分钟
Processor Memory Hierarchy•6分钟
Cache and Memory Characteristics of a Compute Node•7分钟
Data Access Scaling - BLAS•6分钟
1个作业•总计15分钟
Module Quiz•15分钟
1个编程作业•总计60分钟
Implementing Tiled Matrix Addition•60分钟
Parallel and High Throughput Computing
第 5 单元•小时 后完成
单元详情
This module will provide an introduction to parallel and high throughput computing. It will also demonstrate slurm job arrays, where there are mechanisms for working with many similar jobs quickly and easily. Finally, this module will look at running many jobs concurrently with GNU Parallel.
CU Boulder is a dynamic community of scholars and learners on one of the most spectacular college campuses in the country. As one of 34 U.S. public institutions in the prestigious Association of American Universities (AAU), we have a proud tradition of academic excellence, with five Nobel laureates and more than 50 members of prestigious academic academies.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.